From c644464df5728f577cf0c209a1cf2adcd8770d88 Mon Sep 17 00:00:00 2001 From: SemianiakaVY Date: Thu, 17 Sep 2026 21:07:09 +0000 Subject: [PATCH] chore(template): sync .w4c/template.json --- .w4c/template.json | 120 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 120 insertions(+) create mode 100644 .w4c/template.json diff --git a/.w4c/template.json b/.w4c/template.json new file mode 100644 index 0000000..716a6d0 --- /dev/null +++ b/.w4c/template.json @@ -0,0 +1,120 @@ +{ + "schema": 1, + "id": "saas-starter", + "title": "SaaS Starter", + "description": "A multi-tenant SaaS web app with authentication, billing, a customer dashboard and an admin area.", + "tags": [ + "web", + "saas", + "billing" + ], + "thumbnail": ".w4c/preview.svg", + "agentId": "w4c-startup", + "defaultName": "saas-starter", + "skills": [ + "project-bootstrap" + ], + "fields": [ + { + "key": "productName", + "label": "Product name", + "type": "text", + "required": true, + "placeholder": "Acme Cloud" + }, + { + "key": "stack", + "label": "Tech stack", + "type": "select", + "options": [ + "Vue 3 + Quasar", + "Nuxt 3", + "Next.js", + "React + Vite", + "Angular", + "SvelteKit", + "SolidStart", + "Remix", + "Astro", + "Laravel + Vue", + "Django + HTMX", + "Rails + Hotwire", + "Phoenix (Elixir)", + "Spring Boot + React", + "ASP.NET Core + Blazor", + "Go + Templ", + "Rust + Axum", + "Flutter", + "React Native (Expo)", + "SwiftUI", + "Jetpack Compose (Kotlin)" + ], + "default": "Next.js", + "required": true + }, + { + "key": "billing", + "label": "Billing provider", + "type": "select", + "options": [ + "Stripe", + "Paddle", + "Lemon Squeezy", + "None (mock)" + ], + "default": "Stripe", + "required": true + }, + { + "key": "tenancy", + "label": "Tenancy model", + "type": "select", + "options": [ + "Workspace per team", + "User accounts only", + "Both" + ], + "default": "Workspace per team" + }, + { + "key": "auth", + "label": "Authentication", + "type": "select", + "options": [ + "Email + OAuth", + "Email magic link", + "SSO / OIDC" + ], + "default": "Email + OAuth" + }, + { + "key": "features", + "label": "Core features", + "type": "textarea", + "default": "customer dashboard, team invites, usage limits, invoices" + }, + { + "key": "notes", + "label": "Additional notes", + "type": "textarea" + } + ], + "promptTemplate": "You are starting a new project from the '{{title}}' template.\n\nRepository: {{repoFullName}}\nProduct: {{productName}}\nTech stack: {{stack}}\nBilling: {{billing}}\nTenancy: {{tenancy}}\nAuth: {{auth}}\nCore features: {{features}}\nAdditional notes: {{notes}}\n\nRead README.md, SPEC.md and the .w4c/ folder before writing code — they define the product scope, the routes/screens, the data model, the flows and the acceptance criteria. Then work top-down in layers (scaffold → auth & tenant scoping → dashboard → billing → first feature → admin → quality), keeping docs/PLAN.md, the board and .w4c/project.json in sync. Apply the project-bootstrap best practices. Bundled assets: {{elements}}\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 layer in THIS repository (projectId = the repository full name above), prefixing every title with its unicode icon: 🧭 plan & scope, 🎨 design (mockups), 🗺️ architecture diagram, 🗄️ database & forms, ⚙️ backend & API, 💻 frontend (code), 🛡️ admin panel, 📊 control panel, 🔀 workflows, 🚀 deploy, ✅ quality & delivery. Each card body carries the goal, the deliverables, the acceptance criteria (a command or a runtime check) and the references; set the priority labels. 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": "diagram", + "name": "Architecture", + "path": ".w4c/diagrams/architecture.excalidraw.json" + }, + { + "kind": "board", + "name": "Project roadmap", + "path": ".w4c/boards/roadmap.json" + }, + { + "kind": "workflow", + "name": "CI Build", + "path": ".w4c/workflows/ci-build.yaml" + } + ] +}