wildcrane-runner 0.4.0 → 0.6.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/README.md +17 -7
- package/dist/akb/bin/ai4kanban.mjs +5 -3
- package/dist/akb/dist/kanban.mjs +22632 -31973
- package/dist/launcher.mjs +21 -7
- package/dist/runner.mjs +4621 -1810
- package/package.json +4 -2
package/README.md
CHANGED
|
@@ -4,9 +4,9 @@ WildCrane's Local Runner. It connects this computer to WildCrane and runs the ta
|
|
|
4
4
|
sends on your local Claude Code, Codex, OpenCode or Cursor.
|
|
5
5
|
|
|
6
6
|
- **Mac and Windows**: download WildCrane from the
|
|
7
|
-
[releases](https://github.com/ai4kanban/ai4kanban/releases
|
|
8
|
-
(tray), signs in once, and notifies you when something needs your review. The
|
|
9
|
-
say how to open the unsigned build the first time.
|
|
7
|
+
[releases](https://github.com/ai4kanban/ai4kanban/releases?q=desktop-v&expanded=true). It sits
|
|
8
|
+
in the menu bar (tray), signs in once, and notifies you when something needs your review. The
|
|
9
|
+
release notes say how to open the unsigned build the first time.
|
|
10
10
|
- **Linux, or no desktop**: run it from a terminal; it runs tasks and shows no notifications.
|
|
11
11
|
|
|
12
12
|
```sh
|
|
@@ -23,9 +23,17 @@ names, and falls back to the previous one if the new one does not start.
|
|
|
23
23
|
`~/.wildcrane/projects.json` (`{ "projects": ["/path/to/project"] }`). Any other folder is
|
|
24
24
|
refused. The desktop app writes that list when you add a project in its settings.
|
|
25
25
|
- **Task folders**: a task's jobs share its board, `<project>/.akb/kanban` (kept out of git),
|
|
26
|
-
or for a
|
|
26
|
+
or for a project with no folder here its own one, `~/.wildcrane/cache/<project>/.akb/kanban`
|
|
27
27
|
(a git repository). They run one at a time and sync the card, memory and assets with
|
|
28
|
-
WildCrane before and after each job.
|
|
28
|
+
WildCrane before and after each job.
|
|
29
|
+
- **Cache**: what a project keeps here is rebuilt from WildCrane by its next job. At start and
|
|
30
|
+
once a day the Runner removes a project unused for 7 days or no longer in your account — its
|
|
31
|
+
whole `cache/<project>/`, or only a linked folder's `.akb/` — unless a job runs there, a
|
|
32
|
+
delivery is paused there, or its last sync failed.
|
|
33
|
+
- **Runner files**: `~/.wildcrane/bin/` holds the downloaded versions and the `akb` shim.
|
|
34
|
+
- **Periodic agents**: in each project folder it also runs the board's own agents (reflect,
|
|
35
|
+
describe-project, review-dismissals, prune-memory) and each workflow's scheduled agents, when
|
|
36
|
+
due by this computer's clock — on your runtime, so they use its quota.
|
|
29
37
|
- **akb**: tasks started from WildCrane run akb's workflows with the copy of `akb` the Runner
|
|
30
38
|
carries (`dist/akb/`), on whichever of those the task's runtime names.
|
|
31
39
|
|
|
@@ -34,8 +42,10 @@ names, and falls back to the previous one if the new one does not start.
|
|
|
34
42
|
`npm install` here (it builds `dist/`), `npm test`, `npm run lint`. The Runner bundles the CLI's
|
|
35
43
|
harness, session and Realtime code from `../cli/src`, and the CLI itself into `dist/akb/`, so
|
|
36
44
|
`cli/` needs its own `npm install`.
|
|
37
|
-
Releasing: raise `version`,
|
|
38
|
-
|
|
45
|
+
Releasing: raise `version`, `npm run build`, and `npm publish --provenance=false` from this
|
|
46
|
+
folder with an npm token (trusted publishing is not set up, so the `runner-v*` workflow cannot
|
|
47
|
+
publish). Then in `cloud/` run `npm run runner-release candidate <version> <percent>` and widen
|
|
48
|
+
it to `stable`; raise `RUNNER_MIN_PROTOCOL` only after that, and after a plugin release.
|
|
39
49
|
|
|
40
50
|
The desktop app is `desktop/`: a Tauri 2 shell running the bundled Node on `dist/launcher.mjs`
|
|
41
51
|
with `WILDCRANE_DESKTOP=1`; the two speak JSON lines (`src/desktop.ts`). It needs Rust.
|
|
@@ -88,14 +88,16 @@ async function rules() {
|
|
|
88
88
|
|
|
89
89
|
// The two trees, and the one word that picks between them. `akb raw` takes over the whole
|
|
90
90
|
// command line: its moves take options that collide with the rest — `create`, `archive` and
|
|
91
|
-
// `reject` are words on both sides — so it is handed the line untouched
|
|
91
|
+
// `reject` are words on both sides — so it is handed the line untouched, bar the shared
|
|
92
|
+
// options typed before `raw`.
|
|
92
93
|
async function main() {
|
|
93
94
|
const argv = process.argv.slice(2)
|
|
94
95
|
const loaded = await rules()
|
|
95
96
|
const shared = { program: PROGRAM, installHint: `\`${PROGRAM} install\`` }
|
|
96
97
|
|
|
97
|
-
|
|
98
|
-
|
|
98
|
+
const raw = loaded.rawArgv(argv)
|
|
99
|
+
if (raw) {
|
|
100
|
+
process.exitCode = await loaded.runBoard(raw, { ...shared, program: `${PROGRAM} raw` })
|
|
99
101
|
return
|
|
100
102
|
}
|
|
101
103
|
|