@sienklogic/plan-build-run 2.0.0 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +56 -56
- package/CLAUDE.md +149 -149
- package/LICENSE +21 -21
- package/README.md +247 -247
- package/dashboard/bin/cli.js +25 -25
- package/dashboard/package.json +34 -34
- package/dashboard/public/css/layout.css +406 -406
- package/dashboard/public/css/status-colors.css +98 -98
- package/dashboard/public/js/htmx-title.js +5 -5
- package/dashboard/public/js/sidebar-toggle.js +20 -20
- package/dashboard/src/app.js +78 -78
- package/dashboard/src/middleware/errorHandler.js +52 -52
- package/dashboard/src/middleware/notFoundHandler.js +9 -9
- package/dashboard/src/repositories/planning.repository.js +128 -128
- package/dashboard/src/routes/events.routes.js +40 -40
- package/dashboard/src/routes/index.routes.js +31 -31
- package/dashboard/src/routes/pages.routes.js +245 -195
- package/dashboard/src/server.js +42 -42
- package/dashboard/src/services/dashboard.service.js +222 -222
- package/dashboard/src/services/phase.service.js +220 -167
- package/dashboard/src/services/project.service.js +57 -57
- package/dashboard/src/services/roadmap.service.js +171 -171
- package/dashboard/src/services/sse.service.js +58 -58
- package/dashboard/src/services/todo.service.js +254 -254
- package/dashboard/src/services/watcher.service.js +48 -48
- package/dashboard/src/views/coming-soon.ejs +11 -11
- package/dashboard/src/views/error.ejs +13 -13
- package/dashboard/src/views/index.ejs +5 -5
- package/dashboard/src/views/layout.ejs +1 -1
- package/dashboard/src/views/partials/dashboard-content.ejs +77 -77
- package/dashboard/src/views/partials/footer.ejs +3 -3
- package/dashboard/src/views/partials/head.ejs +21 -21
- package/dashboard/src/views/partials/header.ejs +12 -12
- package/dashboard/src/views/partials/layout-bottom.ejs +15 -15
- package/dashboard/src/views/partials/layout-top.ejs +8 -8
- package/dashboard/src/views/partials/phase-content.ejs +188 -181
- package/dashboard/src/views/partials/phase-doc-content.ejs +38 -0
- package/dashboard/src/views/partials/phases-content.ejs +117 -117
- package/dashboard/src/views/partials/roadmap-content.ejs +142 -142
- package/dashboard/src/views/partials/sidebar.ejs +38 -38
- package/dashboard/src/views/partials/todo-create-content.ejs +53 -53
- package/dashboard/src/views/partials/todo-detail-content.ejs +38 -38
- package/dashboard/src/views/partials/todos-content.ejs +53 -53
- package/dashboard/src/views/phase-detail.ejs +5 -5
- package/dashboard/src/views/phase-doc.ejs +5 -0
- package/dashboard/src/views/phases.ejs +5 -5
- package/dashboard/src/views/roadmap.ejs +5 -5
- package/dashboard/src/views/todo-create.ejs +5 -5
- package/dashboard/src/views/todo-detail.ejs +5 -5
- package/dashboard/src/views/todos.ejs +5 -5
- package/package.json +57 -57
- package/plugins/pbr/.claude-plugin/plugin.json +13 -13
- package/plugins/pbr/UI-CONSISTENCY-GAPS.md +61 -61
- package/plugins/pbr/agents/codebase-mapper.md +279 -271
- package/plugins/pbr/agents/debugger.md +281 -281
- package/plugins/pbr/agents/executor.md +428 -407
- package/plugins/pbr/agents/general.md +164 -164
- package/plugins/pbr/agents/integration-checker.md +169 -141
- package/plugins/pbr/agents/plan-checker.md +296 -280
- package/plugins/pbr/agents/planner.md +358 -358
- package/plugins/pbr/agents/researcher.md +363 -363
- package/plugins/pbr/agents/synthesizer.md +230 -230
- package/plugins/pbr/agents/verifier.md +489 -454
- package/plugins/pbr/commands/begin.md +5 -5
- package/plugins/pbr/commands/build.md +5 -5
- package/plugins/pbr/commands/config.md +5 -5
- package/plugins/pbr/commands/continue.md +5 -5
- package/plugins/pbr/commands/debug.md +5 -5
- package/plugins/pbr/commands/discuss.md +5 -5
- package/plugins/pbr/commands/explore.md +5 -5
- package/plugins/pbr/commands/health.md +5 -5
- package/plugins/pbr/commands/help.md +5 -5
- package/plugins/pbr/commands/import.md +5 -5
- package/plugins/pbr/commands/milestone.md +5 -5
- package/plugins/pbr/commands/note.md +5 -5
- package/plugins/pbr/commands/pause.md +5 -5
- package/plugins/pbr/commands/plan.md +5 -5
- package/plugins/pbr/commands/quick.md +5 -5
- package/plugins/pbr/commands/resume.md +5 -5
- package/plugins/pbr/commands/review.md +5 -5
- package/plugins/pbr/commands/scan.md +5 -5
- package/plugins/pbr/commands/setup.md +5 -5
- package/plugins/pbr/commands/status.md +5 -5
- package/plugins/pbr/commands/todo.md +5 -5
- package/plugins/pbr/contexts/dev.md +27 -27
- package/plugins/pbr/contexts/research.md +28 -28
- package/plugins/pbr/contexts/review.md +36 -36
- package/plugins/pbr/hooks/hooks.json +183 -183
- package/plugins/pbr/references/agent-anti-patterns.md +24 -24
- package/plugins/pbr/references/agent-interactions.md +134 -134
- package/plugins/pbr/references/agent-teams.md +54 -54
- package/plugins/pbr/references/checkpoints.md +157 -157
- package/plugins/pbr/references/common-bug-patterns.md +13 -13
- package/plugins/pbr/references/config-reference.md +441 -0
- package/plugins/pbr/references/continuation-format.md +212 -212
- package/plugins/pbr/references/deviation-rules.md +112 -112
- package/plugins/pbr/references/git-integration.md +226 -226
- package/plugins/pbr/references/integration-patterns.md +117 -117
- package/plugins/pbr/references/model-profiles.md +99 -99
- package/plugins/pbr/references/model-selection.md +31 -31
- package/plugins/pbr/references/pbr-rules.md +193 -193
- package/plugins/pbr/references/plan-authoring.md +181 -181
- package/plugins/pbr/references/plan-format.md +287 -283
- package/plugins/pbr/references/planning-config.md +213 -213
- package/plugins/pbr/references/questioning.md +214 -214
- package/plugins/pbr/references/reading-verification.md +127 -127
- package/plugins/pbr/references/stub-patterns.md +160 -160
- package/plugins/pbr/references/subagent-coordination.md +119 -119
- package/plugins/pbr/references/ui-formatting.md +461 -399
- package/plugins/pbr/references/verification-patterns.md +198 -198
- package/plugins/pbr/references/wave-execution.md +95 -95
- package/plugins/pbr/scripts/auto-continue.js +80 -80
- package/plugins/pbr/scripts/check-dangerous-commands.js +136 -136
- package/plugins/pbr/scripts/check-doc-sprawl.js +102 -102
- package/plugins/pbr/scripts/check-phase-boundary.js +196 -196
- package/plugins/pbr/scripts/check-plan-format.js +270 -270
- package/plugins/pbr/scripts/check-roadmap-sync.js +322 -252
- package/plugins/pbr/scripts/check-skill-workflow.js +262 -262
- package/plugins/pbr/scripts/check-state-sync.js +476 -476
- package/plugins/pbr/scripts/check-subagent-output.js +144 -144
- package/plugins/pbr/scripts/config-schema.json +251 -251
- package/plugins/pbr/scripts/context-budget-check.js +287 -287
- package/plugins/pbr/scripts/event-handler.js +151 -151
- package/plugins/pbr/scripts/event-logger.js +92 -92
- package/plugins/pbr/scripts/hook-logger.js +80 -76
- package/plugins/pbr/scripts/hooks-schema.json +79 -79
- package/plugins/pbr/scripts/log-subagent.js +164 -152
- package/plugins/pbr/scripts/log-tool-failure.js +88 -88
- package/plugins/pbr/scripts/pbr-tools.js +1378 -1301
- package/plugins/pbr/scripts/post-write-dispatch.js +66 -66
- package/plugins/pbr/scripts/post-write-quality.js +207 -207
- package/plugins/pbr/scripts/pre-bash-dispatch.js +86 -56
- package/plugins/pbr/scripts/pre-write-dispatch.js +97 -62
- package/plugins/pbr/scripts/progress-tracker.js +281 -228
- package/plugins/pbr/scripts/run-hook.js +92 -0
- package/plugins/pbr/scripts/session-cleanup.js +254 -254
- package/plugins/pbr/scripts/status-line.js +288 -285
- package/plugins/pbr/scripts/suggest-compact.js +119 -119
- package/plugins/pbr/scripts/task-completed.js +45 -45
- package/plugins/pbr/scripts/track-context-budget.js +149 -119
- package/plugins/pbr/scripts/validate-commit.js +200 -200
- package/plugins/pbr/scripts/validate-plugin-structure.js +183 -172
- package/plugins/pbr/scripts/validate-task.js +106 -0
- package/plugins/pbr/skills/begin/SKILL.md +594 -545
- package/plugins/pbr/skills/begin/templates/PROJECT.md.tmpl +33 -33
- package/plugins/pbr/skills/begin/templates/REQUIREMENTS.md.tmpl +18 -18
- package/plugins/pbr/skills/begin/templates/STATE.md.tmpl +49 -49
- package/plugins/pbr/skills/begin/templates/config.json.tmpl +64 -63
- package/plugins/pbr/skills/begin/templates/researcher-prompt.md.tmpl +19 -19
- package/plugins/pbr/skills/begin/templates/roadmap-prompt.md.tmpl +30 -30
- package/plugins/pbr/skills/begin/templates/synthesis-prompt.md.tmpl +16 -16
- package/plugins/pbr/skills/build/SKILL.md +943 -962
- package/plugins/pbr/skills/config/SKILL.md +256 -241
- package/plugins/pbr/skills/continue/SKILL.md +164 -127
- package/plugins/pbr/skills/debug/SKILL.md +515 -489
- package/plugins/pbr/skills/debug/templates/continuation-prompt.md.tmpl +16 -16
- package/plugins/pbr/skills/debug/templates/initial-investigation-prompt.md.tmpl +27 -27
- package/plugins/pbr/skills/discuss/SKILL.md +347 -338
- package/plugins/pbr/skills/discuss/templates/CONTEXT.md.tmpl +61 -61
- package/plugins/pbr/skills/discuss/templates/decision-categories.md +9 -9
- package/plugins/pbr/skills/explore/SKILL.md +378 -362
- package/plugins/pbr/skills/health/SKILL.md +221 -186
- package/plugins/pbr/skills/health/templates/check-pattern.md.tmpl +30 -30
- package/plugins/pbr/skills/health/templates/output-format.md.tmpl +63 -63
- package/plugins/pbr/skills/help/SKILL.md +155 -140
- package/plugins/pbr/skills/import/SKILL.md +504 -490
- package/plugins/pbr/skills/milestone/SKILL.md +704 -673
- package/plugins/pbr/skills/milestone/templates/audit-report.md.tmpl +48 -48
- package/plugins/pbr/skills/milestone/templates/stats-file.md.tmpl +30 -30
- package/plugins/pbr/skills/note/SKILL.md +231 -212
- package/plugins/pbr/skills/pause/SKILL.md +249 -235
- package/plugins/pbr/skills/pause/templates/continue-here.md.tmpl +71 -71
- package/plugins/pbr/skills/plan/SKILL.md +685 -628
- package/plugins/pbr/skills/plan/decimal-phase-calc.md +98 -98
- package/plugins/pbr/skills/plan/templates/checker-prompt.md.tmpl +21 -21
- package/plugins/pbr/skills/plan/templates/gap-closure-prompt.md.tmpl +32 -32
- package/plugins/pbr/skills/plan/templates/planner-prompt.md.tmpl +38 -38
- package/plugins/pbr/skills/plan/templates/researcher-prompt.md.tmpl +19 -19
- package/plugins/pbr/skills/plan/templates/revision-prompt.md.tmpl +23 -23
- package/plugins/pbr/skills/quick/SKILL.md +354 -335
- package/plugins/pbr/skills/resume/SKILL.md +402 -388
- package/plugins/pbr/skills/review/SKILL.md +686 -652
- package/plugins/pbr/skills/review/templates/debugger-prompt.md.tmpl +60 -60
- package/plugins/pbr/skills/review/templates/gap-planner-prompt.md.tmpl +40 -40
- package/plugins/pbr/skills/review/templates/verifier-prompt.md.tmpl +115 -115
- package/plugins/pbr/skills/scan/SKILL.md +304 -269
- package/plugins/pbr/skills/scan/templates/mapper-prompt.md.tmpl +201 -201
- package/plugins/pbr/skills/setup/SKILL.md +253 -227
- package/plugins/pbr/skills/shared/commit-planning-docs.md +35 -35
- package/plugins/pbr/skills/shared/config-loading.md +102 -102
- package/plugins/pbr/skills/shared/context-budget.md +40 -40
- package/plugins/pbr/skills/shared/context-loader-task.md +86 -86
- package/plugins/pbr/skills/shared/digest-select.md +79 -79
- package/plugins/pbr/skills/shared/domain-probes.md +125 -125
- package/plugins/pbr/skills/shared/error-reporting.md +79 -79
- package/plugins/pbr/skills/shared/gate-prompts.md +388 -388
- package/plugins/pbr/skills/shared/phase-argument-parsing.md +45 -45
- package/plugins/pbr/skills/shared/progress-display.md +53 -53
- package/plugins/pbr/skills/shared/revision-loop.md +81 -81
- package/plugins/pbr/skills/shared/state-loading.md +62 -62
- package/plugins/pbr/skills/shared/state-update.md +161 -161
- package/plugins/pbr/skills/shared/universal-anti-patterns.md +33 -33
- package/plugins/pbr/skills/status/SKILL.md +367 -353
- package/plugins/pbr/skills/todo/SKILL.md +198 -181
- package/plugins/pbr/templates/CONTEXT.md.tmpl +52 -52
- package/plugins/pbr/templates/INTEGRATION-REPORT.md.tmpl +151 -151
- package/plugins/pbr/templates/RESEARCH-SUMMARY.md.tmpl +97 -97
- package/plugins/pbr/templates/ROADMAP.md.tmpl +40 -40
- package/plugins/pbr/templates/SUMMARY.md.tmpl +81 -81
- package/plugins/pbr/templates/VERIFICATION-DETAIL.md.tmpl +116 -116
- package/plugins/pbr/templates/codebase/ARCHITECTURE.md.tmpl +98 -98
- package/plugins/pbr/templates/codebase/CONCERNS.md.tmpl +93 -93
- package/plugins/pbr/templates/codebase/CONVENTIONS.md.tmpl +104 -104
- package/plugins/pbr/templates/codebase/INTEGRATIONS.md.tmpl +78 -78
- package/plugins/pbr/templates/codebase/STACK.md.tmpl +78 -78
- package/plugins/pbr/templates/codebase/STRUCTURE.md.tmpl +80 -80
- package/plugins/pbr/templates/codebase/TESTING.md.tmpl +107 -107
- package/plugins/pbr/templates/continue-here.md.tmpl +73 -73
- package/plugins/pbr/templates/prompt-partials/phase-project-context.md.tmpl +37 -37
- package/plugins/pbr/templates/research/ARCHITECTURE.md.tmpl +124 -124
- package/plugins/pbr/templates/research/STACK.md.tmpl +71 -71
- package/plugins/pbr/templates/research/SUMMARY.md.tmpl +112 -112
- package/plugins/pbr/templates/research-outputs/phase-research.md.tmpl +81 -81
- package/plugins/pbr/templates/research-outputs/project-research.md.tmpl +99 -99
- package/plugins/pbr/templates/research-outputs/synthesis.md.tmpl +36 -36
|
@@ -1,78 +1,78 @@
|
|
|
1
|
-
<!-- Source: agents/codebase-mapper.md | Purpose: Output format for STACK.md codebase analysis -->
|
|
2
|
-
# Technology Stack
|
|
3
|
-
|
|
4
|
-
> Analyzed: {date}
|
|
5
|
-
> Project: {project name from package.json or directory}
|
|
6
|
-
|
|
7
|
-
## Languages & Runtime
|
|
8
|
-
|
|
9
|
-
| Language | Version | Config | Notes |
|
|
10
|
-
|----------|---------|--------|-------|
|
|
11
|
-
| TypeScript | {version from tsconfig target or dep} | `tsconfig.json` | {strict mode? path aliases?} |
|
|
12
|
-
| Node.js | {version from engines or .nvmrc} | `.nvmrc` / `package.json engines` | {LTS?} |
|
|
13
|
-
|
|
14
|
-
## Frameworks
|
|
15
|
-
|
|
16
|
-
| Framework | Version | Role | Entry Point | Config |
|
|
17
|
-
|-----------|---------|------|-------------|--------|
|
|
18
|
-
| {Next.js} | {14.x} | {Web framework} | {src/app/} | {next.config.js} |
|
|
19
|
-
| {Express} | {4.x} | {API server} | {src/server.ts} | - |
|
|
20
|
-
|
|
21
|
-
## Key Dependencies
|
|
22
|
-
|
|
23
|
-
### Production Dependencies
|
|
24
|
-
|
|
25
|
-
| Package | Version | Purpose | Used In |
|
|
26
|
-
|---------|---------|---------|---------|
|
|
27
|
-
| {prisma} | {5.x} | {ORM / database} | {src/db/} |
|
|
28
|
-
| {zod} | {3.x} | {Validation} | {src/validators/} |
|
|
29
|
-
|
|
30
|
-
### Development Dependencies
|
|
31
|
-
|
|
32
|
-
| Package | Version | Purpose | Config |
|
|
33
|
-
|---------|---------|---------|--------|
|
|
34
|
-
| {jest} | {29.x} | {Testing} | {jest.config.ts} |
|
|
35
|
-
| {eslint} | {8.x} | {Linting} | {.eslintrc.js} |
|
|
36
|
-
|
|
37
|
-
## Build & Tooling
|
|
38
|
-
|
|
39
|
-
| Tool | Config File | Purpose | Commands |
|
|
40
|
-
|------|-------------|---------|----------|
|
|
41
|
-
| {TypeScript} | `tsconfig.json` | {Compilation} | `npx tsc --noEmit` |
|
|
42
|
-
| {ESLint} | `.eslintrc.js` | {Linting} | `npm run lint` |
|
|
43
|
-
| {Prettier} | `.prettierrc` | {Formatting} | `npm run format` |
|
|
44
|
-
| {Jest} | `jest.config.ts` | {Testing} | `npm test` |
|
|
45
|
-
|
|
46
|
-
## Package Manager
|
|
47
|
-
|
|
48
|
-
- **Manager**: {npm / yarn / pnpm / bun}
|
|
49
|
-
- **Lock file**: {package-lock.json / yarn.lock / pnpm-lock.yaml}
|
|
50
|
-
- **Workspaces**: {yes/no, if yes: list workspace paths}
|
|
51
|
-
|
|
52
|
-
## Environment Configuration
|
|
53
|
-
|
|
54
|
-
| Variable | Required | Default | Purpose | Where Used |
|
|
55
|
-
|----------|----------|---------|---------|------------|
|
|
56
|
-
| DATABASE_URL | YES | - | Database connection | {src/db/} |
|
|
57
|
-
| {VAR_NAME} | {YES/NO} | {value} | {purpose} | {files} |
|
|
58
|
-
|
|
59
|
-
**Template**: {`.env.example` exists? Y/N}
|
|
60
|
-
|
|
61
|
-
## Platform Requirements
|
|
62
|
-
|
|
63
|
-
| Requirement | Value | Source |
|
|
64
|
-
|------------|-------|--------|
|
|
65
|
-
| Node version | {>=18} | {package.json engines} |
|
|
66
|
-
| OS | {any / linux only / etc.} | {evidence} |
|
|
67
|
-
| Memory | {if specified} | {evidence} |
|
|
68
|
-
| External services | {list databases, caches, etc.} | {docker-compose, docs} |
|
|
69
|
-
|
|
70
|
-
## Scripts
|
|
71
|
-
|
|
72
|
-
| Script | Command | Purpose |
|
|
73
|
-
|--------|---------|---------|
|
|
74
|
-
| `dev` | {command} | {Start dev server} |
|
|
75
|
-
| `build` | {command} | {Build for production} |
|
|
76
|
-
| `test` | {command} | {Run tests} |
|
|
77
|
-
| `lint` | {command} | {Run linter} |
|
|
78
|
-
| {others} | {command} | {purpose} |
|
|
1
|
+
<!-- Source: agents/codebase-mapper.md | Purpose: Output format for STACK.md codebase analysis -->
|
|
2
|
+
# Technology Stack
|
|
3
|
+
|
|
4
|
+
> Analyzed: {date}
|
|
5
|
+
> Project: {project name from package.json or directory}
|
|
6
|
+
|
|
7
|
+
## Languages & Runtime
|
|
8
|
+
|
|
9
|
+
| Language | Version | Config | Notes |
|
|
10
|
+
|----------|---------|--------|-------|
|
|
11
|
+
| TypeScript | {version from tsconfig target or dep} | `tsconfig.json` | {strict mode? path aliases?} |
|
|
12
|
+
| Node.js | {version from engines or .nvmrc} | `.nvmrc` / `package.json engines` | {LTS?} |
|
|
13
|
+
|
|
14
|
+
## Frameworks
|
|
15
|
+
|
|
16
|
+
| Framework | Version | Role | Entry Point | Config |
|
|
17
|
+
|-----------|---------|------|-------------|--------|
|
|
18
|
+
| {Next.js} | {14.x} | {Web framework} | {src/app/} | {next.config.js} |
|
|
19
|
+
| {Express} | {4.x} | {API server} | {src/server.ts} | - |
|
|
20
|
+
|
|
21
|
+
## Key Dependencies
|
|
22
|
+
|
|
23
|
+
### Production Dependencies
|
|
24
|
+
|
|
25
|
+
| Package | Version | Purpose | Used In |
|
|
26
|
+
|---------|---------|---------|---------|
|
|
27
|
+
| {prisma} | {5.x} | {ORM / database} | {src/db/} |
|
|
28
|
+
| {zod} | {3.x} | {Validation} | {src/validators/} |
|
|
29
|
+
|
|
30
|
+
### Development Dependencies
|
|
31
|
+
|
|
32
|
+
| Package | Version | Purpose | Config |
|
|
33
|
+
|---------|---------|---------|--------|
|
|
34
|
+
| {jest} | {29.x} | {Testing} | {jest.config.ts} |
|
|
35
|
+
| {eslint} | {8.x} | {Linting} | {.eslintrc.js} |
|
|
36
|
+
|
|
37
|
+
## Build & Tooling
|
|
38
|
+
|
|
39
|
+
| Tool | Config File | Purpose | Commands |
|
|
40
|
+
|------|-------------|---------|----------|
|
|
41
|
+
| {TypeScript} | `tsconfig.json` | {Compilation} | `npx tsc --noEmit` |
|
|
42
|
+
| {ESLint} | `.eslintrc.js` | {Linting} | `npm run lint` |
|
|
43
|
+
| {Prettier} | `.prettierrc` | {Formatting} | `npm run format` |
|
|
44
|
+
| {Jest} | `jest.config.ts` | {Testing} | `npm test` |
|
|
45
|
+
|
|
46
|
+
## Package Manager
|
|
47
|
+
|
|
48
|
+
- **Manager**: {npm / yarn / pnpm / bun}
|
|
49
|
+
- **Lock file**: {package-lock.json / yarn.lock / pnpm-lock.yaml}
|
|
50
|
+
- **Workspaces**: {yes/no, if yes: list workspace paths}
|
|
51
|
+
|
|
52
|
+
## Environment Configuration
|
|
53
|
+
|
|
54
|
+
| Variable | Required | Default | Purpose | Where Used |
|
|
55
|
+
|----------|----------|---------|---------|------------|
|
|
56
|
+
| DATABASE_URL | YES | - | Database connection | {src/db/} |
|
|
57
|
+
| {VAR_NAME} | {YES/NO} | {value} | {purpose} | {files} |
|
|
58
|
+
|
|
59
|
+
**Template**: {`.env.example` exists? Y/N}
|
|
60
|
+
|
|
61
|
+
## Platform Requirements
|
|
62
|
+
|
|
63
|
+
| Requirement | Value | Source |
|
|
64
|
+
|------------|-------|--------|
|
|
65
|
+
| Node version | {>=18} | {package.json engines} |
|
|
66
|
+
| OS | {any / linux only / etc.} | {evidence} |
|
|
67
|
+
| Memory | {if specified} | {evidence} |
|
|
68
|
+
| External services | {list databases, caches, etc.} | {docker-compose, docs} |
|
|
69
|
+
|
|
70
|
+
## Scripts
|
|
71
|
+
|
|
72
|
+
| Script | Command | Purpose |
|
|
73
|
+
|--------|---------|---------|
|
|
74
|
+
| `dev` | {command} | {Start dev server} |
|
|
75
|
+
| `build` | {command} | {Build for production} |
|
|
76
|
+
| `test` | {command} | {Run tests} |
|
|
77
|
+
| `lint` | {command} | {Run linter} |
|
|
78
|
+
| {others} | {command} | {purpose} |
|
|
@@ -1,80 +1,80 @@
|
|
|
1
|
-
<!-- Source: agents/codebase-mapper.md | Purpose: Output format for STRUCTURE.md codebase analysis -->
|
|
2
|
-
# Project Structure
|
|
3
|
-
|
|
4
|
-
> Analyzed: {date}
|
|
5
|
-
|
|
6
|
-
## Directory Layout
|
|
7
|
-
|
|
8
|
-
```
|
|
9
|
-
{project_root}/
|
|
10
|
-
├── src/ # Source code
|
|
11
|
-
│ ├── app/ # {Purpose: Next.js App Router pages}
|
|
12
|
-
│ │ ├── api/ # {API route handlers}
|
|
13
|
-
│ │ ├── (auth)/ # {Auth-related pages}
|
|
14
|
-
│ │ └── layout.tsx # {Root layout}
|
|
15
|
-
│ ├── components/ # {Shared UI components}
|
|
16
|
-
│ │ ├── ui/ # {Primitive UI components}
|
|
17
|
-
│ │ └── features/ # {Feature-specific components}
|
|
18
|
-
│ ├── lib/ # {Shared utilities and configurations}
|
|
19
|
-
│ ├── services/ # {Business logic}
|
|
20
|
-
│ ├── models/ # {Data models / types}
|
|
21
|
-
│ ├── hooks/ # {Custom React hooks}
|
|
22
|
-
│ └── styles/ # {Global styles}
|
|
23
|
-
├── prisma/ # {Database schema and migrations}
|
|
24
|
-
├── public/ # {Static assets}
|
|
25
|
-
├── tests/ # {Test files}
|
|
26
|
-
├── docs/ # {Documentation}
|
|
27
|
-
└── scripts/ # {Build/deploy scripts}
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
## File Naming Conventions
|
|
31
|
-
|
|
32
|
-
| Type | Pattern | Example |
|
|
33
|
-
|------|---------|---------|
|
|
34
|
-
| React components | {PascalCase.tsx} | `UserProfile.tsx` |
|
|
35
|
-
| Hooks | {camelCase.ts, use* prefix} | `useAuth.ts` |
|
|
36
|
-
| Utilities | {camelCase.ts} | `formatDate.ts` |
|
|
37
|
-
| Types | {PascalCase.ts or types.ts} | `User.ts`, `types.ts` |
|
|
38
|
-
| Tests | {*.test.ts or *.spec.ts} | `UserProfile.test.tsx` |
|
|
39
|
-
| API routes | {route.ts in directory} | `app/api/users/route.ts` |
|
|
40
|
-
| Config | {lowercase with dots} | `jest.config.ts` |
|
|
41
|
-
| Constants | {UPPER_CASE or camelCase} | `constants.ts` |
|
|
42
|
-
|
|
43
|
-
## Module Boundaries
|
|
44
|
-
|
|
45
|
-
{How the code is organized into modules/features and what the boundaries are}
|
|
46
|
-
|
|
47
|
-
| Module | Directory | Responsibility | Dependencies |
|
|
48
|
-
|--------|-----------|---------------|-------------|
|
|
49
|
-
| {Auth} | {src/auth/} | {Authentication & session} | {Database, Config} |
|
|
50
|
-
| {Users} | {src/users/} | {User CRUD} | {Auth, Database} |
|
|
51
|
-
|
|
52
|
-
## Import Patterns
|
|
53
|
-
|
|
54
|
-
{How imports are organized in this codebase}
|
|
55
|
-
|
|
56
|
-
```{language}
|
|
57
|
-
// Standard import order observed in this project:
|
|
58
|
-
// {example from actual codebase}
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
### Path Aliases
|
|
62
|
-
|
|
63
|
-
| Alias | Maps To | Config |
|
|
64
|
-
|-------|---------|--------|
|
|
65
|
-
| `@/` | `src/` | `tsconfig.json paths` |
|
|
66
|
-
| `@components/` | `src/components/` | `tsconfig.json paths` |
|
|
67
|
-
|
|
68
|
-
## Where to Add Code
|
|
69
|
-
|
|
70
|
-
| Type of Code | Location | Convention | Example |
|
|
71
|
-
|-------------|----------|------------|---------|
|
|
72
|
-
| New API route | `src/app/api/{resource}/route.ts` | {pattern} | {example} |
|
|
73
|
-
| New component | `src/components/{feature}/` | {pattern} | {example} |
|
|
74
|
-
| New service | `src/services/` | {pattern} | {example} |
|
|
75
|
-
| New model | `src/models/` | {pattern} | {example} |
|
|
76
|
-
| New test | `{co-located or tests/}` | {pattern} | {example} |
|
|
77
|
-
| New utility | `src/lib/` or `src/utils/` | {pattern} | {example} |
|
|
78
|
-
| New hook | `src/hooks/` | {pattern} | {example} |
|
|
79
|
-
| New migration | `prisma/migrations/` | `npx prisma migrate dev` | - |
|
|
80
|
-
| New env var | `.env` + `.env.example` | {pattern} | {example} |
|
|
1
|
+
<!-- Source: agents/codebase-mapper.md | Purpose: Output format for STRUCTURE.md codebase analysis -->
|
|
2
|
+
# Project Structure
|
|
3
|
+
|
|
4
|
+
> Analyzed: {date}
|
|
5
|
+
|
|
6
|
+
## Directory Layout
|
|
7
|
+
|
|
8
|
+
```
|
|
9
|
+
{project_root}/
|
|
10
|
+
├── src/ # Source code
|
|
11
|
+
│ ├── app/ # {Purpose: Next.js App Router pages}
|
|
12
|
+
│ │ ├── api/ # {API route handlers}
|
|
13
|
+
│ │ ├── (auth)/ # {Auth-related pages}
|
|
14
|
+
│ │ └── layout.tsx # {Root layout}
|
|
15
|
+
│ ├── components/ # {Shared UI components}
|
|
16
|
+
│ │ ├── ui/ # {Primitive UI components}
|
|
17
|
+
│ │ └── features/ # {Feature-specific components}
|
|
18
|
+
│ ├── lib/ # {Shared utilities and configurations}
|
|
19
|
+
│ ├── services/ # {Business logic}
|
|
20
|
+
│ ├── models/ # {Data models / types}
|
|
21
|
+
│ ├── hooks/ # {Custom React hooks}
|
|
22
|
+
│ └── styles/ # {Global styles}
|
|
23
|
+
├── prisma/ # {Database schema and migrations}
|
|
24
|
+
├── public/ # {Static assets}
|
|
25
|
+
├── tests/ # {Test files}
|
|
26
|
+
├── docs/ # {Documentation}
|
|
27
|
+
└── scripts/ # {Build/deploy scripts}
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## File Naming Conventions
|
|
31
|
+
|
|
32
|
+
| Type | Pattern | Example |
|
|
33
|
+
|------|---------|---------|
|
|
34
|
+
| React components | {PascalCase.tsx} | `UserProfile.tsx` |
|
|
35
|
+
| Hooks | {camelCase.ts, use* prefix} | `useAuth.ts` |
|
|
36
|
+
| Utilities | {camelCase.ts} | `formatDate.ts` |
|
|
37
|
+
| Types | {PascalCase.ts or types.ts} | `User.ts`, `types.ts` |
|
|
38
|
+
| Tests | {*.test.ts or *.spec.ts} | `UserProfile.test.tsx` |
|
|
39
|
+
| API routes | {route.ts in directory} | `app/api/users/route.ts` |
|
|
40
|
+
| Config | {lowercase with dots} | `jest.config.ts` |
|
|
41
|
+
| Constants | {UPPER_CASE or camelCase} | `constants.ts` |
|
|
42
|
+
|
|
43
|
+
## Module Boundaries
|
|
44
|
+
|
|
45
|
+
{How the code is organized into modules/features and what the boundaries are}
|
|
46
|
+
|
|
47
|
+
| Module | Directory | Responsibility | Dependencies |
|
|
48
|
+
|--------|-----------|---------------|-------------|
|
|
49
|
+
| {Auth} | {src/auth/} | {Authentication & session} | {Database, Config} |
|
|
50
|
+
| {Users} | {src/users/} | {User CRUD} | {Auth, Database} |
|
|
51
|
+
|
|
52
|
+
## Import Patterns
|
|
53
|
+
|
|
54
|
+
{How imports are organized in this codebase}
|
|
55
|
+
|
|
56
|
+
```{language}
|
|
57
|
+
// Standard import order observed in this project:
|
|
58
|
+
// {example from actual codebase}
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
### Path Aliases
|
|
62
|
+
|
|
63
|
+
| Alias | Maps To | Config |
|
|
64
|
+
|-------|---------|--------|
|
|
65
|
+
| `@/` | `src/` | `tsconfig.json paths` |
|
|
66
|
+
| `@components/` | `src/components/` | `tsconfig.json paths` |
|
|
67
|
+
|
|
68
|
+
## Where to Add Code
|
|
69
|
+
|
|
70
|
+
| Type of Code | Location | Convention | Example |
|
|
71
|
+
|-------------|----------|------------|---------|
|
|
72
|
+
| New API route | `src/app/api/{resource}/route.ts` | {pattern} | {example} |
|
|
73
|
+
| New component | `src/components/{feature}/` | {pattern} | {example} |
|
|
74
|
+
| New service | `src/services/` | {pattern} | {example} |
|
|
75
|
+
| New model | `src/models/` | {pattern} | {example} |
|
|
76
|
+
| New test | `{co-located or tests/}` | {pattern} | {example} |
|
|
77
|
+
| New utility | `src/lib/` or `src/utils/` | {pattern} | {example} |
|
|
78
|
+
| New hook | `src/hooks/` | {pattern} | {example} |
|
|
79
|
+
| New migration | `prisma/migrations/` | `npx prisma migrate dev` | - |
|
|
80
|
+
| New env var | `.env` + `.env.example` | {pattern} | {example} |
|
|
@@ -1,107 +1,107 @@
|
|
|
1
|
-
<!-- Source: agents/codebase-mapper.md | Purpose: Output format for TESTING.md codebase analysis -->
|
|
2
|
-
# Testing Infrastructure
|
|
3
|
-
|
|
4
|
-
> Analyzed: {date}
|
|
5
|
-
> Test files found: {n}
|
|
6
|
-
> Coverage: {percentage if configured}
|
|
7
|
-
|
|
8
|
-
## Framework
|
|
9
|
-
|
|
10
|
-
| Aspect | Value | Config |
|
|
11
|
-
|--------|-------|--------|
|
|
12
|
-
| Test runner | {Jest / Vitest / pytest / etc.} | {config file path} |
|
|
13
|
-
| Assertion library | {built-in / chai / etc.} | - |
|
|
14
|
-
| Mocking | {jest.mock / vitest.mock / unittest.mock} | - |
|
|
15
|
-
| Coverage tool | {c8 / istanbul / coverage.py} | {config} |
|
|
16
|
-
|
|
17
|
-
## Running Tests
|
|
18
|
-
|
|
19
|
-
```bash
|
|
20
|
-
# All tests
|
|
21
|
-
{npm test}
|
|
22
|
-
|
|
23
|
-
# Specific file
|
|
24
|
-
{npm test -- path/to/file}
|
|
25
|
-
|
|
26
|
-
# Watch mode
|
|
27
|
-
{npm run test:watch}
|
|
28
|
-
|
|
29
|
-
# Coverage
|
|
30
|
-
{npm run test:coverage}
|
|
31
|
-
|
|
32
|
-
# Specific pattern
|
|
33
|
-
{npm test -- --grep "pattern"}
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
## Test Organization
|
|
37
|
-
|
|
38
|
-
| Aspect | Pattern | Example |
|
|
39
|
-
|--------|---------|---------|
|
|
40
|
-
| Location | {co-located / separate directory} | `src/auth/auth.test.ts` or `tests/auth.test.ts` |
|
|
41
|
-
| File naming | {.test.ts / .spec.ts / test_.py} | `UserService.test.ts` |
|
|
42
|
-
| Describe blocks | {module/function/feature} | `describe('UserService')` |
|
|
43
|
-
| Test naming | {should X / it X / test_X} | `it('should return user by id')` |
|
|
44
|
-
|
|
45
|
-
## Test Structure Pattern
|
|
46
|
-
|
|
47
|
-
```{language}
|
|
48
|
-
// Pattern used in this codebase: {evidence file:line}
|
|
49
|
-
{actual test structure from codebase}
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
## Mocking Patterns
|
|
53
|
-
|
|
54
|
-
### External Services
|
|
55
|
-
|
|
56
|
-
```{language}
|
|
57
|
-
// How external services are mocked: {evidence file:line}
|
|
58
|
-
{actual mock pattern from codebase}
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
### Database
|
|
62
|
-
|
|
63
|
-
```{language}
|
|
64
|
-
// How database is mocked/seeded: {evidence file:line}
|
|
65
|
-
{actual pattern from codebase}
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
### API Calls
|
|
69
|
-
|
|
70
|
-
```{language}
|
|
71
|
-
// How API calls are mocked: {evidence file:line}
|
|
72
|
-
{actual pattern from codebase}
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
## Fixtures & Test Data
|
|
76
|
-
|
|
77
|
-
| Type | Location | Pattern |
|
|
78
|
-
|------|----------|---------|
|
|
79
|
-
| {Factories} | {tests/factories/} | {createUser(), createPost()} |
|
|
80
|
-
| {Fixtures} | {tests/fixtures/} | {JSON files} |
|
|
81
|
-
| {Seeds} | {prisma/seed.ts} | {Prisma seed script} |
|
|
82
|
-
|
|
83
|
-
## Coverage Configuration
|
|
84
|
-
|
|
85
|
-
| Setting | Value |
|
|
86
|
-
|---------|-------|
|
|
87
|
-
| Threshold | {if configured: line %, branch %, function %} |
|
|
88
|
-
| Include | {file patterns} |
|
|
89
|
-
| Exclude | {file patterns} |
|
|
90
|
-
| Reporter | {text / html / lcov} |
|
|
91
|
-
|
|
92
|
-
## E2E Testing
|
|
93
|
-
|
|
94
|
-
| Aspect | Value | Config |
|
|
95
|
-
|--------|-------|--------|
|
|
96
|
-
| Framework | {Playwright / Cypress / none} | {config file} |
|
|
97
|
-
| Location | {e2e/ or tests/e2e/} | - |
|
|
98
|
-
| Base URL | {config} | - |
|
|
99
|
-
|
|
100
|
-
## Testing Gaps
|
|
101
|
-
|
|
102
|
-
| Area | Has Tests | Notes |
|
|
103
|
-
|------|-----------|-------|
|
|
104
|
-
| {Unit tests} | {YES/NO/PARTIAL} | {coverage details} |
|
|
105
|
-
| {Integration tests} | {YES/NO/PARTIAL} | {coverage details} |
|
|
106
|
-
| {E2E tests} | {YES/NO/PARTIAL} | {coverage details} |
|
|
107
|
-
| {API tests} | {YES/NO/PARTIAL} | {coverage details} |
|
|
1
|
+
<!-- Source: agents/codebase-mapper.md | Purpose: Output format for TESTING.md codebase analysis -->
|
|
2
|
+
# Testing Infrastructure
|
|
3
|
+
|
|
4
|
+
> Analyzed: {date}
|
|
5
|
+
> Test files found: {n}
|
|
6
|
+
> Coverage: {percentage if configured}
|
|
7
|
+
|
|
8
|
+
## Framework
|
|
9
|
+
|
|
10
|
+
| Aspect | Value | Config |
|
|
11
|
+
|--------|-------|--------|
|
|
12
|
+
| Test runner | {Jest / Vitest / pytest / etc.} | {config file path} |
|
|
13
|
+
| Assertion library | {built-in / chai / etc.} | - |
|
|
14
|
+
| Mocking | {jest.mock / vitest.mock / unittest.mock} | - |
|
|
15
|
+
| Coverage tool | {c8 / istanbul / coverage.py} | {config} |
|
|
16
|
+
|
|
17
|
+
## Running Tests
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
# All tests
|
|
21
|
+
{npm test}
|
|
22
|
+
|
|
23
|
+
# Specific file
|
|
24
|
+
{npm test -- path/to/file}
|
|
25
|
+
|
|
26
|
+
# Watch mode
|
|
27
|
+
{npm run test:watch}
|
|
28
|
+
|
|
29
|
+
# Coverage
|
|
30
|
+
{npm run test:coverage}
|
|
31
|
+
|
|
32
|
+
# Specific pattern
|
|
33
|
+
{npm test -- --grep "pattern"}
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Test Organization
|
|
37
|
+
|
|
38
|
+
| Aspect | Pattern | Example |
|
|
39
|
+
|--------|---------|---------|
|
|
40
|
+
| Location | {co-located / separate directory} | `src/auth/auth.test.ts` or `tests/auth.test.ts` |
|
|
41
|
+
| File naming | {.test.ts / .spec.ts / test_.py} | `UserService.test.ts` |
|
|
42
|
+
| Describe blocks | {module/function/feature} | `describe('UserService')` |
|
|
43
|
+
| Test naming | {should X / it X / test_X} | `it('should return user by id')` |
|
|
44
|
+
|
|
45
|
+
## Test Structure Pattern
|
|
46
|
+
|
|
47
|
+
```{language}
|
|
48
|
+
// Pattern used in this codebase: {evidence file:line}
|
|
49
|
+
{actual test structure from codebase}
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## Mocking Patterns
|
|
53
|
+
|
|
54
|
+
### External Services
|
|
55
|
+
|
|
56
|
+
```{language}
|
|
57
|
+
// How external services are mocked: {evidence file:line}
|
|
58
|
+
{actual mock pattern from codebase}
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
### Database
|
|
62
|
+
|
|
63
|
+
```{language}
|
|
64
|
+
// How database is mocked/seeded: {evidence file:line}
|
|
65
|
+
{actual pattern from codebase}
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### API Calls
|
|
69
|
+
|
|
70
|
+
```{language}
|
|
71
|
+
// How API calls are mocked: {evidence file:line}
|
|
72
|
+
{actual pattern from codebase}
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
## Fixtures & Test Data
|
|
76
|
+
|
|
77
|
+
| Type | Location | Pattern |
|
|
78
|
+
|------|----------|---------|
|
|
79
|
+
| {Factories} | {tests/factories/} | {createUser(), createPost()} |
|
|
80
|
+
| {Fixtures} | {tests/fixtures/} | {JSON files} |
|
|
81
|
+
| {Seeds} | {prisma/seed.ts} | {Prisma seed script} |
|
|
82
|
+
|
|
83
|
+
## Coverage Configuration
|
|
84
|
+
|
|
85
|
+
| Setting | Value |
|
|
86
|
+
|---------|-------|
|
|
87
|
+
| Threshold | {if configured: line %, branch %, function %} |
|
|
88
|
+
| Include | {file patterns} |
|
|
89
|
+
| Exclude | {file patterns} |
|
|
90
|
+
| Reporter | {text / html / lcov} |
|
|
91
|
+
|
|
92
|
+
## E2E Testing
|
|
93
|
+
|
|
94
|
+
| Aspect | Value | Config |
|
|
95
|
+
|--------|-------|--------|
|
|
96
|
+
| Framework | {Playwright / Cypress / none} | {config file} |
|
|
97
|
+
| Location | {e2e/ or tests/e2e/} | - |
|
|
98
|
+
| Base URL | {config} | - |
|
|
99
|
+
|
|
100
|
+
## Testing Gaps
|
|
101
|
+
|
|
102
|
+
| Area | Has Tests | Notes |
|
|
103
|
+
|------|-----------|-------|
|
|
104
|
+
| {Unit tests} | {YES/NO/PARTIAL} | {coverage details} |
|
|
105
|
+
| {Integration tests} | {YES/NO/PARTIAL} | {coverage details} |
|
|
106
|
+
| {E2E tests} | {YES/NO/PARTIAL} | {coverage details} |
|
|
107
|
+
| {API tests} | {YES/NO/PARTIAL} | {coverage details} |
|