@open-tomato/rafa 0.9.0 → 0.9.1

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 (4) hide show
  1. package/README.md +25 -8
  2. package/dist/cli.js +791 -501
  3. package/dist/index.js +393 -143
  4. package/package.json +1 -1
package/README.md CHANGED
@@ -41,8 +41,24 @@ Read this once; rafa also says it the first time you start a run.
41
41
  opens a pull request with `gh`, waits for CI, and may file the
42
42
  blockers and unrelated bugs it meets as issues on the project's
43
43
  tracker.
44
- - **It spends your Claude usage**, one session per task plus the plan
45
- and the wrap-up. `budget=` on a task caps that task.
44
+ - **It spends your Claude usage.** Every Claude Code session rafa starts
45
+ counts against your Claude plan's limits, or is billed when you run
46
+ Claude Code with an API key. `budget=` on a task caps that task. The
47
+ commands that start sessions are marked 🪙 in this README:
48
+
49
+ | Command | Spends usage |
50
+ | --- | --- |
51
+ | `rafa plan create` | 🪙 one planning session |
52
+ | `rafa loop start` | 🪙 one session per task, one for the wrap-up, and repair sessions while CI is red |
53
+ | `rafa pr triage --resolve` | 🪙 runs a small fixed plan through the loop; without `--resolve`, nothing |
54
+ | `rafa skill backfill --propose` | 🪙 one session per batch of skills; without `--propose`, nothing |
55
+ | `rafa next` | 🪙 when the step it runs is one of the above; it asks before each step |
56
+
57
+ Everything else reads files, git and GitHub and spends nothing,
58
+ `rafa usage` included (it reads `CLAUDE_USAGE_PERCENT` and asks
59
+ nobody). `rafa loop resume` starts no session itself, but it lets a
60
+ paused run go on spending. rafa calls no model API directly: all of
61
+ it goes through the `claude` command.
46
62
  - So run it in a repository, on a branch and on a machine where all of
47
63
  that is acceptable: a container or a disposable checkout is a good
48
64
  first home. Nothing here is a sandbox.
@@ -59,7 +75,8 @@ on.
59
75
  The package is `@open-tomato/rafa` on npm (`publishConfig` names
60
76
  `https://registry.npmjs.org/` for the scope as well as in general, so a
61
77
  machine that maps `@open-tomato` to another registry still publishes
62
- there, and `npm publish` builds first through `prepack`). It installs globally under either package manager:
78
+ there, and `npm publish` builds first through `prepack`). It installs
79
+ globally under either package manager:
63
80
 
64
81
  ```bash
65
82
  npm i -g @open-tomato/rafa
@@ -105,9 +122,9 @@ the next one, so you rarely have to remember it.
105
122
  and the repository and writes a checklist the loop can parse:
106
123
 
107
124
  ```bash
108
- rafa plan create --spec=.rafa/specs/my-feature.md
109
- rafa plan create --issue=42 # the spec is issue #42's body
110
- rafa plan create --next # the first undone line of the Roadmap issue
125
+ rafa plan create --spec=.rafa/specs/my-feature.md # 🪙
126
+ rafa plan create --issue=42 # 🪙 the spec is issue #42's body
127
+ rafa plan create --next # 🪙 the first undone line of the Roadmap issue
111
128
  rafa plan show my-feature # read it before you run it
112
129
  ```
113
130
 
@@ -119,7 +136,7 @@ the next one, so you rarely have to remember it.
119
136
  4. **Run it.**
120
137
 
121
138
  ```bash
122
- rafa loop start --plan=.rafa/plans/PLAN-my-feature.md
139
+ rafa loop start --plan=.rafa/plans/PLAN-my-feature.md # 🪙
123
140
  ```
124
141
 
125
142
  On `main` it offers to create `feat/<stub>` from the latest base and
@@ -138,7 +155,7 @@ the next one, so you rarely have to remember it.
138
155
 
139
156
  ```bash
140
157
  rafa pr current # number, title, checks, URL
141
- rafa pr triage # why is it red, and is the fix simple
158
+ rafa pr triage # why is it red, and is the fix simple (🪙 only with --resolve)
142
159
  rafa pr merge [--skip-checks] # asks y/N, merges, switches to the base, pulls, deletes both branches
143
160
  rafa release tag # tag the merged version
144
161
  rafa effort collect && rafa effort report