Spin up projects in seconds — clone your own repos as templates, layer on add-ons, and land in your editor.
Project description
cast — outline
Spin up projects in seconds. Save your own repos (local or from GitHub) as templates, scaffold new projects from them, layer on add-ons like Tailwind, Supabase, or Prisma, and land straight in your editor.
Install
coming soon!
Usage
Run cast with no arguments for the interactive menu:
cast
Or use it directly:
cast init myapp nextjs # scaffold 'myapp' from the 'nextjs' template
cast add nextjs ~/code/my-starter # save a local directory as a template
cast list # list saved templates
cast info nextjs # show a template's variables, add-ons, and docs
cast remove nextjs # delete a template
cast starter # install the bundled starter templates
init is fully scriptable: --var KEY=VALUE sets template variables without prompting, --addons tailwind,prisma runs add-ons, and --open launches your editor.
Works with AI coding agents
Every command runs headless, so agents like Claude Code can drive cast directly: discover templates with cast list --json, inspect a template's variables and add-ons with cast info <template> --json, then scaffold with cast init <name> <template> --var KEY=VALUE --addons .... No plugin needed — the CLI is the integration.
New here? Just run cast — on first run it offers to install two starter templates: starter, a dependency-free mini site whose README explains how templating works, and web, a minimal Vite app. Scaffold one and you've seen the whole workflow.
Templates live in ~/.project_templates. When scaffolding, files are rendered with Jinja2 ({{ project_name }} is available), git init runs automatically, and dependency installs (npm install, pip install, cargo build, …) are detected and run for you.
Template manifest (cast.json)
Optionally drop a cast.json at the root of a template to customize scaffolding. Every field is optional, and templates without a manifest work exactly as described above. The manifest itself is never copied into generated projects.
{
// shown in the template picker and `cast list`
"description": "Next.js 15 + App Router starter",
// prompted at init; every value is available to Jinja, e.g. {{ db_name }}
"variables": [
{ "name": "db_name", "prompt": "Database name", "default": "app_db" }
],
"addons": {
"recommended": ["tailwind", "shadcn"], // pre-checked in the add-on picker
"supported": ["tailwind", "shadcn", "prisma"] // limits built-ins shown; omit to show all
},
// replaces automatic install detection (git init still always runs);
// use [] to skip installs entirely
"post_init": ["npm install", "cp .env.example .env"],
// printed after scaffolding so you never hunt for docs again
"docs": ["https://nextjs.org/docs"]
}
Without a TTY (scripts, CI), variables fall back to their defaults instead of prompting.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cast_by_matt-0.1.0.tar.gz.
File metadata
- Download URL: cast_by_matt-0.1.0.tar.gz
- Upload date:
- Size: 20.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6176501e9f94657879a1be5dfd3d2b04d29f5efc673c27ca5e6575ec2d835272
|
|
| MD5 |
c25282200c8f7a02b56d9b826458c72e
|
|
| BLAKE2b-256 |
676544f3e20c9d5b3b5350731cf8345971fedb5e09f8ed9ffdf02a244aafdddc
|
File details
Details for the file cast_by_matt-0.1.0-py3-none-any.whl.
File metadata
- Download URL: cast_by_matt-0.1.0-py3-none-any.whl
- Upload date:
- Size: 23.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
016799df6c43f57a5bf75bd2df8438609ccaf3e1c1767c63033e7ee12867fbee
|
|
| MD5 |
44ba6ba1153c1c75ebfb37127846c3ad
|
|
| BLAKE2b-256 |
d044b72877d1204613716b45437ab42b041e75e07ae496597408158429af4c77
|