---
title: "Create a project"
description: "sota 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…"
url: "https://sotaagents.ai/manual/developer-guide/create-a-project"
generated_by: "sotaagents-ldp"
docs_index: "https://sotaagents.ai/manual/llms.txt"
locale: "en"
---

# Create a project

Terminal

```
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:sota
```

`sota 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` |

> [!NOTE]
> 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. |
