get-shit-done-cc 1.3.5 → 1.3.7
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/get-shit-done/templates/codebase/architecture.md +14 -8
- package/get-shit-done/templates/codebase/concerns.md +20 -9
- package/get-shit-done/templates/codebase/stack.md +3 -3
- package/get-shit-done/templates/codebase/structure.md +16 -16
- package/get-shit-done/workflows/execute-phase.md +19 -27
- package/get-shit-done/workflows/map-codebase.md +31 -0
- package/package.json +1 -1
|
@@ -124,18 +124,21 @@ Template for `.planning/codebase/ARCHITECTURE.md` - captures conceptual code org
|
|
|
124
124
|
**Command Layer:**
|
|
125
125
|
- Purpose: Parse user input and route to appropriate handler
|
|
126
126
|
- Contains: Command definitions, argument parsing, help text
|
|
127
|
+
- Location: `src/commands/*.ts`
|
|
127
128
|
- Depends on: Service layer for business logic
|
|
128
|
-
- Used by: CLI entry point (src/index.ts)
|
|
129
|
+
- Used by: CLI entry point (`src/index.ts`)
|
|
129
130
|
|
|
130
131
|
**Service Layer:**
|
|
131
132
|
- Purpose: Core business logic
|
|
132
133
|
- Contains: FileService, TemplateService, InstallService
|
|
134
|
+
- Location: `src/services/*.ts`
|
|
133
135
|
- Depends on: File system utilities, external tools
|
|
134
136
|
- Used by: Command handlers
|
|
135
137
|
|
|
136
138
|
**Utility Layer:**
|
|
137
139
|
- Purpose: Shared helpers and abstractions
|
|
138
140
|
- Contains: File I/O wrappers, path resolution, string formatting
|
|
141
|
+
- Location: `src/utils/*.ts`
|
|
139
142
|
- Depends on: Node.js built-ins only
|
|
140
143
|
- Used by: Service layer
|
|
141
144
|
|
|
@@ -145,8 +148,8 @@ Template for `.planning/codebase/ARCHITECTURE.md` - captures conceptual code org
|
|
|
145
148
|
|
|
146
149
|
1. User runs: `gsd new-project`
|
|
147
150
|
2. Commander parses args and flags
|
|
148
|
-
3. Command handler invoked (commands/new-project.ts)
|
|
149
|
-
4. Handler calls service methods (
|
|
151
|
+
3. Command handler invoked (`src/commands/new-project.ts`)
|
|
152
|
+
4. Handler calls service methods (`src/services/project.ts` → `create()`)
|
|
150
153
|
5. Service reads templates, processes files, writes output
|
|
151
154
|
6. Results logged to console
|
|
152
155
|
7. Process exits with status code
|
|
@@ -160,12 +163,12 @@ Template for `.planning/codebase/ARCHITECTURE.md` - captures conceptual code org
|
|
|
160
163
|
|
|
161
164
|
**Service:**
|
|
162
165
|
- Purpose: Encapsulate business logic for a domain
|
|
163
|
-
- Examples:
|
|
166
|
+
- Examples: `src/services/file.ts`, `src/services/template.ts`, `src/services/project.ts`
|
|
164
167
|
- Pattern: Singleton-like (imported as modules, not instantiated)
|
|
165
168
|
|
|
166
169
|
**Command:**
|
|
167
170
|
- Purpose: CLI command definition
|
|
168
|
-
- Examples: new-project
|
|
171
|
+
- Examples: `src/commands/new-project.ts`, `src/commands/plan-phase.ts`
|
|
169
172
|
- Pattern: Commander.js command registration
|
|
170
173
|
|
|
171
174
|
**Template:**
|
|
@@ -176,12 +179,12 @@ Template for `.planning/codebase/ARCHITECTURE.md` - captures conceptual code org
|
|
|
176
179
|
## Entry Points
|
|
177
180
|
|
|
178
181
|
**CLI Entry:**
|
|
179
|
-
- Location: src/index.ts
|
|
182
|
+
- Location: `src/index.ts`
|
|
180
183
|
- Triggers: User runs `gsd <command>`
|
|
181
184
|
- Responsibilities: Register commands, parse args, display help
|
|
182
185
|
|
|
183
186
|
**Commands:**
|
|
184
|
-
- Location: src/commands/*.ts
|
|
187
|
+
- Location: `src/commands/*.ts`
|
|
185
188
|
- Triggers: Matched command from CLI
|
|
186
189
|
- Responsibilities: Validate input, call services, format output
|
|
187
190
|
|
|
@@ -229,11 +232,14 @@ Template for `.planning/codebase/ARCHITECTURE.md` - captures conceptual code org
|
|
|
229
232
|
- Cross-cutting concerns (logging, auth, validation)
|
|
230
233
|
|
|
231
234
|
**What does NOT belong here:**
|
|
232
|
-
-
|
|
235
|
+
- Exhaustive file listings (that's STRUCTURE.md)
|
|
233
236
|
- Technology choices (that's STACK.md)
|
|
234
237
|
- Line-by-line code walkthrough (defer to code reading)
|
|
235
238
|
- Implementation details of specific features
|
|
236
239
|
|
|
240
|
+
**File paths ARE welcome:**
|
|
241
|
+
Include file paths as concrete examples of abstractions. Use backtick formatting: `src/services/user.ts`. This makes the architecture document actionable for Claude when planning.
|
|
242
|
+
|
|
237
243
|
**When filling this template:**
|
|
238
244
|
- Read main entry points (index, server, main)
|
|
239
245
|
- Identify layers by reading imports/dependencies
|
|
@@ -129,70 +129,80 @@ Template for `.planning/codebase/CONCERNS.md` - captures known issues and areas
|
|
|
129
129
|
|
|
130
130
|
**Database queries in React components:**
|
|
131
131
|
- Issue: Direct Supabase queries in 15+ page components instead of server actions
|
|
132
|
+
- Files: `app/dashboard/page.tsx`, `app/profile/page.tsx`, `app/courses/[id]/page.tsx`, `app/settings/page.tsx` (and 11 more in `app/`)
|
|
132
133
|
- Why: Rapid prototyping during MVP phase
|
|
133
134
|
- Impact: Can't implement RLS properly, exposes DB structure to client
|
|
134
|
-
- Fix approach: Move all queries to server actions in app/actions
|
|
135
|
+
- Fix approach: Move all queries to server actions in `app/actions/`, add proper RLS policies
|
|
135
136
|
|
|
136
137
|
**Manual webhook signature validation:**
|
|
137
138
|
- Issue: Copy-pasted Stripe webhook verification code in 3 different endpoints
|
|
139
|
+
- Files: `app/api/webhooks/stripe/route.ts`, `app/api/webhooks/checkout/route.ts`, `app/api/webhooks/subscription/route.ts`
|
|
138
140
|
- Why: Each webhook added ad-hoc without abstraction
|
|
139
141
|
- Impact: Easy to miss verification in new webhooks (security risk)
|
|
140
|
-
- Fix approach: Create shared
|
|
142
|
+
- Fix approach: Create shared `lib/stripe/validate-webhook.ts` middleware
|
|
141
143
|
|
|
142
144
|
## Known Bugs
|
|
143
145
|
|
|
144
146
|
**Race condition in subscription updates:**
|
|
145
147
|
- Symptoms: User shows as "free" tier for 5-10 seconds after successful payment
|
|
146
148
|
- Trigger: Fast navigation after Stripe checkout redirect, before webhook processes
|
|
149
|
+
- Files: `app/checkout/success/page.tsx` (redirect handler), `app/api/webhooks/stripe/route.ts` (webhook)
|
|
147
150
|
- Workaround: Stripe webhook eventually updates status (self-heals)
|
|
148
151
|
- Root cause: Webhook processing slower than user navigation, no optimistic UI update
|
|
149
|
-
- Fix:
|
|
152
|
+
- Fix: Add polling in `app/checkout/success/page.tsx` after redirect
|
|
150
153
|
|
|
151
154
|
**Inconsistent session state after logout:**
|
|
152
155
|
- Symptoms: User redirected to /dashboard after logout instead of /login
|
|
153
156
|
- Trigger: Logout via button in mobile nav (desktop works fine)
|
|
157
|
+
- File: `components/MobileNav.tsx` (line ~45, logout handler)
|
|
154
158
|
- Workaround: Manual URL navigation to /login works
|
|
155
159
|
- Root cause: Mobile nav component not awaiting supabase.auth.signOut()
|
|
156
|
-
- Fix: Add await to logout handler in MobileNav.tsx
|
|
160
|
+
- Fix: Add await to logout handler in `components/MobileNav.tsx`
|
|
157
161
|
|
|
158
162
|
## Security Considerations
|
|
159
163
|
|
|
160
164
|
**Admin role check client-side only:**
|
|
161
165
|
- Risk: Admin dashboard pages check isAdmin from Supabase client, no server verification
|
|
166
|
+
- Files: `app/admin/page.tsx`, `app/admin/users/page.tsx`, `components/AdminGuard.tsx`
|
|
162
167
|
- Current mitigation: None (relying on UI hiding)
|
|
163
|
-
- Recommendations: Add middleware to admin routes
|
|
168
|
+
- Recommendations: Add middleware to admin routes in `middleware.ts`, verify role server-side
|
|
164
169
|
|
|
165
170
|
**Unvalidated file uploads:**
|
|
166
171
|
- Risk: Users can upload any file type to avatar bucket (no size/type validation)
|
|
172
|
+
- File: `components/AvatarUpload.tsx` (upload handler)
|
|
167
173
|
- Current mitigation: Supabase bucket limits to 2MB (configured in dashboard)
|
|
168
|
-
- Recommendations: Add file type validation (image/* only)
|
|
174
|
+
- Recommendations: Add file type validation (image/* only) in `lib/storage/validate.ts`
|
|
169
175
|
|
|
170
176
|
## Performance Bottlenecks
|
|
171
177
|
|
|
172
178
|
**/api/courses endpoint:**
|
|
173
179
|
- Problem: Fetching all courses with nested lessons and authors
|
|
180
|
+
- File: `app/api/courses/route.ts`
|
|
174
181
|
- Measurement: 1.2s p95 response time with 50+ courses
|
|
175
182
|
- Cause: N+1 query pattern (separate query per course for lessons)
|
|
176
|
-
- Improvement path: Use Prisma include to eager-load lessons
|
|
183
|
+
- Improvement path: Use Prisma include to eager-load lessons in `lib/db/courses.ts`, add Redis caching
|
|
177
184
|
|
|
178
185
|
**Dashboard initial load:**
|
|
179
186
|
- Problem: Waterfall of 5 serial API calls on mount
|
|
187
|
+
- File: `app/dashboard/page.tsx`
|
|
180
188
|
- Measurement: 3.5s until interactive on slow 3G
|
|
181
189
|
- Cause: Each component fetches own data independently
|
|
182
|
-
- Improvement path: Server Component with single parallel fetch
|
|
190
|
+
- Improvement path: Convert to Server Component with single parallel fetch
|
|
183
191
|
|
|
184
192
|
## Fragile Areas
|
|
185
193
|
|
|
186
194
|
**Authentication middleware chain:**
|
|
195
|
+
- File: `middleware.ts`
|
|
187
196
|
- Why fragile: 4 different middleware functions run in specific order (auth -> role -> subscription -> logging)
|
|
188
197
|
- Common failures: Middleware order change breaks everything, hard to debug
|
|
189
198
|
- Safe modification: Add tests before changing order, document dependencies in comments
|
|
190
199
|
- Test coverage: No integration tests for middleware chain (only unit tests)
|
|
191
200
|
|
|
192
201
|
**Stripe webhook event handling:**
|
|
202
|
+
- File: `app/api/webhooks/stripe/route.ts`
|
|
193
203
|
- Why fragile: Giant switch statement with 12 event types, shared transaction logic
|
|
194
204
|
- Common failures: New event type added without handling, partial DB updates on error
|
|
195
|
-
- Safe modification: Extract each event handler to
|
|
205
|
+
- Safe modification: Extract each event handler to `lib/stripe/handlers/*.ts`
|
|
196
206
|
- Test coverage: Only 3 of 12 event types have tests
|
|
197
207
|
|
|
198
208
|
## Scaling Limits
|
|
@@ -272,6 +282,7 @@ Template for `.planning/codebase/CONCERNS.md` - captures known issues and areas
|
|
|
272
282
|
- Minor code style issues
|
|
273
283
|
|
|
274
284
|
**When filling this template:**
|
|
285
|
+
- **Always include file paths** - Concerns without locations are not actionable. Use backticks: `src/file.ts`
|
|
275
286
|
- Be specific with measurements ("500ms p95" not "slow")
|
|
276
287
|
- Include reproduction steps for bugs
|
|
277
288
|
- Suggest fix approaches, not just problems
|
|
@@ -103,7 +103,7 @@ Template for `.planning/codebase/STACK.md` - captures the technology foundation.
|
|
|
103
103
|
|
|
104
104
|
**Package Manager:**
|
|
105
105
|
- npm 10.x
|
|
106
|
-
- Lockfile: package-lock.json present
|
|
106
|
+
- Lockfile: `package-lock.json` present
|
|
107
107
|
|
|
108
108
|
## Frameworks
|
|
109
109
|
|
|
@@ -135,8 +135,8 @@ Template for `.planning/codebase/STACK.md` - captures the technology foundation.
|
|
|
135
135
|
- Configuration via CLI flags only
|
|
136
136
|
|
|
137
137
|
**Build:**
|
|
138
|
-
- tsconfig.json - TypeScript compiler options
|
|
139
|
-
- vitest.config.ts - Test runner configuration
|
|
138
|
+
- `tsconfig.json` - TypeScript compiler options
|
|
139
|
+
- `vitest.config.ts` - Test runner configuration
|
|
140
140
|
|
|
141
141
|
## Platform Requirements
|
|
142
142
|
|
|
@@ -172,21 +172,21 @@ get-shit-done/
|
|
|
172
172
|
## Key File Locations
|
|
173
173
|
|
|
174
174
|
**Entry Points:**
|
|
175
|
-
- bin/install.js
|
|
175
|
+
- `bin/install.js` - Installation script (npx entry)
|
|
176
176
|
|
|
177
177
|
**Configuration:**
|
|
178
|
-
- package.json
|
|
179
|
-
-
|
|
178
|
+
- `package.json` - Project metadata, dependencies, bin entry
|
|
179
|
+
- `.gitignore` - Excluded files
|
|
180
180
|
|
|
181
181
|
**Core Logic:**
|
|
182
|
-
- bin/install.js
|
|
182
|
+
- `bin/install.js` - All installation logic (file copying, path replacement)
|
|
183
183
|
|
|
184
184
|
**Testing:**
|
|
185
|
-
- tests
|
|
185
|
+
- `tests/` - Test files (if present)
|
|
186
186
|
|
|
187
187
|
**Documentation:**
|
|
188
|
-
- README.md
|
|
189
|
-
- CLAUDE.md
|
|
188
|
+
- `README.md` - User-facing installation and usage guide
|
|
189
|
+
- `CLAUDE.md` - Instructions for Claude Code when working in this repo
|
|
190
190
|
|
|
191
191
|
## Naming Conventions
|
|
192
192
|
|
|
@@ -206,25 +206,25 @@ get-shit-done/
|
|
|
206
206
|
## Where to Add New Code
|
|
207
207
|
|
|
208
208
|
**New Slash Command:**
|
|
209
|
-
- Primary code: commands/gsd/{command-name}.md
|
|
210
|
-
- Tests: tests/commands/{command-name}.test.js (if testing implemented)
|
|
211
|
-
- Documentation: Update README.md with new command
|
|
209
|
+
- Primary code: `commands/gsd/{command-name}.md`
|
|
210
|
+
- Tests: `tests/commands/{command-name}.test.js` (if testing implemented)
|
|
211
|
+
- Documentation: Update `README.md` with new command
|
|
212
212
|
|
|
213
213
|
**New Template:**
|
|
214
|
-
- Implementation: get-shit-done/templates/{name}.md
|
|
214
|
+
- Implementation: `get-shit-done/templates/{name}.md`
|
|
215
215
|
- Documentation: Template is self-documenting (includes guidelines)
|
|
216
216
|
|
|
217
217
|
**New Workflow:**
|
|
218
|
-
- Implementation: get-shit-done/workflows/{name}.md
|
|
219
|
-
- Usage: Reference from command with
|
|
218
|
+
- Implementation: `get-shit-done/workflows/{name}.md`
|
|
219
|
+
- Usage: Reference from command with `@~/.claude/get-shit-done/workflows/{name}.md`
|
|
220
220
|
|
|
221
221
|
**New Reference Document:**
|
|
222
|
-
- Implementation: get-shit-done/references/{name}.md
|
|
222
|
+
- Implementation: `get-shit-done/references/{name}.md`
|
|
223
223
|
- Usage: Reference from commands/workflows as needed
|
|
224
224
|
|
|
225
225
|
**Utilities:**
|
|
226
|
-
- No utilities yet (install.js is monolithic)
|
|
227
|
-
- If extracted: src/utils
|
|
226
|
+
- No utilities yet (`install.js` is monolithic)
|
|
227
|
+
- If extracted: `src/utils/`
|
|
228
228
|
|
|
229
229
|
## Special Directories
|
|
230
230
|
|
|
@@ -1149,48 +1149,40 @@ For commit message conventions and git workflow patterns, see ~/.claude/get-shit
|
|
|
1149
1149
|
</step>
|
|
1150
1150
|
|
|
1151
1151
|
<step name="update_codebase_map">
|
|
1152
|
-
**If .planning/codebase/ exists
|
|
1152
|
+
**If .planning/codebase/ exists:**
|
|
1153
1153
|
|
|
1154
|
-
Check
|
|
1154
|
+
Check what changed in this plan:
|
|
1155
1155
|
|
|
1156
1156
|
```bash
|
|
1157
|
-
|
|
1158
|
-
MODIFIED_CODE=$(git diff --name-only HEAD~1 2>/dev/null | grep -E '\.(ts|js|py|go|rs|swift|java)$' | grep -v node_modules)
|
|
1157
|
+
git diff --name-only HEAD~1 2>/dev/null
|
|
1159
1158
|
```
|
|
1160
1159
|
|
|
1161
|
-
**
|
|
1160
|
+
**Update only if structural changes occurred:**
|
|
1162
1161
|
|
|
1163
|
-
|
|
1162
|
+
| Change Detected | Update Action |
|
|
1163
|
+
|-----------------|---------------|
|
|
1164
|
+
| New directory in src/ | STRUCTURE.md: Add to directory layout |
|
|
1165
|
+
| package.json deps changed | STACK.md: Add/remove from dependencies list |
|
|
1166
|
+
| New file pattern (e.g., first .test.ts) | CONVENTIONS.md: Note new pattern |
|
|
1167
|
+
| New external API client | INTEGRATIONS.md: Add service entry with file path |
|
|
1168
|
+
| Config file added/changed | STACK.md: Update configuration section |
|
|
1169
|
+
| File renamed/moved | Update paths in relevant docs |
|
|
1164
1170
|
|
|
1165
|
-
|
|
1166
|
-
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
-
| New patterns introduced | ARCHITECTURE.md, CONVENTIONS.md |
|
|
1170
|
-
| Test files added/changed | TESTING.md |
|
|
1171
|
-
| Config files changed | STACK.md |
|
|
1172
|
-
| External service integration | INTEGRATIONS.md |
|
|
1171
|
+
**Skip update if only:**
|
|
1172
|
+
- Code changes within existing files
|
|
1173
|
+
- Bug fixes
|
|
1174
|
+
- Content changes (no structural impact)
|
|
1173
1175
|
|
|
1174
|
-
**Update
|
|
1176
|
+
**Update format:**
|
|
1177
|
+
Make single targeted edits - add a bullet point, update a path, or remove a stale entry. Don't rewrite sections.
|
|
1175
1178
|
|
|
1176
|
-
For each document needing update:
|
|
1177
|
-
1. Read current document
|
|
1178
|
-
2. Identify what changed (new entries, removed entries, modified sections)
|
|
1179
|
-
3. Apply minimal edits to reflect new state
|
|
1180
|
-
|
|
1181
|
-
**Commit codebase updates:**
|
|
1182
1179
|
```bash
|
|
1183
1180
|
git add .planning/codebase/*.md
|
|
1184
1181
|
git commit --amend --no-edit # Include in plan commit
|
|
1185
1182
|
```
|
|
1186
1183
|
|
|
1187
|
-
**If no significant changes:**
|
|
1188
|
-
Skip codebase update - map is still current.
|
|
1189
|
-
|
|
1190
1184
|
**If .planning/codebase/ doesn't exist:**
|
|
1191
|
-
Skip this step
|
|
1192
|
-
|
|
1193
|
-
**Note:** Full remap via `/gsd:map-codebase` is available if incremental updates become stale.
|
|
1185
|
+
Skip this step.
|
|
1194
1186
|
</step>
|
|
1195
1187
|
|
|
1196
1188
|
<step name="check_phase_issues">
|
|
@@ -13,6 +13,9 @@ Each agent has fresh context and focuses on specific aspects. Output is concise
|
|
|
13
13
|
|
|
14
14
|
**Document quality over length:**
|
|
15
15
|
Include enough detail to be useful as reference. Prioritize practical examples (especially code patterns) over arbitrary brevity. A 200-line TESTING.md with real patterns is more valuable than a 74-line summary.
|
|
16
|
+
|
|
17
|
+
**Always include file paths:**
|
|
18
|
+
Documents are reference material for Claude when planning/executing. Vague descriptions like "UserService handles users" are not actionable. Always include actual file paths formatted with backticks: `src/services/user.ts`. This allows Claude to navigate directly to relevant code without re-searching. Do NOT include line numbers (they go stale), just file paths.
|
|
16
19
|
</philosophy>
|
|
17
20
|
|
|
18
21
|
<process>
|
|
@@ -83,6 +86,8 @@ Prompt:
|
|
|
83
86
|
```
|
|
84
87
|
Analyze this codebase for technology stack and external integrations.
|
|
85
88
|
|
|
89
|
+
IMPORTANT: Always include actual file paths in your findings. Use backtick formatting like `src/config/database.ts`. This makes the output actionable for planning.
|
|
90
|
+
|
|
86
91
|
Focus areas:
|
|
87
92
|
1. Languages (check file extensions, package manifests)
|
|
88
93
|
2. Runtime environment (Node.js, Python, etc. - check .nvmrc, .python-version, engines field)
|
|
@@ -104,6 +109,11 @@ Output findings for populating these sections:
|
|
|
104
109
|
- STACK.md: Languages, Runtime, Frameworks, Dependencies, Configuration
|
|
105
110
|
- INTEGRATIONS.md: External APIs, Services, Third-party tools
|
|
106
111
|
|
|
112
|
+
For each finding, include the file path where you found it. Example:
|
|
113
|
+
- "TypeScript 5.3 - `package.json`"
|
|
114
|
+
- "Supabase client - `src/lib/supabase.ts`"
|
|
115
|
+
- "Stripe integration - `src/services/stripe.ts`, `src/webhooks/stripe.ts`"
|
|
116
|
+
|
|
107
117
|
If something is not found, note "Not detected" for that category.
|
|
108
118
|
```
|
|
109
119
|
|
|
@@ -120,6 +130,8 @@ Prompt:
|
|
|
120
130
|
```
|
|
121
131
|
Analyze this codebase architecture and directory structure.
|
|
122
132
|
|
|
133
|
+
IMPORTANT: Always include actual file paths in your findings. Use backtick formatting like `src/index.ts`. This makes the output actionable for planning.
|
|
134
|
+
|
|
123
135
|
Focus areas:
|
|
124
136
|
1. Overall architectural pattern (monolith, microservices, layered, etc.)
|
|
125
137
|
2. Conceptual layers (API, service, data, utility)
|
|
@@ -140,6 +152,11 @@ Output findings for populating these sections:
|
|
|
140
152
|
- ARCHITECTURE.md: Pattern, Layers, Data Flow, Abstractions, Entry Points
|
|
141
153
|
- STRUCTURE.md: Directory layout, Organization, Key locations
|
|
142
154
|
|
|
155
|
+
For each finding, include the file path. Examples:
|
|
156
|
+
- "CLI entry point: `bin/install.js`"
|
|
157
|
+
- "Service layer: `src/services/*.ts` (UserService, ProjectService)"
|
|
158
|
+
- "API routes: `src/routes/api/*.ts`"
|
|
159
|
+
|
|
143
160
|
If something is not clear, provide best-guess interpretation based on code structure.
|
|
144
161
|
```
|
|
145
162
|
|
|
@@ -156,6 +173,8 @@ Prompt:
|
|
|
156
173
|
```
|
|
157
174
|
Analyze this codebase for coding conventions and testing practices.
|
|
158
175
|
|
|
176
|
+
IMPORTANT: Always include actual file paths in your findings. Use backtick formatting like `vitest.config.ts`. This makes the output actionable for planning.
|
|
177
|
+
|
|
159
178
|
Focus areas:
|
|
160
179
|
1. Code style (indentation, quotes, semicolons, formatting)
|
|
161
180
|
2. File naming conventions (kebab-case, PascalCase, etc.)
|
|
@@ -177,6 +196,11 @@ Output findings for populating these sections:
|
|
|
177
196
|
- CONVENTIONS.md: Code Style, Naming, Patterns, Documentation
|
|
178
197
|
- TESTING.md: Framework, Structure, Coverage, Tools
|
|
179
198
|
|
|
199
|
+
For each finding, include file paths. Examples:
|
|
200
|
+
- "Prettier config: `.prettierrc`"
|
|
201
|
+
- "Test pattern: `src/**/*.test.ts` (co-located with source)"
|
|
202
|
+
- "Example of naming convention: `src/services/user-service.ts`"
|
|
203
|
+
|
|
180
204
|
Look at actual code files to infer conventions if config files are missing.
|
|
181
205
|
```
|
|
182
206
|
|
|
@@ -193,6 +217,8 @@ Prompt:
|
|
|
193
217
|
```
|
|
194
218
|
Analyze this codebase for technical debt, known issues, and areas of concern.
|
|
195
219
|
|
|
220
|
+
CRITICAL: Always include actual file paths in your findings. Use backtick formatting like `src/auth/login.ts`. Concerns without file paths are not actionable. For each issue found, specify exactly where it is.
|
|
221
|
+
|
|
196
222
|
Focus areas:
|
|
197
223
|
1. TODO and FIXME comments
|
|
198
224
|
2. Complex or hard-to-understand code
|
|
@@ -215,6 +241,11 @@ Search for:
|
|
|
215
241
|
Output findings for populating:
|
|
216
242
|
- CONCERNS.md: Technical Debt, Issues, Security, Performance, Documentation
|
|
217
243
|
|
|
244
|
+
For EVERY concern, include file paths. Examples:
|
|
245
|
+
- "Direct DB queries in components: `src/pages/Dashboard.tsx`, `src/pages/Profile.tsx`"
|
|
246
|
+
- "Missing error handling: `src/api/webhook.ts` (Stripe webhook has no try/catch)"
|
|
247
|
+
- "TODO: 'fix race condition' in `src/services/subscription.ts`"
|
|
248
|
+
|
|
218
249
|
Be constructive - focus on actionable concerns, not nitpicks.
|
|
219
250
|
If codebase is clean, note that rather than inventing problems.
|
|
220
251
|
```
|
package/package.json
CHANGED