@arvorco/relentless 0.1.0

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.
Files changed (107) hide show
  1. package/.claude/commands/relentless.analyze.md +20 -0
  2. package/.claude/commands/relentless.checklist.md +15 -0
  3. package/.claude/commands/relentless.clarify.md +19 -0
  4. package/.claude/commands/relentless.constitution.md +78 -0
  5. package/.claude/commands/relentless.implement.md +15 -0
  6. package/.claude/commands/relentless.plan.md +22 -0
  7. package/.claude/commands/relentless.plan.old.md +89 -0
  8. package/.claude/commands/relentless.specify.md +254 -0
  9. package/.claude/commands/relentless.tasks.md +25 -0
  10. package/.claude/commands/relentless.taskstoissues.md +15 -0
  11. package/.claude/settings.local.json +23 -0
  12. package/.claude/skills/analyze/SKILL.md +149 -0
  13. package/.claude/skills/checklist/SKILL.md +173 -0
  14. package/.claude/skills/checklist/templates/checklist-template.md +40 -0
  15. package/.claude/skills/clarify/SKILL.md +174 -0
  16. package/.claude/skills/constitution/SKILL.md +150 -0
  17. package/.claude/skills/constitution/templates/constitution-template.md +228 -0
  18. package/.claude/skills/implement/SKILL.md +141 -0
  19. package/.claude/skills/plan/SKILL.md +179 -0
  20. package/.claude/skills/plan/templates/plan-template.md +104 -0
  21. package/.claude/skills/prd/SKILL.md +242 -0
  22. package/.claude/skills/relentless/SKILL.md +265 -0
  23. package/.claude/skills/specify/SKILL.md +220 -0
  24. package/.claude/skills/specify/scripts/bash/check-prerequisites.sh +166 -0
  25. package/.claude/skills/specify/scripts/bash/common.sh +156 -0
  26. package/.claude/skills/specify/scripts/bash/create-new-feature.sh +305 -0
  27. package/.claude/skills/specify/scripts/bash/setup-plan.sh +61 -0
  28. package/.claude/skills/specify/scripts/bash/update-agent-context.sh +799 -0
  29. package/.claude/skills/specify/templates/spec-template.md +115 -0
  30. package/.claude/skills/tasks/SKILL.md +202 -0
  31. package/.claude/skills/tasks/templates/tasks-template.md +251 -0
  32. package/.claude/skills/taskstoissues/SKILL.md +97 -0
  33. package/.specify/memory/constitution.md +50 -0
  34. package/.specify/scripts/bash/check-prerequisites.sh +166 -0
  35. package/.specify/scripts/bash/common.sh +156 -0
  36. package/.specify/scripts/bash/create-new-feature.sh +297 -0
  37. package/.specify/scripts/bash/setup-plan.sh +61 -0
  38. package/.specify/scripts/bash/update-agent-context.sh +799 -0
  39. package/.specify/templates/agent-file-template.md +28 -0
  40. package/.specify/templates/checklist-template.md +40 -0
  41. package/.specify/templates/plan-template.md +104 -0
  42. package/.specify/templates/spec-template.md +115 -0
  43. package/.specify/templates/tasks-template.md +251 -0
  44. package/CHANGES_SUMMARY.md +255 -0
  45. package/CLAUDE.md +92 -0
  46. package/GEMINI_SETUP.md +256 -0
  47. package/LICENSE +21 -0
  48. package/README.md +1171 -0
  49. package/REFACTOR_SUMMARY.md +267 -0
  50. package/bin/relentless.ts +536 -0
  51. package/bun.lock +352 -0
  52. package/eslint.config.js +37 -0
  53. package/package.json +61 -0
  54. package/prd.json.example +64 -0
  55. package/prompt.md +108 -0
  56. package/ralph.sh +80 -0
  57. package/relentless/config.json +38 -0
  58. package/relentless/features/.gitkeep +0 -0
  59. package/relentless/features/ghsk-ideas/prd.json +229 -0
  60. package/relentless/features/ghsk-ideas/prd.md +191 -0
  61. package/relentless/features/ghsk-ideas/progress.txt +408 -0
  62. package/relentless/prompt.md +79 -0
  63. package/skills/checklist/SKILL.md +349 -0
  64. package/skills/clarify/SKILL.md +476 -0
  65. package/skills/prd/SKILL.md +242 -0
  66. package/skills/relentless/SKILL.md +268 -0
  67. package/skills/tasks/SKILL.md +577 -0
  68. package/src/agents/amp.ts +115 -0
  69. package/src/agents/claude.ts +185 -0
  70. package/src/agents/codex.ts +89 -0
  71. package/src/agents/droid.ts +90 -0
  72. package/src/agents/gemini.ts +109 -0
  73. package/src/agents/index.ts +16 -0
  74. package/src/agents/opencode.ts +88 -0
  75. package/src/agents/registry.ts +95 -0
  76. package/src/agents/types.ts +101 -0
  77. package/src/config/index.ts +8 -0
  78. package/src/config/loader.ts +237 -0
  79. package/src/config/schema.ts +115 -0
  80. package/src/execution/index.ts +8 -0
  81. package/src/execution/router.ts +49 -0
  82. package/src/execution/runner.ts +512 -0
  83. package/src/index.ts +11 -0
  84. package/src/init/index.ts +7 -0
  85. package/src/init/scaffolder.ts +377 -0
  86. package/src/prd/analyzer.ts +512 -0
  87. package/src/prd/index.ts +11 -0
  88. package/src/prd/issues.ts +249 -0
  89. package/src/prd/parser.ts +281 -0
  90. package/src/prd/progress.ts +198 -0
  91. package/src/prd/types.ts +170 -0
  92. package/src/tui/App.tsx +85 -0
  93. package/src/tui/TUIRunner.tsx +400 -0
  94. package/src/tui/components/AgentOutput.tsx +45 -0
  95. package/src/tui/components/AgentStatus.tsx +64 -0
  96. package/src/tui/components/CurrentStory.tsx +66 -0
  97. package/src/tui/components/Header.tsx +49 -0
  98. package/src/tui/components/ProgressBar.tsx +39 -0
  99. package/src/tui/components/StoryGrid.tsx +86 -0
  100. package/src/tui/hooks/useTUI.ts +147 -0
  101. package/src/tui/hooks/useTimer.ts +51 -0
  102. package/src/tui/index.tsx +17 -0
  103. package/src/tui/theme.ts +41 -0
  104. package/src/tui/types.ts +77 -0
  105. package/templates/constitution.md +228 -0
  106. package/templates/plan.md +273 -0
  107. package/tsconfig.json +27 -0
@@ -0,0 +1,349 @@
1
+ ---
2
+ name: checklist
3
+ description: "Generate custom quality checklists based on PRD requirements. Use for ensuring comprehensive validation. Triggers on: create checklist, generate quality checklist, validation checklist for."
4
+ ---
5
+
6
+ # Quality Checklist Generator
7
+
8
+ Generate comprehensive, domain-specific quality checklists that ensure thorough validation of your feature implementation.
9
+
10
+ ---
11
+
12
+ ## The Job
13
+
14
+ 1. Read the PRD from `relentless/features/[feature-name]/prd.json` or `prd.md`
15
+ 2. Analyze user stories and acceptance criteria to infer the appropriate domain
16
+ 3. Generate a detailed quality checklist with 20-40 items across 5-7 categories
17
+ 4. Ensure 80% of items reference specific spec sections or have markers for gaps/ambiguities
18
+ 5. Save to `relentless/features/[feature-name]/checklist.md`
19
+
20
+ **Important:** This skill works with Claude Code, Amp, Gemini, and other AI coding agents.
21
+
22
+ ---
23
+
24
+ ## Step 1: Domain Inference
25
+
26
+ Analyze the PRD to determine the primary domain(s):
27
+
28
+ - **Database/Backend**: Schema, migrations, API endpoints, server actions
29
+ - **Frontend/UI**: Components, forms, navigation, responsive design
30
+ - **Authentication/Security**: Auth flows, permissions, security policies
31
+ - **Data Processing**: ETL, validation, transformations, aggregations
32
+ - **Integration**: Third-party APIs, webhooks, external services
33
+ - **Performance**: Caching, optimization, load handling
34
+ - **Testing**: Unit tests, integration tests, E2E tests
35
+
36
+ Most features span multiple domains. Identify the **primary** and **secondary** domains.
37
+
38
+ ---
39
+
40
+ ## Step 2: Checklist Structure
41
+
42
+ Generate a checklist with the following structure:
43
+
44
+ ### Header
45
+ ```markdown
46
+ # Quality Checklist: [Feature Name]
47
+
48
+ Generated: [Date]
49
+ Domain: [Primary Domain] + [Secondary Domains]
50
+
51
+ This checklist ensures comprehensive validation of the [Feature Name] implementation.
52
+ Reference the PRD for detailed requirements.
53
+
54
+ ---
55
+ ```
56
+
57
+ ### Categories (5-7 categories, tailored to domain)
58
+
59
+ #### For Database/Backend Features:
60
+ - Schema & Migrations
61
+ - Data Integrity
62
+ - API Design
63
+ - Error Handling
64
+ - Security
65
+
66
+ #### For Frontend/UI Features:
67
+ - Component Structure
68
+ - User Experience
69
+ - Accessibility
70
+ - Responsive Design
71
+ - Error States
72
+
73
+ #### For Full-Stack Features (most common):
74
+ - Schema & Database
75
+ - Backend Logic
76
+ - Frontend Components
77
+ - Integration & Flow
78
+ - Testing & Validation
79
+ - Security & Permissions
80
+ - Performance & UX
81
+
82
+ ### Item Format
83
+
84
+ Each item should be:
85
+ - **Specific**: Reference exact PRD sections when possible
86
+ - **Verifiable**: Can be checked objectively
87
+ - **Actionable**: Clear what to verify
88
+
89
+ ```markdown
90
+ ## Category Name
91
+
92
+ - [ ] **[US-XXX]** Specific requirement from user story
93
+ - [ ] **[FR-X]** Functional requirement validation
94
+ - [ ] **[Gap]** Potential gap identified (e.g., error handling not specified)
95
+ - [ ] **[Ambiguity]** Unclear area needing clarification
96
+ - [ ] General best practice for this domain
97
+ ```
98
+
99
+ ---
100
+
101
+ ## Step 3: Quality Requirements
102
+
103
+ Ensure **80% of items** fall into one of these categories:
104
+
105
+ ### Referenced Items (60%+)
106
+ Directly reference PRD sections:
107
+ - `[US-001]` - User story reference
108
+ - `[FR-3]` - Functional requirement reference
109
+ - `[AC-2]` - Acceptance criteria reference
110
+ - `[Goal-1]` - Goal reference
111
+
112
+ ### Gap/Ambiguity Markers (20%+)
113
+ Identify potential issues:
114
+ - `[Gap]` - Missing specification (e.g., "Error handling for network failures not specified")
115
+ - `[Ambiguity]` - Unclear requirement (e.g., "Loading state duration unspecified")
116
+ - `[Edge Case]` - Potential edge case not covered
117
+ - `[Security]` - Security consideration not mentioned
118
+
119
+ ### General Best Practices (20%)
120
+ Domain-standard practices:
121
+ - "Code follows project linting rules"
122
+ - "Components have proper TypeScript types"
123
+ - "Database indexes on foreign keys"
124
+
125
+ ---
126
+
127
+ ## Step 4: Category Selection Guide
128
+
129
+ ### Database/Backend Checklist Categories:
130
+ 1. **Schema & Migrations**
131
+ - Table structure matches requirements
132
+ - Migrations are reversible
133
+ - Indexes on foreign keys and query fields
134
+ - Data types appropriate for use case
135
+
136
+ 2. **Data Integrity**
137
+ - Foreign key constraints
138
+ - Required fields enforced
139
+ - Validation rules implemented
140
+ - Default values appropriate
141
+
142
+ 3. **API Design**
143
+ - Endpoints follow REST conventions
144
+ - Request/response types defined
145
+ - Error responses standardized
146
+ - API versioning considered
147
+
148
+ 4. **Error Handling**
149
+ - Database errors caught and logged
150
+ - User-friendly error messages
151
+ - Rollback on failure
152
+ - Validation errors reported clearly
153
+
154
+ 5. **Security**
155
+ - SQL injection prevention
156
+ - Authentication checks
157
+ - Authorization/permissions
158
+ - Sensitive data protection
159
+
160
+ ### Frontend/UI Checklist Categories:
161
+ 1. **Component Structure**
162
+ - Components follow project patterns
163
+ - Props typed correctly
164
+ - State management appropriate
165
+ - Reusable components identified
166
+
167
+ 2. **User Experience**
168
+ - Loading states implemented
169
+ - Success/error feedback clear
170
+ - Navigation intuitive
171
+ - Actions have confirmation when needed
172
+
173
+ 3. **Accessibility**
174
+ - Semantic HTML used
175
+ - ARIA labels on interactive elements
176
+ - Keyboard navigation works
177
+ - Color contrast meets WCAG standards
178
+
179
+ 4. **Responsive Design**
180
+ - Works on mobile screens
181
+ - Touch targets appropriately sized
182
+ - Layout adapts to screen width
183
+ - Images scale properly
184
+
185
+ 5. **Error States**
186
+ - Network error handling
187
+ - Empty states defined
188
+ - Invalid input feedback
189
+ - Graceful degradation
190
+
191
+ ### Full-Stack Checklist Categories:
192
+ 1. **Schema & Database** (see Database categories)
193
+ 2. **Backend Logic** (API Design + Error Handling)
194
+ 3. **Frontend Components** (Component Structure + UX)
195
+ 4. **Integration & Flow** (end-to-end user flows)
196
+ 5. **Testing & Validation** (tests, linting, typechecking)
197
+ 6. **Security & Permissions** (auth, authorization, data protection)
198
+ 7. **Performance & UX** (loading, caching, responsiveness)
199
+
200
+ ---
201
+
202
+ ## Example Checklist: Task Status Feature
203
+
204
+ ```markdown
205
+ # Quality Checklist: Task Status Feature
206
+
207
+ Generated: 2026-01-11
208
+ Domain: Full-Stack (Database + UI)
209
+
210
+ This checklist ensures comprehensive validation of the Task Status Feature implementation.
211
+ Reference the PRD for detailed requirements.
212
+
213
+ ---
214
+
215
+ ## Schema & Database
216
+
217
+ - [ ] **[US-001]** `status` column added to tasks table
218
+ - [ ] **[US-001]** Status type is enum: 'pending' | 'in_progress' | 'done'
219
+ - [ ] **[US-001]** Default value is 'pending'
220
+ - [ ] **[US-001]** Migration runs successfully without errors
221
+ - [ ] **[Gap]** Index on status column for filtering performance
222
+ - [ ] Migration is reversible (has down migration)
223
+
224
+ ## Backend Logic
225
+
226
+ - [ ] **[US-003]** Status update endpoint accepts valid status values
227
+ - [ ] **[US-003]** Invalid status values rejected with clear error
228
+ - [ ] **[Gap]** Concurrent status updates handled correctly
229
+ - [ ] Status changes logged for audit trail (if applicable)
230
+ - [ ] Server action returns updated task object
231
+
232
+ ## Frontend Components
233
+
234
+ - [ ] **[US-002]** Status badge component created
235
+ - [ ] **[US-002]** Badge colors: gray=pending, blue=in_progress, green=done
236
+ - [ ] **[US-002]** Badge visible on all task cards
237
+ - [ ] **[US-003]** Status dropdown/toggle added to task rows
238
+ - [ ] **[US-003]** Current status shows as selected in dropdown
239
+ - [ ] **[Ambiguity]** Loading state during status update
240
+ - [ ] TypeScript types for status enum defined
241
+ - [ ] Components follow project structure patterns
242
+
243
+ ## Integration & Flow
244
+
245
+ - [ ] **[US-003]** Changing status saves immediately
246
+ - [ ] **[US-003]** UI updates without full page refresh
247
+ - [ ] **[US-004]** Filter dropdown has options: All, Pending, In Progress, Done
248
+ - [ ] **[US-004]** Filter persists in URL parameters
249
+ - [ ] **[US-004]** Empty state shown when no tasks match filter
250
+ - [ ] **[Gap]** Filter state cleared when navigating away
251
+ - [ ] Page loads with correct filter from URL params
252
+
253
+ ## Testing & Validation
254
+
255
+ - [ ] Migration tested on clean database
256
+ - [ ] All TypeScript type checks pass (bun run typecheck)
257
+ - [ ] All linting rules pass (bun run lint)
258
+ - [ ] **[Edge Case]** Filtering with no tasks in database
259
+ - [ ] **[Edge Case]** Status update fails (network error)
260
+ - [ ] Manual browser verification completed
261
+
262
+ ## Security & Permissions
263
+
264
+ - [ ] Status updates require authentication
265
+ - [ ] Users can only update their own tasks (if multi-user)
266
+ - [ ] **[Gap]** Permission checks for status changes
267
+ - [ ] SQL injection prevented (using parameterized queries)
268
+
269
+ ## Performance & UX
270
+
271
+ - [ ] **[Gap]** Status filter query performance acceptable
272
+ - [ ] Status badge renders without layout shift
273
+ - [ ] Dropdown opens/closes smoothly
274
+ - [ ] Filter change feels instant (< 100ms perceived)
275
+ - [ ] **[Ambiguity]** Optimistic UI updates vs server confirmation
276
+ - [ ] Status colors accessible (sufficient contrast)
277
+
278
+ ---
279
+
280
+ ## Summary
281
+
282
+ Total Items: 42
283
+ - Referenced: 17 (40%)
284
+ - Gaps/Ambiguities: 11 (26%)
285
+ - Best Practices: 14 (33%)
286
+
287
+ **Coverage:** 66% of items reference specific PRD sections or identify gaps/ambiguities.
288
+ ```
289
+
290
+ ---
291
+
292
+ ## Implementation Notes
293
+
294
+ ### For User Stories with Dependencies
295
+ If the PRD has dependencies (US-002 depends on US-001), structure checklist to reflect implementation order:
296
+ - Early categories cover foundational stories (schema, backend)
297
+ - Later categories cover dependent stories (UI, integration)
298
+
299
+ ### For Multi-Domain Features
300
+ If feature spans multiple domains (e.g., database + UI + external API):
301
+ - Create categories for each domain
302
+ - Add "Integration & Flow" category for cross-domain interactions
303
+ - Ensure end-to-end user flows are validated
304
+
305
+ ### Gap and Ambiguity Identification
306
+ Common gaps to look for:
307
+ - **Error handling**: What happens when operations fail?
308
+ - **Loading states**: How long do operations take? What shows during loading?
309
+ - **Edge cases**: Empty data, maximum limits, invalid input
310
+ - **Security**: Authentication, authorization, data validation
311
+ - **Performance**: Query optimization, caching, pagination
312
+ - **Accessibility**: Screen readers, keyboard navigation
313
+
314
+ ---
315
+
316
+ ## Step 5: Save the Checklist
317
+
318
+ 1. Determine feature name from PRD path or filename
319
+ 2. Save to: `relentless/features/[feature-name]/checklist.md`
320
+ 3. Use markdown format exactly as shown in examples
321
+ 4. Include summary at bottom with item counts and coverage percentage
322
+
323
+ ---
324
+
325
+ ## Checklist Before Saving
326
+
327
+ - [ ] Analyzed PRD and identified primary/secondary domains
328
+ - [ ] Generated 20-40 checklist items
329
+ - [ ] Organized into 5-7 relevant categories
330
+ - [ ] At least 80% of items reference PRD sections or mark gaps/ambiguities
331
+ - [ ] Items are specific and verifiable
332
+ - [ ] Summary section shows item counts and coverage
333
+ - [ ] Saved to `relentless/features/[feature-name]/checklist.md`
334
+
335
+ ---
336
+
337
+ ## Multi-Agent Support
338
+
339
+ This skill is designed to work with:
340
+ - **Claude Code**: Full support, use AskUserQuestion if domain unclear
341
+ - **Amp**: Full support, infer domain from PRD automatically
342
+ - **Gemini**: Full support, analyze PRD structure and content
343
+ - **Codex**: Full support, generate checklist programmatically
344
+ - **Droid**: Full support, interactive domain selection if needed
345
+
346
+ The skill does NOT require agent-specific features - it only needs:
347
+ - File reading capability
348
+ - PRD analysis (text understanding)
349
+ - Markdown file writing