mrvn-cli 0.2.4 → 0.2.6

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/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Marvin CLI
2
2
 
3
- AI-powered product development assistant. Marvin provides three expert personas — **Product Owner**, **Delivery Manager**, and **Technical Lead** — that help teams manage features, epics, decisions, actions, questions, and meetings through an interactive CLI backed by Claude.
3
+ AI-powered product development assistant. Marvin provides three expert personas — **Product Owner**, **Delivery Manager**, and **Technical Lead** — that help teams manage features, epics, sprints, decisions, actions, questions, and meetings through an interactive CLI backed by Claude.
4
4
 
5
5
  ## Quick Start
6
6
 
@@ -22,7 +22,7 @@ npx tsx bin/marvin.ts chat --as tl # Technical Lead
22
22
 
23
23
  ## How It Works
24
24
 
25
- Marvin stores all project governance data as **Markdown files with YAML frontmatter** inside a `.marvin/` directory. Each artifact gets its own file with an auto-incrementing ID (`F-001`, `E-001`, `D-001`, `A-002`, `Q-003`). This makes everything human-readable, Git-friendly, and Obsidian-compatible.
25
+ Marvin stores all project governance data as **Markdown files with YAML frontmatter** inside a `.marvin/` directory. Each artifact gets its own file with an auto-incrementing ID (`F-001`, `E-001`, `SP-001`, `D-001`, `A-002`, `Q-003`). This makes everything human-readable, Git-friendly, and Obsidian-compatible.
26
26
 
27
27
  When you start a chat session, Marvin:
28
28
 
@@ -42,6 +42,7 @@ When you start a chat session, Marvin:
42
42
  └── docs/
43
43
  ├── features/ # F-001.md, F-002.md, ...
44
44
  ├── epics/ # E-001.md, E-002.md, ...
45
+ ├── sprints/ # SP-001.md, SP-002.md, ...
45
46
  ├── decisions/ # D-001.md, D-002.md, ...
46
47
  ├── actions/ # A-001.md, A-002.md, ...
47
48
  ├── questions/ # Q-001.md, Q-002.md, ...
@@ -58,7 +59,7 @@ Marvin supports pluggable methodologies. Choose one during `marvin init`:
58
59
 
59
60
  ### Generic Agile (default)
60
61
 
61
- Standard agile governance with features, epics, decisions, actions, questions, meetings, and reports.
62
+ Standard agile governance with features, epics, sprints, decisions, actions, questions, meetings, and reports.
62
63
 
63
64
  ### SAP Application Extension Methodology (SAP AEM)
64
65
 
@@ -74,7 +75,8 @@ A 3-phase methodology for building extensions on SAP BTP:
74
75
 
75
76
  ```
76
77
  Layer 1 — Core: decisions, actions, questions (always available)
77
- Layer 2 — Common: meetings, reports, features, epics (shared across methodologies)
78
+ Layer 2 — Common: meetings, reports, features, epics, (shared across methodologies)
79
+ sprints
78
80
  Layer 3 — Methodology: use-cases, tech-assessments, (sap-aem specific)
79
81
  extension-designs, phase management
80
82
  ```
@@ -134,31 +136,56 @@ Use Case (PO) Tech Assessment (TL) Extension Design (TL)
134
136
  | Short Name | Full Name | Focus |
135
137
  |------------|-----------|-------|
136
138
  | `po` | Product Owner | Product vision, feature definition and prioritization, stakeholder needs, acceptance criteria |
137
- | `dm` | Delivery Manager | Project delivery, epic scheduling and tracking, risk management, governance, meeting facilitation |
138
- | `tl` | Technical Lead | Architecture, epic creation and scoping, code quality, technical decisions, implementation guidance |
139
+ | `dm` | Delivery Manager | Project delivery, sprint planning and tracking, epic scheduling, risk management, governance, meeting facilitation |
140
+ | `tl` | Technical Lead | Architecture, epic creation and scoping, sprint scoping and technical execution, code quality, technical decisions, implementation guidance |
139
141
 
140
- Each persona has a tuned system prompt that shapes how Claude approaches your project. The agent has access to governance tools for managing features, epics, decisions, actions, questions, meetings, and reports — plus methodology-specific tools when a plugin is active.
142
+ Each persona has a tuned system prompt that shapes how Claude approaches your project. The agent has access to governance tools for managing features, epics, sprints, decisions, actions, questions, meetings, and reports — plus methodology-specific tools when a plugin is active.
141
143
 
142
- ## Feature → Epic Workflow
144
+ ## Feature → Epic → Sprint Workflow
143
145
 
144
146
  Marvin enforces a structured product development workflow:
145
147
 
146
148
  1. **Product Owner** defines features (`F-xxx`) as `draft`, then approves them when requirements are clear
147
149
  2. **Tech Lead** breaks approved features into implementation epics (`E-xxx`) — the system **enforces** that epics can only be created against approved features
148
- 3. **Delivery Manager** sets target dates on epics and tracks progress across features and epics
150
+ 3. **Delivery Manager** creates sprints (`SP-xxx`) with goals and date boundaries, assigns epics to sprints, and tracks progress
149
151
 
150
152
  ```
151
- Feature (PO) Epic (TL) Work Items
153
+ Feature (PO) Epic (TL) Sprint (DM)
152
154
  ┌──────────┐ ┌──────────────┐ ┌──────────────────────┐
153
- │ F-001 │───▶│ E-001 │───▶│ A-001 (epic:E-001)
154
- │ approved │ │ linked: F-001│ │ D-003 (epic:E-001)
155
- └──────────┘ ├──────────────┤ └──────────────────────┘
156
- │ E-002 │
157
- │ linked: F-001│
158
- └──────────────┘
155
+ │ F-001 │───▶│ E-001 │───▶│ SP-001
156
+ │ approved │ │ linked: F-001│ │ linkedEpics: [E-001]
157
+ └──────────┘ ├──────────────┤ │ goal: "Deliver auth" │
158
+ │ E-002 │ │ 2026-03-01..03-14 │
159
+ │ linked: F-001│ └──────────────────────┘
160
+ └──────────────┘
161
+ ┌────────┴─────────────┐
162
+ │ A-001 (sprint:SP-001) │
163
+ │ D-003 (sprint:SP-001) │
164
+ └──────────────────────┘
159
165
  ```
160
166
 
161
- This provides **hard enforcement** (epics must link to approved features) combined with **soft guidance** (persona prompts steer each role toward their responsibilities).
167
+ **Sprints** are time-boxed iterations with:
168
+ - `goal` — what the sprint aims to deliver
169
+ - `startDate` / `endDate` — sprint boundaries (ISO dates)
170
+ - `status` — `planned` → `active` → `completed` (or `cancelled`)
171
+ - `linkedEpics` — soft-validated references to epic IDs (warns if not found but doesn't block creation)
172
+
173
+ When a sprint links to epics, those epics are auto-tagged with `sprint:SP-xxx`. Work items (actions, decisions, questions) are associated with sprints via the same `sprint:SP-xxx` tag convention. The `generate_sprint_progress` report shows linked epics with statuses, tagged work items grouped by status, and done/total completion %.
174
+
175
+ **Sprint planning** is supported by the `gather_sprint_planning_context` tool, which aggregates all planning-relevant data in a single call:
176
+
177
+ | Section | Contents |
178
+ |---------|----------|
179
+ | `approvedFeatures` | Approved features sorted by priority, with epic counts by status |
180
+ | `backlog` | Unassigned non-done epics, sorted by parent feature priority, enriched with feature context and effort estimates |
181
+ | `activeSprint` | Current active sprint with linked epic statuses, work item counts, and completion % |
182
+ | `velocityReference` | Last 2 completed sprints with epic count, effort strings, and work item throughput |
183
+ | `blockers` | Open questions, open risk-finding and blocker-report contributions |
184
+ | `summary` | Total backlog size, approved features with no epics, epics at risk, planned sprint count |
185
+
186
+ When asked to propose a sprint, the DM reasons through priority, capacity, dependencies, and risk to present a structured proposal. The TL focuses on technical readiness, effort balance, and feature coverage. Both personas call this tool automatically before proposing a sprint plan.
187
+
188
+ This provides **hard enforcement** (epics must link to approved features) combined with **soft guidance** (persona prompts steer each role toward their responsibilities) and **sprint-level tracking** for time-boxed delivery.
162
189
 
163
190
  ## Configuration
164
191
 
@@ -392,7 +419,7 @@ src/agent/ → Claude Agent SDK integration, MCP tools
392
419
  src/mcp/ → Standalone MCP stdio server adapter
393
420
  src/plugins/ → Plugin system (methodology plugins)
394
421
  ├── types.ts → MarvinPlugin interface
395
- ├── common.ts → Shared registrations + tool factory (meetings, reports, features, epics)
422
+ ├── common.ts → Shared registrations + tool factory (meetings, reports, features, epics, sprints, sprint planning)
396
423
  ├── registry.ts → Plugin resolution
397
424
  └── builtin/
398
425
  ├── generic-agile.ts → Default methodology