Validate project space structure, boilerplate docs, and consistency with ideas/
Validate that a project space has all required structure, boilerplate docs, and stays consistent with its planning docs in ideas/.
/validate-space leaf-nextjs-convex # Validate specific space
/validate-space coordinatr # Another project
/validate-space # Prompt for project name
| File | Purpose | Check |
|---|---|---|
| CLAUDE.md | AI instructions for codebase | Must exist |
| README.md | Entry point for developers | Must exist |
| package.json (JS/TS) | Project config | Stack-dependent |
| Directory | Purpose | Check |
|---|---|---|
| docs/ | Documentation root | Must exist |
| docs/specs/ | Protocol/feature specs | Must exist |
| docs/adrs/ | Architecture Decision Records | Must exist |
| File | Purpose |
|---|---|
| architecture-overview.md | System architecture |
| api-overview.md | API documentation |
| data-model.md | Data structures |
| deployment.md | Deployment guide |
| security.md | Security considerations |
| testing-overview.md | Testing strategy |
| ui-guide.md | UI patterns and components |
Templates available at shared/templates/docs/
| Check | Description |
|---|---|
| Version sync | package.json versions match docs (e.g., "Next.js 16" in CLAUDE.md matches "next": "16.x") |
| Stack accuracy | Listed technologies actually exist in dependencies |
| Structure accuracy | Documented directories actually exist |
| Ideas link | Referenced ideas/[project]/ exists and has matching info |
| Check | Description |
|---|---|
| README.md | Stack listed in ideas/ matches spaces/ |
| project-brief.md | Technical decisions match actual implementation |
| Issues | Current phase/status is accurate |
ls spaces/[project-name]/
Error if not found.
Read: spaces/[project]/CLAUDE.md
Read: spaces/[project]/README.md
Read: spaces/[project]/package.json (if JS/TS)
Check for required sections:
Extract versions from:
Flag any mismatches.
Check required directories exist:
ls -la spaces/[project]/docs/
ls -la spaces/[project]/docs/specs/
ls -la spaces/[project]/docs/adrs/
Check overview docs present:
ls spaces/[project]/docs/*.md
# Should have: architecture-overview.md, api-overview.md, data-model.md,
# deployment.md, security.md, testing-overview.md, ui-guide.md
Compare documented structure in CLAUDE.md against actual:
ls -la spaces/[project]/
ls -la spaces/[project]/src/ (if documented)
Read: ideas/[project]/README.md
Read: ideas/[project]/project-brief.md
Check stack/version consistency.
# Space Validation: [Project Name]
## Status
- Space location: spaces/[project]/
- Ideas location: ideas/[project]/ (exists/missing)
## Required Files
ā
CLAUDE.md - Present
ā
README.md - Present
ā
package.json - Present
## Required Directories
ā
docs/ - Present
ā
docs/specs/ - Present
ā
docs/adrs/ - Present
## Overview Docs (in docs/)
ā
architecture-overview.md - Present
ā
api-overview.md - Present
ā
data-model.md - Present
ā
deployment.md - Present
ā
security.md - Present
ā
testing-overview.md - Present
ā
ui-guide.md - Present
## CLAUDE.md Sections
ā
Overview/Stack - Complete
ā
Project Structure - Complete
ā ļø Commands - Missing deploy command
ā
Environment Variables - Complete
## Version Consistency
ā
Next.js: 16.1.3 (package.json) matches "Next.js 16" (docs)
ā React: 19.0.0 (package.json) but docs say "React 18"
## Ideas Cross-Reference
ā
ideas/leaf-nextjs-convex/ exists
ā
Stack matches between spaces/ and ideas/
ā ļø project-brief.md says "Next.js 15" - outdated
## Issues Found
1. React version mismatch in documentation
2. project-brief.md has outdated version
## Recommendations
1. Update React version in CLAUDE.md
2. Update project-brief.md to say Next.js 16
3. Fill in overview doc templates with project-specific content
If docs/ structure is missing, create it:
mkdir -p spaces/[project]/docs/specs
mkdir -p spaces/[project]/docs/adrs
cp shared/templates/docs/*.md spaces/[project]/docs/
/validate-space ā Fix issues ā /validate-space again ā /implement
next.config.js or next.config.tssrc/app/ structure for App Routerpublic/ directoryconvex/ directoryconvex/schema.ts existsconvex/_generated/tsconfig.json if TypeScript.env.example if env vars documented.gitignore exists