@jschady/scaffold-cli
v0.1.2
Published
AI-first CLI orchestrator for Next.js, Vercel, Supabase, and GitHub
Readme
scaffold-cli
CLI tool for bootstrapping full-stack Next.js projects. Provisions GitHub, Supabase, and Vercel in a single command, keeps environment variables in sync, and stores all API tokens in your OS keychain.
Install
npm install -g @jschady/scaffold-cliPrerequisites
Before running any commands, generate API tokens for each service:
- GitHub — Personal Access Token with
repoanddelete_reposcopes - Vercel — API Access Token from
vercel.com/account/settings/tokens - Supabase — Access Token from
app.supabase.com/account/tokens
Usage
scaffold login
Validates and stores your GitHub, Vercel, and Supabase tokens in the OS keychain. Run this once before anything else.
scaffold loginscaffold init
Bootstraps a new full-stack project end-to-end. Creates a Next.js app, GitHub repo, Supabase project, and Vercel deployment, then wires up all environment variables automatically.
cd ~/projects
scaffold initYou will be prompted for:
- Project name
- Package manager (pnpm, bun, or npm)
- GitHub repo visibility
- Supabase region
- Which services to provision
After init completes, your project directory contains a .scaffold/state.json ledger (git-ignored) that tracks all provisioned resources.
scaffold sync
Pulls the latest API keys from Supabase and env vars from Vercel, then writes them to .env.local. Run this from inside your project directory.
cd my-project
scaffold syncscaffold check
Verifies that all stored tokens are present and that each cloud service is reachable.
scaffold checkscaffold nuke
Tears down all provisioned resources for the current project — deletes the GitHub repo, Supabase project, and Vercel project. Requires confirmation. Run from inside your project directory.
cd my-project
scaffold nukescaffold reflect
(Coming soon)
How tokens are stored
Tokens are stored in the native OS keychain (macOS Keychain, Windows Credential Manager, or Linux Secret Service) via keytar. They are never written to disk in your project directory.
Project state
scaffold init creates a .scaffold/state.json file inside your project that tracks resource IDs for Vercel, Supabase, and GitHub. This file is automatically added to .gitignore. Do not delete it manually — scaffold nuke uses it to clean up resources.
License
MIT
