rafcode 3.2.1 → 3.8.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 (200) hide show
  1. package/.claude/settings.local.json +3 -1
  2. package/CLAUDE.md +0 -1
  3. package/RAF/41-echo-chamber/decisions.md +13 -0
  4. package/RAF/41-echo-chamber/input.md +4 -0
  5. package/RAF/41-echo-chamber/outcomes/1-update-codex-model-defaults.md +24 -0
  6. package/RAF/41-echo-chamber/outcomes/2-e2e-test-codex-provider.md +74 -0
  7. package/RAF/41-echo-chamber/plans/1-update-codex-model-defaults.md +28 -0
  8. package/RAF/41-echo-chamber/plans/2-e2e-test-codex-provider.md +103 -0
  9. package/RAF/42-patch-parade/decisions.md +29 -0
  10. package/RAF/42-patch-parade/input.md +9 -0
  11. package/RAF/42-patch-parade/outcomes/1-fix-codex-model-resolution.md +36 -0
  12. package/RAF/42-patch-parade/outcomes/2-fix-provider-aware-name-generation.md +31 -0
  13. package/RAF/42-patch-parade/outcomes/3-fix-codex-error-event-rendering.md +32 -0
  14. package/RAF/42-patch-parade/outcomes/4-update-cli-help-docs.md +28 -0
  15. package/RAF/42-patch-parade/outcomes/5-update-default-codex-models-to-gpt-5-4.md +33 -0
  16. package/RAF/42-patch-parade/outcomes/6-unify-model-config-schema.md +89 -0
  17. package/RAF/42-patch-parade/plans/1-fix-codex-model-resolution.md +35 -0
  18. package/RAF/42-patch-parade/plans/2-fix-provider-aware-name-generation.md +38 -0
  19. package/RAF/42-patch-parade/plans/3-fix-codex-error-event-rendering.md +32 -0
  20. package/RAF/42-patch-parade/plans/4-update-cli-help-docs.md +31 -0
  21. package/RAF/42-patch-parade/plans/5-update-default-codex-models-to-gpt-5-4.md +35 -0
  22. package/RAF/42-patch-parade/plans/6-unify-model-config-schema.md +46 -0
  23. package/RAF/43-swiss-army/decisions.md +34 -0
  24. package/RAF/43-swiss-army/input.md +7 -0
  25. package/RAF/43-swiss-army/outcomes/1-fix-model-validation.md +21 -0
  26. package/RAF/43-swiss-army/outcomes/2-update-commit-format.md +31 -0
  27. package/RAF/43-swiss-army/outcomes/3-wire-reasoning-effort.md +28 -0
  28. package/RAF/43-swiss-army/outcomes/4-remove-provider-flag.md +27 -0
  29. package/RAF/43-swiss-army/outcomes/5-config-wizard-validation.md +23 -0
  30. package/RAF/43-swiss-army/outcomes/6-add-fast-mode.md +32 -0
  31. package/RAF/43-swiss-army/outcomes/7-config-preset.md +31 -0
  32. package/RAF/43-swiss-army/plans/1-fix-model-validation.md +38 -0
  33. package/RAF/43-swiss-army/plans/2-update-commit-format.md +46 -0
  34. package/RAF/43-swiss-army/plans/3-wire-reasoning-effort.md +39 -0
  35. package/RAF/43-swiss-army/plans/4-remove-provider-flag.md +43 -0
  36. package/RAF/43-swiss-army/plans/5-config-wizard-validation.md +42 -0
  37. package/RAF/43-swiss-army/plans/6-add-fast-mode.md +46 -0
  38. package/RAF/43-swiss-army/plans/7-config-preset.md +51 -0
  39. package/RAF/44-config-api-change/decisions.md +22 -0
  40. package/RAF/44-config-api-change/input.md +5 -0
  41. package/RAF/44-config-api-change/outcomes/1-restructure-config-subcommands.md +19 -0
  42. package/RAF/44-config-api-change/outcomes/2-move-preset-under-config.md +17 -0
  43. package/RAF/44-config-api-change/outcomes/3-update-existing-tests-for-config-api.md +14 -0
  44. package/RAF/44-config-api-change/outcomes/4-update-config-command-docs.md +11 -0
  45. package/RAF/44-config-api-change/outcomes/5-fix-codex-name-generation.md +18 -0
  46. package/RAF/44-config-api-change/plans/1-restructure-config-subcommands.md +37 -0
  47. package/RAF/44-config-api-change/plans/2-move-preset-under-config.md +38 -0
  48. package/RAF/44-config-api-change/plans/3-update-existing-tests-for-config-api.md +38 -0
  49. package/RAF/44-config-api-change/plans/4-update-config-command-docs.md +36 -0
  50. package/RAF/44-config-api-change/plans/5-fix-codex-name-generation.md +49 -0
  51. package/RAF/45-signal-cairn/decisions.md +7 -0
  52. package/RAF/45-signal-cairn/input.md +2 -0
  53. package/RAF/45-signal-cairn/outcomes/1-rename-provider-to-harness.md +19 -0
  54. package/RAF/45-signal-cairn/outcomes/2-normalize-model-display-names.md +18 -0
  55. package/RAF/45-signal-cairn/plans/1-rename-provider-to-harness.md +40 -0
  56. package/RAF/45-signal-cairn/plans/2-normalize-model-display-names.md +41 -0
  57. package/RAF/45-signal-lantern/decisions.md +10 -0
  58. package/RAF/45-signal-lantern/input.md +2 -0
  59. package/RAF/45-signal-lantern/outcomes/1-add-effort-and-fast-to-do-model-display.md +15 -0
  60. package/RAF/45-signal-lantern/outcomes/2-capture-codex-post-run-token-usage.md +15 -0
  61. package/RAF/45-signal-lantern/outcomes/3-show-codex-token-summaries-without-fake-cost.md +14 -0
  62. package/RAF/45-signal-lantern/plans/1-add-effort-and-fast-to-do-model-display.md +38 -0
  63. package/RAF/45-signal-lantern/plans/2-capture-codex-post-run-token-usage.md +37 -0
  64. package/RAF/45-signal-lantern/plans/3-show-codex-token-summaries-without-fake-cost.md +40 -0
  65. package/RAF/46-lantern-arc/decisions.md +19 -0
  66. package/RAF/46-lantern-arc/input.md +6 -0
  67. package/RAF/46-lantern-arc/outcomes/1-remove-spark-alias.md +16 -0
  68. package/RAF/46-lantern-arc/outcomes/2-clean-up-worktree-plan-command.md +30 -0
  69. package/RAF/46-lantern-arc/outcomes/3-fix-token-usage-accumulation.md +32 -0
  70. package/RAF/46-lantern-arc/outcomes/4-display-effort-in-compact-mode.md +22 -0
  71. package/RAF/46-lantern-arc/outcomes/5-codex-fast-mode-research.md +38 -0
  72. package/RAF/46-lantern-arc/outcomes/6-optimize-llm-prompts.md +39 -0
  73. package/RAF/46-lantern-arc/plans/1-remove-spark-alias.md +38 -0
  74. package/RAF/46-lantern-arc/plans/2-clean-up-worktree-plan-command.md +33 -0
  75. package/RAF/46-lantern-arc/plans/3-fix-token-usage-accumulation.md +33 -0
  76. package/RAF/46-lantern-arc/plans/4-display-effort-in-compact-mode.md +28 -0
  77. package/RAF/46-lantern-arc/plans/5-codex-fast-mode-research.md +34 -0
  78. package/RAF/46-lantern-arc/plans/6-optimize-llm-prompts.md +48 -0
  79. package/RAF/47-signal-trim/decisions.md +13 -0
  80. package/RAF/47-signal-trim/input.md +2 -0
  81. package/RAF/47-signal-trim/plans/1-remove-cache-from-status.md +73 -0
  82. package/README.md +47 -57
  83. package/dist/commands/config.d.ts.map +1 -1
  84. package/dist/commands/config.js +47 -49
  85. package/dist/commands/config.js.map +1 -1
  86. package/dist/commands/do.d.ts +2 -0
  87. package/dist/commands/do.d.ts.map +1 -1
  88. package/dist/commands/do.js +57 -44
  89. package/dist/commands/do.js.map +1 -1
  90. package/dist/commands/plan.d.ts.map +1 -1
  91. package/dist/commands/plan.js +36 -153
  92. package/dist/commands/plan.js.map +1 -1
  93. package/dist/commands/preset.d.ts +3 -0
  94. package/dist/commands/preset.d.ts.map +1 -0
  95. package/dist/commands/preset.js +158 -0
  96. package/dist/commands/preset.js.map +1 -0
  97. package/dist/core/claude-runner.d.ts +2 -0
  98. package/dist/core/claude-runner.d.ts.map +1 -1
  99. package/dist/core/claude-runner.js +36 -12
  100. package/dist/core/claude-runner.js.map +1 -1
  101. package/dist/core/codex-runner.d.ts +1 -0
  102. package/dist/core/codex-runner.d.ts.map +1 -1
  103. package/dist/core/codex-runner.js +26 -7
  104. package/dist/core/codex-runner.js.map +1 -1
  105. package/dist/core/failure-analyzer.js +2 -1
  106. package/dist/core/failure-analyzer.js.map +1 -1
  107. package/dist/core/git.d.ts +2 -2
  108. package/dist/core/git.d.ts.map +1 -1
  109. package/dist/core/git.js +53 -3
  110. package/dist/core/git.js.map +1 -1
  111. package/dist/core/pull-request.js +3 -3
  112. package/dist/core/pull-request.js.map +1 -1
  113. package/dist/core/runner-factory.d.ts +4 -4
  114. package/dist/core/runner-factory.d.ts.map +1 -1
  115. package/dist/core/runner-factory.js +8 -8
  116. package/dist/core/runner-factory.js.map +1 -1
  117. package/dist/core/runner-interface.d.ts +1 -1
  118. package/dist/core/runner-types.d.ts +17 -4
  119. package/dist/core/runner-types.d.ts.map +1 -1
  120. package/dist/parsers/codex-stream-renderer.d.ts +7 -0
  121. package/dist/parsers/codex-stream-renderer.d.ts.map +1 -1
  122. package/dist/parsers/codex-stream-renderer.js +37 -4
  123. package/dist/parsers/codex-stream-renderer.js.map +1 -1
  124. package/dist/prompts/amend.d.ts.map +1 -1
  125. package/dist/prompts/amend.js +29 -101
  126. package/dist/prompts/amend.js.map +1 -1
  127. package/dist/prompts/execution.d.ts.map +1 -1
  128. package/dist/prompts/execution.js +17 -34
  129. package/dist/prompts/execution.js.map +1 -1
  130. package/dist/prompts/planning.d.ts.map +1 -1
  131. package/dist/prompts/planning.js +21 -120
  132. package/dist/prompts/planning.js.map +1 -1
  133. package/dist/types/config.d.ts +33 -31
  134. package/dist/types/config.d.ts.map +1 -1
  135. package/dist/types/config.js +14 -28
  136. package/dist/types/config.js.map +1 -1
  137. package/dist/utils/config.d.ts +36 -16
  138. package/dist/utils/config.d.ts.map +1 -1
  139. package/dist/utils/config.js +209 -104
  140. package/dist/utils/config.js.map +1 -1
  141. package/dist/utils/name-generator.d.ts.map +1 -1
  142. package/dist/utils/name-generator.js +25 -12
  143. package/dist/utils/name-generator.js.map +1 -1
  144. package/dist/utils/terminal-symbols.d.ts +15 -2
  145. package/dist/utils/terminal-symbols.d.ts.map +1 -1
  146. package/dist/utils/terminal-symbols.js +36 -4
  147. package/dist/utils/terminal-symbols.js.map +1 -1
  148. package/dist/utils/token-tracker.d.ts +6 -1
  149. package/dist/utils/token-tracker.d.ts.map +1 -1
  150. package/dist/utils/token-tracker.js +84 -51
  151. package/dist/utils/token-tracker.js.map +1 -1
  152. package/dist/utils/validation.d.ts +1 -2
  153. package/dist/utils/validation.d.ts.map +1 -1
  154. package/dist/utils/validation.js +4 -25
  155. package/dist/utils/validation.js.map +1 -1
  156. package/package.json +1 -1
  157. package/src/commands/config.ts +60 -63
  158. package/src/commands/do.ts +63 -51
  159. package/src/commands/plan.ts +34 -165
  160. package/src/commands/preset.ts +186 -0
  161. package/src/core/claude-runner.ts +45 -5
  162. package/src/core/codex-runner.ts +32 -7
  163. package/src/core/failure-analyzer.ts +2 -1
  164. package/src/core/git.ts +57 -3
  165. package/src/core/pull-request.ts +3 -3
  166. package/src/core/runner-factory.ts +9 -9
  167. package/src/core/runner-interface.ts +1 -1
  168. package/src/core/runner-types.ts +17 -4
  169. package/src/parsers/codex-stream-renderer.ts +47 -4
  170. package/src/prompts/amend.ts +29 -101
  171. package/src/prompts/config-docs.md +206 -62
  172. package/src/prompts/execution.ts +17 -34
  173. package/src/prompts/planning.ts +21 -120
  174. package/src/types/config.ts +47 -58
  175. package/src/utils/config.ts +248 -115
  176. package/src/utils/name-generator.ts +29 -13
  177. package/src/utils/terminal-symbols.ts +46 -6
  178. package/src/utils/token-tracker.ts +96 -57
  179. package/src/utils/validation.ts +5 -30
  180. package/tests/unit/amend-prompt.test.ts +3 -2
  181. package/tests/unit/claude-runner-interactive.test.ts +21 -3
  182. package/tests/unit/claude-runner.test.ts +39 -0
  183. package/tests/unit/codex-runner.test.ts +163 -0
  184. package/tests/unit/codex-stream-renderer.test.ts +127 -0
  185. package/tests/unit/command-output.test.ts +57 -0
  186. package/tests/unit/commit-planning-artifacts-worktree.test.ts +24 -7
  187. package/tests/unit/commit-planning-artifacts.test.ts +26 -4
  188. package/tests/unit/config-command.test.ts +215 -303
  189. package/tests/unit/config.test.ts +319 -235
  190. package/tests/unit/dependency-integration.test.ts +27 -1
  191. package/tests/unit/do-model-display.test.ts +35 -0
  192. package/tests/unit/execution-prompt.test.ts +49 -19
  193. package/tests/unit/name-generator.test.ts +82 -12
  194. package/tests/unit/plan-command-auto-flag.test.ts +7 -10
  195. package/tests/unit/plan-command.test.ts +14 -17
  196. package/tests/unit/planning-prompt.test.ts +9 -8
  197. package/tests/unit/terminal-symbols.test.ts +94 -3
  198. package/tests/unit/token-tracker.test.ts +180 -1
  199. package/tests/unit/validation.test.ts +9 -41
  200. package/tests/unit/worktree-flag-override.test.ts +0 -186
@@ -0,0 +1,73 @@
1
+ ---
2
+ effort: medium
3
+ ---
4
+ # Task: Remove Cache From Status Display
5
+
6
+ ## Objective
7
+ Remove all cache token tracking (read/created) from the `raf do` status output, interfaces, and config — leaving only tokens in/out and cost.
8
+
9
+ ## Context
10
+ The cache token display (cache read / cache created counts) adds noise to the status output without providing actionable information. The user wants a cleaner, compact output showing only input tokens, output tokens, and dollar cost.
11
+
12
+ ## Requirements
13
+ - Remove `cacheReadInputTokens` and `cacheCreationInputTokens` fields from `UsageData` and `ModelTokenUsage` interfaces
14
+ - Remove `DisplayConfig` interface and `display` field from `RafConfig` / `DEFAULT_CONFIG`
15
+ - Remove all cache display logic from `formatTokenLine()` in `terminal-symbols.ts`
16
+ - Remove the `showCacheTokens` option / `TokenSummaryOptions` type if it becomes empty
17
+ - Remove cache accumulation from `token-tracker.ts` (`mergeUsageData`, `accumulateUsage`, default objects)
18
+ - Remove cache fields from stream parsers that populate `UsageData` (`stream-renderer.ts`, `codex-stream-renderer.ts`)
19
+ - Remove `display` validation from config validator (`src/utils/config.ts`)
20
+ - Remove `display` section from config docs (`src/prompts/config-docs.md`)
21
+ - Remove `display` references from all example configs in docs
22
+ - Update `getShowCacheTokens()` call sites in `do.ts` — remove the option passing entirely
23
+
24
+ ## Implementation Steps
25
+ 1. **Update interfaces** (`src/types/config.ts`):
26
+ - Remove `cacheReadInputTokens` and `cacheCreationInputTokens` from `UsageData` interface
27
+ - Remove `cacheReadInputTokens` and `cacheCreationInputTokens` from `ModelTokenUsage` interface
28
+ - Remove `DisplayConfig` interface
29
+ - Remove `display` from `RafConfig` interface and `DEFAULT_CONFIG`
30
+
31
+ 2. **Update token tracker** (`src/utils/token-tracker.ts`):
32
+ - Remove all `cacheReadInputTokens` and `cacheCreationInputTokens` references from `mergeUsageData()`
33
+ - Remove from `accumulateUsage()` default return
34
+ - Remove from `getTotals()` default return
35
+
36
+ 3. **Update display formatting** (`src/utils/terminal-symbols.ts`):
37
+ - Remove cache display block from `formatTokenLine()` (lines 209-220)
38
+ - Remove `showCacheTokens` from `TokenSummaryOptions` — if it becomes empty, remove the type entirely
39
+ - Update JSDoc comments that reference cache display
40
+
41
+ 4. **Update stream parsers** (`src/parsers/stream-renderer.ts`, `src/parsers/codex-stream-renderer.ts`):
42
+ - Remove cache field population when building `UsageData` objects
43
+
44
+ 5. **Update do.ts** (`src/commands/do.ts`):
45
+ - Remove `getShowCacheTokens()` calls and the `showCacheTokens` option passing to formatters
46
+ - Remove any import of display config helpers
47
+
48
+ 6. **Update claude-runner.ts** (`src/core/claude-runner.ts`):
49
+ - Remove any cache-related usage data handling
50
+
51
+ 7. **Update config validator** (`src/utils/config.ts`):
52
+ - Remove `display` key validation
53
+ - Remove `showCacheTokens` validation
54
+
55
+ 8. **Update config docs** (`src/prompts/config-docs.md`):
56
+ - Remove the `### display` section entirely
57
+ - Remove `display` from all example configs (especially the "Full" example)
58
+ - Remove `display.showCacheTokens` from the validation rules list
59
+
60
+ 9. **Build and verify** — run `npm run build` to confirm no type errors remain
61
+
62
+ ## Acceptance Criteria
63
+ - [ ] `UsageData` and `ModelTokenUsage` no longer contain cache fields
64
+ - [ ] `DisplayConfig` and `display` removed from config types and defaults
65
+ - [ ] Token summary output shows only: `Tokens: X in / Y out | Cost: $Z`
66
+ - [ ] No references to `cacheReadInputTokens`, `cacheCreationInputTokens`, or `showCacheTokens` remain in `src/`
67
+ - [ ] Config validator no longer accepts or validates a `display` key
68
+ - [ ] Config docs have no mention of cache tokens or `display` section
69
+ - [ ] Project builds cleanly (`npm run build`)
70
+
71
+ ## Notes
72
+ - The cache fields originally came from Claude API responses. When removing them from the interfaces, the parsers that read API output will simply stop extracting those fields — the API may still return them but they'll be ignored.
73
+ - There are 9 files that reference cache/display fields. All must be updated in a single coherent pass.
package/README.md CHANGED
@@ -48,14 +48,14 @@ That's it! RAF will guide you through breaking down your task and then execute i
48
48
  ## Requirements
49
49
 
50
50
  - Node.js 20+
51
- - Claude Code CLI installed and configured (default provider)
52
- - Or: OpenAI Codex CLI installed and configured (for `--provider codex`)
51
+ - Claude Code CLI installed and configured
52
+ - Or: OpenAI Codex CLI installed and configured (set `harness` per model entry in config)
53
53
 
54
54
  ## Features
55
55
 
56
56
  - **Interactive Planning**: Interviews you to break down complex tasks into structured plans
57
57
  - **Smart Execution**: Automatic model selection, retry with escalation, and progress tracking
58
- - **Multi-Provider**: Use Claude Code CLI or OpenAI Codex CLI via `--provider`
58
+ - **Multi-Harness**: Use Claude Code CLI or OpenAI Codex CLI via per-model harness config
59
59
  - **Resume & Amend**: Continue interrupted sessions or extend existing projects
60
60
  - **Git Integration**: Automatic commits, worktree isolation, and PR generation
61
61
  - **Task Dependencies**: Dependency tracking with automatic blocking on failure
@@ -71,7 +71,6 @@ Opens your `$EDITOR` to write a project description, then Claude will interview
71
71
  raf plan # Create a new project
72
72
  raf plan my-feature # Create with a specific name
73
73
  raf plan --amend abcdef # Add tasks to existing project
74
- raf plan --worktree # Plan in an isolated git worktree
75
74
  ```
76
75
 
77
76
  #### `--amend` vs `--resume`
@@ -90,7 +89,11 @@ raf do abcdef # Execute by project ID
90
89
  raf do my-project # Execute by name
91
90
  ```
92
91
 
93
- Note: In non-verbose mode, the completion summary reflects the tasks executed in that run (the remaining tasks at start), so the elapsed time maps to those tasks.
92
+ Note: In non-verbose mode, task lines show the resolved model in the existing parentheses slot and append reasoning effort and `fast` when configured, for example `● 01-auth-login (sonnet, low, fast) 12s`. Fast mode is Claude-only; if set on a Codex entry, RAF warns and ignores it.
93
+
94
+ Note: The completion summary reflects the tasks executed in that run (the remaining tasks at start), so the elapsed time maps to those tasks.
95
+
96
+ Note: Post-run token summaries now show exact input/output token counts for both Claude and Codex runs. Dollar cost is shown only when the provider reports an exact value, so current Codex summaries are token-only.
94
97
 
95
98
  ### `raf status`
96
99
 
@@ -103,12 +106,20 @@ raf status abcdef # Show details for a project (shows both main and worktree
103
106
 
104
107
  ### `raf config`
105
108
 
106
- View and edit RAF configuration through an interactive Claude session. Configuration is stored at `~/.raf/raf.config.json`. All settings are optional — only set what you want to change.
109
+ Read, write, reset, and edit RAF configuration. Configuration is stored at `~/.raf/raf.config.json`. All settings are optional — only set what you want to change.
107
110
 
108
111
  ```bash
109
- raf config # Interactive config editor
110
- raf config "use haiku for name generation" # Start with a specific request
111
- raf config --reset # Reset config to defaults
112
+ raf config # Show config subcommands
113
+ raf config get # Print resolved config
114
+ raf config get models.execute # Print one resolved value
115
+ raf config set timeout 45 # Write a value
116
+ raf config reset # Reset config to defaults
117
+ raf config wizard # Interactive config editor
118
+ raf config wizard "use haiku for name generation" # Start with a specific request
119
+ raf config preset save claude-setup # Save current config as "claude-setup"
120
+ raf config preset load claude-setup # Restore "claude-setup" (overwrites current config)
121
+ raf config preset list # Show all saved presets
122
+ raf config preset delete claude-setup # Remove a preset
112
123
  ```
113
124
 
114
125
  **Precedence**: CLI flags > config file > built-in defaults
@@ -117,51 +128,30 @@ Example `~/.raf/raf.config.json`:
117
128
 
118
129
  ```json
119
130
  {
120
- "provider": "claude",
121
131
  "models": {
122
- "execute": "sonnet",
123
- "nameGeneration": "haiku"
132
+ "execute": { "model": "sonnet", "harness": "claude" },
133
+ "nameGeneration": { "model": "haiku", "harness": "claude" }
124
134
  },
125
135
  "worktree": true,
126
136
  "timeout": 45
127
137
  }
128
138
  ```
129
139
 
130
- Run `raf config` without arguments and ask what's available — the session has full knowledge of every configurable option.
131
-
132
- ## Provider Configuration
133
-
134
- RAF supports multiple LLM providers. The default is `claude` (Claude Code CLI). To use OpenAI Codex CLI, set `provider: "codex"` in your config or pass `--provider codex` on the command line.
140
+ Run `raf config wizard` and ask what's available — the session has full knowledge of every configurable option.
135
141
 
136
- ```bash
137
- raf plan --provider codex # Plan using Codex
138
- raf do --provider codex # Execute using Codex
139
- ```
142
+ ## Harness Configuration
140
143
 
141
- ### Model spec format
142
-
143
- Models can be specified as plain aliases or with a provider prefix (`<provider>/<alias>`):
144
-
145
- ```bash
146
- raf do -m opus # Claude: resolves to claude-opus-4-6
147
- raf do -m claude/opus # Same as above, explicit prefix
148
- raf do -m codex/gpt54 # Codex: resolves to gpt-5.4
149
- raf do -m codex/gpt-5.4 # Codex: raw model ID
150
- ```
151
-
152
- ### Codex config
144
+ RAF supports multiple LLM harnesses per scenario. Each model entry in `models` and `effortMapping` specifies its own `harness`, so you can mix Claude and Codex freely:
153
145
 
154
146
  ```json
155
147
  {
156
- "provider": "codex",
157
- "codexModels": {
158
- "execute": "codex",
159
- "plan": "gpt54"
148
+ "models": {
149
+ "plan": { "model": "opus", "harness": "claude" },
150
+ "execute": { "model": "gpt-5.4", "harness": "codex" }
160
151
  },
161
- "codexEffortMapping": {
162
- "low": "spark",
163
- "medium": "codex",
164
- "high": "gpt54"
152
+ "effortMapping": {
153
+ "low": { "model": "sonnet", "harness": "claude" },
154
+ "high": { "model": "gpt-5.4", "harness": "codex" }
165
155
  }
166
156
  }
167
157
  ```
@@ -169,6 +159,7 @@ raf do -m codex/gpt-5.4 # Codex: raw model ID
169
159
  **Codex limitations:**
170
160
  - `--resume` is not supported (Codex CLI has no session resume)
171
161
  - System prompt is prepended to the user message rather than passed separately
162
+ - Post-run summaries currently include exact token counts but omit USD cost because Codex CLI does not provide an exact per-run price
172
163
 
173
164
  ## Status Symbols
174
165
 
@@ -203,8 +194,8 @@ Worktree mode runs planning and execution in an isolated git worktree, keeping y
203
194
  ### Basic workflow
204
195
 
205
196
  ```bash
206
- # Plan in a worktree (creates branch and worktree directory)
207
- raf plan my-feature --worktree
197
+ # Plan in a worktree (enabled via config: "worktree": true)
198
+ raf plan my-feature
208
199
 
209
200
  # Execute tasks in the worktree (auto-detected, no flag needed)
210
201
  raf do my-feature
@@ -234,13 +225,12 @@ If `gh` is missing or unauthenticated, the option falls back to "Leave branch" w
234
225
 
235
226
  ### How it works
236
227
 
237
- - `--worktree` creates a git worktree at `~/.raf/worktrees/<repo>/<project>/` with a new branch named after the project folder (e.g., `abcdef-my-feature`)
228
+ - When `worktree: true` is set in config, `raf plan` creates a git worktree at `~/.raf/worktrees/<repo>/<project>/` with a new branch named after the project folder (e.g., `abcdef-my-feature`)
238
229
  - All planning artifacts, code changes, and commits happen in the worktree branch
239
- - `raf do` auto-detects whether a project lives in a worktree — no `--worktree` flag needed
230
+ - `raf do` auto-detects whether a project lives in a worktree — no flag needed
240
231
  - After successful post-actions (merge, PR, or leave), the worktree directory is cleaned up automatically — the git branch is preserved
241
232
  - On merge conflicts, the merge is aborted and you get instructions for manual resolution
242
233
  - If tasks fail, the worktree is kept for inspection
243
- - Use `--no-worktree` on `raf plan` to disable worktree mode for a single invocation (useful when `worktree: true` is set in config)
244
234
 
245
235
  ## Command Reference
246
236
 
@@ -250,10 +240,6 @@ If `gh` is missing or unauthenticated, the option falls back to "Leave branch" w
250
240
  |--------|-------------|
251
241
  | `--amend <id>` | Add tasks to existing project |
252
242
  | `-y, --auto` | Skip permission prompts (runs in dangerous mode) |
253
- | `-p, --provider <name>` | LLM provider to use (`claude`, `codex`) |
254
- | `-m, --model <name>` | Model to use (e.g. `opus`, `codex/gpt54`) |
255
- | `-w, --worktree` | Create a git worktree for isolated planning |
256
- | `--no-worktree` | Disable worktree mode (overrides config) |
257
243
 
258
244
  ### `raf do [project]`
259
245
 
@@ -262,19 +248,23 @@ If `gh` is missing or unauthenticated, the option falls back to "Leave branch" w
262
248
  | `-t, --timeout <min>` | Timeout per task (default: 60) |
263
249
  | `-f, --force` | Re-run all tasks regardless of status |
264
250
  | `-d, --debug` | Save all logs and show debug output |
265
- | `-p, --provider <name>` | LLM provider to use (`claude`, `codex`) |
266
- | `-m, --model <name>` | Model to use (e.g. `sonnet`, `codex/gpt54`) |
267
- | `--sonnet` | Shorthand for `--model sonnet` |
268
251
 
269
252
  Alias: `raf act`
270
253
 
271
254
  > **Note:** `raf do` and `raf plan -y` run the CLI with skip-permissions flags for fully automated execution without interactive prompts.
272
255
 
273
- ### `raf config [prompt]`
256
+ ### `raf config`
274
257
 
275
- | Option | Description |
276
- |--------|-------------|
277
- | `--reset` | Reset config file to defaults |
258
+ | Subcommand | Description |
259
+ |------------|-------------|
260
+ | `get [key]` | Show the resolved config or one resolved dot-notation value |
261
+ | `set <key> <value>` | Write a config value using a dot-notation key |
262
+ | `reset` | Delete the config file and restore defaults after confirmation |
263
+ | `wizard [prompt]` | Launch the interactive config editor |
264
+ | `preset save <name>` | Save current config as a named preset |
265
+ | `preset load <name>` | Load a preset (overwrites current config) |
266
+ | `preset list` | List all saved presets |
267
+ | `preset delete <name>` | Delete a preset |
278
268
 
279
269
  ### `raf status [identifier]`
280
270
 
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA4UpC,wBAAgB,mBAAmB,IAAI,OAAO,CAsC7C"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmUpC,wBAAgB,mBAAmB,IAAI,OAAO,CA4C7C"}
@@ -6,8 +6,9 @@ import { Command } from 'commander';
6
6
  import { createRunner } from '../core/runner-factory.js';
7
7
  import { shutdownHandler } from '../core/shutdown-handler.js';
8
8
  import { logger } from '../utils/logger.js';
9
- import { getConfigPath, getModel, getModelShortName, validateConfig, ConfigValidationError, resetConfigCache, resolveConfig, saveConfig, } from '../utils/config.js';
9
+ import { getConfigPath, formatModelDisplay, getModel, validateConfig, collectConfigValidationWarnings, ConfigValidationError, resetConfigCache, resolveConfig, saveConfig, } from '../utils/config.js';
10
10
  import { DEFAULT_CONFIG } from '../types/config.js';
11
+ import { createPresetCommand } from './preset.js';
11
12
  /**
12
13
  * Load the config documentation markdown from src/prompts/config-docs.md.
13
14
  * Resolved relative to this file's location in the dist/ tree.
@@ -72,11 +73,11 @@ function postSessionValidation(configPath) {
72
73
  catch (error) {
73
74
  if (error instanceof ConfigValidationError) {
74
75
  logger.warn(`Config validation warning: ${error.message}`);
75
- logger.warn('The file was not deleted — you can fix it manually or run `raf config` again.');
76
+ logger.warn('The file was not deleted — you can fix it manually or run `raf config wizard` again.');
76
77
  }
77
78
  else if (error instanceof SyntaxError) {
78
79
  logger.warn('Config file contains invalid JSON.');
79
- logger.warn('The file was not deleted — you can fix it manually or run `raf config` again.');
80
+ logger.warn('The file was not deleted — you can fix it manually or run `raf config wizard` again.');
80
81
  }
81
82
  else {
82
83
  logger.warn(`Could not validate config: ${error}`);
@@ -205,16 +206,14 @@ function formatValue(value) {
205
206
  }
206
207
  // ---- Config get/set handlers ----
207
208
  /**
208
- * Handle --get flag: print config value(s).
209
+ * Print config value(s).
209
210
  */
210
211
  function handleGet(key) {
211
212
  const config = resolveConfig();
212
- if (key === true) {
213
- // No key specified: print full config
213
+ if (key === undefined) {
214
214
  console.log(JSON.stringify(config, null, 2));
215
215
  return;
216
216
  }
217
- // Specific key requested
218
217
  const value = getNestedValue(config, key);
219
218
  if (value === undefined) {
220
219
  logger.error(`Config key not found: ${key}`);
@@ -223,14 +222,9 @@ function handleGet(key) {
223
222
  console.log(formatValue(value));
224
223
  }
225
224
  /**
226
- * Handle --set flag: update config file with a new value.
225
+ * Update config file with a new value.
227
226
  */
228
- function handleSet(args) {
229
- if (args.length !== 2) {
230
- logger.error('--set requires exactly 2 arguments: key and value');
231
- process.exit(1);
232
- }
233
- const [key, rawValue] = args;
227
+ function handleSet(key, rawValue) {
234
228
  const value = parseValue(rawValue);
235
229
  const configPath = getConfigPath();
236
230
  // Read current user config (or start with empty)
@@ -265,7 +259,10 @@ function handleSet(args) {
265
259
  }
266
260
  // Validate the resulting config
267
261
  try {
268
- validateConfig(userConfig);
262
+ const validated = validateConfig(userConfig);
263
+ for (const warning of collectConfigValidationWarnings(validated)) {
264
+ logger.warn(`Config validation warning: ${warning}`);
265
+ }
269
266
  }
270
267
  catch (error) {
271
268
  if (error instanceof ConfigValidationError) {
@@ -289,36 +286,37 @@ function handleSet(args) {
289
286
  }
290
287
  export function createConfigCommand() {
291
288
  const command = new Command('config')
292
- .description('View and edit RAF configuration interactively')
289
+ .description('Manage RAF configuration with get, set, reset, wizard, and preset subcommands')
290
+ .action(function () {
291
+ this.outputHelp();
292
+ });
293
+ command
294
+ .addCommand(new Command('get')
295
+ .description('Print the resolved config or one resolved dot-notation value')
296
+ .argument('[key]', 'Optional dot-notation key to read')
297
+ .action((key) => {
298
+ handleGet(key);
299
+ }))
300
+ .addCommand(new Command('set')
301
+ .description('Write a config value using a dot-notation key')
302
+ .argument('<key>', 'Dot-notation key to write')
303
+ .argument('<value>', 'Value to write; parsed as JSON when possible')
304
+ .action((key, value) => {
305
+ handleSet(key, value);
306
+ }))
307
+ .addCommand(new Command('reset')
308
+ .description('Delete the config file and restore all defaults')
309
+ .action(async () => {
310
+ await handleReset();
311
+ }))
312
+ .addCommand(new Command('wizard')
313
+ .description('Launch the interactive config editor session')
293
314
  .argument('[prompt...]', 'Optional initial prompt for the config session')
294
- .option('--reset', 'Delete config file and restore all defaults')
295
- .option('--get [key]', 'Show config value (all config if no key, or specific dot-notation key)')
296
- .option('--set <items...>', 'Set a config value using dot-notation key and value')
297
- .action(async (promptParts, options) => {
298
- // --reset takes precedence
299
- if (options.reset) {
300
- await handleReset();
301
- return;
302
- }
303
- // --get and --set are mutually exclusive
304
- if (options.get !== undefined && options.set !== undefined) {
305
- logger.error('Cannot use --get and --set together');
306
- process.exit(1);
307
- }
308
- // Handle --get
309
- if (options.get !== undefined) {
310
- handleGet(options.get);
311
- return;
312
- }
313
- // Handle --set
314
- if (options.set !== undefined) {
315
- handleSet(options.set);
316
- return;
317
- }
318
- // Default: run interactive session
315
+ .action(async (promptParts) => {
319
316
  const initialPrompt = promptParts.length > 0 ? promptParts.join(' ') : undefined;
320
317
  await runConfigSession(initialPrompt);
321
- });
318
+ }))
319
+ .addCommand(createPresetCommand());
322
320
  return command;
323
321
  }
324
322
  async function handleReset() {
@@ -338,23 +336,23 @@ async function handleReset() {
338
336
  async function runConfigSession(initialPrompt) {
339
337
  const configPath = getConfigPath();
340
338
  // Try to load config, but fall back to defaults if it's broken
341
- // This allows raf config to be used to fix a broken config file
342
- let model;
339
+ // This allows raf config wizard to be used to fix a broken config file
340
+ let modelEntry;
343
341
  let configError = null;
344
342
  try {
345
- model = getModel('config');
343
+ modelEntry = getModel('config');
346
344
  }
347
345
  catch (error) {
348
346
  // Config file has errors - fall back to defaults so the session can launch
349
347
  configError = error instanceof Error ? error : new Error(String(error));
350
- model = DEFAULT_CONFIG.models.config;
348
+ modelEntry = DEFAULT_CONFIG.models.config;
351
349
  // Clear the cached config so subsequent calls don't use the broken cache
352
350
  resetConfigCache();
353
351
  }
354
352
  // Warn user if config has errors, before starting the session
355
353
  if (configError) {
356
354
  logger.warn(`Config file has errors, using defaults: ${configError.message}`);
357
- logger.warn('Fix the config in this session or run `raf config --reset` to start fresh.');
355
+ logger.warn('Fix the config in this session or run `raf config reset` to start fresh.');
358
356
  logger.newline();
359
357
  }
360
358
  // Load config docs
@@ -373,10 +371,10 @@ async function runConfigSession(initialPrompt) {
373
371
  const userMessage = initialPrompt
374
372
  ?? 'Show me my current config and help me make changes.';
375
373
  // Set up runner
376
- const claudeRunner = createRunner({ model });
374
+ const claudeRunner = createRunner({ model: modelEntry.model, harness: modelEntry.harness, reasoningEffort: modelEntry.reasoningEffort, fast: modelEntry.fast });
377
375
  shutdownHandler.init();
378
376
  shutdownHandler.registerClaudeRunner(claudeRunner);
379
- const configModel = getModelShortName(model);
377
+ const configModel = formatModelDisplay(modelEntry.model);
380
378
  logger.info(`Starting config session with ${configModel}...`);
381
379
  logger.newline();
382
380
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { Command } from 'commander';
2
+ import type { ModelEntry } from '../types/config.js';
2
3
  /**
3
4
  * Post-execution action chosen by the user before task execution begins.
4
5
  * - 'merge': merge the worktree branch into the original branch
@@ -15,6 +16,7 @@ export declare function formatRetryHistoryForConsole(taskId: string, taskName: s
15
16
  attempt: number;
16
17
  reason: string;
17
18
  }>, finalAttempt: number, success: boolean): string;
19
+ export declare function formatResolvedTaskModel(entry: ModelEntry): string;
18
20
  export declare function createDoCommand(): Command;
19
21
  /**
20
22
  * Show an interactive picker for the post-execution action in worktree mode.
@@ -1 +1 @@
1
- {"version":3,"file":"do.d.ts","sourceRoot":"","sources":["../../src/commands/do.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAsDpC;;;;;GAKG;AACH,MAAM,MAAM,mBAAmB,GAAG,OAAO,GAAG,IAAI,GAAG,OAAO,CAAC;AAuE3D;;;;GAIG;AACH,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,KAAK,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,EAC1D,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,OAAO,GACf,MAAM,CAkBR;AA0BD,wBAAgB,eAAe,IAAI,OAAO,CAiBzC;AAkOD;;;;;;GAMG;AACH,wBAAsB,uBAAuB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAuBhG"}
1
+ {"version":3,"file":"do.d.ts","sourceRoot":"","sources":["../../src/commands/do.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAqDpC,OAAO,KAAK,EAAoB,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEvE;;;;;GAKG;AACH,MAAM,MAAM,mBAAmB,GAAG,OAAO,GAAG,IAAI,GAAG,OAAO,CAAC;AA2E3D;;;;GAIG;AACH,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,KAAK,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,EAC1D,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,OAAO,GACf,MAAM,CAkBR;AA0BD,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAKjE;AAED,wBAAgB,eAAe,IAAI,OAAO,CAczC;AA0ND;;;;;;GAMG;AACH,wBAAsB,uBAAuB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAuBhG"}