@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.
@@ -7,7 +7,7 @@ handoffs:
7
7
  send: true
8
8
  ---
9
9
 
10
- Load the analyze skill and validate cross-artifact consistency.
10
+ Load the analyze skill (`[skills_path]/analyze/SKILL.md`) and validate cross-artifact consistency.
11
11
 
12
12
  **Context:** $ARGUMENTS
13
13
 
@@ -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 (`.claude/skills/constitution/SKILL.md`) will guide you through:
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 `.claude/skills/constitution/templates/constitution.md`
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
@@ -11,7 +11,7 @@ handoffs:
11
11
  send: true
12
12
  ---
13
13
 
14
- Load the convert skill and convert tasks.md to prd.json with routing.
14
+ Load the convert skill (`[skills_path]/convert/SKILL.md`) and convert tasks.md to prd.json with routing.
15
15
 
16
16
  **Context:** $ARGUMENTS
17
17
 
@@ -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
 
@@ -11,7 +11,7 @@ handoffs:
11
11
  send: true
12
12
  ---
13
13
 
14
- Load the plan skill and create technical implementation plan.
14
+ Load the plan skill (`[skills_path]/plan/SKILL.md`) and create technical implementation plan.
15
15
 
16
16
  **Context:** $ARGUMENTS
17
17
 
@@ -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 (`.claude/skills/specify/SKILL.md`) will guide you through:
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 `.claude/skills/specify/scripts/bash/create-new-feature.sh --json "FEATURE_DESCRIPTION"`
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 `.claude/skills/specify/templates/spec.md`
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
@@ -11,7 +11,7 @@ handoffs:
11
11
  send: true
12
12
  ---
13
13
 
14
- Load the tasks skill and generate user stories and implementation tasks.
14
+ Load the tasks skill (`[skills_path]/tasks/SKILL.md`) and generate user stories and implementation tasks.
15
15
 
16
16
  **Context:** $ARGUMENTS
17
17
 
@@ -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)", "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
- const agent = options.agent.toLowerCase();
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;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@arvorco/relentless",
3
- "version": "0.5.2",
3
+ "version": "0.5.3",
4
4
  "description": "Universal AI agent orchestrator - works with Claude Code, Amp, OpenCode, Codex, Droid, and Gemini",
5
5
  "type": "module",
6
6
  "publishConfig": {