Scaffold a new ObjectStack project in seconds.
npm create objectstack@latest my-app# Create a project in a new directory (blank template)
npx create-objectstack my-app
# Use a specific template
npx create-objectstack my-app --template todo
# Scaffold in the current directory
npx create-objectstack
# Skip automatic dependency installation
npx create-objectstack my-app --skip-install| Template | Source | Description |
|---|---|---|
blank (default) |
bundled (offline) | Minimal starter — one object, REST API, ready to extend |
blank is bundled inside the npm package, so scaffolding never needs network
access.
The remote content templates (todo, compliance, content, contracts,
procurement) have been retired — they were delisted from the ObjectStack
template marketplace and are no longer maintained. Asking for one by name tells
you so rather than failing as an unknown template.
| Option | Description |
|---|---|
[name] |
Project name (defaults to current directory name) |
-t, --template <name> |
Project template (default: blank) |
--skip-install |
Skip dependency installation |
--skip-skills |
Skip installing the ObjectStack AI skills bundle |
-V, --version |
Show version |
-h, --help |
Show help |
- Copies the template into the target directory and rewrites its identity:
package.jsonname,objectstack.manifest.jsonname/displayName, theobjectstack.config.tsmanifest literals, and the README title. A namespace is derived from the project name (my-app→my_app) and every object name in the template is re-prefixed to match (blank_note→my_app_note). - Installs dependencies (pnpm if available, otherwise npm). They include
@objectstack/skills, the ObjectStack AI skills catalog, at the same version as@objectstack/spec. - Installs that catalog for one coding agent, from
node_modules—npx -y skills@1.7.2 experimental_sync --agent claude-code --copy -y— so the skills teach the version the project runs, never the repository's unreleasedmain. One agent and--copy, so the catalog lands as real files in exactly one directory (.claude/skills/) and a scaffolded project commits it once;src/skills-install.tscarries the measurement. The closing summary prints the same command for any other runtime, and for re-installing after an upgrade. With--skip-installnothing is innode_modulesyet, so no skills are installed and the summary says how to get them. - Writes
AGENTS.mdand.github/copilot-instructions.mdwith the project conventions — unless the template ships its own.
my-app/
├── objectstack.config.ts # defineStack() entry point
├── objectstack.manifest.json # name, namespace, version
├── package.json
├── tsconfig.json
├── .gitignore
├── README.md
├── AGENTS.md # conventions for coding agents
└── src/
├── objects/
│ ├── index.ts
│ └── note.object.ts
├── views/index.ts # an empty barrel for each directory
├── actions/index.ts # `objectstack generate` writes into,
├── flows/index.ts # already wired into objectstack.config.ts
├── dashboards/index.ts
├── apps/index.ts
├── skills/index.ts
└── picklists/index.ts
Next steps inside the project:
npm run dev # start the dev server
npm run validate # verify metadata: schema + predicates + bindingsSee the docs: Your First Project.
Apache-2.0. See LICENSING.md.