Skip to content

Repository files navigation

create-skip-service

A CLI tool to bootstrap Skip services with various templates. It provides a quick way to start new Skip projects with pre-configured templates for different use cases.

Current status

CI npm downloads

Bun Node.js

Usage

To create a new Skip service, run:

npx create-skip-service <project-name> [options]

Requirements: Node.js ≥ 22.12.0. Generated projects use Bun ≥ 1.3 as their package manager (the services themselves run on Node.js).

Options

  • -t, --template <name> - Use a specific template (default, with_postgres, with_react_vite)
  • -e, --example <name> - Use an example from the Skip repository
  • --no-git-init - Skip git repository initialization
  • -f, --force - Overwrite existing directory
  • -v, --verbose - Show detailed output
  • -q, --quiet - Suppress non-error output

GitHub API rate limits

Templates and examples are downloaded through the GitHub API, which allows about 60 unauthenticated requests per hour. If you hit the limit, set the GITHUB_TOKEN environment variable to any valid GitHub token:

GITHUB_TOKEN=$(gh auth token) npx create-skip-service my-project

Available Templates

Templates can be found here.

default

A basic reactive Skip service template that includes:

  • Core Skip service structure
  • TypeScript configuration
  • Development tools setup

with_postgres

A template that includes:

  • PostgreSQL database integration
  • Database models and schema
  • TypeScript configuration
  • Development tools setup

with_react_vite

A full-stack chat application template that includes:

  • React frontend with Vite
  • Skip reactive service backend
  • Real-time chat functionality
  • TypeScript configuration throughout

Development

To work on this tool locally:

  1. Clone the repository (requires Bun ≥ 1.3 and Node.js ≥ 22.12)
  2. Install dependencies:
    bun install
  3. Build the project:
    bun run build
  4. Run in development mode:
    bun run dev

Scripts

  • bun run build - Build the project
  • bun run start - Run the CLI
  • bun run dev - Run in development mode with watch
  • bun run clean - Clean build artifacts
  • bun run format - Format code with Prettier
  • bun run test - Run tests in watch mode
  • bun run test:run - Run tests once
  • bun run test:ui - Run tests with UI
  • bun run test:coverage - Run tests with coverage report
  • bun run typecheck - Type checking without emitting

Testing the CLI locally

node dist/cli.js <project-name> [options]

Repository checks

A Makefile wraps the same checks CI runs (make help lists every target):

make check            # Prettier check + tests + typecheck + build (root)
make check-templates  # Install, build and lint each template package
make format           # Format the whole repo in place

Each template under templates/ is an independent package with its own bun.lock; make check-templates installs them with --ignore-scripts, so the @skipruntime/native addon is not compiled in CI.

Available Examples

You can also bootstrap your project using examples from the Skip repository by using the --example flag:

npx create-skip-service my-project --example <example-name>

blogger

A full-stack blogging platform demonstrating:

  • Skip reactive service with leader-follower distributed configuration
  • Flask web service for REST API
  • Vue.js frontend
  • PostgreSQL database
  • HAProxy reverse proxy
  • Docker Compose and distributed deployment options

chatroom

A real-time chat application featuring:

  • Skip reactive service with Kafka event store
  • Express.js web service
  • React frontend with real-time messaging
  • Docker Compose configuration
  • Event-driven architecture demonstration

hackernews

A HackerNews clone showcasing:

  • Skip reactive service with distributed leader-follower setup
  • Flask web service with read/write separation
  • React frontend with real-time updates
  • PostgreSQL database
  • HAProxy load balancing
  • Both Docker Compose and Kubernetes deployment options
  • Comprehensive real-time voting and posting system

Support

Join the Discord to talk to other community members and developers or ask any questions.

About

A CLI tool to bootstrap Skip services with various templates. It provides a quick way to start new Skip projects with pre-configured templates for different use cases.

Resources

Stars

4 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages