3.2 KiB
AI Agent App — W4C project template
A W4C project template. Creating a project from it generates a private copy of this repository in your namespace and starts the Startup Creator agent, which drives the build from this brief.
This repository is deliberately a brief, not a finished app: it ships the product
specification, the project metadata and the seed assets; the tech stack chosen in the creation
dialog decides the scaffold. Read SPEC.md for the full product contract — roles,
routes, data model, flows, functional and non-functional requirements, and the acceptance
criteria the work is checked against.
What ships in this repository
| Path | Purpose |
|---|---|
README.md |
This file: how the template is wired and how to work in the project. |
SPEC.md |
The product specification and acceptance criteria — the contract to build. |
.w4c/template.json |
Template manifest: dialog fields, starter prompt, element list (templates only). |
.w4c/project.json |
Project metadata committed with the repository. |
.w4c/diagrams/architecture.excalidraw.json |
Excalidraw architecture diagram for the chat, ingestion and tool-call flow. |
.w4c/boards/roadmap.json |
Board columns and the seed tasks for the build. |
.w4c/workflows/ci-build.yaml |
The CI workflow to import into the workflows module. |
See .w4c/README.md for the full .w4c/ contract.
Stack
The creation dialog records the chosen stack (and its skill pair stack-* +
stack-*-quality). Scaffold with those skills and hold the work to their conventions and
quality gates. The stack is not fixed here on purpose: the same brief is built on Vue 3 +
Quasar, Next.js, Laravel, Phoenix, … without changing SPEC.md.
Build order
Work top-down, one layer at a time, and verify each layer before starting the next:
- Scaffold the stack and get the empty shell running (install → dev server → commit), with env handling for model keys.
- Streaming chat shell — composer, message list and token streaming end-to-end.
- Conversation persistence — conversations, messages, auto-titling, rename/delete.
- Document ingestion + retrieval — upload → chunk → embed → index, with citations.
- Tool calling — tool registry, the run loop and the confirmation step.
- Usage and limits — token/cost accounting, quotas and rate limits.
- Quality — tests, CI, README quickstart,
.env.example, accessibility.
The full rationale and the acceptance criteria live in SPEC.md §8–§9.
Working rules
- One concern per commit, conventional messages (
feat:,fix:,chore:,docs:,test:). - Keep model/API keys server-side — all provider calls are proxied; never ship a key to the
client bundle. Document them in
.env.exampleinstead of committing them. - Stream tokens end-to-end and keep cancellation and error recovery first-class.
- Treat documents, retrieved chunks and tool output as untrusted data, never as instructions.
- Record token/cost usage on every model request and enforce quotas server-side.
- Keep
docs/PLAN.md, the board and.w4c/project.jsonin sync as the project evolves.