@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.
Files changed (93) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/config/config.example.yaml +19 -17
  3. package/config/config.global.yaml +6 -3
  4. package/config/templates/docs/99_PROJECT_CONSTITUTION.md +75 -13
  5. package/config/transition-shims.json +0 -7
  6. package/package.json +1 -1
  7. package/plugins/sp/README.md +19 -13
  8. package/plugins/sp/agents/expert-spur.md +3 -3
  9. package/plugins/sp/lib/idea-handoff.generated.mjs +84 -56
  10. package/plugins/sp/plugin.json +1 -1
  11. package/plugins/sp/scripts/inline-run-setup.ts +69 -1
  12. package/plugins/sp/scripts/quality-gate.mjs +52 -1
  13. package/plugins/sp/scripts/quality-gate.ts +70 -0
  14. package/plugins/sp/scripts/surface-drift-inventory.ts +0 -2
  15. package/plugins/sp/scripts/task-size-precheck.ts +44 -16
  16. package/plugins/sp/scripts/verify-answer-lint.ts +17 -1
  17. package/plugins/sp/skills/code-review/references/review-lenses.md +3 -0
  18. package/plugins/sp/skills/spur-cli/SKILL.md +4 -8
  19. package/plugins/sp/skills/spur-cli/references/agent.md +30 -97
  20. package/plugins/sp/skills/spur-cli/references/message.md +1 -1
  21. package/plugins/sp/skills/spur-cli/references/projects.md +7 -27
  22. package/plugins/sp/skills/spur-cli/references/self.md +2 -2
  23. package/plugins/sp/skills/spur-cli/references/serve.md +4 -4
  24. package/plugins/sp/skills/spur-cli/references/tasks.md +1 -1
  25. package/plugins/sp/skills/spur-composer/SKILL.md +3 -3
  26. package/plugins/sp/skills/spur-dev/references/ac-style-guide.md +10 -0
  27. package/plugins/sp/skills/spur-dev/references/execution-batch.md +1 -1
  28. package/plugins/sp/skills/spur-dev/references/execution-workflow.md +4 -6
  29. package/plugins/sp/skills/spur-dev/references/glossary.md +1 -1
  30. package/plugins/sp/skills/spur-dev/references/inline-pipeline-driver.md +11 -1
  31. package/plugins/sp/skills/spur-doctor/SKILL.md +2 -2
  32. package/schemas/spur-config.schema.json +61 -85
  33. package/spur.js +3621 -4861
  34. package/web/_astro/BoardApp.D-WlxiN2.js +1 -0
  35. package/web/_astro/{BoardApp.B1U26g3I.js → BoardApp.D8bM9pKL.js} +73 -73
  36. package/web/_astro/{TaskDetail.DwPqpq7v.js → TaskDetail.BPRqgVUE.js} +1 -1
  37. package/web/_astro/{arc.CweZEjN2.js → arc.BPrPES3z.js} +1 -1
  38. package/web/_astro/{architectureDiagram-3BPJPVTR.D89pbDuv.js → architectureDiagram-3BPJPVTR.qX_7q02P.js} +1 -1
  39. package/web/_astro/{blockDiagram-GPEHLZMM.BOuTeEpX.js → blockDiagram-GPEHLZMM.CUZfj5V7.js} +1 -1
  40. package/web/_astro/{c4Diagram-AAUBKEIU.CASbkWZF.js → c4Diagram-AAUBKEIU.CTaOr8hH.js} +1 -1
  41. package/web/_astro/channel.DGZaFHZx.js +1 -0
  42. package/web/_astro/{chunk-2J33WTMH.BKQYtOvY.js → chunk-2J33WTMH.Dt-9wf3h.js} +1 -1
  43. package/web/_astro/{chunk-4BX2VUAB.9sHLdMtG.js → chunk-4BX2VUAB.CTC2sdoN.js} +1 -1
  44. package/web/_astro/{chunk-55IACEB6.wOLXWlPs.js → chunk-55IACEB6.DQcxt2_g.js} +1 -1
  45. package/web/_astro/{chunk-727SXJPM.DovFbwg3.js → chunk-727SXJPM.DXFPSn-a.js} +1 -1
  46. package/web/_astro/{chunk-AQP2D5EJ.B1Weod1X.js → chunk-AQP2D5EJ.BCx3U4bT.js} +1 -1
  47. package/web/_astro/{chunk-FMBD7UC4.TEMS04st.js → chunk-FMBD7UC4.DL2tJkdO.js} +1 -1
  48. package/web/_astro/{chunk-ND2GUHAM.Cp8VT1wQ.js → chunk-ND2GUHAM.DZyflMro.js} +1 -1
  49. package/web/_astro/{chunk-QZHKN3VN.BzATdEcP.js → chunk-QZHKN3VN.CUI2mT09.js} +1 -1
  50. package/web/_astro/{classDiagram-4FO5ZUOK.C9BOCfAO.js → classDiagram-4FO5ZUOK.g4rX4Fr1.js} +1 -1
  51. package/web/_astro/{classDiagram-v2-Q7XG4LA2.C9BOCfAO.js → classDiagram-v2-Q7XG4LA2.g4rX4Fr1.js} +1 -1
  52. package/web/_astro/{cose-bilkent-S5V4N54A.DUnr4UAw.js → cose-bilkent-S5V4N54A.CzWJLqp0.js} +1 -1
  53. package/web/_astro/{cynefin-OW5HDTMX.rYq5uM3D.js → cynefin-OW5HDTMX.WgsvQeCR.js} +1 -1
  54. package/web/_astro/{dagre-BM42HDAG.CWeNKe3I.js → dagre-BM42HDAG.Dzv6ngql.js} +1 -1
  55. package/web/_astro/{diagram-2AECGRRQ.DCkfls10.js → diagram-2AECGRRQ.CpJ4a9rU.js} +1 -1
  56. package/web/_astro/{diagram-5GNKFQAL.D5U4JCka.js → diagram-5GNKFQAL.CzPlF_dq.js} +1 -1
  57. package/web/_astro/{diagram-KO2AKTUF.BZJgqaqG.js → diagram-KO2AKTUF.TAkZNTcQ.js} +1 -1
  58. package/web/_astro/{diagram-LMA3HP47.DoMeHvPR.js → diagram-LMA3HP47.uCjoKSag.js} +1 -1
  59. package/web/_astro/{diagram-OG6HWLK6.B50qwwWX.js → diagram-OG6HWLK6.eMplIjoK.js} +1 -1
  60. package/web/_astro/{erDiagram-TEJ5UH35.DdGPG6LK.js → erDiagram-TEJ5UH35.Bf7zoXGz.js} +1 -1
  61. package/web/_astro/{flowDiagram-I6XJVG4X.QP2MJ12u.js → flowDiagram-I6XJVG4X.B_bHj3gN.js} +1 -1
  62. package/web/_astro/{ganttDiagram-6RSMTGT7.BI6LgKSy.js → ganttDiagram-6RSMTGT7.BasrHRMj.js} +1 -1
  63. package/web/_astro/{gitGraphDiagram-PVQCEYII.npPZiC2G.js → gitGraphDiagram-PVQCEYII.C6iphq1x.js} +1 -1
  64. package/web/_astro/{infoDiagram-5YYISTIA.DCJCBVbp.js → infoDiagram-5YYISTIA.HXmDMhW4.js} +1 -1
  65. package/web/_astro/{ishikawaDiagram-YF4QCWOH.BMLV-3I1.js → ishikawaDiagram-YF4QCWOH.BSmW8NiU.js} +1 -1
  66. package/web/_astro/{journeyDiagram-JHISSGLW.LE58crde.js → journeyDiagram-JHISSGLW.DEQow5fo.js} +1 -1
  67. package/web/_astro/{kanban-definition-UN3LZRKU.BPbz8rH9.js → kanban-definition-UN3LZRKU.IVm9cTdc.js} +1 -1
  68. package/web/_astro/{linear.DhZaBtYh.js → linear.CrsM73_9.js} +1 -1
  69. package/web/_astro/{mermaid.core.BD5-jXum.js → mermaid.core.CfBeDJls.js} +4 -4
  70. package/web/_astro/{mindmap-definition-RKZ34NQL.MTJyrQ65.js → mindmap-definition-RKZ34NQL.C3j60Y-0.js} +1 -1
  71. package/web/_astro/{pieDiagram-4H26LBE5.BrDhDvIS.js → pieDiagram-4H26LBE5.B-aCMeEA.js} +1 -1
  72. package/web/_astro/{quadrantDiagram-W4KKPZXB.71d73_5N.js → quadrantDiagram-W4KKPZXB.Cib965yq.js} +1 -1
  73. package/web/_astro/{requirementDiagram-4Y6WPE33.Bga6UF-z.js → requirementDiagram-4Y6WPE33.D61cS4O-.js} +1 -1
  74. package/web/_astro/{sankeyDiagram-5OEKKPKP.BnHs4K82.js → sankeyDiagram-5OEKKPKP.GKF2qVPy.js} +1 -1
  75. package/web/_astro/{sequenceDiagram-3UESZ5HK.DsfY2gnj.js → sequenceDiagram-3UESZ5HK.DZnq8F2h.js} +1 -1
  76. package/web/_astro/{stateDiagram-AJRCARHV.DvsTSc9a.js → stateDiagram-AJRCARHV.DXUFmdgM.js} +1 -1
  77. package/web/_astro/{stateDiagram-v2-BHNVJYJU.DxzzmHUR.js → stateDiagram-v2-BHNVJYJU.BtHmhLEz.js} +1 -1
  78. package/web/_astro/{timeline-definition-PNZ67QCA.4ZuQmOTt.js → timeline-definition-PNZ67QCA.Cy-WW2ln.js} +1 -1
  79. package/web/_astro/{vennDiagram-CIIHVFJN.Ck5Q86SG.js → vennDiagram-CIIHVFJN.SLp5b9KI.js} +1 -1
  80. package/web/_astro/{wardleyDiagram-YWT4CUSO.BK7k2hXr.js → wardleyDiagram-YWT4CUSO.Bww45mWV.js} +1 -1
  81. package/web/_astro/{xychartDiagram-2RQKCTM6.DfCrgauK.js → xychartDiagram-2RQKCTM6.DR4swI6a.js} +1 -1
  82. package/web/apple-touch-icon.png +0 -0
  83. package/web/favicon.ico +0 -0
  84. package/web/favicon.svg +17 -4
  85. package/web/icon-192.png +0 -0
  86. package/web/icon-512.png +0 -0
  87. package/web/index.html +2 -2
  88. package/web/site.webmanifest +31 -0
  89. package/web/spur_logo.svg +1 -0
  90. package/plugins/README.md +0 -656
  91. package/plugins/sp/skills/spur-cli/references/team.md +0 -165
  92. package/web/_astro/BoardApp.Csgyg-lS.js +0 -1
  93. 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};