@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.
- package/.claude/commands/relentless.analyze.md +20 -0
- package/.claude/commands/relentless.checklist.md +15 -0
- package/.claude/commands/relentless.clarify.md +19 -0
- package/.claude/commands/relentless.constitution.md +78 -0
- package/.claude/commands/relentless.implement.md +15 -0
- package/.claude/commands/relentless.plan.md +22 -0
- package/.claude/commands/relentless.plan.old.md +89 -0
- package/.claude/commands/relentless.specify.md +254 -0
- package/.claude/commands/relentless.tasks.md +25 -0
- package/.claude/commands/relentless.taskstoissues.md +15 -0
- package/.claude/settings.local.json +23 -0
- package/.claude/skills/analyze/SKILL.md +149 -0
- package/.claude/skills/checklist/SKILL.md +173 -0
- package/.claude/skills/checklist/templates/checklist-template.md +40 -0
- package/.claude/skills/clarify/SKILL.md +174 -0
- package/.claude/skills/constitution/SKILL.md +150 -0
- package/.claude/skills/constitution/templates/constitution-template.md +228 -0
- package/.claude/skills/implement/SKILL.md +141 -0
- package/.claude/skills/plan/SKILL.md +179 -0
- package/.claude/skills/plan/templates/plan-template.md +104 -0
- package/.claude/skills/prd/SKILL.md +242 -0
- package/.claude/skills/relentless/SKILL.md +265 -0
- package/.claude/skills/specify/SKILL.md +220 -0
- package/.claude/skills/specify/scripts/bash/check-prerequisites.sh +166 -0
- package/.claude/skills/specify/scripts/bash/common.sh +156 -0
- package/.claude/skills/specify/scripts/bash/create-new-feature.sh +305 -0
- package/.claude/skills/specify/scripts/bash/setup-plan.sh +61 -0
- package/.claude/skills/specify/scripts/bash/update-agent-context.sh +799 -0
- package/.claude/skills/specify/templates/spec-template.md +115 -0
- package/.claude/skills/tasks/SKILL.md +202 -0
- package/.claude/skills/tasks/templates/tasks-template.md +251 -0
- package/.claude/skills/taskstoissues/SKILL.md +97 -0
- package/.specify/memory/constitution.md +50 -0
- package/.specify/scripts/bash/check-prerequisites.sh +166 -0
- package/.specify/scripts/bash/common.sh +156 -0
- package/.specify/scripts/bash/create-new-feature.sh +297 -0
- package/.specify/scripts/bash/setup-plan.sh +61 -0
- package/.specify/scripts/bash/update-agent-context.sh +799 -0
- package/.specify/templates/agent-file-template.md +28 -0
- package/.specify/templates/checklist-template.md +40 -0
- package/.specify/templates/plan-template.md +104 -0
- package/.specify/templates/spec-template.md +115 -0
- package/.specify/templates/tasks-template.md +251 -0
- package/CHANGES_SUMMARY.md +255 -0
- package/CLAUDE.md +92 -0
- package/GEMINI_SETUP.md +256 -0
- package/LICENSE +21 -0
- package/README.md +1171 -0
- package/REFACTOR_SUMMARY.md +267 -0
- package/bin/relentless.ts +536 -0
- package/bun.lock +352 -0
- package/eslint.config.js +37 -0
- package/package.json +61 -0
- package/prd.json.example +64 -0
- package/prompt.md +108 -0
- package/ralph.sh +80 -0
- package/relentless/config.json +38 -0
- package/relentless/features/.gitkeep +0 -0
- package/relentless/features/ghsk-ideas/prd.json +229 -0
- package/relentless/features/ghsk-ideas/prd.md +191 -0
- package/relentless/features/ghsk-ideas/progress.txt +408 -0
- package/relentless/prompt.md +79 -0
- package/skills/checklist/SKILL.md +349 -0
- package/skills/clarify/SKILL.md +476 -0
- package/skills/prd/SKILL.md +242 -0
- package/skills/relentless/SKILL.md +268 -0
- package/skills/tasks/SKILL.md +577 -0
- package/src/agents/amp.ts +115 -0
- package/src/agents/claude.ts +185 -0
- package/src/agents/codex.ts +89 -0
- package/src/agents/droid.ts +90 -0
- package/src/agents/gemini.ts +109 -0
- package/src/agents/index.ts +16 -0
- package/src/agents/opencode.ts +88 -0
- package/src/agents/registry.ts +95 -0
- package/src/agents/types.ts +101 -0
- package/src/config/index.ts +8 -0
- package/src/config/loader.ts +237 -0
- package/src/config/schema.ts +115 -0
- package/src/execution/index.ts +8 -0
- package/src/execution/router.ts +49 -0
- package/src/execution/runner.ts +512 -0
- package/src/index.ts +11 -0
- package/src/init/index.ts +7 -0
- package/src/init/scaffolder.ts +377 -0
- package/src/prd/analyzer.ts +512 -0
- package/src/prd/index.ts +11 -0
- package/src/prd/issues.ts +249 -0
- package/src/prd/parser.ts +281 -0
- package/src/prd/progress.ts +198 -0
- package/src/prd/types.ts +170 -0
- package/src/tui/App.tsx +85 -0
- package/src/tui/TUIRunner.tsx +400 -0
- package/src/tui/components/AgentOutput.tsx +45 -0
- package/src/tui/components/AgentStatus.tsx +64 -0
- package/src/tui/components/CurrentStory.tsx +66 -0
- package/src/tui/components/Header.tsx +49 -0
- package/src/tui/components/ProgressBar.tsx +39 -0
- package/src/tui/components/StoryGrid.tsx +86 -0
- package/src/tui/hooks/useTUI.ts +147 -0
- package/src/tui/hooks/useTimer.ts +51 -0
- package/src/tui/index.tsx +17 -0
- package/src/tui/theme.ts +41 -0
- package/src/tui/types.ts +77 -0
- package/templates/constitution.md +228 -0
- package/templates/plan.md +273 -0
- package/tsconfig.json +27 -0
|
@@ -0,0 +1,255 @@
|
|
|
1
|
+
# Relentless Commands Refactoring - Complete Summary
|
|
2
|
+
|
|
3
|
+
## ✅ What Was Accomplished
|
|
4
|
+
|
|
5
|
+
Successfully forked Spec Kit commands into native Relentless commands with multi-agent support strategy.
|
|
6
|
+
|
|
7
|
+
## 🎯 Key Changes
|
|
8
|
+
|
|
9
|
+
### 1. Command Renaming (Spec Kit → Relentless)
|
|
10
|
+
- ✅ All `/speckit.*` commands renamed to `/relentless.*`
|
|
11
|
+
- ✅ 9 commands updated: constitution, specify, plan, tasks, checklist, clarify, analyze, implement, taskstoissues
|
|
12
|
+
- ✅ All internal references updated
|
|
13
|
+
|
|
14
|
+
### 2. Skills Architecture Implementation
|
|
15
|
+
**Created 9 new comprehensive skills:**
|
|
16
|
+
```
|
|
17
|
+
.claude/skills/
|
|
18
|
+
├── constitution/ # Personalized project governance
|
|
19
|
+
├── specify/ # Feature specification
|
|
20
|
+
├── plan/ # Technical implementation plan
|
|
21
|
+
├── tasks/ # User stories & tasks (PRD source!)
|
|
22
|
+
├── checklist/ # Quality validation
|
|
23
|
+
├── clarify/ # Ambiguity resolution
|
|
24
|
+
├── analyze/ # Consistency checking
|
|
25
|
+
├── implement/ # Implementation workflow
|
|
26
|
+
└── taskstoissues/ # GitHub issues generation
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
**Each skill includes:**
|
|
30
|
+
- Comprehensive SKILL.md with step-by-step instructions
|
|
31
|
+
- Templates (moved from `.specify/templates/`)
|
|
32
|
+
- Scripts (refactored from `.specify/scripts/`)
|
|
33
|
+
|
|
34
|
+
**Commands are now thin wrappers** (~10-20 lines) that load skills.
|
|
35
|
+
|
|
36
|
+
### 3. Directory Structure Migration
|
|
37
|
+
**FROM:**
|
|
38
|
+
```
|
|
39
|
+
.specify/specs/NNN-feature/
|
|
40
|
+
├── spec.md
|
|
41
|
+
├── plan.md
|
|
42
|
+
└── ...
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
**TO:**
|
|
46
|
+
```
|
|
47
|
+
relentless/features/NNN-feature/
|
|
48
|
+
├── spec.md # Feature description
|
|
49
|
+
├── plan.md # Technical plan
|
|
50
|
+
├── tasks.md # USER STORIES (source for prd.json!)
|
|
51
|
+
├── checklist.md # Quality checks
|
|
52
|
+
├── prd.json # For orchestrator
|
|
53
|
+
└── progress.txt # Progress tracking
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### 4. Constitution Flow Fixed
|
|
57
|
+
**OLD (Wrong):**
|
|
58
|
+
- `relentless init` → copies template to `relentless/constitution.md` ❌
|
|
59
|
+
|
|
60
|
+
**NEW (Correct):**
|
|
61
|
+
- `relentless init` → creates empty structure
|
|
62
|
+
- `/relentless.constitution` → asks questions, generates personalized constitution ✓
|
|
63
|
+
|
|
64
|
+
Each project gets a **personalized** constitution, not a copied template.
|
|
65
|
+
|
|
66
|
+
### 5. Multi-Agent Support Strategy
|
|
67
|
+
|
|
68
|
+
#### Tier 1: Full Skills Support ✅
|
|
69
|
+
**Agents:** Claude Code, Amp, OpenCode
|
|
70
|
+
- ✅ Complete `/relentless.*` command support
|
|
71
|
+
- ✅ Interactive workflows
|
|
72
|
+
- ✅ Best user experience
|
|
73
|
+
|
|
74
|
+
#### Tier 2: Extensions/Hybrid 🔄
|
|
75
|
+
**Agents:** Gemini
|
|
76
|
+
- 🔄 Extensions support (in development)
|
|
77
|
+
- 📄 [GEMINI_SETUP.md](./GEMINI_SETUP.md) created with guide
|
|
78
|
+
- ✅ Workaround: Manual file creation + prompting
|
|
79
|
+
|
|
80
|
+
#### Tier 3: Manual/CLI 📝
|
|
81
|
+
**Agents:** Droid, Codex
|
|
82
|
+
- ✅ Manual file creation workflow
|
|
83
|
+
- ✅ Can prompt agent to create files
|
|
84
|
+
- ✅ Can reference skill files for instructions
|
|
85
|
+
- ✅ All CLI commands work
|
|
86
|
+
|
|
87
|
+
### 6. Updated Workflow
|
|
88
|
+
|
|
89
|
+
**New Complete Workflow:**
|
|
90
|
+
```bash
|
|
91
|
+
# 1. Initialize
|
|
92
|
+
relentless init
|
|
93
|
+
|
|
94
|
+
# 2. Create personalized constitution
|
|
95
|
+
/relentless.constitution
|
|
96
|
+
|
|
97
|
+
# 3. Create feature spec
|
|
98
|
+
/relentless.specify Add user authentication
|
|
99
|
+
|
|
100
|
+
# 4. Generate plan, tasks, checklist
|
|
101
|
+
/relentless.plan
|
|
102
|
+
/relentless.tasks
|
|
103
|
+
/relentless.checklist
|
|
104
|
+
|
|
105
|
+
# 5. Convert tasks.md to prd.json
|
|
106
|
+
relentless convert relentless/features/003-user-auth/tasks.md --feature 003-user-auth
|
|
107
|
+
|
|
108
|
+
# 6. Run orchestration
|
|
109
|
+
relentless run --feature 003-user-auth --tui
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
### 7. Convert Command Enhanced
|
|
113
|
+
**OLD:**
|
|
114
|
+
- Read any markdown file
|
|
115
|
+
- Assumed `prd.md` format
|
|
116
|
+
|
|
117
|
+
**NEW:**
|
|
118
|
+
- Reads `tasks.md` (primary source for user stories)
|
|
119
|
+
- Optional `--with-checklist` flag
|
|
120
|
+
- TODO: Merge checklist criteria into acceptance criteria
|
|
121
|
+
- Future: Read spec.md/plan.md for additional context
|
|
122
|
+
|
|
123
|
+
### 8. Scaffolder Updates
|
|
124
|
+
**Init now installs 11 skills:**
|
|
125
|
+
- ✅ constitution (new)
|
|
126
|
+
- ✅ specify (new)
|
|
127
|
+
- ✅ plan (new)
|
|
128
|
+
- ✅ tasks (new)
|
|
129
|
+
- ✅ checklist (new)
|
|
130
|
+
- ✅ clarify (new)
|
|
131
|
+
- ✅ analyze (new)
|
|
132
|
+
- ✅ implement (new)
|
|
133
|
+
- ✅ taskstoissues (new)
|
|
134
|
+
- ✅ prd (existing)
|
|
135
|
+
- ✅ relentless (existing)
|
|
136
|
+
|
|
137
|
+
**Does NOT** copy constitution.md - must be generated via `/relentless.constitution`
|
|
138
|
+
|
|
139
|
+
### 9. Documentation Updated
|
|
140
|
+
- ✅ README.md - Updated workflows, agent support tiers, quick start
|
|
141
|
+
- ✅ REFACTOR_SUMMARY.md - Complete technical summary
|
|
142
|
+
- ✅ GEMINI_SETUP.md - Gemini extensions guide
|
|
143
|
+
- ✅ CHANGES_SUMMARY.md - This file!
|
|
144
|
+
|
|
145
|
+
## 📁 Files Modified
|
|
146
|
+
|
|
147
|
+
### Deleted (speckit commands)
|
|
148
|
+
```
|
|
149
|
+
.claude/commands/speckit.*.md (9 files)
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
### Created (new commands)
|
|
153
|
+
```
|
|
154
|
+
.claude/commands/relentless.*.md (9 files)
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
### Created (new skills)
|
|
158
|
+
```
|
|
159
|
+
.claude/skills/constitution/
|
|
160
|
+
.claude/skills/specify/
|
|
161
|
+
.claude/skills/plan/
|
|
162
|
+
.claude/skills/tasks/
|
|
163
|
+
.claude/skills/checklist/
|
|
164
|
+
.claude/skills/clarify/
|
|
165
|
+
.claude/skills/analyze/
|
|
166
|
+
.claude/skills/implement/
|
|
167
|
+
.claude/skills/taskstoissues/
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
### Modified (core files)
|
|
171
|
+
```
|
|
172
|
+
bin/relentless.ts # Updated convert command
|
|
173
|
+
src/init/scaffolder.ts # Updated skill installation
|
|
174
|
+
README.md # Updated workflows & agent support
|
|
175
|
+
relentless/features/ghsk-ideas/prd.md # Updated description
|
|
176
|
+
.specify/scripts/*.sh # Refactored paths to relentless/features/
|
|
177
|
+
.specify/templates/*.md # Updated references
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
## 🎨 What Makes This Special
|
|
181
|
+
|
|
182
|
+
1. **Agent-Agnostic Core**: All agents can use `relentless run` for orchestration
|
|
183
|
+
2. **Graceful Degradation**: Best experience for Claude/Amp/OpenCode, still works for everyone
|
|
184
|
+
3. **Extensible**: Easy to add support for new agents
|
|
185
|
+
4. **Skills Own Templates**: Self-contained, easy to maintain
|
|
186
|
+
5. **Thin Command Layer**: Commands are simple wrappers, logic in skills
|
|
187
|
+
6. **Personalized Governance**: Constitution generated per-project
|
|
188
|
+
7. **Clear Source of Truth**: tasks.md → prd.json (user stories)
|
|
189
|
+
|
|
190
|
+
## 🚀 What Users Get
|
|
191
|
+
|
|
192
|
+
### Claude Code/Amp/OpenCode Users
|
|
193
|
+
- Interactive `/relentless.*` commands
|
|
194
|
+
- Guided workflows with validation
|
|
195
|
+
- Template-based generation
|
|
196
|
+
- Best experience
|
|
197
|
+
|
|
198
|
+
### Gemini Users (Coming Soon)
|
|
199
|
+
- Extension-based workflow
|
|
200
|
+
- Similar experience via different mechanism
|
|
201
|
+
- Conversion scripts planned
|
|
202
|
+
|
|
203
|
+
### Droid/Codex Users
|
|
204
|
+
- Manual file creation
|
|
205
|
+
- Can prompt agent: "Create tasks.md following .claude/skills/tasks/SKILL.md format"
|
|
206
|
+
- All CLI commands work
|
|
207
|
+
- Full orchestration support
|
|
208
|
+
|
|
209
|
+
## 📝 Next Steps
|
|
210
|
+
|
|
211
|
+
### High Priority
|
|
212
|
+
- [ ] Test complete workflow with each agent tier
|
|
213
|
+
- [ ] Implement checklist merging logic in convert command
|
|
214
|
+
- [ ] Test end-to-end with real projects
|
|
215
|
+
|
|
216
|
+
### Medium Priority
|
|
217
|
+
- [ ] Create Gemini extensions conversion script
|
|
218
|
+
- [ ] Add `--with-plan` option to features create
|
|
219
|
+
- [ ] Migration script for old `.specify/` projects
|
|
220
|
+
|
|
221
|
+
### Low Priority
|
|
222
|
+
- [ ] Video tutorials
|
|
223
|
+
- [ ] Example projects per agent tier
|
|
224
|
+
- [ ] Performance optimization
|
|
225
|
+
|
|
226
|
+
## 🔗 References
|
|
227
|
+
|
|
228
|
+
- [REFACTOR_SUMMARY.md](./REFACTOR_SUMMARY.md) - Technical details
|
|
229
|
+
- [GEMINI_SETUP.md](./GEMINI_SETUP.md) - Gemini extensions guide
|
|
230
|
+
- [README.md](./README.md) - User documentation
|
|
231
|
+
- Skills: `.claude/skills/*/SKILL.md` - Implementation guides
|
|
232
|
+
|
|
233
|
+
## 💡 Key Insights
|
|
234
|
+
|
|
235
|
+
1. **Option D (Hybrid) was the right choice** - Best for power users, works for everyone
|
|
236
|
+
2. **OpenCode now supports skills** - Can be Tier 1
|
|
237
|
+
3. **Gemini extensions are easy to hybridize** - Worth the effort
|
|
238
|
+
4. **Droid/Codex users can reference skills** - Good workaround
|
|
239
|
+
5. **tasks.md is the source of truth** - Clearer than spec.md
|
|
240
|
+
6. **Constitution must be personalized** - Template copying was wrong
|
|
241
|
+
|
|
242
|
+
## 🎉 Success Metrics
|
|
243
|
+
|
|
244
|
+
- ✅ All commands renamed and functional
|
|
245
|
+
- ✅ 9 comprehensive skills created
|
|
246
|
+
- ✅ Scripts refactored to new paths
|
|
247
|
+
- ✅ Multi-agent strategy documented
|
|
248
|
+
- ✅ README fully updated
|
|
249
|
+
- ✅ Backward compatible (legacy PRD workflow still works)
|
|
250
|
+
|
|
251
|
+
---
|
|
252
|
+
|
|
253
|
+
**Status:** ✅ Complete and ready for testing
|
|
254
|
+
|
|
255
|
+
**Next Action:** Test the complete workflow with different agent tiers
|
package/CLAUDE.md
ADDED
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
# Relentless - Universal AI Agent Orchestrator
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
This is the Relentless codebase - a universal AI agent orchestrator that works with multiple AI coding agents (Claude Code, Amp, OpenCode, Codex, Droid, Gemini).
|
|
6
|
+
|
|
7
|
+
**Recent Major Refactoring (January 2026):**
|
|
8
|
+
- Forked GitHub Spec Kit-inspired commands as native Relentless commands
|
|
9
|
+
- All `/speckit.*` commands renamed to `/relentless.*`
|
|
10
|
+
- Implemented skills architecture: commands are thin wrappers, logic in skills
|
|
11
|
+
- Multi-tier agent support: Full (Claude/Amp/OpenCode), Extensions (Gemini), Manual (Droid/Codex)
|
|
12
|
+
- See [REFACTOR_SUMMARY.md](./REFACTOR_SUMMARY.md) and [CHANGES_SUMMARY.md](./CHANGES_SUMMARY.md) for details
|
|
13
|
+
|
|
14
|
+
## Codebase Patterns
|
|
15
|
+
|
|
16
|
+
### Directory Structure
|
|
17
|
+
|
|
18
|
+
- `bin/` - CLI entry point (relentless.ts)
|
|
19
|
+
- `src/` - Core TypeScript implementation
|
|
20
|
+
- `agents/` - Agent adapters for each AI coding agent
|
|
21
|
+
- `config/` - Configuration schema and loading
|
|
22
|
+
- `prd/` - PRD parsing and validation
|
|
23
|
+
- `execution/` - Orchestration loop and routing
|
|
24
|
+
- `init/` - Project initialization scaffolder
|
|
25
|
+
- `.claude/skills/` - Skills for Claude Code/Amp/OpenCode
|
|
26
|
+
- `.claude/commands/` - Command wrappers that load skills
|
|
27
|
+
- `templates/` - Templates copied to projects on init
|
|
28
|
+
|
|
29
|
+
### Key Concepts
|
|
30
|
+
|
|
31
|
+
1. **Agent Adapters**: Each AI agent has an adapter implementing `AgentAdapter` interface
|
|
32
|
+
2. **Skills Architecture**: Commands load skills which contain the actual logic and templates
|
|
33
|
+
3. **PRD Format**: User stories in `prd.json` with `passes: true/false` status (generated from `tasks.md`)
|
|
34
|
+
4. **Completion Signal**: `<promise>COMPLETE</promise>` indicates all stories done
|
|
35
|
+
5. **Progress Log**: `progress.txt` accumulates learnings across iterations
|
|
36
|
+
6. **Multi-Tier Agent Support**: Full skills support (Claude/Amp/OpenCode), Extensions (Gemini), Manual (Droid/Codex)
|
|
37
|
+
|
|
38
|
+
### Development Commands
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
# Install locally for development
|
|
42
|
+
bun install
|
|
43
|
+
|
|
44
|
+
# Run the orchestrator during development
|
|
45
|
+
bun run bin/relentless.ts run --feature <name>
|
|
46
|
+
|
|
47
|
+
# Type check
|
|
48
|
+
bun run typecheck
|
|
49
|
+
|
|
50
|
+
# Lint
|
|
51
|
+
bun run lint
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
### Testing Locally
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
# Test init command
|
|
58
|
+
mkdir /tmp/test && cd /tmp/test
|
|
59
|
+
bun run /path/to/relentless/bin/relentless.ts init
|
|
60
|
+
|
|
61
|
+
# Test with a simple PRD
|
|
62
|
+
cd /path/to/relentless
|
|
63
|
+
bun run bin/relentless.ts run --feature <name>
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### Using the Global Binary
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
# Install globally
|
|
70
|
+
bun install -g .
|
|
71
|
+
|
|
72
|
+
# Run from anywhere
|
|
73
|
+
relentless init
|
|
74
|
+
relentless run --feature <name>
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
### Code Style
|
|
78
|
+
|
|
79
|
+
- TypeScript with strict mode
|
|
80
|
+
- Bun as runtime (no Node.js)
|
|
81
|
+
- Zod for schema validation
|
|
82
|
+
- Commander for CLI parsing
|
|
83
|
+
|
|
84
|
+
### Important Files
|
|
85
|
+
|
|
86
|
+
- `bin/relentless.ts` - Main CLI entry point
|
|
87
|
+
- `src/agents/` - Agent adapters for each supported agent
|
|
88
|
+
- `src/init/scaffolder.ts` - Project initialization and skill installation
|
|
89
|
+
- `src/prd/parser.ts` - PRD markdown parser (reads tasks.md format)
|
|
90
|
+
- `.claude/skills/*/SKILL.md` - Skill implementations
|
|
91
|
+
- `.claude/commands/relentless.*.md` - Command wrappers
|
|
92
|
+
- `templates/` - Default templates for constitution, plan, etc.
|
package/GEMINI_SETUP.md
ADDED
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
# Gemini Setup for Relentless
|
|
2
|
+
|
|
3
|
+
## Current Status
|
|
4
|
+
|
|
5
|
+
🔄 **Gemini support is functional for orchestration but extensions are in development.**
|
|
6
|
+
|
|
7
|
+
**What works now:**
|
|
8
|
+
- ✅ Gemini agent adapter (`relentless run --agent gemini`)
|
|
9
|
+
- ✅ Orchestration with `relentless run`
|
|
10
|
+
- ✅ Rate limit detection and fallback
|
|
11
|
+
- ✅ All CLI commands work
|
|
12
|
+
|
|
13
|
+
**What's coming:**
|
|
14
|
+
- 🔄 Extensions for `/relentless.*` commands (Gemini-native format)
|
|
15
|
+
- 🔄 Automatic extension installation
|
|
16
|
+
- 🔄 Skills → Extensions conversion script
|
|
17
|
+
|
|
18
|
+
## Quick Start (Current)
|
|
19
|
+
|
|
20
|
+
Use Gemini with the manual workflow:
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
# 1. Install Relentless
|
|
24
|
+
bun install -g github:ArvorCo/Relentless
|
|
25
|
+
cd your-project
|
|
26
|
+
relentless init
|
|
27
|
+
|
|
28
|
+
# 2. Create files manually or prompt Gemini
|
|
29
|
+
gemini "Create relentless/constitution.md with governance rules for a TypeScript project"
|
|
30
|
+
gemini "Create relentless/features/001-user-auth/spec.md with specification for user authentication"
|
|
31
|
+
gemini "Create relentless/features/001-user-auth/plan.md with technical plan using React/PostgreSQL"
|
|
32
|
+
gemini "Create relentless/features/001-user-auth/tasks.md with user stories in this format:
|
|
33
|
+
### US-001: Title
|
|
34
|
+
**Description:** As a user, I want X so that Y.
|
|
35
|
+
**Acceptance Criteria:**
|
|
36
|
+
- [ ] Criterion 1
|
|
37
|
+
- [ ] Typecheck passes"
|
|
38
|
+
|
|
39
|
+
# 3. Convert and run orchestration with Gemini
|
|
40
|
+
relentless convert relentless/features/001-user-auth/tasks.md --feature 001-user-auth
|
|
41
|
+
relentless run --feature 001-user-auth --agent gemini --tui
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## Using Skill Instructions
|
|
45
|
+
|
|
46
|
+
Gemini can read and follow the skill instructions:
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
gemini "Read .claude/skills/tasks/SKILL.md and create tasks.md in relentless/features/001-user-auth/ following that format exactly"
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## Structure (When Extensions Are Ready)
|
|
53
|
+
|
|
54
|
+
Gemini extensions will be configured separately from Claude skills:
|
|
55
|
+
|
|
56
|
+
```
|
|
57
|
+
your-project/
|
|
58
|
+
├── relentless/
|
|
59
|
+
│ ├── constitution.md
|
|
60
|
+
│ └── features/
|
|
61
|
+
├── .claude/
|
|
62
|
+
│ └── skills/ # For Claude/Amp/OpenCode
|
|
63
|
+
└── .gemini/ # Future: Gemini extensions
|
|
64
|
+
└── extensions/
|
|
65
|
+
├── constitution/
|
|
66
|
+
├── specify/
|
|
67
|
+
├── plan/
|
|
68
|
+
├── tasks/
|
|
69
|
+
└── checklist/
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
## Extension Format
|
|
73
|
+
|
|
74
|
+
Gemini extensions use a different format than Claude skills. Each extension needs:
|
|
75
|
+
|
|
76
|
+
### Example: constitution Extension
|
|
77
|
+
|
|
78
|
+
```json
|
|
79
|
+
{
|
|
80
|
+
"name": "constitution",
|
|
81
|
+
"description": "Create or update project constitution",
|
|
82
|
+
"schema": {
|
|
83
|
+
"type": "object",
|
|
84
|
+
"properties": {
|
|
85
|
+
"action": {
|
|
86
|
+
"type": "string",
|
|
87
|
+
"enum": ["create", "update"],
|
|
88
|
+
"description": "Whether to create new or update existing constitution"
|
|
89
|
+
},
|
|
90
|
+
"context": {
|
|
91
|
+
"type": "string",
|
|
92
|
+
"description": "Additional context about project requirements"
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
},
|
|
96
|
+
"instructions": "Load from SKILL.md content here..."
|
|
97
|
+
}
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
## Setup Instructions
|
|
101
|
+
|
|
102
|
+
### Option 1: Automatic Setup (Coming Soon)
|
|
103
|
+
|
|
104
|
+
```bash
|
|
105
|
+
relentless init --agent gemini
|
|
106
|
+
# This will create .gemini/extensions/ with all Relentless extensions
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### Option 2: Manual Setup (Current)
|
|
110
|
+
|
|
111
|
+
1. **Copy Skills to Gemini Format:**
|
|
112
|
+
```bash
|
|
113
|
+
# Convert skills to Gemini extensions format
|
|
114
|
+
# (Script coming soon)
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
2. **Register Extensions:**
|
|
118
|
+
Follow Gemini's extension registration process for your project.
|
|
119
|
+
|
|
120
|
+
3. **Use Extensions:**
|
|
121
|
+
```bash
|
|
122
|
+
# In Gemini chat:
|
|
123
|
+
@constitution create constitution for TypeScript project with strict testing
|
|
124
|
+
@specify Add user authentication with OAuth2
|
|
125
|
+
@plan using React and PostgreSQL
|
|
126
|
+
@tasks break down into user stories
|
|
127
|
+
@checklist generate quality validation
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
## Workflow Comparison
|
|
131
|
+
|
|
132
|
+
### Claude Code/Amp (Skills)
|
|
133
|
+
```bash
|
|
134
|
+
/relentless.constitution
|
|
135
|
+
/relentless.specify Add user auth
|
|
136
|
+
/relentless.plan
|
|
137
|
+
/relentless.tasks
|
|
138
|
+
/relentless.checklist
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
### Gemini (Extensions)
|
|
142
|
+
```bash
|
|
143
|
+
@constitution create for TypeScript project
|
|
144
|
+
@specify Add user auth
|
|
145
|
+
@plan using React/PostgreSQL
|
|
146
|
+
@tasks generate stories
|
|
147
|
+
@checklist create validation
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
## Hybrid Approach
|
|
151
|
+
|
|
152
|
+
While Gemini extension support is being developed, you can use the manual workflow:
|
|
153
|
+
|
|
154
|
+
1. **Create feature directory:**
|
|
155
|
+
```bash
|
|
156
|
+
relentless features create user-auth
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
2. **Prompt Gemini to create files:**
|
|
160
|
+
```
|
|
161
|
+
Create relentless/features/001-user-auth/spec.md with specification for:
|
|
162
|
+
- User authentication
|
|
163
|
+
- Email/password login
|
|
164
|
+
- JWT tokens
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
3. **Convert and run:**
|
|
168
|
+
```bash
|
|
169
|
+
relentless convert relentless/features/001-user-auth/tasks.md --feature 001-user-auth
|
|
170
|
+
relentless run --feature 001-user-auth --agent gemini
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
## Orchestrator Configuration
|
|
174
|
+
|
|
175
|
+
Gemini is already configured in `relentless/config.json`:
|
|
176
|
+
|
|
177
|
+
```json
|
|
178
|
+
{
|
|
179
|
+
"defaultAgent": "claude",
|
|
180
|
+
"agents": {
|
|
181
|
+
"gemini": {
|
|
182
|
+
"dangerouslyAllowAll": true
|
|
183
|
+
}
|
|
184
|
+
},
|
|
185
|
+
"fallback": {
|
|
186
|
+
"enabled": true,
|
|
187
|
+
"priority": ["claude", "codex", "amp", "opencode", "gemini"],
|
|
188
|
+
"autoRecovery": true
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
You can set Gemini as default if you prefer:
|
|
194
|
+
|
|
195
|
+
```json
|
|
196
|
+
{
|
|
197
|
+
"defaultAgent": "gemini"
|
|
198
|
+
}
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
## When Extensions Are Ready
|
|
202
|
+
|
|
203
|
+
Once Gemini extensions are implemented, you'll be able to use:
|
|
204
|
+
|
|
205
|
+
```bash
|
|
206
|
+
# Install extensions (future)
|
|
207
|
+
relentless init --agent gemini
|
|
208
|
+
# or
|
|
209
|
+
gemini extensions install https://github.com/ArvorCo/Relentless
|
|
210
|
+
|
|
211
|
+
# Use extensions (future)
|
|
212
|
+
@constitution create for TypeScript project
|
|
213
|
+
@specify Add user authentication
|
|
214
|
+
@plan using React and PostgreSQL
|
|
215
|
+
@tasks generate user stories
|
|
216
|
+
@checklist create validation
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
## Best Practices for Gemini Users
|
|
220
|
+
|
|
221
|
+
1. **Reference skill files in prompts:**
|
|
222
|
+
```bash
|
|
223
|
+
gemini "Read .claude/skills/tasks/SKILL.md and follow its instructions to create tasks.md"
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
2. **Be explicit about file locations:**
|
|
227
|
+
```bash
|
|
228
|
+
gemini "Create relentless/features/001-user-auth/tasks.md with these exact user stories..."
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
3. **Use the orchestrator for implementation:**
|
|
232
|
+
```bash
|
|
233
|
+
relentless run --agent gemini --feature 001-user-auth --tui
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
4. **Leverage Gemini's strengths:**
|
|
237
|
+
- Good at reading and understanding structured instructions
|
|
238
|
+
- Can parse and follow complex formats
|
|
239
|
+
- Works well with file system operations
|
|
240
|
+
|
|
241
|
+
## Contributing
|
|
242
|
+
|
|
243
|
+
Help us add native Gemini extensions support:
|
|
244
|
+
|
|
245
|
+
1. **Research:** Check Gemini's extension format and requirements
|
|
246
|
+
2. **Convert:** Create script to convert `.claude/skills/` to `.gemini/extensions/`
|
|
247
|
+
3. **Test:** Validate extensions work with Gemini CLI
|
|
248
|
+
4. **Document:** Add usage examples and guides
|
|
249
|
+
5. **Submit:** Create PR with working implementation
|
|
250
|
+
|
|
251
|
+
## Resources
|
|
252
|
+
|
|
253
|
+
- [Gemini CLI Documentation](https://github.com/google-gemini/gemini-cli)
|
|
254
|
+
- [Relentless Skills Format](./.claude/skills/)
|
|
255
|
+
- [Agent Adapter](./src/agents/gemini.ts)
|
|
256
|
+
- [Manual Workflow Example](#quick-start-current)
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 Arvor
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|