bullswarm 0.29.1 → 0.32.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/AGENTS.md +2 -2
- package/CHANGELOG.md +131 -0
- package/README.md +67 -18
- package/data/openrouter-benchmarks.json +7951 -7976
- package/docs/claude-dynamic-workflow-mechanics.md +1 -1
- package/docs/experiments/2026-08-29-dogfood-bullswarm-builds-bullswarm.md +3 -3
- package/docs/experiments/2026-08-29-ultracode-vs-bullswarm.md +6 -6
- package/docs/guide/concepts.md +42 -0
- package/docs/guide/getting-started.md +99 -33
- package/docs/guide/index.md +53 -0
- package/docs/guide/observing.md +226 -0
- package/docs/guide/routing.md +91 -158
- package/docs/guide/run.md +106 -0
- package/docs/guide/workflows.md +185 -278
- package/docs/index.md +28 -50
- package/docs/integrations/agent-clis.md +98 -0
- package/docs/integrations/claude-code.md +120 -0
- package/docs/integrations/issue-watcher.md +142 -0
- package/docs/notes/index.md +31 -0
- package/docs/public/favicon.svg +7 -0
- package/docs/reference/cli.md +1149 -0
- package/docs/reference/configuration.md +157 -0
- package/docs/reference/program.md +149 -0
- package/docs/{guide → reference}/providers.md +53 -79
- package/docs/reference/result.md +143 -0
- package/docs/workflow-design.md +4 -4
- package/mods/bullswarm/.claude-plugin/plugin.json +28 -0
- package/mods/bullswarm/README.md +85 -0
- package/mods/bullswarm/hooks/hooks.json +4 -0
- package/mods/bullswarm/hooks/host.ts +26 -0
- package/mods/bullswarm/hooks/names.ts +59 -0
- package/mods/bullswarm/hooks/overview.ts +51 -0
- package/mods/bullswarm/hooks/pane.tsx +586 -0
- package/mods/bullswarm/hooks/pool-rows.tsx +118 -0
- package/mods/bullswarm/hooks/pools.ts +226 -0
- package/mods/bullswarm/hooks/register.ts +815 -0
- package/mods/bullswarm/hooks/route.ts +74 -0
- package/mods/bullswarm/hooks/runs.ts +250 -0
- package/mods/bullswarm/hooks/strip.tsx +146 -0
- package/mods/bullswarm/hooks/verdict.ts +89 -0
- package/mods/bullswarm/tsconfig.json +17 -0
- package/mods/bullswarm/types/index.d.ts +205 -0
- package/package.json +5 -4
- package/providers/contrib/README.md +1 -1
- package/providers/contrib/opencode2/provider.mjs +1 -1
- package/skill/SKILL.md +56 -17
- package/skill/references/operations.md +95 -65
- package/skill/references/providers.md +1 -1
- package/src/cli.js +52 -19
- package/src/help.js +93 -50
- package/src/integrate.js +86 -9
- package/src/lib/cli-flags.js +5 -3
- package/src/lib/providers.js +1 -1
- package/src/lib/watch.js +27 -2
- package/src/provider-cli.js +1 -1
- package/src/providers/_schema.json +1 -1
- package/src/setup.js +32 -0
- package/src/workflow/action-validator.js +30 -4
- package/src/workflow/cli.js +130 -18
- package/src/workflow/dashboard.js +1095 -365
- package/src/workflow/runs-cli.js +12 -3
- package/src/workflow/usage-view.js +444 -0
- package/src/workflow/v2-dispatch.js +52 -5
- package/src/workflow/v2-outcome.js +291 -38
- package/src/workflow/v2-planner.js +1 -0
- package/src/workflow/v2-presentation.js +1 -1
- package/src/workflow/v2-runtime.js +142 -87
- package/src/workflow/watch-cli.js +24 -3
- package/docs/_config.yml +0 -7
- package/docs/guide/dashboard.md +0 -192
- package/docs/guide/doctrine.md +0 -63
- package/docs/guide/entry-points.md +0 -71
- package/docs/guide/operations.md +0 -132
- package/docs/guide/repository-operations.md +0 -15
- package/docs/guide/strategy.md +0 -171
package/AGENTS.md
CHANGED
|
@@ -16,7 +16,7 @@ content. Published as `bullswarm` on npm.
|
|
|
16
16
|
`src/meters/framework.js`).
|
|
17
17
|
3. Provider quirks live in the provider's directory (`src/providers/<name>/`,
|
|
18
18
|
`providers/contrib/<name>/`, or `~/.bullswarm/providers/<name>/`), never in
|
|
19
|
-
core logic (see `docs/
|
|
19
|
+
core logic (see `docs/reference/providers.md`).
|
|
20
20
|
4. Quarantine always auto-releases; recursion depth is core-owned via env
|
|
21
21
|
(`BULLSWARM_DEPTH`).
|
|
22
22
|
5. Workflow dispatches must honor the same guarantees as single runs:
|
|
@@ -84,7 +84,7 @@ providers live in `src/providers/<name>/`, contrib providers in
|
|
|
84
84
|
`bullswarm provider scaffold <name> [--from <template>]`, then
|
|
85
85
|
`bullswarm provider validate` and `bullswarm provider probe <pool>`. Write a
|
|
86
86
|
`readUsage` export only if the vendor exposes a usage API — declared meters
|
|
87
|
-
are the fallback, never the goal. The contract is `docs/
|
|
87
|
+
are the fallback, never the goal. The contract is `docs/reference/providers.md`;
|
|
88
88
|
the authoring method is `skill/references/providers.md`.
|
|
89
89
|
|
|
90
90
|
## Releasing
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,136 @@
|
|
|
1
1
|
# bullswarm changelog
|
|
2
2
|
|
|
3
|
+
## 0.32.0 — the dashboard is the main screen
|
|
4
|
+
|
|
5
|
+
- wording: a program run's dependency levels are called phases everywhere the
|
|
6
|
+
product prints them (`Phase 2 · integrate`), matching what the planner's runs
|
|
7
|
+
already say; the ids in the events are unchanged.
|
|
8
|
+
- dashboard: the full-screen Home, Run, Step, Usage, and Help pages now share
|
|
9
|
+
a sticky header and bottom nav, keyboard shortcuts, mouse clicks, and wheel
|
|
10
|
+
scrolling, so a live workflow can be understood in one place.
|
|
11
|
+
- usage and edit: Usage renders every meter window, elapsed mark, reset, pace,
|
|
12
|
+
credit meter, and rung record with the same coloured cells as the status
|
|
13
|
+
view; its read-only note hands `[edit]` to setup and returns with fresh data.
|
|
14
|
+
- install: Home's `[install]` action runs the same integration install as
|
|
15
|
+
`bullswarm integrate install --yes`, then shows each agent's skill,
|
|
16
|
+
awareness, and Claude Mod status.
|
|
17
|
+
- bare command: after setup, bare `bullswarm` opens the dashboard; the first
|
|
18
|
+
run and `bullswarm --setup` or `bullswarm setup` open setup, while
|
|
19
|
+
`bullswarm workflow tui` remains the explicit dashboard form.
|
|
20
|
+
- docs: the README, guides, CLI reference, and Claude Code pages now make the
|
|
21
|
+
dashboard the main screen and describe the Claude Mod as its read-only
|
|
22
|
+
counterpart — the same Run, Step, and Usage pages in the same colours, with
|
|
23
|
+
no edit or install action.
|
|
24
|
+
|
|
25
|
+
## 0.31.0 — the Claude Mod, and a documentation site
|
|
26
|
+
|
|
27
|
+
- mod: `mods/bullswarm` puts Bullswarm inside Claude Code's own interface as a
|
|
28
|
+
Claude Mod (function hooks, early access behind
|
|
29
|
+
`CLAUDE_CODE_ENABLE_FUNCTION_HOOKS=1`). Claude's general-purpose subagents
|
|
30
|
+
are routed to the pool with spare quota through `bullswarm run --no-caller`
|
|
31
|
+
and answered with the verified output; the verdict of every `bullswarm run`
|
|
32
|
+
and `workflow goal` the model runs is appended to its Bash result; the pool
|
|
33
|
+
meters are named in the model's context; a strip above the prompt lists
|
|
34
|
+
the ongoing workflow runs; and a docked pane shows one run as
|
|
35
|
+
`bullswarm workflow tui` draws it, every step a button that opens the
|
|
36
|
+
step laid out as the TUI's agent panel. `/bullswarm pools|status|on|off|
|
|
37
|
+
refresh|runs|pane|open <step> [run]|routed` answer from the mod; anything
|
|
38
|
+
else still reaches the packaged skill. The pool rows draw a white mark
|
|
39
|
+
where the window's elapsed time falls, and `usage` in the pane's bottom
|
|
40
|
+
nav opens a page with every meter window of every pool, its reset time
|
|
41
|
+
and pace, the credit meter where there is one, and every pool × tier rung
|
|
42
|
+
with its model, reasoning and record, grouped by lane or by provider. A
|
|
43
|
+
`route` tool lets the model switch routing when the person asks. Pool
|
|
44
|
+
display names come from the
|
|
45
|
+
`poolAliases` option; `strip` picks `runs`, `full` or `off`.
|
|
46
|
+
- integrate: `bullswarm integrate install --agents claude --yes` also links
|
|
47
|
+
the mod under `~/.claude/skills/bullswarm-mod` and sets
|
|
48
|
+
`env.CLAUDE_CODE_ENABLE_FUNCTION_HOOKS` to `"1"` in `~/.claude/settings.json`;
|
|
49
|
+
`status` reports both and `remove` undoes both. A `settings.json` that is
|
|
50
|
+
not a JSON object is left alone and reported. `.claude-plugin/marketplace.json`
|
|
51
|
+
at the repository root makes `claude plugin marketplace add Bulls-Work/bullswarm`
|
|
52
|
+
and `claude plugin install bullswarm@bullswarm` work too.
|
|
53
|
+
- workflow tui: the Preflight milestone now states the accepted goal (wrapped)
|
|
54
|
+
with the paths of `goal.json` and `initial-planner-response.json`, and the
|
|
55
|
+
planner milestone says how many actions in how many dependency levels the
|
|
56
|
+
plan has. The Live section lists the planner only while it is planning;
|
|
57
|
+
the "waiting for N workers" planner row and the "· N waiting" count are
|
|
58
|
+
gone, since Next already says that. The first plan's own milestone is gone
|
|
59
|
+
too: the levels that follow it say what it planned; plan revisions and
|
|
60
|
+
rejected planning attempts still appear. A goal with several lines wraps
|
|
61
|
+
line by line instead of carrying a line break inside one row. `workflow tui <run> --overview
|
|
62
|
+
[--width <cols>] [--height <rows>]` prints one overview frame (or `--json`)
|
|
63
|
+
for a caller that draws its own.
|
|
64
|
+
- docs: the documentation site is now a VitePress site under `docs-site/`,
|
|
65
|
+
built from `docs/` and deployed to GitHub Pages by
|
|
66
|
+
`.github/workflows/docs.yml` at https://bulls-work.github.io/bullswarm/.
|
|
67
|
+
Guide (introduction, getting started, concepts, run, workflows, observing,
|
|
68
|
+
routing), Reference (CLI, workflow program, configuration, providers,
|
|
69
|
+
result envelope) and Integrations (Claude Code, Codex and Grok, issue
|
|
70
|
+
watcher) replace the Jekyll pages; the historical notes are indexed under
|
|
71
|
+
`/notes/`. `tests/unknown-flags.test.js` now checks every command form on
|
|
72
|
+
the new pages against the CLI.
|
|
73
|
+
|
|
74
|
+
## 0.30.0 — a run never waits: it finishes and hands back what is left
|
|
75
|
+
|
|
76
|
+
- workflow: a run no longer waits for anyone. Every point where a
|
|
77
|
+
caller-planned run used to hold now finishes it and hands the decision
|
|
78
|
+
back: a `--scout` run with no program, a launch program the kernel could not
|
|
79
|
+
accept, requirements still open with nothing left to run, and steering still
|
|
80
|
+
unread when the last step ended. In a study of 41 caller runs on a real
|
|
81
|
+
project (2026-09-14), one run sat 197 minutes waiting for a caller that had
|
|
82
|
+
moved on.
|
|
83
|
+
- result: a new optional `handback` field lists every unfinished step with its
|
|
84
|
+
failure kind, its reason, whether a plain resume runs it again, and
|
|
85
|
+
`retryAfter` when every pool that could run it was paused; every open
|
|
86
|
+
requirement with its latest reason; and steering nobody acted on.
|
|
87
|
+
`runs result --summary` adds `handback.options`, one command each to
|
|
88
|
+
continue (plan revise), retry (resume), take over, or restart. Results
|
|
89
|
+
written before 0.30.0 still validate, and their summaries derive the same
|
|
90
|
+
view.
|
|
91
|
+
- result: the reason line says what happened. "all program actions finished
|
|
92
|
+
successfully; consult evidence for verification" read as success on runs
|
|
93
|
+
whose check had failed the work. It now reads, for example, "all 4 steps
|
|
94
|
+
succeeded, but not verified: requirement-2 failed — requirement-2: …" or "2
|
|
95
|
+
of 5 steps did not succeed: build-api failed (stalled), …". A long finding
|
|
96
|
+
quoted there is cut between words and ends in `…`; the full text is in the
|
|
97
|
+
requirement's `why`.
|
|
98
|
+
- summary: an open requirement's `why` is no longer blanked to fit the 4 KB
|
|
99
|
+
budget. Concerns, per-step detail and output names shrink first, and a
|
|
100
|
+
passed requirement carries no `why`. The same study found `why` blank in 6
|
|
101
|
+
of 10 unverified runs.
|
|
102
|
+
- watch: a finished run prints `outcome: <status> · verified|not verified`,
|
|
103
|
+
`reason:`, one line per unfinished step and open requirement, unread
|
|
104
|
+
steering, and `your call:` with the command for each option. A `--jsonl`
|
|
105
|
+
`finished` object carries `verified`, `reason` and `handback`.
|
|
106
|
+
- resume: `workflow resume` on a finished run is a retry. It reopens the run
|
|
107
|
+
for pending and cancelled steps, failed steps whose kind a retry fixes
|
|
108
|
+
(`provider`, `quota`, `auth`, `process`, `unavailable`, `interrupted`,
|
|
109
|
+
`runtime`, `schema`, `stalled`) and the steps blocked behind them, moves the
|
|
110
|
+
result to `result-before-resume-<n>.json`, and relaunches. With nothing
|
|
111
|
+
retryable it prints `nothing to retry`, starts nothing, and exits 1.
|
|
112
|
+
- dispatch: with no pool able to run a step, the step fails at once and says
|
|
113
|
+
which case it is: every capable pool is paused until a time (recorded as
|
|
114
|
+
`retryAfter`), the pinned pool cannot run that lane and effort, or no enabled
|
|
115
|
+
pool has a model on that tier.
|
|
116
|
+
- workers: a worker that writes nothing for 60 minutes is stopped and fails as
|
|
117
|
+
`stalled`, a mechanical failure retried once. The clock restarts on every
|
|
118
|
+
byte, so a long step that keeps working is never cut off.
|
|
119
|
+
`BULLSWARM_WORKER_SILENCE_SEC` sets the limit.
|
|
120
|
+
- kernel: a kernel that throws marks its run `interrupted` with `kernel
|
|
121
|
+
stopped on an error: <message>` instead of leaving it claiming to run, and
|
|
122
|
+
`runs show` reports a run whose kernel died as `interrupted`, with the
|
|
123
|
+
reason and the resume command.
|
|
124
|
+
- validate: an `ownedFiles` entry naming a directory (`src/`, or an existing
|
|
125
|
+
`src`) or a glob is refused by `plan validate`, `workflow goal` and
|
|
126
|
+
`plan revise`; it used to pass and then stop the kernel right after launch.
|
|
127
|
+
A pinned worker pool that cannot run a step's lane and effort is refused
|
|
128
|
+
before launch. A new advisory, `requirement-unchecked`, names requirements
|
|
129
|
+
no step checks.
|
|
130
|
+
- legacy: runs an older version left waiting still accept `plan show` and
|
|
131
|
+
`plan submit`; `workflow resume` now finishes them with a handback instead
|
|
132
|
+
of pausing again.
|
|
133
|
+
|
|
3
134
|
## 0.29.1 — a revised cancelled run runs its cancelled steps again
|
|
4
135
|
|
|
5
136
|
- workflow: revising a cancelled run reopened it but left every step the
|
package/README.md
CHANGED
|
@@ -43,12 +43,53 @@ version in place (`bullswarm update --check` only reports). Requires Node.js
|
|
|
43
43
|
22.12 or later. `bullswarm setup` walks through detecting your
|
|
44
44
|
installed agent CLIs, showing their quota state, and writing a routing
|
|
45
45
|
configuration. See
|
|
46
|
-
[Getting started](https://
|
|
46
|
+
[Getting started](https://bulls-work.github.io/bullswarm/guide/getting-started)
|
|
47
47
|
for integrating Bullswarm's skill into Codex, Claude, and Grok, and for the
|
|
48
48
|
full quick-start command list.
|
|
49
49
|
|
|
50
|
+
## Claude Mod (early access)
|
|
51
|
+
|
|
52
|
+
`mods/bullswarm` is the same routing injected into Claude Code's own engine
|
|
53
|
+
as a Claude Mod (a plugin of TypeScript function hooks, behind
|
|
54
|
+
`CLAUDE_CODE_ENABLE_FUNCTION_HOOKS=1`): the pool meters drawn above the
|
|
55
|
+
prompt, the pools named in the model's context, Claude's general-purpose
|
|
56
|
+
subagents routed to whichever pool has surplus and answered with the
|
|
57
|
+
verified output, and the verdict appended to every `bullswarm run` the model
|
|
58
|
+
runs. The Mod is the dashboard's read-only counterpart: the same Run, Step and
|
|
59
|
+
Usage pages in the same meter colours, with no edit or install action. See
|
|
60
|
+
[mods/bullswarm/README.md](mods/bullswarm/README.md).
|
|
61
|
+
|
|
62
|
+
Three ways to load it:
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
# with the CLI: links the mod under ~/.claude/skills and sets the flag in ~/.claude/settings.json
|
|
66
|
+
bullswarm integrate install --agents claude --yes
|
|
67
|
+
|
|
68
|
+
# from Claude Code's plugin marketplace (a copy that `claude plugin update` refreshes)
|
|
69
|
+
claude plugin marketplace add Bulls-Work/bullswarm
|
|
70
|
+
claude plugin install bullswarm@bullswarm
|
|
71
|
+
|
|
72
|
+
# one session only, from the installed package
|
|
73
|
+
CLAUDE_CODE_ENABLE_FUNCTION_HOOKS=1 claude --plugin-dir "$(npm root -g)/bullswarm/mods/bullswarm"
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
The marketplace route still needs `CLAUDE_CODE_ENABLE_FUNCTION_HOOKS=1`, in
|
|
77
|
+
the shell or under `env` in `~/.claude/settings.json`, and the `bullswarm`
|
|
78
|
+
CLI on `PATH`. Pick one route: an installed marketplace copy takes precedence
|
|
79
|
+
over the skills-dir link, and Claude says so at startup.
|
|
80
|
+
|
|
50
81
|
## Quick start
|
|
51
82
|
|
|
83
|
+
Once setup is complete, bare `bullswarm` opens the dashboard on its Home page.
|
|
84
|
+
Use `bullswarm --setup` or `bullswarm setup` to open setup again, and use
|
|
85
|
+
`bullswarm workflow tui` when you want the explicit dashboard command. The
|
|
86
|
+
pages are Home, Run, Step, Usage, and Help. A sticky header and bottom nav
|
|
87
|
+
(`[ 1.<run> ] … [ usage ] [ help ] [ quit ]`, each button's key
|
|
88
|
+
underlined inside its label) carry `q` (quit),
|
|
89
|
+
`h` or `?` (help), `u` (usage), `e` (edit), `i` (install), `l`/`p` (Usage tabs), arrows or
|
|
90
|
+
PgUp/PgDn (scroll), and Enter; click any button, tab, run or step, or use the
|
|
91
|
+
wheel to scroll.
|
|
92
|
+
|
|
52
93
|
One bounded outcome — a task with a clear finish line:
|
|
53
94
|
|
|
54
95
|
```bash
|
|
@@ -107,7 +148,7 @@ instead.
|
|
|
107
148
|
and never retried early.
|
|
108
149
|
|
|
109
150
|
The full mechanics behind each of these are in
|
|
110
|
-
[Routing](https://
|
|
151
|
+
[Routing](https://bulls-work.github.io/bullswarm/guide/routing).
|
|
111
152
|
|
|
112
153
|
## What you get back
|
|
113
154
|
|
|
@@ -121,7 +162,7 @@ The full mechanics behind each of these are in
|
|
|
121
162
|
content still verified; read it before re-running
|
|
122
163
|
|
|
123
164
|
A non-zero exit from the delegate is never treated as success on its own. See
|
|
124
|
-
[
|
|
165
|
+
[Result envelope](https://bulls-work.github.io/bullswarm/reference/result) for the full
|
|
125
166
|
verdict shape.
|
|
126
167
|
|
|
127
168
|
A workflow produces a durable, versioned result envelope — a JSON document
|
|
@@ -137,29 +178,37 @@ bullswarm workflow runs result <shortId> --json --summary # compact status once
|
|
|
137
178
|
the exact flags to keep polling; `runs result --summary` is what to read once
|
|
138
179
|
a run finishes, and `runs result --json` (no `--summary`) gives the full
|
|
139
180
|
envelope for a failed or partial run. See
|
|
140
|
-
[
|
|
181
|
+
[Observing runs](https://bulls-work.github.io/bullswarm/guide/observing) for the
|
|
141
182
|
full shape of both.
|
|
142
183
|
|
|
143
184
|
## Documentation
|
|
144
185
|
|
|
145
186
|
The full documentation is published at
|
|
146
|
-
[
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
187
|
+
[bulls-work.github.io/bullswarm](https://bulls-work.github.io/bullswarm/).
|
|
188
|
+
|
|
189
|
+
The dashboard is the main screen after setup: bare `bullswarm` opens Home,
|
|
190
|
+
`bullswarm --setup` or `bullswarm setup` opens setup, and
|
|
191
|
+
`bullswarm workflow tui` is the explicit form. The [Observing runs](https://bulls-work.github.io/bullswarm/guide/observing)
|
|
192
|
+
page maps its pages, keys, and mouse controls.
|
|
150
193
|
|
|
151
194
|
| Page | What it covers |
|
|
152
195
|
|---|---|
|
|
153
|
-
| [
|
|
154
|
-
| [
|
|
155
|
-
| [
|
|
156
|
-
| [
|
|
157
|
-
| [Workflows](https://
|
|
158
|
-
| [
|
|
159
|
-
| [
|
|
160
|
-
| [
|
|
161
|
-
| [
|
|
162
|
-
| [
|
|
196
|
+
| [Introduction](https://bulls-work.github.io/bullswarm/guide/) | What Bullswarm is, the two entry points, and the four rules it never breaks |
|
|
197
|
+
| [Getting started](https://bulls-work.github.io/bullswarm/guide/getting-started) | Install, `setup`, `doctor`, agent integration, and your first verified run |
|
|
198
|
+
| [Concepts](https://bulls-work.github.io/bullswarm/guide/concepts) | Pools, lanes, surplus, the two windows, verdicts, quarantine, and the run directory |
|
|
199
|
+
| [Run one task](https://bulls-work.github.io/bullswarm/guide/run) | Every `bullswarm run` option, and what each verdict asks you to do |
|
|
200
|
+
| [Workflows](https://bulls-work.github.io/bullswarm/guide/workflows) | Authoring the program `workflow goal` executes: territories, dependencies, integration, acceptance |
|
|
201
|
+
| [Observing runs](https://bulls-work.github.io/bullswarm/guide/observing) | `workflow watch`, the Home/Run/Step/Usage/Help dashboard pages, keys, mouse, and terminal glyphs |
|
|
202
|
+
| [Routing](https://bulls-work.github.io/bullswarm/guide/routing) | How a pool is picked: pace, 5-hour headroom, urgency, load, quarantine |
|
|
203
|
+
| [CLI reference](https://bulls-work.github.io/bullswarm/reference/cli) | Every verb and nested subcommand, with its flags and defaults |
|
|
204
|
+
| [Workflow program](https://bulls-work.github.io/bullswarm/reference/program) | The `bullswarm.workflow.program.v2` document: action fields, kinds, validation rules |
|
|
205
|
+
| [Configuration](https://bulls-work.github.io/bullswarm/reference/configuration) | The Bullswarm home, `state.json`, strategy models and rungs, environment variables |
|
|
206
|
+
| [Providers](https://bulls-work.github.io/bullswarm/reference/providers) | Adding your own agent CLI or reseller account as a provider plugin |
|
|
207
|
+
| [Result envelope](https://bulls-work.github.io/bullswarm/reference/result) | Every field of `run --json` and of the workflow result document |
|
|
208
|
+
| [Claude Code](https://bulls-work.github.io/bullswarm/integrations/claude-code) | The packaged skill, the MCP server, and the read-only Claude Mod counterpart under `mods/bullswarm` |
|
|
209
|
+
| [Codex and Grok](https://bulls-work.github.io/bullswarm/integrations/agent-clis) | What `bullswarm integrate` writes for each agent CLI, and how to check it |
|
|
210
|
+
| [Issue watcher](https://bulls-work.github.io/bullswarm/integrations/issue-watcher) | The launchd agent that triages and fixes new GitHub issues |
|
|
211
|
+
| [Historical notes](https://bulls-work.github.io/bullswarm/notes/) | Working notes, audits, and experiment writeups, kept as records |
|
|
163
212
|
|
|
164
213
|
## License
|
|
165
214
|
|