@shardworks/guild-starter-kit 0.1.41 → 0.1.43

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.
@@ -22,7 +22,7 @@ An anima is the fundamental unit of identity in the guild. Animas are animated b
22
22
 
23
23
  ### Standing vs. Commissioned
24
24
 
25
- - **Standing** animas persist on the roster indefinitely, called on by name. The advisor is a standing anima.
25
+ - **Standing** animas persist on the roster indefinitely, called on by name. The steward is a standing anima.
26
26
  - **Commissioned** animas are created for a specific commission and their tenure ends when the commission completes.
27
27
 
28
28
  ## Roles
@@ -33,8 +33,8 @@ This guild uses the following roles:
33
33
 
34
34
  | Role | Function |
35
35
  |------|----------|
36
- | **Advisor** | Helps the patron understand and use the guild. Answers questions, explains state, suggests actions. Does not implement. |
37
- | **Artificer** | Executes jobs — receives planned work and builds the thing. Works in workshops. |
36
+ | **Steward** | The patron's right hand. Advises on guild state and administers the guild manages the roster, workshops, commissions, tools, and the Clockworks. Does not build works. |
37
+ | **Artificer** | Executes jobs — receives planned work and builds the thing. Works in workshops. Plans and records strokes for progress tracking. |
38
38
  | **Sage** | Plans work. Decomposes commissions into pieces and jobs with concrete requirements. |
39
39
  | **Master Sage** | Senior sage. If active, reviews incoming commissions to determine scope and planning approach. |
40
40
 
@@ -52,29 +52,29 @@ Four commands manage the workshop lifecycle:
52
52
 
53
53
  | Command | What it does |
54
54
  |---------|-------------|
55
- | `nsg workshop add <url>` | Clone a remote repo and register it as a workshop |
55
+ | `nsg workshop register <url>` | Clone a remote repo and register it as a workshop |
56
56
  | `nsg workshop remove <name>` | Remove a workshop — deletes bare clone, worktrees, and guild.json entry |
57
57
  | `nsg workshop list` | List all workshops with clone status and active worktree count |
58
58
  | `nsg workshop create <org/name>` | Create a new GitHub repo and register it as a workshop |
59
59
 
60
- ### Adding an Existing Repository
60
+ ### Registering an Existing Repository
61
61
 
62
62
  When the patron has an existing repository they want the guild to work on:
63
63
 
64
64
  ```
65
- nsg workshop add https://github.com/org/my-app.git
65
+ nsg workshop register https://github.com/org/my-app.git
66
66
  ```
67
67
 
68
68
  This clones the repo as a bare clone into `.nexus/workshops/my-app.git` and adds it to `guild.json`. The workshop name is derived from the URL (the last path segment, minus `.git`). To use a custom name:
69
69
 
70
70
  ```
71
- nsg workshop add https://github.com/org/my-app.git --name frontend
71
+ nsg workshop register https://github.com/org/my-app.git --name frontend
72
72
  ```
73
73
 
74
74
  The repository must already exist and be accessible. SSH URLs work too:
75
75
 
76
76
  ```
77
- nsg workshop add git@github.com:org/my-app.git
77
+ nsg workshop register git@github.com:org/my-app.git
78
78
  ```
79
79
 
80
80
  ### Creating a New Repository
@@ -159,7 +159,7 @@ Not every commission becomes a work. A small commission might map directly to a
159
159
 
160
160
  ### Commission Lifecycle
161
161
 
162
- 1. **Posted** — the patron runs `nsg commission <spec> --workshop <name>`. This creates the commission in the Ledger and signals `commission.posted`.
162
+ 1. **Posted** — the patron runs `nsg commission create <spec> --workshop <name>`. This creates the commission in the Ledger and signals `commission.posted`.
163
163
  2. **Scope determined** — the Master Sage (if active) reviews the commission and determines whether it's a work (needs decomposition), a piece (needs planning into jobs), or a single job (ready for dispatch).
164
164
  3. **Planned** — for works and pieces, the sage decomposes and plans, producing concrete jobs with acceptance criteria.
165
165
  4. **Worktree prepared** — the `workshop-prepare` engine (triggered by `commission.posted`) creates a job branch and worktree, then signals `commission.ready`.
@@ -190,13 +190,13 @@ posted → in_progress → completed
190
190
 
191
191
  ## Sessions
192
192
 
193
- A session is a single manifestation of an anima — the span during which an anima is alive and working. Every interaction with an anima happens through a session, whether it's consulting the advisor, dispatching a job, or briefing an anima about an event.
193
+ A session is a single manifestation of an anima — the span during which an anima is alive and working. Every interaction with an anima happens through a session, whether it's consulting the steward, dispatching a job, or briefing an anima about an event.
194
194
 
195
195
  ### Session Triggers
196
196
 
197
197
  | Trigger | Meaning |
198
198
  |---------|---------|
199
- | **consult** | Interactive session with a standing anima (e.g., `nsg consult advisor`) |
199
+ | **consult** | Interactive session with a standing anima (e.g., `nsg consult steward`) |
200
200
  | **summon** | The anima is summoned by a standing order to act on an event — autonomous, directive |
201
201
  | **brief** | The anima is briefed by a standing order about an event — autonomous, informational |
202
202
 
@@ -237,14 +237,51 @@ For commissions, the `commission_sessions` join table links commissions to their
237
237
 
238
238
  ## Tools
239
239
 
240
- Tools that animas wield during work. Each tool ships with instructions delivered to the anima at manifest time. All tools are packaged in `@shardworks/nexus-stdlib`:
241
-
242
- - **install-tool** — install new tools, engines, or bundles into the guild
243
- - **remove-tool** — remove installed tools
244
- - **commission** — post commissions to the guild
245
- - **instantiate** — create new animas with assigned training and roles
240
+ Tools that animas wield during work. Each tool ships with instructions delivered to the anima at manifest time. Tools follow a `<noun>-<verb>` naming convention. All tools are packaged in `@shardworks/nexus-stdlib`:
241
+
242
+ ### Commission Tools
243
+ - **commission-create** — post a commission to the guild
244
+ - **commission-list** — list commissions with optional filters
245
+ - **commission-show** — show details of a specific commission
246
+ - **commission-update** — update a commission's status
247
+
248
+ ### Anima Tools
249
+ - **anima-create** — create a new anima with assigned training and roles
250
+ - **anima-list** — list animas with optional filters
251
+ - **anima-show** — show details of a specific anima
252
+ - **anima-update** — update an anima's status or roles
253
+ - **anima-remove** — remove an anima from the guild
254
+
255
+ ### Workshop Tools
256
+ - **workshop-create** — create a new GitHub repo and register as a workshop
257
+ - **workshop-register** — register an existing repo as a workshop
258
+ - **workshop-list** — list workshops with status
259
+ - **workshop-show** — show workshop details
260
+ - **workshop-remove** — remove a workshop
261
+
262
+ ### Tool Management
263
+ - **tool-install** — install new tools, engines, or bundles into the guild
264
+ - **tool-remove** — remove installed tools
265
+ - **tool-list** — list installed tools
266
+
267
+ ### Work Decomposition Tools
268
+ - **work-create** — create a work (top-level decomposition unit)
269
+ - **work-list** / **work-show** / **work-update** — manage works
270
+ - **piece-create** — create a piece (planning unit within a work)
271
+ - **piece-list** / **piece-show** / **piece-update** — manage pieces
272
+ - **job-create** — create a job (dispatch unit within a piece)
273
+ - **job-list** / **job-show** / **job-update** — manage jobs
274
+ - **stroke-create** — record a stroke (atomic action within a job)
275
+ - **stroke-list** / **stroke-show** / **stroke-update** — manage strokes
276
+
277
+ ### Clockworks Tools
278
+ - **clock-list** — show pending events
279
+ - **clock-tick** — process the next pending event
280
+ - **clock-run** — process all pending events
281
+
282
+ ### Utility Tools
283
+ - **signal** — signal a custom guild event for the Clockworks
246
284
  - **nexus-version** — report the installed Nexus framework version
247
- - **signal** — signal a custom guild event for the Clockworks (not included in the default bundle — must be installed separately)
248
285
 
249
286
  ### Engines
250
287
 
@@ -285,10 +322,14 @@ The guild's operational database (SQLite). Holds anima records, roster, commissi
285
322
  | `roster` | Active role assignments (filtered view of active animas) |
286
323
  | `commissions` | Commission records with status, content, and workshop |
287
324
  | `commission_assignments` | Which anima was assigned to which commission |
325
+ | `works` | Top-level work items linked to commissions |
326
+ | `pieces` | Pieces within works — independently plannable chunks |
327
+ | `jobs` | Dispatchable job assignments within pieces |
328
+ | `strokes` | Atomic actions within jobs — progress tracking |
288
329
  | `sessions` | Every session — anima, provider, trigger, metrics, cost |
289
330
  | `commission_sessions` | Links commissions to their sessions |
290
331
  | `events` | The Clockworks event queue — every event signaled |
291
- | `dispatches` | Standing order execution records |
332
+ | `event_dispatches` | Standing order execution records |
292
333
  | `audit_log` | Who did what, when |
293
334
 
294
335
  ## The Clockworks
@@ -350,8 +391,8 @@ Example `guild.json` configuration:
350
391
  { "on": "commission.posted", "run": "workshop-prepare" },
351
392
  { "on": "commission.ready", "summon": "artificer" },
352
393
  { "on": "commission.session.ended", "run": "workshop-merge" },
353
- { "on": "commission.failed", "brief": "advisor" },
354
- { "on": "code.reviewed", "brief": "advisor" }
394
+ { "on": "commission.failed", "brief": "steward" },
395
+ { "on": "code.reviewed", "brief": "steward" }
355
396
  ]
356
397
  }
357
398
  }
@@ -428,7 +469,7 @@ Since there are no standing orders, the event is marked as processed with no dis
428
469
  {
429
470
  "clockworks": {
430
471
  "standingOrders": [
431
- { "on": "hello.world", "brief": "advisor" }
472
+ { "on": "hello.world", "brief": "steward" }
432
473
  ]
433
474
  }
434
475
  }
@@ -441,7 +482,7 @@ nsg signal hello.world
441
482
  nsg clock tick
442
483
  ```
443
484
 
444
- The Clockworks matches the event to the standing order and dispatches it — the advisor is briefed.
485
+ The Clockworks matches the event to the standing order and dispatches it — the steward is briefed.
445
486
 
446
487
  ## Training
447
488
 
@@ -487,24 +528,62 @@ The command is idempotent — safe to run at any time. If everything is already
487
528
 
488
529
  ## CLI Reference
489
530
 
490
- The primary interface is the `nsg` command:
531
+ The primary interface is the `nsg` command, organized by noun groups:
491
532
 
533
+ ### Top-level Commands
492
534
  | Command | Purpose |
493
535
  |---------|---------|
494
536
  | `nsg init` | Create a new guild |
495
- | `nsg commission <spec> --workshop <name>` | Post a commission |
496
- | `nsg consult <name>` | Consult a standing anima (e.g., the advisor) |
537
+ | `nsg consult <name>` | Consult a standing anima (e.g., `nsg consult steward`) |
497
538
  | `nsg status` | Show guild status |
498
539
  | `nsg signal <name>` | Signal a custom guild event |
499
- | `nsg clock list` | Show pending events |
500
- | `nsg clock tick [id]` | Process next pending event (or specific id) |
501
- | `nsg clock run` | Process all pending events |
502
- | `nsg workshop add <url>` | Clone a remote repo and register it as a workshop |
503
- | `nsg workshop remove <name>` | Remove a workshop |
504
- | `nsg workshop list` | List workshops with status |
505
- | `nsg workshop create <org/name>` | Create a new GitHub repo and register as a workshop |
506
540
  | `nsg guild restore` | Restore runtime state after a fresh clone |
541
+
542
+ ### Commission
543
+ | Command | Purpose |
544
+ |---------|---------|
545
+ | `nsg commission create <spec> --workshop <name>` | Post a commission |
546
+ | `nsg commission list` | List commissions |
547
+ | `nsg commission show <id>` | Show commission details |
548
+ | `nsg commission update <id>` | Update a commission |
549
+
550
+ ### Anima
551
+ | Command | Purpose |
552
+ |---------|---------|
553
+ | `nsg anima create` | Create a new anima |
554
+ | `nsg anima list` | List animas |
555
+ | `nsg anima show <name>` | Show anima details |
556
+ | `nsg anima update <name>` | Update an anima |
557
+ | `nsg anima remove <name>` | Remove an anima |
558
+ | `nsg anima manifest <name>` | Generate an anima's full instructions (debug) |
559
+
560
+ ### Workshop
561
+ | Command | Purpose |
562
+ |---------|---------|
563
+ | `nsg workshop register <url>` | Register an existing repo as a workshop |
564
+ | `nsg workshop create <org/name>` | Create a new GitHub repo and register as a workshop |
565
+ | `nsg workshop list` | List workshops with status |
566
+ | `nsg workshop show <name>` | Show workshop details |
567
+ | `nsg workshop remove <name>` | Remove a workshop |
568
+
569
+ ### Tool
570
+ | Command | Purpose |
571
+ |---------|---------|
507
572
  | `nsg tool install <source>` | Install a tool or bundle |
508
573
  | `nsg tool remove <name>` | Remove an installed tool |
509
- | `nsg anima create` | Instantiate a new anima |
510
- | `nsg anima manifest <name>` | Generate an anima's full instructions |
574
+ | `nsg tool list` | List installed tools |
575
+
576
+ ### Work Decomposition
577
+ | Command | Purpose |
578
+ |---------|---------|
579
+ | `nsg work create/list/show/update` | Manage works |
580
+ | `nsg piece create/list/show/update` | Manage pieces |
581
+ | `nsg job create/list/show/update` | Manage jobs |
582
+ | `nsg stroke create/list/show/update` | Manage strokes |
583
+
584
+ ### Clockworks
585
+ | Command | Purpose |
586
+ |---------|---------|
587
+ | `nsg clock list` | Show pending events |
588
+ | `nsg clock tick [id]` | Process next pending event (or specific id) |
589
+ | `nsg clock run` | Process all pending events |
package/nexus-bundle.json CHANGED
@@ -22,6 +22,7 @@
22
22
  { "package": "@shardworks/nexus-stdlib@0.x", "name": "clock-tick" },
23
23
  { "package": "@shardworks/nexus-stdlib@0.x", "name": "clock-run" },
24
24
  { "package": "@shardworks/nexus-stdlib@0.x", "name": "nexus-version" },
25
+ { "package": "@shardworks/nexus-stdlib@0.x", "name": "signal" },
25
26
  { "package": "@shardworks/nexus-stdlib@0.x", "name": "work-create" },
26
27
  { "package": "@shardworks/nexus-stdlib@0.x", "name": "work-list" },
27
28
  { "package": "@shardworks/nexus-stdlib@0.x", "name": "work-show" },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shardworks/guild-starter-kit",
3
- "version": "0.1.41",
3
+ "version": "0.1.43",
4
4
  "description": "Default bundle for new Nexus guilds — tools, training, and migrations",
5
5
  "repository": {
6
6
  "type": "git",