@gobing-ai/spur 0.3.81 → 0.3.83
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/.claude-plugin/marketplace.json +1 -1
- package/config/config.example.yaml +19 -17
- package/config/config.global.yaml +6 -3
- package/config/templates/docs/99_PROJECT_CONSTITUTION.md +75 -13
- package/config/transition-shims.json +0 -7
- package/package.json +1 -1
- package/plugins/sp/README.md +19 -13
- package/plugins/sp/agents/expert-spur.md +3 -3
- package/plugins/sp/lib/idea-handoff.generated.mjs +84 -56
- package/plugins/sp/plugin.json +1 -1
- package/plugins/sp/scripts/inline-run-setup.ts +69 -1
- package/plugins/sp/scripts/quality-gate.mjs +52 -1
- package/plugins/sp/scripts/quality-gate.ts +70 -0
- package/plugins/sp/scripts/surface-drift-inventory.ts +0 -2
- package/plugins/sp/scripts/task-size-precheck.ts +44 -16
- package/plugins/sp/scripts/verify-answer-lint.ts +17 -1
- package/plugins/sp/skills/code-review/references/review-lenses.md +3 -0
- package/plugins/sp/skills/spur-cli/SKILL.md +4 -8
- package/plugins/sp/skills/spur-cli/references/agent.md +30 -97
- package/plugins/sp/skills/spur-cli/references/message.md +1 -1
- package/plugins/sp/skills/spur-cli/references/projects.md +7 -27
- package/plugins/sp/skills/spur-cli/references/self.md +2 -2
- package/plugins/sp/skills/spur-cli/references/serve.md +4 -4
- package/plugins/sp/skills/spur-cli/references/tasks.md +1 -1
- package/plugins/sp/skills/spur-composer/SKILL.md +3 -3
- package/plugins/sp/skills/spur-dev/references/ac-style-guide.md +10 -0
- package/plugins/sp/skills/spur-dev/references/execution-batch.md +1 -1
- package/plugins/sp/skills/spur-dev/references/execution-workflow.md +4 -6
- package/plugins/sp/skills/spur-dev/references/glossary.md +1 -1
- package/plugins/sp/skills/spur-dev/references/inline-pipeline-driver.md +11 -1
- package/plugins/sp/skills/spur-doctor/SKILL.md +2 -2
- package/schemas/spur-config.schema.json +61 -85
- package/spur.js +3621 -4861
- package/web/_astro/BoardApp.D-WlxiN2.js +1 -0
- package/web/_astro/{BoardApp.B1U26g3I.js → BoardApp.D8bM9pKL.js} +73 -73
- package/web/_astro/{TaskDetail.DwPqpq7v.js → TaskDetail.BPRqgVUE.js} +1 -1
- package/web/_astro/{arc.CweZEjN2.js → arc.BPrPES3z.js} +1 -1
- package/web/_astro/{architectureDiagram-3BPJPVTR.D89pbDuv.js → architectureDiagram-3BPJPVTR.qX_7q02P.js} +1 -1
- package/web/_astro/{blockDiagram-GPEHLZMM.BOuTeEpX.js → blockDiagram-GPEHLZMM.CUZfj5V7.js} +1 -1
- package/web/_astro/{c4Diagram-AAUBKEIU.CASbkWZF.js → c4Diagram-AAUBKEIU.CTaOr8hH.js} +1 -1
- package/web/_astro/channel.DGZaFHZx.js +1 -0
- package/web/_astro/{chunk-2J33WTMH.BKQYtOvY.js → chunk-2J33WTMH.Dt-9wf3h.js} +1 -1
- package/web/_astro/{chunk-4BX2VUAB.9sHLdMtG.js → chunk-4BX2VUAB.CTC2sdoN.js} +1 -1
- package/web/_astro/{chunk-55IACEB6.wOLXWlPs.js → chunk-55IACEB6.DQcxt2_g.js} +1 -1
- package/web/_astro/{chunk-727SXJPM.DovFbwg3.js → chunk-727SXJPM.DXFPSn-a.js} +1 -1
- package/web/_astro/{chunk-AQP2D5EJ.B1Weod1X.js → chunk-AQP2D5EJ.BCx3U4bT.js} +1 -1
- package/web/_astro/{chunk-FMBD7UC4.TEMS04st.js → chunk-FMBD7UC4.DL2tJkdO.js} +1 -1
- package/web/_astro/{chunk-ND2GUHAM.Cp8VT1wQ.js → chunk-ND2GUHAM.DZyflMro.js} +1 -1
- package/web/_astro/{chunk-QZHKN3VN.BzATdEcP.js → chunk-QZHKN3VN.CUI2mT09.js} +1 -1
- package/web/_astro/{classDiagram-4FO5ZUOK.C9BOCfAO.js → classDiagram-4FO5ZUOK.g4rX4Fr1.js} +1 -1
- package/web/_astro/{classDiagram-v2-Q7XG4LA2.C9BOCfAO.js → classDiagram-v2-Q7XG4LA2.g4rX4Fr1.js} +1 -1
- package/web/_astro/{cose-bilkent-S5V4N54A.DUnr4UAw.js → cose-bilkent-S5V4N54A.CzWJLqp0.js} +1 -1
- package/web/_astro/{cynefin-OW5HDTMX.rYq5uM3D.js → cynefin-OW5HDTMX.WgsvQeCR.js} +1 -1
- package/web/_astro/{dagre-BM42HDAG.CWeNKe3I.js → dagre-BM42HDAG.Dzv6ngql.js} +1 -1
- package/web/_astro/{diagram-2AECGRRQ.DCkfls10.js → diagram-2AECGRRQ.CpJ4a9rU.js} +1 -1
- package/web/_astro/{diagram-5GNKFQAL.D5U4JCka.js → diagram-5GNKFQAL.CzPlF_dq.js} +1 -1
- package/web/_astro/{diagram-KO2AKTUF.BZJgqaqG.js → diagram-KO2AKTUF.TAkZNTcQ.js} +1 -1
- package/web/_astro/{diagram-LMA3HP47.DoMeHvPR.js → diagram-LMA3HP47.uCjoKSag.js} +1 -1
- package/web/_astro/{diagram-OG6HWLK6.B50qwwWX.js → diagram-OG6HWLK6.eMplIjoK.js} +1 -1
- package/web/_astro/{erDiagram-TEJ5UH35.DdGPG6LK.js → erDiagram-TEJ5UH35.Bf7zoXGz.js} +1 -1
- package/web/_astro/{flowDiagram-I6XJVG4X.QP2MJ12u.js → flowDiagram-I6XJVG4X.B_bHj3gN.js} +1 -1
- package/web/_astro/{ganttDiagram-6RSMTGT7.BI6LgKSy.js → ganttDiagram-6RSMTGT7.BasrHRMj.js} +1 -1
- package/web/_astro/{gitGraphDiagram-PVQCEYII.npPZiC2G.js → gitGraphDiagram-PVQCEYII.C6iphq1x.js} +1 -1
- package/web/_astro/{infoDiagram-5YYISTIA.DCJCBVbp.js → infoDiagram-5YYISTIA.HXmDMhW4.js} +1 -1
- package/web/_astro/{ishikawaDiagram-YF4QCWOH.BMLV-3I1.js → ishikawaDiagram-YF4QCWOH.BSmW8NiU.js} +1 -1
- package/web/_astro/{journeyDiagram-JHISSGLW.LE58crde.js → journeyDiagram-JHISSGLW.DEQow5fo.js} +1 -1
- package/web/_astro/{kanban-definition-UN3LZRKU.BPbz8rH9.js → kanban-definition-UN3LZRKU.IVm9cTdc.js} +1 -1
- package/web/_astro/{linear.DhZaBtYh.js → linear.CrsM73_9.js} +1 -1
- package/web/_astro/{mermaid.core.BD5-jXum.js → mermaid.core.CfBeDJls.js} +4 -4
- package/web/_astro/{mindmap-definition-RKZ34NQL.MTJyrQ65.js → mindmap-definition-RKZ34NQL.C3j60Y-0.js} +1 -1
- package/web/_astro/{pieDiagram-4H26LBE5.BrDhDvIS.js → pieDiagram-4H26LBE5.B-aCMeEA.js} +1 -1
- package/web/_astro/{quadrantDiagram-W4KKPZXB.71d73_5N.js → quadrantDiagram-W4KKPZXB.Cib965yq.js} +1 -1
- package/web/_astro/{requirementDiagram-4Y6WPE33.Bga6UF-z.js → requirementDiagram-4Y6WPE33.D61cS4O-.js} +1 -1
- package/web/_astro/{sankeyDiagram-5OEKKPKP.BnHs4K82.js → sankeyDiagram-5OEKKPKP.GKF2qVPy.js} +1 -1
- package/web/_astro/{sequenceDiagram-3UESZ5HK.DsfY2gnj.js → sequenceDiagram-3UESZ5HK.DZnq8F2h.js} +1 -1
- package/web/_astro/{stateDiagram-AJRCARHV.DvsTSc9a.js → stateDiagram-AJRCARHV.DXUFmdgM.js} +1 -1
- package/web/_astro/{stateDiagram-v2-BHNVJYJU.DxzzmHUR.js → stateDiagram-v2-BHNVJYJU.BtHmhLEz.js} +1 -1
- package/web/_astro/{timeline-definition-PNZ67QCA.4ZuQmOTt.js → timeline-definition-PNZ67QCA.Cy-WW2ln.js} +1 -1
- package/web/_astro/{vennDiagram-CIIHVFJN.Ck5Q86SG.js → vennDiagram-CIIHVFJN.SLp5b9KI.js} +1 -1
- package/web/_astro/{wardleyDiagram-YWT4CUSO.BK7k2hXr.js → wardleyDiagram-YWT4CUSO.Bww45mWV.js} +1 -1
- package/web/_astro/{xychartDiagram-2RQKCTM6.DfCrgauK.js → xychartDiagram-2RQKCTM6.DR4swI6a.js} +1 -1
- package/web/apple-touch-icon.png +0 -0
- package/web/favicon.ico +0 -0
- package/web/favicon.svg +17 -4
- package/web/icon-192.png +0 -0
- package/web/icon-512.png +0 -0
- package/web/index.html +2 -2
- package/web/site.webmanifest +31 -0
- package/web/spur_logo.svg +1 -0
- package/plugins/README.md +0 -656
- package/plugins/sp/skills/spur-cli/references/team.md +0 -165
- package/web/_astro/BoardApp.Csgyg-lS.js +0 -1
- package/web/_astro/channel.Cx6sXxhq.js +0 -1
|
@@ -1,165 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: spur-cli-team
|
|
3
|
-
description: "spur-cli noun reference: operate `spur team` as the team coordination surface - assign agents to tasks, inspect grouped status, materialize and tear down team rosters, and start/stop supervised agent processes. The lifecycle layer over `spur agent` specs."
|
|
4
|
-
see_also:
|
|
5
|
-
- spur-cli
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# spur team - team coordination and supervision (DEPRECATED — 0848)
|
|
9
|
-
|
|
10
|
-
> **Deprecated (0848, feature G64):** every `spur team` capability has moved to its owning noun.
|
|
11
|
-
> The noun keeps working until the G64 cutover window is recorded, emitting a one-time stderr
|
|
12
|
-
> warning per process. Migrate invocations now:
|
|
13
|
-
>
|
|
14
|
-
> | Old verb | New home |
|
|
15
|
-
> | --- | --- |
|
|
16
|
-
> | `spur team assign <task-id> <agent-id>` | `spur task update <wbs> --assignee <spec-id>` |
|
|
17
|
-
> | `spur team status` | `spur agent list --specs` (same live-run merge) |
|
|
18
|
-
> | `spur team status --by-team` | dropped — one project has one fleet; `spur agent list --specs` is the single fleet listing |
|
|
19
|
-
> | `spur team up <team>` | fleet materialization at `spur serve` start (`.spur/fleet.json`); `up --check` diff → `spur projects list --fleet` |
|
|
20
|
-
> | `spur team down <team> [--purge]` | `spur agent stop <spec-id>` per member (`spur agent delete <id>` replaces `--purge`) |
|
|
21
|
-
> | `spur team start <agent-id>` | `spur agent start <spec-id>` |
|
|
22
|
-
> | `spur team stop <agent-id>` | `spur agent stop <spec-id>` |
|
|
23
|
-
|
|
24
|
-
> **Retiring:** `spur team` is a retiring surface for spur-* guidance. `sp:expert-spur`,
|
|
25
|
-
> `sp:spur-composer` and `sp:spur-doctor` forbid it, and coordination or recurring loops belong to
|
|
26
|
-
> `sp:super-planner` or a workflow. Reach agent specs through `spur agent ... --specs` and use
|
|
27
|
-
> `spur message` for coordination transport. This reference is retained for CLI parity while the
|
|
28
|
-
> noun still ships; do not build new guidance on it.
|
|
29
|
-
|
|
30
|
-
`spur team` is the CLI for **coordinating team agent assignments and supervision**. It sits above
|
|
31
|
-
`spur agent` specs: `up` / `down` materialize and tear down rosters, `start` / `stop` manage
|
|
32
|
-
supervised processes (requiring `spur serve`), `assign` wires tasks to agents, and `status` reports
|
|
33
|
-
the live picture.
|
|
34
|
-
|
|
35
|
-
This is a **companion reference**, not an orchestrator. It documents *what each verb is and how to
|
|
36
|
-
use it well*.
|
|
37
|
-
|
|
38
|
-
## Verb map
|
|
39
|
-
|
|
40
|
-
| Verb | Purpose | Key flags |
|
|
41
|
-
| ---- | ------- | --------- |
|
|
42
|
-
| `assign <task-id> <agent-id>` | Set the assignee on a task file | - |
|
|
43
|
-
| `status` | List agent specs and their run status; `--by-team` groups by team | `--by-team` `--server <url>` `--json` |
|
|
44
|
-
| `up <team>` | Materialize a team roster into specs; best-effort start | `--check` `--server <url>` `--json` |
|
|
45
|
-
| `down <team>` | Tear down a team: stop members; `--purge` removes generated specs | `--purge` `--server <url>` `--json` |
|
|
46
|
-
| `start <agent-id>` | Start a supervised agent process (requires `spur serve`) | `--server <url>` `--json` |
|
|
47
|
-
| `stop <agent-id>` | Stop a supervised agent process (requires `spur serve`) | `--server <url>` `--json` |
|
|
48
|
-
|
|
49
|
-
All verbs except the text-only `assign` accept `--json` and `--json-envelope`. `--server <url>` (default:
|
|
50
|
-
`http://localhost:3000/api`) targets the supervisor API started by `spur serve`. **Exit codes:** `0`
|
|
51
|
-
success, `1` error, `2` invalid usage.
|
|
52
|
-
|
|
53
|
-
## `assign` - wire a task to an agent
|
|
54
|
-
|
|
55
|
-
```bash
|
|
56
|
-
spur team assign 0040 worker-1
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
Sets the `assignee` field on the task file `<task-id>` to `<agent-id>`. This is the traceability edge
|
|
60
|
-
between the task corpus and the team roster - it records *who* is responsible, not *what* they run.
|
|
61
|
-
|
|
62
|
-
## `status` - agent specs and run state
|
|
63
|
-
|
|
64
|
-
```bash
|
|
65
|
-
spur team status # flat list
|
|
66
|
-
spur team status --by-team # grouped by team:<id> membership
|
|
67
|
-
spur team status --json # machine-readable
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
Lists agent specs and their live run status. When `spur serve` is reachable, enriches each spec with
|
|
71
|
-
the supervisor's process status (`running` / `stopped` / etc.); otherwise falls back to local spec
|
|
72
|
-
metadata. Each row carries the member's declared `role` (rendered `unset` when undeclared, 0544)
|
|
73
|
-
and the spec's `executor`. `--by-team` groups specs by their `agent.team.<id>` tag.
|
|
74
|
-
|
|
75
|
-
### Flags
|
|
76
|
-
|
|
77
|
-
| Flag | Purpose |
|
|
78
|
-
|------|---------|
|
|
79
|
-
| `--by-team` | Group specs by their `agent.team.<id>` membership (0258 R4). |
|
|
80
|
-
| `--server <url>` | Server API URL for live run status (default: `http://localhost:3000/api`). |
|
|
81
|
-
| `--json` | Output machine-readable JSON. |
|
|
82
|
-
|
|
83
|
-
## `up` - materialize a team roster
|
|
84
|
-
|
|
85
|
-
```bash
|
|
86
|
-
spur team up alpha # materialize + best-effort start
|
|
87
|
-
spur team up alpha --check # dry-run: show add/prune diff, no writes
|
|
88
|
-
spur team up alpha --json
|
|
89
|
-
```
|
|
90
|
-
|
|
91
|
-
Materializes the roster declared under `agent.team` in the project config for `<team>` into
|
|
92
|
-
`.spur/agents/` specs - adding missing specs and pruning stale `spur:generated` ones. **Role is
|
|
93
|
-
the primary axis (0543):** a member declares `role` (`scribe`/`coder`/`reviewer`/`planner`,
|
|
94
|
-
from `plugins/sp/references/roles.md`) and/or `executor`; a role-only member resolves an executor
|
|
95
|
-
through the shared tier ladder at materialization, and the written spec records both `role` and
|
|
96
|
-
the resolved `executor` so the decision is inspectable. A member declaring neither fails config
|
|
97
|
-
load naming the team and position. Local id stays `id ?? executor`; role-only members derive
|
|
98
|
-
`<role>-<n>` by declaration order. Generated specs carry the `agent.team.<team>` tag. When `spur serve` is
|
|
99
|
-
reachable, best-effort starts each member. `--check` is a dry-run that shows the add/prune diff
|
|
100
|
-
without writing.
|
|
101
|
-
|
|
102
|
-
### Flags
|
|
103
|
-
|
|
104
|
-
| Flag | Purpose |
|
|
105
|
-
|------|---------|
|
|
106
|
-
| `--check` | Dry-run: show the add/prune diff without writing. |
|
|
107
|
-
| `--server <url>` | Server API URL (default: `http://localhost:3000/api`). |
|
|
108
|
-
| `--json` | Output machine-readable JSON. |
|
|
109
|
-
|
|
110
|
-
## `down` - tear down a team
|
|
111
|
-
|
|
112
|
-
```bash
|
|
113
|
-
spur team down alpha # stop members
|
|
114
|
-
spur team down alpha --purge # also delete spur:generated specs
|
|
115
|
-
spur team down alpha --json
|
|
116
|
-
```
|
|
117
|
-
|
|
118
|
-
Stops all members of `<team>` via the supervisor. `--purge` also deletes specs marked `spur:generated`
|
|
119
|
-
(never manual or `ref:` specs) - use it to fully clean up a materialized roster.
|
|
120
|
-
|
|
121
|
-
### Flags
|
|
122
|
-
|
|
123
|
-
| Flag | Purpose |
|
|
124
|
-
|------|---------|
|
|
125
|
-
| `--purge` | Also delete `spur:generated` specs (never manual / `ref:`). |
|
|
126
|
-
| `--server <url>` | Server API URL (default: `http://localhost:3000/api`). |
|
|
127
|
-
| `--json` | Output machine-readable JSON. |
|
|
128
|
-
|
|
129
|
-
## `start` / `stop` - supervised process control
|
|
130
|
-
|
|
131
|
-
```bash
|
|
132
|
-
spur team start worker-1 # start supervised process
|
|
133
|
-
spur team stop worker-1 # stop supervised process
|
|
134
|
-
spur team start worker-1 --json
|
|
135
|
-
```
|
|
136
|
-
|
|
137
|
-
Start or stop a supervised agent process. **Requires `spur serve`** to be running - these verbs go
|
|
138
|
-
through the server's supervisor API (`POST /api/team/start`, `POST /api/team/stop`), not local
|
|
139
|
-
process spawning. The started process runs `spur agent loop --agent <id>` under supervision.
|
|
140
|
-
|
|
141
|
-
### Flags
|
|
142
|
-
|
|
143
|
-
| Flag | Purpose |
|
|
144
|
-
|------|---------|
|
|
145
|
-
| `--server <url>` | Server API URL (default: `http://localhost:3000/api`). |
|
|
146
|
-
| `--json` | Output machine-readable JSON. |
|
|
147
|
-
|
|
148
|
-
## What this skill is NOT
|
|
149
|
-
|
|
150
|
-
- **Not the agent runner.** `start` launches `spur agent loop` under supervision; the loop's
|
|
151
|
-
execution primitives are documented in **[agent.md](agent.md)**.
|
|
152
|
-
- **Not the message transport.** Team agents communicate via `spur message`; see
|
|
153
|
-
**[message.md](message.md)**.
|
|
154
|
-
|
|
155
|
-
## See also
|
|
156
|
-
|
|
157
|
-
- **`spur agent` (see [agent.md](agent.md))** - the execution primitives `team start` supervises.
|
|
158
|
-
- **`spur message` (see [message.md](message.md))** - the durable inbox team members drain.
|
|
159
|
-
- **`spur serve` (see [serve.md](serve.md))** - the local server `start`/`stop`/`status` require.
|
|
160
|
-
- **`sp:spur-cli`** SKILL.md - the facade that routes to this reference.
|
|
161
|
-
|
|
162
|
-
> **Shared option declarations (0618):** options shared across command modules resolve from
|
|
163
|
-
> `apps/cli/src/commands/shared-options.ts` (`SHARED_OPTIONS`). Never re-declare a shared flag
|
|
164
|
-
> inline in a command module — see SKILL.md "Shared option registry" and
|
|
165
|
-
> `docs/04_DESIGN.md` §1.0.1.
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{d as a}from"./BoardApp.B1U26g3I.js";import"./index.De90oHcH.js";export{a as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{ah as o,ai as n}from"./mermaid.core.BD5-jXum.js";const t=(a,r)=>o.lang.round(n.parse(a)[r]);export{t as c};
|