astragentic 1.5.0 → 2.0.0-y

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/CHANGELOG.md ADDED
@@ -0,0 +1,10 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ ## [2.0.0-y] - 2026-01-05
6
+ - using Kanban for tasks management
7
+
8
+ ## [1.0.0] - 2026-01-05
9
+ - Initial release of Astragentic Installer.
10
+ - Automated installation of .claude and _astraler.
package/README.md CHANGED
@@ -49,9 +49,16 @@ When publishing manually from your local machine, **you do not need to manually
49
49
 
50
50
  The script will:
51
51
  - Update the version in `package.json`.
52
+ - **Prompt to update `CHANGELOG.md`** (optional).
52
53
  - Bundle the latest `devkit/claude-code` and `_astraler` content.
53
54
  - Ask for confirmation before running `npm publish`.
54
55
 
56
+ **Changelog & Non-interactive Mode:**
57
+ - To pass a changelog message automatically (e.g., in CI or fast mode):
58
+ ```bash
59
+ ./scripts/ship.sh 0.0.1 -y "Your changelog message here"
60
+ ```
61
+
55
62
  ### Automated Publishing (CI/CD)
56
63
 
57
64
  For CI/CD (like GitHub Actions), we use an automation token.
@@ -305,7 +305,10 @@ Generate ALL of these in one pass:
305
305
  - Webhooks (if found)
306
306
  - Confidence markers for inferred sections
307
307
 
308
- #### `atlas/tasks.md`
308
+ #### `atlas/6-backlog.md`
309
+ - Phases overview (Documentation → Tech Debt → New Features)
310
+ - Phase index table
311
+ - Per-phase backlog items (BL-*)
309
312
  - Documentation completion tasks
310
313
  - Technical debt identified
311
314
  - Suggested improvements
@@ -392,8 +395,9 @@ Mark sections with confidence:
392
395
  | `atlas/screens.md` (per domain) | `02-spec/domains/{domain}.md` (screens) |
393
396
  | `atlas/api.md` (cross-domain) | `02-spec/core/flows.md` |
394
397
  | `atlas/api.md` (per domain) | `02-spec/domains/{domain}.md` (API) |
395
- | `atlas/tasks.md` | `04-tasks/milestones.md` |
396
- | `atlas/tasks.md` (per domain) | `04-tasks/domains/{domain}.tasks.md` |
398
+ | `atlas/6-backlog.md` | `04-tasks/phases.md` |
399
+ | `atlas/6-backlog.md` (milestones) | `04-tasks/milestones.md` |
400
+ | `atlas/6-backlog.md` (per domain) | `04-tasks/domains/{domain}.tasks.md` (Kanban board) |
397
401
  | Scan results | `context/constraints.md` |
398
402
  | Clarification | `context/assumptions.md` |
399
403
  | Code analysis | `context/glossary.md` |
@@ -403,12 +407,13 @@ Mark sections with confidence:
403
407
  ```
404
408
  .astraler-docs/
405
409
  ├── _index.md
406
- ├── atlas/ # SOURCE (human-approved)
407
- │ ├── index.md
408
- │ ├── database.md
409
- │ ├── screens.md
410
- │ ├── api.md
411
- └── tasks.md
410
+ ├── atlas/ # SOURCE (human-approved, read 1→6)
411
+ │ ├── 1-overview.md
412
+ │ ├── 2-context.md
413
+ │ ├── 3-database.md
414
+ │ ├── 4-screens.md
415
+ ├── 5-api.md
416
+ │ └── 6-backlog.md # Phases + backlog items
412
417
 
413
418
  ├── 02-spec/ # AUTO-GENERATED from Atlas
414
419
  │ ├── _index.md
@@ -428,11 +433,12 @@ Mark sections with confidence:
428
433
  │ └── domains/
429
434
  │ └── {domain}.arch.md # One per detected domain
430
435
 
431
- ├── 04-tasks/ # AUTO-GENERATED from Atlas
436
+ ├── 04-tasks/ # AUTO-GENERATED from Atlas (Kanban)
432
437
  │ ├── _index.md
433
- │ ├── milestones.md
438
+ │ ├── phases.md # ← from atlas/6-backlog.md
439
+ │ ├── milestones.md # ← from atlas/6-backlog.md
434
440
  │ └── domains/
435
- │ └── {domain}.tasks.md # One per detected domain
441
+ │ └── {domain}.tasks.md # Kanban board + tasks
436
442
 
437
443
  ├── 05-changes/
438
444
  │ ├── _index.md
@@ -480,8 +486,10 @@ These sections need human validation:
480
486
  1. `03-arch/domains/payment.arch.md` — State machine inferred
481
487
  2. `02-spec/domains/order.md` — Business rules unclear
482
488
 
483
- ### Ready to Build
484
- - Start with: `04-tasks/domains/{first-priority-domain}.tasks.md`
489
+ ### Ready to Build (Kanban Flow)
490
+ - View phases: `04-tasks/phases.md` (PO visibility)
491
+ - View board: `/astra:board {domain}` (dev visibility)
492
+ - Pull next task: `/astra:board --next`
485
493
  - Validate: Low-confidence sections before implementation
486
494
  - Reference: `atlas/` for complete picture
487
495
  - Changes: Use `/astra:change` to modify approved docs
@@ -544,17 +552,20 @@ After expansion:
544
552
  - [ ] Business context provided
545
553
  - [ ] High-priority gaps resolved
546
554
 
547
- ### Phase 3: Atlas Complete
548
- - [ ] `atlas/index.md` — All domains, tech stack
549
- - [ ] `atlas/database.md` — All entities, relationships
550
- - [ ] `atlas/screens.md` — All screens (if UI)
551
- - [ ] `atlas/api.md` — All endpoints
552
- - [ ] `atlas/tasks.md` — Documentation + improvement tasks
555
+ ### Phase 3: Atlas Complete (read in order)
556
+ - [ ] `atlas/1-overview.md` — All domains, tech stack
557
+ - [ ] `atlas/2-context.md` — Constraints, assumptions, glossary
558
+ - [ ] `atlas/3-database.md` — All entities, relationships
559
+ - [ ] `atlas/4-screens.md` — All screens (if UI)
560
+ - [ ] `atlas/5-api.md` — All endpoints
561
+ - [ ] `atlas/6-backlog.md` — Phases + backlog items
553
562
 
554
563
  ### Phase 4: Expansion Complete
555
564
  - [ ] `02-spec/` — Core + all domain specs
556
565
  - [ ] `03-arch/` — Overview + all domain arch
557
- - [ ] `04-tasks/`Milestones + all domain tasks
566
+ - [ ] `04-tasks/phases.md`Phase definitions
567
+ - [ ] `04-tasks/milestones.md` — Milestone tracking (no dates)
568
+ - [ ] `04-tasks/domains/*.tasks.md` — Kanban boards per domain
558
569
  - [ ] `context/` — Constraints, assumptions, glossary
559
570
  - [ ] `ai/` — Guardrails, quality gates
560
571
  - [ ] All files have proper headers
@@ -144,17 +144,18 @@ Validate complete understanding before generation:
144
144
 
145
145
  ### Atlas Folder Structure
146
146
 
147
- **Reading Order:** Files are numbered 1→5 for sequential reading.
147
+ **Reading Order:** Files are numbered 1→6 for sequential reading.
148
148
 
149
149
  ```
150
150
  .astraler-docs/
151
151
  ├── _index.md
152
- ├── atlas/ # PRIMARY - read in order 1→5
152
+ ├── atlas/ # PRIMARY - read in order 1→6
153
153
  │ ├── 1-overview.md # High-level vision, goals, domains (start here)
154
154
  │ ├── 2-context.md # Constraints, assumptions, glossary
155
155
  │ ├── 3-database.md # Complete schema, ALL entities
156
156
  │ ├── 4-screens.md # UI inventory (if UI exists)
157
- └── 5-api.md # API surface inventory (not detailed contracts)
157
+ ├── 5-api.md # API surface inventory (not detailed contracts)
158
+ │ └── 6-backlog.md # Product backlog with Phases (PO visibility)
158
159
  ├── changes/
159
160
  │ ├── changelog.md
160
161
  │ └── impact/
@@ -203,6 +204,18 @@ Validate complete understanding before generation:
203
204
 
204
205
  **Simplicity:** Sketch the API surface only. No request/response schemas yet — those come during `/astra:plan` or implementation.
205
206
 
207
+ #### `6-backlog.md` — Product Backlog with Phases
208
+ - Phases overview diagram (Mermaid flowchart)
209
+ - Phase index table (Phase, Goal, Milestones, Status)
210
+ - Per-phase details:
211
+ - User value statement
212
+ - Included milestones
213
+ - High-level backlog items (BL-001, BL-002...)
214
+ - Phase acceptance criteria
215
+ - Backlog prioritization guide (P0, P1, P2)
216
+
217
+ **Purpose:** PO visibility into what each phase delivers. Backlog items (BL-*) expand into detailed tasks (TSK-*) during `/astra:plan`.
218
+
206
219
  ---
207
220
 
208
221
  ### Human Gate: Atlas Approval
@@ -212,12 +225,20 @@ After Atlas generation, present for review:
212
225
  ```markdown
213
226
  ## Atlas Complete
214
227
 
215
- ### Generated Files (read in order 1→5)
228
+ ### Generated Files (read in order 1→6)
216
229
  - `atlas/1-overview.md` — {X} domains, tech stack, vision
217
230
  - `atlas/2-context.md` — constraints, assumptions, glossary
218
231
  - `atlas/3-database.md` — {Y} tables, {Z} relationships
219
232
  - `atlas/4-screens.md` — {W} screens across all domains
220
233
  - `atlas/5-api.md` — ~{V} endpoints (surface inventory)
234
+ - `atlas/6-backlog.md` — {P} phases, {B} backlog items
235
+
236
+ ### Phases Defined
237
+ | Phase | Goal | Milestones |
238
+ |-------|------|------------|
239
+ | Phase 1 | {user value} | M-01, M-02, ... |
240
+ | Phase 2 | {user value} | M-03, M-04, ... |
241
+ {ALL phases listed}
221
242
 
222
243
  ### Domains Covered
223
244
  | Domain | Priority | Entities | Screens | Endpoints |
@@ -230,7 +251,7 @@ Upon approval, will auto-generate:
230
251
  - 02-spec/core/* (3 files)
231
252
  - 02-spec/domains/* ({N} files)
232
253
  - 03-arch/* (3 files + {N} domain files)
233
- - 04-tasks/* (1 file + {N} domain files)
254
+ - 04-tasks/* (phases.md + milestones.md + {N} domain files)
234
255
 
235
256
  ---
236
257
  **Approve Atlas?**
@@ -259,18 +280,22 @@ Upon approval, will auto-generate:
259
280
  | `atlas/5-api.md` (cross-domain) | `02-spec/core/flows.md` |
260
281
  | `atlas/5-api.md` (per domain) | `02-spec/domains/{domain}.md` (API section) |
261
282
  | `atlas/5-api.md` (per domain) | `03-arch/domains/{domain}.arch.md` (contracts) |
283
+ | `atlas/6-backlog.md` | `04-tasks/phases.md` |
284
+ | `atlas/6-backlog.md` (milestones) | `04-tasks/milestones.md` |
285
+ | `atlas/6-backlog.md` (per domain) | `04-tasks/domains/{domain}.tasks.md` (Kanban board) |
262
286
 
263
287
  ### Generated Structure
264
288
 
265
289
  ```
266
290
  .astraler-docs/
267
291
  ├── _index.md
268
- ├── atlas/ # SOURCE (human-approved, read 1→5)
292
+ ├── atlas/ # SOURCE (human-approved, read 1→6)
269
293
  │ ├── 1-overview.md
270
294
  │ ├── 2-context.md
271
295
  │ ├── 3-database.md
272
296
  │ ├── 4-screens.md
273
- └── 5-api.md
297
+ ├── 5-api.md
298
+ │ └── 6-backlog.md # Phases + backlog items
274
299
 
275
300
  ├── 02-spec/ # AUTO-GENERATED from Atlas
276
301
  │ ├── _index.md
@@ -296,6 +321,16 @@ Upon approval, will auto-generate:
296
321
  │ ├── order.arch.md # ← from atlas (order sections)
297
322
  │ └── ... # One per domain
298
323
 
324
+ ├── 04-tasks/ # AUTO-GENERATED from Atlas (Kanban)
325
+ │ ├── _index.md
326
+ │ ├── phases.md # ← from atlas/6-backlog.md
327
+ │ ├── milestones.md # ← from atlas/6-backlog.md
328
+ │ └── domains/
329
+ │ ├── auth.tasks.md # Kanban board + tasks
330
+ │ ├── catalog.tasks.md
331
+ │ ├── order.tasks.md
332
+ │ └── ... # One per domain
333
+
299
334
  ├── 05-changes/
300
335
  │ ├── _index.md
301
336
  │ ├── changelog.md
@@ -322,16 +357,18 @@ Upon approval, will auto-generate:
322
357
  ### Files Generated
323
358
  | Folder | Files | From Atlas |
324
359
  |--------|-------|------------|
325
- | 02-spec/core/ | 3 | index.md, api.md |
360
+ | 02-spec/core/ | 3 | 1-overview.md, 5-api.md |
326
361
  | 02-spec/domains/ | {N} | All atlas files |
327
- | 03-arch/ | 4 | index.md, database.md |
328
- | 03-arch/domains/ | {N} | database.md, api.md |
329
- | 04-tasks/ | 1 | tasks.md |
330
- | 04-tasks/domains/ | {N} | tasks.md |
362
+ | 03-arch/ | 4 | 1-overview.md, 3-database.md |
363
+ | 03-arch/domains/ | {N} | 3-database.md, 5-api.md |
364
+ | 04-tasks/ | 2 | phases.md, milestones.md |
365
+ | 04-tasks/domains/ | {N} | 6-backlog.md (Kanban boards) |
331
366
  | **Total** | **{total}** | |
332
367
 
333
- ### Ready to Build
334
- - Start with: `04-tasks/domains/{first-priority-domain}.tasks.md`
368
+ ### Ready to Build (Kanban Flow)
369
+ - View phases: `04-tasks/phases.md` (PO visibility)
370
+ - View board: `/astra:board {domain}` (dev visibility)
371
+ - Pull next task: `/astra:board --next`
335
372
  - Reference: `atlas/` for complete picture
336
373
  - Changes: Use `/astra:change` to modify approved docs
337
374
  ```
@@ -393,9 +430,13 @@ After expansion:
393
430
  - [ ] `atlas/3-database.md` — All entities, relationships
394
431
  - [ ] `atlas/4-screens.md` — All screens, navigation
395
432
  - [ ] `atlas/5-api.md` — API surface inventory (~count per domain)
433
+ - [ ] `atlas/6-backlog.md` — Phases + backlog items (PO visibility)
396
434
 
397
435
  ### After Expansion
398
436
  - [ ] `02-spec/` — Core + all domain specs
399
437
  - [ ] `03-arch/` — Overview + all domain arch
438
+ - [ ] `04-tasks/phases.md` — Phase definitions
439
+ - [ ] `04-tasks/milestones.md` — Milestone tracking (no dates)
440
+ - [ ] `04-tasks/domains/*.tasks.md` — Kanban boards per domain
400
441
  - [ ] All files have proper headers
401
442
  - [ ] All files have required diagrams
@@ -0,0 +1,176 @@
1
+ ---
2
+ description: "Visualize and manage Kanban board"
3
+ argument-hint: "[domain|all] [--move <task> <column>] [--prioritize <task> <P0|P1|P2>] [--next]"
4
+ allowed-tools: ["Read", "Write", "Edit", "Glob"]
5
+ ---
6
+
7
+ Kanban board visualization and task flow management.
8
+
9
+ ## Activation
10
+
11
+ 1. LOAD engine rules from `@_astraler/engine.md`
12
+ 2. Parse domain or subcommand from arguments
13
+ 3. Execute appropriate action
14
+
15
+ ## Subcommands
16
+
17
+ ### `/astra:board [domain]`
18
+
19
+ Display current board state for a domain (or all domains):
20
+
21
+ 1. Read `.astraler-docs/04-tasks/domains/{domain}.tasks.md`
22
+ 2. Parse tasks by column (Backlog, Ready, In Progress, Review, Done)
23
+ 3. Display board visualization
24
+ 4. Highlight WIP violations (if In Progress > wip-limit)
25
+ 5. Show blocked tasks
26
+ 6. Display cycle time metrics
27
+
28
+ **Output:**
29
+ ```
30
+ ## {Domain} Kanban Board
31
+
32
+ | Backlog | Ready | In Progress (2/2) | Review | Done |
33
+ |---------|-------|-------------------|--------|------|
34
+ | TSK-004 | - | TSK-002 P1 | - | TSK-001 |
35
+ | TSK-005 | | TSK-003 P1 | | TSK-008 |
36
+ | ... | | | | |
37
+
38
+ Metrics:
39
+ - WIP: 2/2 (at limit)
40
+ - Avg Cycle Time: 1.5 days
41
+ - Throughput (7d): 2 tasks
42
+ ```
43
+
44
+ ### `/astra:board --move <task> <column>`
45
+
46
+ Move a task to a new column:
47
+
48
+ 1. Validate task exists
49
+ 2. Validate column name (Backlog, Ready, In Progress, Review, Done)
50
+ 3. Check WIP limit for "In Progress" column
51
+ 4. Update task status in file
52
+ 5. Record timestamp for metrics (Entered Ready, Started, etc.)
53
+ 6. Update board visualization in file
54
+ 7. Display updated board
55
+
56
+ **Columns:**
57
+ | Column | Status Value | Timestamp Field |
58
+ |--------|--------------|-----------------|
59
+ | Backlog | Backlog | - |
60
+ | Ready | Ready | Entered Ready |
61
+ | In Progress | In Progress | Started |
62
+ | Review | Review | - |
63
+ | Done | Done | Completed |
64
+
65
+ **WIP Enforcement:**
66
+ - If moving to "In Progress" would exceed wip-limit, warn and ask for confirmation
67
+ - Suggest which task to move out first
68
+
69
+ ### `/astra:board --prioritize <task> <priority>`
70
+
71
+ Change task priority:
72
+
73
+ 1. Validate task exists
74
+ 2. Validate priority (P0, P1, P2, Backlog)
75
+ 3. Update priority field in task
76
+ 4. If P0 (Critical), highlight in output
77
+ 5. Reorder task in column by priority
78
+ 6. Display updated board
79
+
80
+ **Priority Meanings:**
81
+ | Priority | Label | Description |
82
+ |----------|-------|-------------|
83
+ | P0 | Critical | Blocking other work, immediate attention |
84
+ | P1 | Current | Active focus, pull next |
85
+ | P2 | Next | Coming soon, after P1 cleared |
86
+ | Backlog | Future | Identified but not prioritized |
87
+
88
+ ### `/astra:board --next`
89
+
90
+ Pull next task to work on:
91
+
92
+ 1. Find highest priority task in Ready column
93
+ 2. Check WIP limit
94
+ 3. If at limit, suggest completing or moving a task first
95
+ 4. If under limit, move task to In Progress
96
+ 5. Display task details for starting work
97
+
98
+ **Output:**
99
+ ```
100
+ ## Next Task: TSK-order-004
101
+
102
+ **Cancel order endpoint (DELETE /api/v1/orders/:id)**
103
+
104
+ Priority: P2 → P1 (now active)
105
+ Column: Ready → In Progress
106
+ Dependencies: TSK-order-001 ✅, TSK-order-002 ✅
107
+
108
+ Acceptance Criteria:
109
+ - [ ] DELETE /api/v1/orders/:id endpoint
110
+ - [ ] Authorization check (owner or seller or admin)
111
+ - [ ] Return 200 with cancellation details
112
+ ...
113
+
114
+ Ready to start? [y/n]
115
+ ```
116
+
117
+ ## Reads
118
+
119
+ - `.astraler-docs/04-tasks/domains/{domain}.tasks.md`
120
+ - `.astraler-docs/04-tasks/phases.md` (for phase context)
121
+ - `.astraler-docs/04-tasks/milestones.md` (for milestone context)
122
+
123
+ ## Writes
124
+
125
+ - `.astraler-docs/04-tasks/domains/{domain}.tasks.md` (when moving/prioritizing)
126
+
127
+ ## Board Visualization
128
+
129
+ The board is stored as a Mermaid block-beta diagram in each tasks file:
130
+
131
+ ```mermaid
132
+ block-beta
133
+ columns 5
134
+
135
+ block:backlog["Backlog"]
136
+ T004["TSK-004"]
137
+ T005["TSK-005"]
138
+ end
139
+
140
+ block:ready["Ready"]
141
+ space
142
+ end
143
+
144
+ block:doing["In Progress (2)"]
145
+ T002["TSK-002 P1"]
146
+ T003["TSK-003 P1"]
147
+ end
148
+
149
+ block:review["Review"]
150
+ space
151
+ end
152
+
153
+ block:done["Done"]
154
+ T001["TSK-001"]
155
+ T008["TSK-008"]
156
+ end
157
+ ```
158
+
159
+ ## Metrics Tracking
160
+
161
+ Track in each task file:
162
+
163
+ | Metric | Calculation |
164
+ |--------|-------------|
165
+ | WIP Current | Count of tasks in "In Progress" |
166
+ | WIP Limit | From frontmatter `wip-limit` |
167
+ | Avg Cycle Time | Avg (Completed - Entered Ready) for Done tasks |
168
+ | Throughput | Count of tasks moved to Done in last 7 days |
169
+
170
+ ## Output
171
+
172
+ After any board operation, display:
173
+ 1. Updated board visualization
174
+ 2. Current metrics
175
+ 3. WIP status (under/at/over limit)
176
+ 4. Next suggested action (if applicable)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "astragentic",
3
- "version": "1.5.0",
3
+ "version": "2.0.0-y",
4
4
  "description": "Installer for Astragentic devkit",
5
5
  "bin": {
6
6
  "astragentic": "./bin/cli.js"