src/

src/ is the agent's brain. It contains the standing boot prompt that defines who the agent is, tools the agent can call, prompts it can load as context, and scripts that orchestrate work.

src/
├── boot.vue          # standing system prompt
├── tools/            # async functions → agent-callable tools
├── prompts/          # reusable context templates
   └── components/   # shared Vue fragments, auto-imported
└── scripts/          # TypeScript automations

Everything in src/ is discovered by filename — no registration, no config.

The parts

boot.vue defines the agent's identity, working practices, and standing orientation. Keep it stable — request-specific context belongs in prompts, not here. In local development it hot-reloads for future work without rewriting existing thread history.

tools/ — every exported async function in a .ts file becomes a tool the agent can call. The filename is the namespace: tools/github.tsgithub.*. JSDoc becomes the agent's description of the function.

prompts/ — named context templates loaded at invocation time. Static (.md) for stable instructions, dynamic (.vue) for instructions that incorporate live data fetched at render time.

scripts/ — the primary authoring unit. TypeScript files that load prompts, call the agent, process results, and do follow-on work. Run from the CLI, the TUI palette, HTTP routes, or programmatically.

prompts/components/ — reusable Vue fragments auto-imported globally into boot.vue and all dynamic prompts. No import statements needed.