feat: 01-project-setup spec (requirements, design, tasks) - #3
Conversation
Maps 1:1 to MD Instructions/01-project-setup.md with formal EARS-style acceptance criteria for each of the 9 requirements.
|
Review summary (Request changes) 📄 requirements.md — Requirement 2 / tasks.md — task 2.2 (blocking) 📄 tasks.md — task 1.1 (blocking) The directory is not empty (.git, .kiro/, MD Instructions/ already present) — nuxi init balks or prompts on non-empty targets. Recommend rewriting 1.1 to skip the wizard entirely: author package.json, nuxt.config.ts, and tsconfig.json by hand — the design doc already specifies all three completely, so manual authoring is both simpler and more deterministic than init-into-temp-and-move. Suggested task text: 📄 requirements.md — R1.5 (non-blocking, fold into the same edit) 📄 requirements.md — R3.2 / tasks.md — task 3.1 (non-blocking) 💬 Minor / no action required R1.4's "or by setting it to a value less than 5" is a strange allowance — simpler to require the future key be absent entirely. |
Implementation Complete ✅All 27 tasks from the spec have been executed and verified. This PR now includes the full implementation alongside the spec documents. What was added
Test results |
|
Claude finished @toolpathguy's task in 3m 12s —— View job Review: PR #3 — 01-project-setup spec + implementationVerdict: 🔴 Request changes — one blocking item (a trivial one-line fix). CI is green (build/typecheck/lint/tests pass in 49s), so this is a latent trap, not a current failure. The spec is genuinely strong: full requirements→design→tasks traceability, all PR #2 corrections carried through ( 🔴 Blocking
🟡 Nits (non-blocking)
Nice work — the sole blocker is a one-liner. Once |
| environment: 'nuxt', | ||
| environmentMatchGlobs: [ | ||
| ['tests/**', 'node'] | ||
| ] |
There was a problem hiding this comment.
environmentMatchGlobs: [['tests/**', 'node']] is a latent trap that defeats the whole point of R8 — please remove it.
Three problems, all pointing the same way:
-
Undocumented deviation from the design. Both
design.md(vitest.config.tsblock) andtasks.mdtask 5.2 specify onlytest.environment: 'nuxt'. This glob was added during implementation with no spec basis. -
It contradicts R8.3 and the CLAUDE.md testing convention. AI-MAP places all Vitest files under
/tests, and the convention is "defaultnuxtenvironment; pure unit tests opt intonodevia a// @vitest-environment nodedocblock." This glob inverts that: every file undertests/**is forced tonode. The first component test written in Task 04/05/06 — placed intests/, following the convention, with no docblock — will silently run undernode, andmountSuspendedwill fail with exactly the environment error R8 exists to prevent. Whoever hits it will be baffled, because the config looks like it setsnuxtglobally. -
It's redundant. The two current node-only tests already carry
// @vitest-environment nodedocblocks (the sanctioned per-file opt-in), which take precedence anyway. The glob adds nothing for them and only creates the trap for future files.
| environment: 'nuxt', | |
| environmentMatchGlobs: [ | |
| ['tests/**', 'node'] | |
| ] | |
| environment: 'nuxt' |
|
Claude finished @toolpathguy's task in 1m 34s —— View job Review: PR #3 — 01-project-setup spec + implementationVerdict: 🟢 Approve (with minor nits) The prior blocking issue is resolved. CI is still Spec traceability — all 9 requirements met
Registry purity holds: 🟡 Nits (non-blocking — no action required to merge)
Nice work — clean requirements→design→tasks→code traceability, and the implementation tracks the design almost line-for-line (the |
Summary
Adds the complete spec for
01-project-setup— the Nuxt 4 + TypeScript workspace scaffold that all subsequent builder features depend on.Files added/modified
.kiro/specs/01-project-setup/requirements.md— 9 requirements with acceptance criteria.kiro/specs/01-project-setup/design.md— Architecture, data models, testing strategy.kiro/specs/01-project-setup/tasks.md— 18 sub-tasks across 9 top-level tasks with dependency graphScope
This PR contains only the spec documents (no implementation code). Once merged, the tasks can be executed to scaffold the project.
What was tested