chore(template): sync .w4c/template.json
This commit is contained in:
parent
6a8ca8dd62
commit
cb381030ae
85
.w4c/template.json
Normal file
85
.w4c/template.json
Normal file
|
|
@ -0,0 +1,85 @@
|
|||
{
|
||||
"schema": 1,
|
||||
"id": "simple-todo",
|
||||
"title": "Simple Todo List",
|
||||
"description": "The smallest possible demo app: one static page with a todo list — add, complete, filter and delete — persisted in the browser. No backend, no build step, no dependencies.",
|
||||
"tags": [
|
||||
"web",
|
||||
"demo",
|
||||
"minimal",
|
||||
"frontend",
|
||||
"static"
|
||||
],
|
||||
"thumbnail": ".w4c/preview.svg",
|
||||
"agentId": "w4c-startup",
|
||||
"defaultName": "simple-todo",
|
||||
"skills": [
|
||||
"project-bootstrap"
|
||||
],
|
||||
"devServer": {
|
||||
"image": "node:22-bookworm-slim",
|
||||
"installCommand": "true",
|
||||
"serveCommand": "npx --yes serve -s . -l {port}",
|
||||
"port": 9000
|
||||
},
|
||||
"fields": [
|
||||
{
|
||||
"key": "projectName",
|
||||
"label": "Project name",
|
||||
"type": "text",
|
||||
"required": true,
|
||||
"placeholder": "My Todos"
|
||||
},
|
||||
{
|
||||
"key": "features",
|
||||
"label": "What the list can do",
|
||||
"type": "textarea",
|
||||
"default": "add a todo, mark it done / undone, delete it, clear the completed ones, filter all / active / done, save the list in the browser so it survives a reload"
|
||||
},
|
||||
{
|
||||
"key": "accent",
|
||||
"label": "Accent colour",
|
||||
"type": "select",
|
||||
"options": [
|
||||
"Indigo",
|
||||
"Emerald",
|
||||
"Amber",
|
||||
"Rose",
|
||||
"Slate"
|
||||
],
|
||||
"default": "Indigo"
|
||||
},
|
||||
{
|
||||
"key": "notes",
|
||||
"label": "Additional notes",
|
||||
"type": "textarea"
|
||||
}
|
||||
],
|
||||
"promptTemplate": "You are starting a new project from the '{{title}}' template — a deliberately MINIMAL demo. Build the smallest website that works, nothing more: a single static page, no framework, no build step, no backend.\n\nRepository: {{repoFullName}}\nProject: {{projectName}}\nWhat the list can do: {{features}}\nAccent colour: {{accent}}\nAdditional notes: {{notes}}\n\nTheme: {{theme}}.\n\nRead README.md, SPEC.md and the .w4c/ folder first — they define the exact scope, the data model and the acceptance criteria. Apply the project-bootstrap best practices. Keep the implementation dependency-free: plain HTML + CSS + JavaScript, one `index.html` (or the same three files split into `index.html`, `styles.css`, `app.js`). No package manager, no bundler, no third-party runtime. Persist the list in `localStorage` under a single documented key so it survives a reload. Do not add accounts, a database, an API, an admin panel, analytics or a service worker — they are out of scope for a minimal demo.\n\nFIRST TURN — lay the project out on its board before writing any code. Read `.w4c/boards/roadmap.json` and create one board card per entry in THIS repository (projectId = the repository full name above), prefixing every title with its unicode icon. This template is intentionally lean, so file only these layers and say which heavier layers you are skipping for a minimal demo: 🧭 plan & scope, 💻 frontend (code), 🚀 run & preview, ✅ quality & delivery. Each card body carries the goal, the deliverables, the acceptance criteria (a command or a runtime check) and the references. Do not create or configure new agents — that is a follow-up, not part of bootstrap. Then report the card list and invite the user to continue on My Boards (/boards); do not start a layer before the user has reviewed the plan.",
|
||||
"elements": [
|
||||
{
|
||||
"kind": "board",
|
||||
"name": "Project roadmap",
|
||||
"path": ".w4c/boards/roadmap.json"
|
||||
}
|
||||
],
|
||||
"pages": [
|
||||
{
|
||||
"id": "todo",
|
||||
"title": "Todo list",
|
||||
"description": "One static page: add, complete, filter and delete todos.",
|
||||
"prompt": "Build the single-page todo app: add, toggle, filter (all/active/done) and delete tasks, persisted in localStorage, fully keyboard-accessible with an empty state. Build options: default filter {{filterDefault}}, item counts {{showCounts}}, storage key {{persistKey}}.",
|
||||
"task": {
|
||||
"title": "💻 Page: Todo list",
|
||||
"priority": "high"
|
||||
}
|
||||
}
|
||||
],
|
||||
"tasks": [
|
||||
{
|
||||
"title": "🚀 Publish the demo",
|
||||
"body": "Ship the static page to a public URL (static hosting or a Pages CI job) and check it on a phone.",
|
||||
"priority": "low"
|
||||
}
|
||||
]
|
||||
}
|
||||
Loading…
Reference in a new issue