@arvorco/relentless 0.5.2 → 0.5.3
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 +1 -1
- package/.claude/commands/relentless.checklist.md +1 -1
- package/.claude/commands/relentless.clarify.md +1 -1
- package/.claude/commands/relentless.constitution.md +2 -2
- package/.claude/commands/relentless.convert.md +1 -1
- package/.claude/commands/relentless.implement.md +1 -1
- package/.claude/commands/relentless.plan.md +1 -1
- package/.claude/commands/relentless.specify.md +3 -3
- package/.claude/commands/relentless.tasks.md +1 -1
- package/.claude/commands/relentless.taskstoissues.md +1 -1
- package/CHANGELOG.md +11 -0
- package/bin/relentless.ts +8 -3
- package/package.json +1 -1
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
description: Generate quality validation checklist from feature artifacts.
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
-
Load the checklist skill and generate quality validation checklist.
|
|
5
|
+
Load the checklist skill (`[skills_path]/checklist/SKILL.md`) and generate quality validation checklist.
|
|
6
6
|
|
|
7
7
|
**Context:** $ARGUMENTS
|
|
8
8
|
|
|
@@ -6,7 +6,7 @@ handoffs:
|
|
|
6
6
|
prompt: Create technical plan with clarifications
|
|
7
7
|
---
|
|
8
8
|
|
|
9
|
-
Load the clarify skill and resolve specification ambiguities.
|
|
9
|
+
Load the clarify skill (`[skills_path]/clarify/SKILL.md`) and resolve specification ambiguities.
|
|
10
10
|
|
|
11
11
|
**Context:** $ARGUMENTS
|
|
12
12
|
|
|
@@ -10,7 +10,7 @@ Load the constitution skill and create or update the project constitution at `re
|
|
|
10
10
|
|
|
11
11
|
**Context:** $ARGUMENTS
|
|
12
12
|
|
|
13
|
-
The constitution skill (
|
|
13
|
+
The constitution skill (`[skills_path]/constitution/SKILL.md`) will guide you through:
|
|
14
14
|
|
|
15
15
|
## Process
|
|
16
16
|
|
|
@@ -22,7 +22,7 @@ The constitution skill (`.claude/skills/constitution/SKILL.md`) will guide you t
|
|
|
22
22
|
- Version control (branches, commits, CI/CD)
|
|
23
23
|
|
|
24
24
|
2. **Generate Constitution**: Create personalized governance document
|
|
25
|
-
- Load template from
|
|
25
|
+
- Load template from `[skills_path]/constitution/templates/constitution.md`
|
|
26
26
|
- Replace all placeholders with concrete values from user answers
|
|
27
27
|
- Ensure MUST/SHOULD rules are clear and testable
|
|
28
28
|
- Set version 1.0.0 for new, increment semantically for updates
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
description: Execute implementation workflow for a feature manually, story by story.
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
-
Load the implement skill and begin systematic implementation.
|
|
5
|
+
Load the implement skill (`[skills_path]/implement/SKILL.md`) and begin systematic implementation.
|
|
6
6
|
|
|
7
7
|
**Usage:** `/relentless.implement [story-id]`
|
|
8
8
|
|
|
@@ -14,20 +14,20 @@ Load the specify skill and create a feature specification in `relentless/feature
|
|
|
14
14
|
|
|
15
15
|
**Feature Description:** $ARGUMENTS
|
|
16
16
|
|
|
17
|
-
The specify skill (
|
|
17
|
+
The specify skill (`[skills_path]/specify/SKILL.md`) will guide you through:
|
|
18
18
|
|
|
19
19
|
## Process
|
|
20
20
|
|
|
21
21
|
1. **Create Feature Structure**
|
|
22
22
|
- Generate short name (2-4 words) from description
|
|
23
23
|
- Check existing branches to find next number
|
|
24
|
-
- Run
|
|
24
|
+
- Run `[skills_path]/specify/scripts/bash/create-new-feature.sh --json "FEATURE_DESCRIPTION"`
|
|
25
25
|
- Parse JSON output for BRANCH_NAME, SPEC_FILE, FEATURE_DIR
|
|
26
26
|
|
|
27
27
|
2. **Load Context**
|
|
28
28
|
- Read `relentless/constitution.md` for governance rules
|
|
29
29
|
- Note MUST/SHOULD requirements for specifications
|
|
30
|
-
- Load spec template from
|
|
30
|
+
- Load spec template from `[skills_path]/specify/templates/spec.md`
|
|
31
31
|
|
|
32
32
|
3. **Generate Specification**
|
|
33
33
|
- Extract key concepts: actors, actions, data, constraints
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
description: Convert user stories to GitHub issues.
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
-
Load the taskstoissues skill and create GitHub issues from user stories.
|
|
5
|
+
Load the taskstoissues skill (`[skills_path]/taskstoissues/SKILL.md`) and create GitHub issues from user stories.
|
|
6
6
|
|
|
7
7
|
**Context:** $ARGUMENTS
|
|
8
8
|
|
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,17 @@ All notable changes to Relentless will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [Unreleased]
|
|
9
|
+
|
|
10
|
+
### Fixed
|
|
11
|
+
- **Commands**: Use abstract `[skills_path]` pattern for cross-agent compatibility (#7)
|
|
12
|
+
- Commands now reference `[skills_path]/skillname/SKILL.md` instead of hardcoded `.claude/skills/`
|
|
13
|
+
- Each agent can resolve the path to their own skills directory
|
|
14
|
+
- Updated all 10 command files: plan, tasks, analyze, clarify, implement, checklist, convert, taskstoissues, specify, constitution
|
|
15
|
+
- **Config**: CLI now respects `config.defaultAgent` when no `--agent` flag is provided (#2)
|
|
16
|
+
- Previously hardcoded to "auto", now reads from user configuration
|
|
17
|
+
- Allows users to set their preferred default agent in `relentless/config.json`
|
|
18
|
+
|
|
8
19
|
## [0.5.2](https://github.com/ArvorCo/Relentless/releases/tag/v0.5.2) - 2026-01-23
|
|
9
20
|
|
|
10
21
|
### Fixed
|
package/bin/relentless.ts
CHANGED
|
@@ -56,7 +56,7 @@ program
|
|
|
56
56
|
.command("run")
|
|
57
57
|
.description("Run the orchestration loop for a feature")
|
|
58
58
|
.requiredOption("-f, --feature <name>", "Feature name to run")
|
|
59
|
-
.option("-a, --agent <name>", "Agent to use (claude, amp, opencode, codex, droid, gemini, auto)"
|
|
59
|
+
.option("-a, --agent <name>", "Agent to use (claude, amp, opencode, codex, droid, gemini, auto)")
|
|
60
60
|
.option("-m, --max-iterations <n>", "Maximum iterations", "20")
|
|
61
61
|
.option("--mode <mode>", `Cost optimization mode (${VALID_MODES.join(", ")})`)
|
|
62
62
|
.option("--fallback-order <harnesses>", `Harness fallback order (${VALID_HARNESSES.join(",")})`)
|
|
@@ -66,7 +66,13 @@ program
|
|
|
66
66
|
.option("--tui", "Use beautiful terminal UI interface", false)
|
|
67
67
|
.option("-d, --dir <path>", "Working directory", process.cwd())
|
|
68
68
|
.action(async (options) => {
|
|
69
|
-
|
|
69
|
+
// Load config first to get defaultAgent
|
|
70
|
+
const config = await loadConfig();
|
|
71
|
+
|
|
72
|
+
// Use CLI option if provided, otherwise use config.defaultAgent
|
|
73
|
+
const agentOption = options.agent?.toLowerCase() ?? config.defaultAgent;
|
|
74
|
+
const agent = agentOption.toLowerCase();
|
|
75
|
+
|
|
70
76
|
if (agent !== "auto" && !isValidAgentName(agent)) {
|
|
71
77
|
console.error(chalk.red(`Invalid agent: ${agent}`));
|
|
72
78
|
console.log(`Valid agents: ${getAllAgentNames().join(", ")}, auto`);
|
|
@@ -129,7 +135,6 @@ program
|
|
|
129
135
|
process.exit(1);
|
|
130
136
|
}
|
|
131
137
|
|
|
132
|
-
const config = await loadConfig();
|
|
133
138
|
const prd = await loadPRD(prdPath);
|
|
134
139
|
const prdPreferredMode =
|
|
135
140
|
prd.routingPreference?.type === "auto" ? prd.routingPreference.mode : undefined;
|