Skip to main content

Seed & Source CLI - Production-ready SaaS scaffolding for Rails, Python, React, Astro, and more

Project description

Seed & Source CLI (sscli)

The unified scaffold tool for the Seed & Source template library. Pick a base, bolt on features, ship faster.

๐ŸŽฏ What is sscli?

sscli is a code-generation CLI that pulls production-ready project templates and injects optional premium modules into them. Every template is a complete, opinionated starting point โ€” not a toy boilerplate.

sscli workflow

  • โœ… Production-ready bases โ€” Rails API, Python SaaS, React, Astro, mobile, and more
  • โœ… Optional feature injection โ€” Commerce, Auth, Admin, Tunnels, and others added at scaffold time
  • โœ… Clean architecture โ€” Hexagonal (Python), standard Rails conventions, functional React
  • โœ… Docker-first โ€” Every template ships with a multi-stage production Dockerfile

๐Ÿ“ฆ Install

# Recommended
pipx install sscli

# Or via pip
pip install sscli

# Verify
sscli --version

๐Ÿš€ Quick Start

# Interactive mode โ€” guided setup with template picker
sscli interactive

# Or go direct
sscli new --template rails-api --name my-api

New to Seed & Source? Start here: ../../docs/public/GETTING_STARTED.md


๐Ÿ—‚๏ธ Templates

Run sscli explore to browse all templates interactively in your terminal.


๐Ÿ›ค๏ธ Rails API ย ยทย  rails-api ย ยทย  FREE

A production-grade JSON API built on Rails 8 โ€” opinionated, deployable on day one.

app/
โ”œโ”€โ”€ controllers/api/v1/   # Versioned JSON endpoints
โ”œโ”€โ”€ models/               # ActiveRecord (PostgreSQL)
โ”œโ”€โ”€ services/             # Business logic layer
โ””โ”€โ”€ serializers/          # JSON serialization

What's in the base:

  • Rails 8.0 + PostgreSQL + Devise (authentication)
  • RSpec test suite + FactoryBot
  • HMAC webhook validation scaffolding
  • Docker + .env secrets management
  • RuboCop enforced
sscli new --template rails-api --name my-api
โž• Available Features (click to expand)
Flag Tier Description
--with-commerce PRO Shopify / Stripe adapter pattern, webhook infrastructure, commerce models
--with-merchant-dashboard PRO React order & analytics UI โ€” requires --with-commerce
--with-tunnel PRO ngrok local tunnel config for webhook testing
--with-auth PRO Extended authentication flows (JWT, API key management)
--with-landing PRO Injects a companion Astro landing page alongside the API
--with-admin PRO NiceGUI-based admin panel

Commerce example:

sscli new \
  --template rails-api \
  --name shopify-backend \
  --with-commerce \
  --with-tunnel
Request Flow:
Shopify Webhook โ†’ HMAC Validator โ†’ ShopifyAdapter
  โ†’ Provisioning::IssueResource โ†’ CommercialAgreement + SecurityToken

๐Ÿ—๏ธ Rails Fullstack ย ยทย  rails-fullstack ย ยทย  PRO

A Hotwire / Turbo fullstack Rails 8 application โ€” session auth, server-rendered HTML, and the full hexagonal domain layer shared with rails-api via rails-hexagonal-base.

app/
โ”œโ”€โ”€ domain/         # Pure Ruby ports + entities (shared with rails-api)
โ”œโ”€โ”€ use_cases/      # Business logic โ€” no HTTP dependency
โ”œโ”€โ”€ infrastructure/ # AR repositories (shared with rails-api)
โ”œโ”€โ”€ controllers/    # ActionController::Base, flash & redirects
โ”œโ”€โ”€ views/          # ERB layouts + Turbo Stream partials
โ””โ”€โ”€ components/     # ViewComponent

What's in the base:

  • Rails 8 + Hotwire (Turbo + Stimulus) + Tailwind CSS
  • Devise session auth (no JWT โ€” full cookie/CSRF stack)
  • ViewComponent + Capybara system specs
  • Hexagonal domain layer from rails-hexagonal-base (zero drift guarantee)
  • RuboCop + Brakeman gate via bin/ci
  • Docker + .env secrets management
sscli new --template rails-fullstack --name my-app
โž• Available Features (click to expand)
Flag Tier Description
--with-commerce PRO Commerce models, product/order ports, Shopify/Stripe adapters
--with-tunnel PRO ngrok local tunnel config for webhook testing
--with-auth PRO Extended authentication flows (RBAC, API keys)

๐Ÿ Python SaaS ย ยทย  python-saas ย ยทย  ALPHA

A Hexagonal Architecture Python service โ€” ports and adapters enforced from project root.

src/
โ”œโ”€โ”€ core/
โ”‚   โ”œโ”€โ”€ entities/          # Pure domain models (no I/O)
โ”‚   โ””โ”€โ”€ use_cases/         # Business logic (depends only on entities)
โ””โ”€โ”€ infrastructure/
    โ”œโ”€โ”€ adapters/          # DB, HTTP, external services
    โ””โ”€โ”€ ui/                # FastAPI / Django routes

What's in the base:

  • Python 3.11+ with FastAPI or Django
  • SQLAlchemy ORM + Pydantic v2 validation
  • ruff + mypy strict mode enforced
  • Multi-tier secrets management (Dotenv, Doppler, Env-only)
  • pytest with coverage gate (target 95% on codemods)
sscli new --template python-saas --name my-service
โž• Available Features (click to expand)
Flag Tier Description
--with-commerce PRO Commerce adapter wired into the hexagonal ports
--with-admin PRO NiceGUI admin panel as a standalone service
--with-sqlite ALPHA Local SQLite persistence via SQLAlchemy + Alembic (dev/test)
--with-ingestor PRO Data Ingestor adapter pattern for raw data normalization
--with-tunnel PRO ngrok tunnel config for local webhook testing
--with-auth PRO Authentication flows injected into the use case layer
sscli new \
  --template python-saas \
  --name data-service \
  --with-ingestor \
  --with-sqlite

๐ŸŒ Static Landing ย ยทย  static-landing ย ยทย  ALPHA

An Astro-powered static site built for SaaS marketing pages โ€” multi-theme, blueprint-driven.

src/
โ”œโ”€โ”€ components/   # Astro/React island components
โ”œโ”€โ”€ pages/        # File-based routing
โ””โ”€โ”€ content/      # Markdown + JSON content layer
blueprint.json    # Content & theme configuration file

What's in the base:

  • Astro 5.0 + Tailwind CSS
  • Multi-theme system (Emerging Emerald, Midnight Azure, Crimson Bloom, Vibrant Amber)
  • blueprint.json manifest for content/theme customization
  • Static build โ†’ Nginx Docker image
  • Playwright smoke tests
sscli new --template static-landing --name my-landing

# With custom content & theme
sscli new \
  --template static-landing \
  --name my-landing \
  --content ./my-blueprint.json \
  --theme midnight
โž• Available Features (click to expand)
Flag Tier Description
--with-commerce PRO Storefront components (cart, product, checkout UI)
--with-auth PRO Auth-gated page sections

โš›๏ธ React Client ย ยทย  react-client ย ยทย  ALPHA

A React 18 + Vite frontend with the full modern stack, ready to connect to any of the backend templates.

src/
โ”œโ”€โ”€ components/   # Functional components only
โ”œโ”€โ”€ hooks/        # Custom hooks for all business logic
โ”œโ”€โ”€ pages/        # Route-level components
โ””โ”€โ”€ api/          # React Query client bindings

What's in the base:

  • React 18 + Vite + TypeScript
  • React Query for server state
  • Tailwind CSS
  • ESLint + Prettier strict mode
  • Jest + Playwright
sscli new --template react-client --name my-frontend
โž• Available Features (click to expand)
Flag Tier Description
--with-commerce PRO Commerce UI components (cart, order flow)
--with-merchant-dashboard PRO Full merchant dashboard โ€” orders, analytics, settings. Requires --with-commerce
--with-auth PRO Auth flows integrated with React Query
sscli new \
  --template react-client \
  --name merchant-ui \
  --with-commerce \
  --with-merchant-dashboard

๐Ÿ“Š Data Pipeline ย ยทย  data-pipeline ย ยทย  ALPHA

A dbt + Python data stack for SaaS analytics and data transformation pipelines.

sscli new --template data-pipeline --name my-pipeline
What's included (click to expand)
  • dbt Core with modular transformation layers (staging โ†’ marts)
  • Python ingestion scripts
  • Docker orchestration
  • Pre-configured profiles for PostgreSQL / BigQuery

๐Ÿ“ฑ Mobile ย ยทย  ALPHA

Template Stack Command
mobile-android Kotlin + Jetpack Compose sscli new --template mobile-android --name my-app
mobile-ios Swift + SwiftUI sscli new --template mobile-ios --name my-app

๐Ÿ—๏ธ Infrastructure ย ยทย  ALPHA

Template Stack Command
terraform-infra Terraform multi-cloud IaC sscli new --template terraform-infra --name my-infra
wiring Docker Compose multi-service orchestration sscli new --template wiring --name my-stack

๐Ÿ”ง CLI Reference

Command Description
sscli new Scaffold a new project from a template
sscli setup Run setup scripts for templates
sscli interactive animated Guided interactive setup with a robust animated experience
sscli explore Browse all templates in an interactive tree view
sscli verify Verify template integrity and run smoke tests
sscli health Check configuration and template health
sscli validate Run smoke test suite against a template
sscli upgrade Upgrade a generated project to a newer template version using AST
sscli auth login Authenticate with GitHub to unlock ALPHA/PRO templates
sscli whoami Show current authenticated user and license tier
sscli logout Clear local credentials
sscli obs diff 3-way diff between base template and current code
sscli obs workspace Manage feature isolation workspaces

Feature Flags for sscli new

Flag Templates Tier
--with-commerce rails-api, python-saas, react-client, static-landing PRO
--with-merchant-dashboard react-client PRO
--with-auth rails-api, python-saas, react-client, static-landing PRO
--with-admin rails-api, python-saas PRO
--with-tunnel rails-api, python-saas PRO
--with-landing rails-api, python-saas PRO
--with-ingestor python-saas PRO
--with-sqlite python-saas ALPHA
--secrets <strategy> all FREE
--use-ast-injection all (where supported) ALPHA
--content <file> static-landing ALPHA
--theme <name> static-landing ALPHA
--dry-run all FREE
--json all FREE

๐Ÿ”„ Updates

pipx upgrade sscli
# or
pip install --upgrade sscli

โ“ Troubleshooting

Command not found after install
sscli --version

# If missing, reinstall via pipx
pipx uninstall sscli
pipx install sscli
Template not generating correctly
# Check template integrity first
sscli verify --template rails-api

# Preview without writing files
sscli new --template rails-api --name test --dry-run

๐Ÿ“ž Support


๐Ÿ“„ License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sscli-3.2.4-py3-none-any.whl (197.4 kB view details)

Uploaded Python 3

File details

Details for the file sscli-3.2.4-py3-none-any.whl.

File metadata

  • Download URL: sscli-3.2.4-py3-none-any.whl
  • Upload date:
  • Size: 197.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for sscli-3.2.4-py3-none-any.whl
Algorithm Hash digest
SHA256 d25d93944930eeaa48880cf9780d3ce4944343e7cc41a96d837d186bc0764cc5
MD5 e4a63a0213eff5425e83065393991c50
BLAKE2b-256 056f3bef75006443bc2d78c92b47bd5b926a1e962f70d733dd042ae12e9ae86e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page