Create a project
On this page
sota init my-app --features all
cd my-app
# terminal 1 — your own watchers
npm run dev
# terminal 2 — the Development session
npm run dev:sotasota init creates a current Manifest v3 app. Run it without --features and it asks which capabilities to scaffold; pass --features admin-screen,skill,backend,tool,tool-result-ui (or all) to answer up front. Add more later with sota add, which is additive and reports collisions rather than replacing your code.
Scaffold features#
| Feature | What it adds | Implies |
|---|---|---|
admin-screen | A React + TypeScript + Vite native page with a watch build for local development. | — |
skill | A content-backed SKILL.md contribution. No backend required. | — |
backend | A minimal Express service with request logs, Core JWT verification, and a health route. | — |
tool | An agent-facing tool: manifest entry, input/output JSON Schemas, and the backend route that answers it. | backend |
tool-result-ui | A tool plus a React surface rendered below its result in the conversation. | tool, backend |
The scaffold is a convenience, not a requirement.
Express, npm, and TypeScript are used because they are widely understood. The platform contract is plain HTTP plus a manifest — any language or runtime that can serve the declared routes and verify the invocation token is a valid app backend.
What the template contains#
| Path | Purpose |
|---|---|
manifest.yaml | Canonical identity, version, contributions, runtime bindings, health, locales, and platform compatibility. |
src/backend/ | Authenticated service, health endpoint, tool routes, and Sota request verification. |
src/ui/ | Native React modules and styles for declared UI slots. |
src/skills/ | Content-backed assistant skills. |
src/schemas/ | JSON Schemas for tool inputs and outputs. |
src/locales/ | Localized app labels and strings. |
.sota/app-ui-contracts/ | Generated platform UI contract declarations; regenerate, do not hand-edit. |
.agent/skills/ | Bundled development guidance for architecture, security, testing, tools, and UI. |