Skip to content

SkipLabs/create-skip-service

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

pnpm Node.js

Usage

To create a new Skip service, run:

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

Requirements: Node.js ≥ 22.12.0.

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
  2. Install dependencies:
    pnpm install
  3. Build the project:
    pnpm build
  4. Run in development mode:
    pnpm dev

Scripts

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

Testing the CLI locally

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

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

License

Stars

3 stars

Watchers

2 watching

Forks

Packages

 
 
 

Contributors