2026-09-17 21:07:03 +00:00
|
|
|
|
# Online Shop — W4C project template
|
2026-09-17 21:06:55 +00:00
|
|
|
|
|
2026-09-17 21:07:03 +00:00
|
|
|
|
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`](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. |
|
2026-09-20 19:47:22 +00:00
|
|
|
|
| `.gitignore` | Default ignores for dependencies, build output, local secrets and editor/OS cruft. |
|
|
|
|
|
|
| `.editorconfig` | Shared editor defaults (UTF-8, LF, indentation) for the generated project. |
|
2026-09-17 21:07:03 +00:00
|
|
|
|
| `.w4c/template.json` | Template manifest: dialog fields, starter prompt, element list (templates only). |
|
|
|
|
|
|
| `.w4c/project.json` | Project metadata committed with the repository. |
|
|
|
|
|
|
| `.w4c/diagrams/` | Excalidraw architecture diagram. |
|
|
|
|
|
|
| `.w4c/boards/roadmap.json` | Board columns and the seed tasks for the build. |
|
|
|
|
|
|
| `.w4c/workflows/` | The CI workflow to import into the workflows module. |
|
|
|
|
|
|
|
|
|
|
|
|
See [`.w4c/README.md`](.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:
|
|
|
|
|
|
|
|
|
|
|
|
1. **Scaffold** the stack and get the empty shell running (install → dev server → commit).
|
|
|
|
|
|
2. **Product & scope** — routes and the data model from `SPEC.md` §3–§4.
|
|
|
|
|
|
3. **Catalog & product** read paths from seeded data.
|
|
|
|
|
|
4. **Cart, checkout and payment** (mock provider first).
|
|
|
|
|
|
5. **Accounts and order history.**
|
|
|
|
|
|
6. **Admin** area.
|
|
|
|
|
|
7. **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:`).
|
|
|
|
|
|
- Money is integer minor units (`priceMinor`), never floating point; format with the project
|
|
|
|
|
|
currency and `en-US` number formatting.
|
|
|
|
|
|
- Authorize every mutation on the server; never only in the UI.
|
|
|
|
|
|
- Never commit secrets — document them in `.env.example` instead.
|
|
|
|
|
|
- Keep `docs/PLAN.md`, the board and `.w4c/project.json` in sync as the project evolves.
|