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


โœ… Quick Validation

Before committing changes, run the test suite:

pytest

Expected output: Exit code 0 + coverage โ‰ฅ 90%

Results:

  • Coverage report: coverage_report/index.html
  • Coverage XML: coverage.xml

For details, see Quick Start Validation Guide.


๐Ÿ—‚๏ธ 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 Available (tier-gated)
--with-tunnel PRO Available (tier-gated)
--with-auth PRO Available (tier-gated)
--with-landing PRO Injects a companion Astro landing page alongside the API
--with-admin PRO Available (tier-gated)

Commerce example:

sscli new \
  --template rails-api \
  --name shopify-backend \
  --with-commerce
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 Available (tier-gated)
--with-auth PRO Available (tier-gated)

๐Ÿ 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 Available (tier-gated)
--with-sqlite ALPHA Local SQLite persistence via SQLAlchemy + Alembic (dev/test)
--with-ingestor PRO Available (tier-gated)
--with-tunnel PRO Available (tier-gated)
--with-auth PRO Available (tier-gated)
sscli new \
  --template python-saas \
  --name data-service \
  --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 Available (tier-gated)

โš›๏ธ 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 (JSX-first template; TypeScript can be added post-generate)
  • 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 Available (tier-gated)
--with-auth PRO Available (tier-gated)
sscli new \
  --template react-client \
  --name merchant-ui \
  --with-commerce

๐Ÿ“Š 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 inject Inject features into an existing project
sscli setup Run setup scripts for templates
sscli interactive animated Guided interactive setup with a robust animated experience
sscli ready Check if your project is ready for local development
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 auth logout Clear authenticated session for the auth namespace
sscli whoami Show current authenticated user and license tier
sscli logout Clear local credentials
sscli feedback Submit feedback, bugs, and feature requests
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 (tier-gated)
--with-auth rails-api, python-saas, react-client, static-landing PRO (tier-gated)
--with-admin rails-api, python-saas PRO (tier-gated)
--with-tunnel rails-api, python-saas PRO (tier-gated)
--with-landing rails-api, python-saas PRO
--with-ingestor python-saas PRO (tier-gated)
--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-4.0.5-py3-none-any.whl (239.7 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for sscli-4.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 0d88c5a4500575c5727ccb29e3e66df831d579a4cdce37380a8bfd5b362f4182
MD5 7a2ed8c97a5bb803cd2d517b05c37354
BLAKE2b-256 edef0a15bdc574eb28fe52434bb486e50e5d868933dae1b9a5a01eded2eb436a

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