mindsystem-cc 3.2.2 → 3.3.0

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 (56) hide show
  1. package/README.md +2 -2
  2. package/agents/ms-code-simplifier.md +215 -0
  3. package/agents/ms-consolidator.md +377 -0
  4. package/agents/ms-executor.md +32 -261
  5. package/{commands/ms/simplify-flutter.md → agents/ms-flutter-simplifier.md} +41 -49
  6. package/agents/ms-researcher.md +2 -2
  7. package/commands/ms/complete-milestone.md +24 -3
  8. package/commands/ms/do-work.md +17 -3
  9. package/commands/ms/execute-phase.md +29 -14
  10. package/commands/ms/help.md +4 -23
  11. package/commands/ms/new-milestone.md +42 -30
  12. package/commands/ms/new-project.md +5 -14
  13. package/commands/ms/progress.md +1 -1
  14. package/commands/ms/research-project.md +8 -0
  15. package/commands/ms/review-design.md +1 -1
  16. package/commands/ms/whats-new.md +3 -3
  17. package/mindsystem/references/git-integration.md +2 -2
  18. package/mindsystem/references/goal-backward.md +2 -2
  19. package/mindsystem/references/principles.md +1 -1
  20. package/mindsystem/templates/adhoc-summary.md +3 -0
  21. package/mindsystem/templates/codebase/architecture.md +2 -2
  22. package/mindsystem/templates/codebase/structure.md +1 -1
  23. package/mindsystem/templates/config.json +2 -12
  24. package/mindsystem/templates/decisions.md +145 -0
  25. package/mindsystem/workflows/complete-milestone.md +58 -25
  26. package/mindsystem/workflows/create-milestone.md +60 -20
  27. package/mindsystem/workflows/do-work.md +81 -4
  28. package/mindsystem/workflows/execute-phase.md +66 -0
  29. package/mindsystem/workflows/execute-plan.md +1 -53
  30. package/mindsystem/workflows/map-codebase.md +9 -1
  31. package/mindsystem/workflows/plan-phase.md +0 -39
  32. package/mindsystem/workflows/transition.md +0 -74
  33. package/mindsystem/workflows/verify-work.md +1 -1
  34. package/package.json +1 -1
  35. package/scripts/generate-adhoc-patch.sh +79 -0
  36. package/scripts/ms-lookup/uv.lock +17 -17
  37. package/commands/ms/discuss-milestone.md +0 -48
  38. package/commands/ms/linear.md +0 -195
  39. package/mindsystem/templates/milestone-context.md +0 -93
  40. package/scripts/ms-linear/ms_linear/__init__.py +0 -3
  41. package/scripts/ms-linear/ms_linear/__main__.py +0 -6
  42. package/scripts/ms-linear/ms_linear/__pycache__/__init__.cpython-314.pyc +0 -0
  43. package/scripts/ms-linear/ms_linear/__pycache__/__main__.cpython-314.pyc +0 -0
  44. package/scripts/ms-linear/ms_linear/__pycache__/cli.cpython-314.pyc +0 -0
  45. package/scripts/ms-linear/ms_linear/__pycache__/client.cpython-314.pyc +0 -0
  46. package/scripts/ms-linear/ms_linear/__pycache__/config.cpython-314.pyc +0 -0
  47. package/scripts/ms-linear/ms_linear/__pycache__/errors.cpython-314.pyc +0 -0
  48. package/scripts/ms-linear/ms_linear/__pycache__/output.cpython-314.pyc +0 -0
  49. package/scripts/ms-linear/ms_linear/cli.py +0 -604
  50. package/scripts/ms-linear/ms_linear/client.py +0 -503
  51. package/scripts/ms-linear/ms_linear/config.py +0 -104
  52. package/scripts/ms-linear/ms_linear/errors.py +0 -29
  53. package/scripts/ms-linear/ms_linear/output.py +0 -45
  54. package/scripts/ms-linear/pyproject.toml +0 -16
  55. package/scripts/ms-linear/uv.lock +0 -196
  56. package/scripts/ms-linear-wrapper.sh +0 -22
@@ -60,8 +60,6 @@ cat .planning/config.json 2>/dev/null
60
60
 
61
61
  **If all plans complete:**
62
62
 
63
- <if mode="yolo">
64
-
65
63
  ```
66
64
  ⚡ Auto-approved: Transition Phase [X] → Phase [X+1]
67
65
  Phase [X] complete — all [Y] plans finished.
@@ -71,16 +69,6 @@ Proceeding to mark done and advance...
71
69
 
72
70
  Proceed directly to cleanup_handoff step.
73
71
 
74
- </if>
75
-
76
- <if mode="interactive" OR="custom with gates.confirm_transition true">
77
-
78
- Ask: "Phase [X] complete — all [Y] plans finished. Ready to mark done and move to Phase [X+1]?"
79
-
80
- Wait for confirmation before proceeding.
81
-
82
- </if>
83
-
84
72
  **If plans incomplete:**
85
73
 
86
74
  **SAFETY RAIL: always_confirm_destructive applies here.**
@@ -409,8 +397,6 @@ Read ROADMAP.md to get the next phase's name and goal.
409
397
 
410
398
  **If next phase exists:**
411
399
 
412
- <if mode="yolo">
413
-
414
400
  ```
415
401
  Phase [X] marked complete.
416
402
 
@@ -421,41 +407,10 @@ Next: Phase [X+1] — [Name]
421
407
 
422
408
  Exit skill and invoke SlashCommand("/ms:plan-phase [X+1]")
423
409
 
424
- </if>
425
-
426
- <if mode="interactive" OR="custom with gates.confirm_transition true">
427
-
428
- ```
429
- ## ✓ Phase [X] Complete
430
-
431
- ---
432
-
433
- ## ▶ Next Up
434
-
435
- **Phase [X+1]: [Name]** — [Goal from ROADMAP.md]
436
-
437
- `/ms:plan-phase [X+1]`
438
-
439
- <sub>`/clear` first → fresh context window</sub>
440
-
441
- ---
442
-
443
- **Also available:**
444
- - `/ms:discuss-phase [X+1]` — gather context first
445
- - `/ms:research-phase [X+1]` — investigate unknowns
446
- - Review roadmap
447
-
448
- ---
449
- ```
450
-
451
- </if>
452
-
453
410
  ---
454
411
 
455
412
  **Route B: Milestone complete (all phases done)**
456
413
 
457
- <if mode="yolo">
458
-
459
414
  ```
460
415
  Phase {X} marked complete.
461
416
 
@@ -466,35 +421,6 @@ Phase {X} marked complete.
466
421
 
467
422
  Exit skill and invoke SlashCommand("/ms:complete-milestone {version}")
468
423
 
469
- </if>
470
-
471
- <if mode="interactive" OR="custom with gates.confirm_transition true">
472
-
473
- ```
474
- ## ✓ Phase {X}: {Phase Name} Complete
475
-
476
- 🎉 Milestone {version} is 100% complete — all {N} phases finished!
477
-
478
- ---
479
-
480
- ## ▶ Next Up
481
-
482
- **Complete Milestone {version}** — archive and prepare for next
483
-
484
- `/ms:complete-milestone {version}`
485
-
486
- <sub>`/clear` first → fresh context window</sub>
487
-
488
- ---
489
-
490
- **Also available:**
491
- - Review accomplishments before archiving
492
-
493
- ---
494
- ```
495
-
496
- </if>
497
-
498
424
  </step>
499
425
 
500
426
  </process>
@@ -552,7 +552,7 @@ git stash push -m "mocks-batch-{N}"
552
552
  ```
553
553
  Task(
554
554
  prompt="""
555
- You are a GSD verify-fixer. Investigate this issue, find the root cause, implement a fix, and commit it.
555
+ You are a Mindsystem verify-fixer. Investigate this issue, find the root cause, implement a fix, and commit it.
556
556
 
557
557
  ## Issue
558
558
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mindsystem-cc",
3
- "version": "3.2.2",
3
+ "version": "3.3.0",
4
4
  "description": "A meta-prompting, context engineering and spec-driven development system for Claude Code by TÂCHES.",
5
5
  "bin": {
6
6
  "mindsystem-cc": "bin/install.js"
@@ -0,0 +1,79 @@
1
+ #!/bin/bash
2
+ #
3
+ # generate-adhoc-patch.sh
4
+ # Generates a patch file from an adhoc commit, excluding documentation and generated files.
5
+ #
6
+ # Usage: ./scripts/generate-adhoc-patch.sh <commit-hash> <output-path>
7
+ # Example: ./scripts/generate-adhoc-patch.sh abc123f .planning/adhoc/2026-01-26-fix-bug.patch
8
+
9
+ set -e
10
+
11
+ # --- Configuration ---
12
+ # Same exclusions as generate-phase-patch.sh
13
+ EXCLUSIONS=(
14
+ # Documentation
15
+ '.planning'
16
+
17
+ # Flutter/Dart generated
18
+ '*.g.dart'
19
+ '*.freezed.dart'
20
+ '*.gr.dart'
21
+ 'generated'
22
+ '.dart_tool'
23
+
24
+ # Next.js/TypeScript generated
25
+ 'node_modules'
26
+ '.next'
27
+ 'dist'
28
+ 'build'
29
+ '*.d.ts'
30
+ '.turbo'
31
+
32
+ # Common build artifacts
33
+ '*.lock'
34
+ )
35
+
36
+ # --- Parse arguments ---
37
+ COMMIT_HASH="$1"
38
+ OUTPUT_PATH="$2"
39
+
40
+ # --- Validation ---
41
+ if [ -z "$COMMIT_HASH" ] || [ -z "$OUTPUT_PATH" ]; then
42
+ echo "Error: Commit hash and output path required"
43
+ echo "Usage: $0 <commit-hash> <output-path>"
44
+ exit 1
45
+ fi
46
+
47
+ # --- Find git root ---
48
+ GIT_ROOT=$(git rev-parse --show-toplevel 2>/dev/null)
49
+ if [ -z "$GIT_ROOT" ]; then
50
+ echo "Error: Not in a git repository"
51
+ exit 1
52
+ fi
53
+ cd "$GIT_ROOT"
54
+
55
+ # --- Verify commit exists ---
56
+ if ! git rev-parse "$COMMIT_HASH" >/dev/null 2>&1; then
57
+ echo "Error: Commit $COMMIT_HASH not found"
58
+ exit 1
59
+ fi
60
+
61
+ # --- Build exclusion arguments ---
62
+ EXCLUDE_ARGS=""
63
+ for pattern in "${EXCLUSIONS[@]}"; do
64
+ EXCLUDE_ARGS="$EXCLUDE_ARGS ':!$pattern'"
65
+ done
66
+
67
+ # --- Generate diff from parent commit to specified commit ---
68
+ eval "git diff \"${COMMIT_HASH}^\" \"$COMMIT_HASH\" -- . $EXCLUDE_ARGS" > "$OUTPUT_PATH"
69
+
70
+ # --- Check result ---
71
+ if [ ! -s "$OUTPUT_PATH" ]; then
72
+ rm -f "$OUTPUT_PATH"
73
+ echo "No implementation changes outside excluded patterns"
74
+ echo "Patch skipped"
75
+ exit 0
76
+ fi
77
+
78
+ PATCH_LINES=$(wc -l < "$OUTPUT_PATH" | tr -d ' ')
79
+ echo "Generated: $OUTPUT_PATH ($PATCH_LINES lines)"
@@ -67,23 +67,6 @@ wheels = [
67
67
  { url = "https://files.pythonhosted.org/packages/8a/0e/97c33bf5009bdbac74fd2beace167cab3f978feb69cc36f1ef79360d6c4e/exceptiongroup-1.3.1-py3-none-any.whl", hash = "sha256:a7a39a3bd276781e98394987d3a5701d0c4edffb633bb7a5144577f82c773598", size = 16740, upload-time = "2025-11-21T23:01:53.443Z" },
68
68
  ]
69
69
 
70
- [[package]]
71
- name = "gsd-lookup"
72
- version = "1.0.0"
73
- source = { editable = "." }
74
- dependencies = [
75
- { name = "diskcache" },
76
- { name = "httpx" },
77
- { name = "typer" },
78
- ]
79
-
80
- [package.metadata]
81
- requires-dist = [
82
- { name = "diskcache", specifier = ">=5.6.0" },
83
- { name = "httpx", specifier = ">=0.25.0" },
84
- { name = "typer", specifier = ">=0.9.0" },
85
- ]
86
-
87
70
  [[package]]
88
71
  name = "h11"
89
72
  version = "0.16.0"
@@ -151,6 +134,23 @@ wheels = [
151
134
  { url = "https://files.pythonhosted.org/packages/b3/38/89ba8ad64ae25be8de66a6d463314cf1eb366222074cfda9ee839c56a4b4/mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8", size = 9979, upload-time = "2022-08-14T12:40:09.779Z" },
152
135
  ]
153
136
 
137
+ [[package]]
138
+ name = "ms-lookup"
139
+ version = "1.0.0"
140
+ source = { editable = "." }
141
+ dependencies = [
142
+ { name = "diskcache" },
143
+ { name = "httpx" },
144
+ { name = "typer" },
145
+ ]
146
+
147
+ [package.metadata]
148
+ requires-dist = [
149
+ { name = "diskcache", specifier = ">=5.6.0" },
150
+ { name = "httpx", specifier = ">=0.25.0" },
151
+ { name = "typer", specifier = ">=0.9.0" },
152
+ ]
153
+
154
154
  [[package]]
155
155
  name = "pygments"
156
156
  version = "2.19.2"
@@ -1,48 +0,0 @@
1
- ---
2
- name: ms:discuss-milestone
3
- description: Gather context for next milestone through adaptive questioning
4
- ---
5
-
6
- <objective>
7
- Help you figure out what to build in the next milestone through collaborative thinking.
8
-
9
- Purpose: After completing a milestone, explore what features you want to add, improve, or fix. Features first — scope and phases derive from what you want to build.
10
- Output: Context gathered, then routes to /ms:new-milestone
11
- </objective>
12
-
13
- <execution_context>
14
- @~/.claude/mindsystem/references/principles.md
15
- @~/.claude/mindsystem/workflows/discuss-milestone.md
16
- </execution_context>
17
-
18
- <context>
19
- **Load project state first:**
20
- @.planning/STATE.md
21
-
22
- **Load project:**
23
- @.planning/PROJECT.md
24
-
25
- **Load milestones (if exists):**
26
- @.planning/MILESTONES.md
27
- </context>
28
-
29
- <process>
30
- 1. Verify previous milestone complete (or acknowledge active milestone)
31
- 2. Present context from previous milestone (accomplishments, phase count)
32
- 3. Follow discuss-milestone.md workflow with **ALL questions using AskUserQuestion**:
33
- - Use AskUserQuestion: "What do you want to add, improve, or fix?" with feature categories
34
- - Use AskUserQuestion to dig into features they mention
35
- - Use AskUserQuestion to help them articulate what matters most
36
- - Use AskUserQuestion for decision gate (ready / ask more / let me add context)
37
- 4. Hand off to /ms:new-milestone with gathered context
38
-
39
- **CRITICAL: ALL questions use AskUserQuestion. Never ask inline text questions.**
40
- </process>
41
-
42
- <success_criteria>
43
-
44
- - Project state loaded and presented
45
- - Previous milestone context summarized
46
- - Milestone scope gathered through adaptive questioning
47
- - Context handed off to /ms:new-milestone
48
- </success_criteria>
@@ -1,195 +0,0 @@
1
- ---
2
- name: ms:linear
3
- description: Interact with Linear API to create, update, and manage issues
4
- argument-hint: "[action or description]"
5
- allowed-tools:
6
- - Read
7
- - Bash
8
- - AskUserQuestion
9
- ---
10
-
11
- <objective>
12
- Conversational interface to Linear for fast issue management. Primary use case: user describes work → ask high-impact questions → create ticket immediately.
13
-
14
- **Speed over polish.** Get tickets into Linear quickly. Don't over-engineer descriptions or explore solutions.
15
-
16
- **No codebase exploration unless explicitly requested.** Work from user's description only. Do NOT launch agents, explore files, or analyze code unless the user explicitly asks for it.
17
- </objective>
18
-
19
- <execution_context>
20
- @~/.claude/mindsystem/scripts/ms-linear-wrapper.sh
21
- </execution_context>
22
-
23
- <cli_reference>
24
- **CLI location:** `~/.claude/mindsystem/scripts/ms-linear-wrapper.sh`
25
-
26
- **Commands:**
27
- | Command | Usage | Purpose |
28
- |---------|-------|---------|
29
- | `create` | `create "<title>" [-d desc] [-p priority] [-e estimate] [--parent ID] [--project name] [--no-project]` | Create issue |
30
- | `update` | `update <ID> [-t title] [-d desc] [-p priority]` | Update fields |
31
- | `done` | `done <ID>` | Mark completed |
32
- | `state` | `state <ID> "<name>"` | Change state |
33
- | `break` | `break <ID> --issues '[{...}]' [--project name] [--no-project]` | Create sub-issues |
34
- | `get` | `get <ID>` | Fetch details |
35
- | `states` | `states` | List workflow states |
36
- | `projects` | `projects` | List available projects |
37
-
38
- **Priority values:** 0=None, 1=Urgent, 2=High, 3=Normal, 4=Low
39
-
40
- **T-shirt to estimate mapping:**
41
- - XS → 1, S → 2, M → 3, L → 5, XL → 8
42
-
43
- **Project handling:**
44
- - `--project "Name"` — Assign to project by name (overrides config default)
45
- - `--no-project` — Don't assign to any project
46
- - If neither specified, uses `projectId` from `.linear.json` if present
47
- </cli_reference>
48
-
49
- <config_format>
50
- `.linear.json` in project root:
51
-
52
- ```json
53
- {
54
- "teamId": "uuid-of-linear-team",
55
- "projectId": "uuid-of-linear-project (optional)",
56
- "defaultPriority": 3,
57
- "defaultLabels": []
58
- }
59
- ```
60
-
61
- - `teamId` — Required. Your Linear team UUID.
62
- - `projectId` — Optional. Default project for new issues. Can be overridden with `--project` or `--no-project`.
63
- </config_format>
64
-
65
- <process>
66
-
67
- <step name="parse_intent">
68
- **Parse the command to determine intent:**
69
-
70
- | Pattern | Intent | Action |
71
- |---------|--------|--------|
72
- | `done <ID>` | Mark complete | Execute `done` directly |
73
- | `state <ID> "<name>"` | Change state | Execute `state` directly |
74
- | `get <ID>` | Fetch details | Execute `get` directly |
75
- | `states` | List states | Execute `states` directly |
76
- | `projects` | List projects | Execute `projects` directly |
77
- | `update <ID> <text>` | Update issue | Execute `update` with parsed fields |
78
- | `break <ID>` + user provides sub-issues | Break into sub-issues | Execute `break` with user's list |
79
- | `<ID> <description>` | Create sub-issue | Go to create flow with parent |
80
- | `<description>` | Create issue | Go to create flow |
81
- | (empty) | No input | Ask what they want to do |
82
-
83
- Issue ID pattern: 2-4 uppercase letters followed by hyphen and numbers (e.g., `ABC-123`, `PROJ-42`).
84
- </step>
85
-
86
- <step name="direct_commands">
87
- **For direct commands (done, state, get, states, projects, update):**
88
-
89
- Execute CLI and format output.
90
-
91
- ```bash
92
- ~/.claude/mindsystem/scripts/ms-linear-wrapper.sh [command] [args] --json-pretty
93
- ```
94
-
95
- Parse JSON response and present result:
96
- - Success: Show identifier, title, new state, and URL
97
- - For `projects`: List projects grouped by team
98
- - Error: Show error message and suggestions
99
- </step>
100
-
101
- <step name="create_flow">
102
- **For create/sub-issue — FAST PATH:**
103
-
104
- 1. **Parse input for hints:**
105
- - Title from first sentence or quoted text
106
- - Priority hints: "urgent", "high priority", "low priority", "blocker"
107
- - Estimate hints: "XS", "S", "M", "L", "XL", "small", "medium", "large"
108
- - Parent ID if pattern `<ID> <description>`
109
- - Project hints: "in [Project]", "for [Project]", "(project: [Name])", "[Project] project"
110
-
111
- 2. **Infer priority and estimate** from the description:
112
- - Bug fixes, blockers → High/Urgent
113
- - Small tweaks, copy changes → Low priority, XS/S estimate
114
- - New features → Normal priority, M estimate
115
- - Large features, refactors → Normal priority, L/XL estimate
116
-
117
- 3. **Ask UP TO 4 questions in ONE AskUserQuestion call:**
118
-
119
- Combine these into a single batch:
120
-
121
- **Confirmation question:** Show inferred priority/estimate, ask to confirm or adjust
122
-
123
- **High-impact domain questions (pick 1-3 most relevant):**
124
- - Scope clarification: "Should this [specific behavior] or [alternative]?"
125
- - Edge cases: "What should happen when [edge case]?"
126
- - Acceptance criteria: "What's the minimum for this to be done?"
127
- - Context: "Is this related to [existing feature/area]?"
128
-
129
- Skip questions with obvious answers from description. If description is very clear, may only need confirmation.
130
-
131
- If project not specified and multiple projects exist, include project selection.
132
-
133
- 4. **Create immediately after answers:**
134
-
135
- ```bash
136
- ~/.claude/mindsystem/scripts/ms-linear-wrapper.sh create "[title]" \
137
- -d "[description with user's answers incorporated]" -p [priority] -e [estimate] \
138
- [--parent ID] [--project "Name"] [--no-project] --json-pretty
139
- ```
140
-
141
- 5. **Format result:**
142
-
143
- ```
144
- Created: **[identifier]** — [title]
145
- Project: [project name]
146
- [url]
147
- ```
148
- </step>
149
-
150
- <step name="break_flow">
151
- **For breaking down issues:**
152
-
153
- User provides the sub-issues in conversation. Do NOT propose or generate sub-issues.
154
-
155
- 1. **Get sub-issue list from user** (they specify titles/estimates in their message)
156
-
157
- 2. **Build JSON and execute:**
158
-
159
- ```bash
160
- ~/.claude/mindsystem/scripts/ms-linear-wrapper.sh break [ID] \
161
- --issues '[{"title":"...","estimate":3},{"title":"...","estimate":2}]' --json-pretty
162
- ```
163
-
164
- 3. **Format result:**
165
-
166
- ```
167
- Created N sub-issues under [parent-identifier]:
168
- - **[ID-1]** — [title 1]
169
- - **[ID-2]** — [title 2]
170
- ```
171
- </step>
172
-
173
- <step name="error_handling">
174
- **Handle errors gracefully:**
175
-
176
- - **MISSING_API_KEY:** Explain how to set LINEAR_API_KEY
177
- - **MISSING_CONFIG:** Explain how to create .linear.json
178
- - **ISSUE_NOT_FOUND:** Suggest checking the identifier
179
- - **STATE_NOT_FOUND:** List available states from `states` command
180
- - **PROJECT_NOT_FOUND:** List available projects from `projects` command
181
-
182
- Always parse JSON error response and present human-friendly message with suggestions.
183
- </step>
184
-
185
- </process>
186
-
187
- <success_criteria>
188
- - [ ] Intent correctly parsed from input
189
- - [ ] Direct commands execute immediately without questions
190
- - [ ] Create flow asks max 4 questions in ONE AskUserQuestion call
191
- - [ ] No codebase exploration unless user explicitly requests it
192
- - [ ] Issue created immediately after user answers questions
193
- - [ ] CLI output parsed and formatted for readability
194
- - [ ] Errors handled with helpful suggestions
195
- </success_criteria>
@@ -1,93 +0,0 @@
1
- # Milestone Context Template
2
-
3
- Template for `.planning/MILESTONE-CONTEXT.md` - temporary handoff file from discuss-milestone to create-milestone.
4
-
5
- **Purpose:** Persist milestone discussion context so `/clear` can be used between commands. This file is consumed by `/ms:new-milestone` and deleted after the milestone is created.
6
-
7
- ---
8
-
9
- ## File Template
10
-
11
- ```markdown
12
- # Milestone Context
13
-
14
- **Generated:** [date]
15
- **Status:** Ready for /ms:new-milestone
16
-
17
- <features>
18
- ## Features to Build
19
-
20
- [Features identified during discussion - the substance of this milestone]
21
-
22
- - **[Feature 1]**: [description]
23
- - **[Feature 2]**: [description]
24
- - **[Feature 3]**: [description]
25
-
26
- </features>
27
-
28
- <scope>
29
- ## Scope
30
-
31
- **Suggested name:** v[X.Y] [Theme Name]
32
- **Estimated phases:** [N]
33
- **Focus:** [One sentence theme/focus]
34
-
35
- </scope>
36
-
37
- <phase_mapping>
38
- ## Phase Mapping
39
-
40
- [How features map to phases - rough breakdown]
41
-
42
- - Phase [N]: [Feature/goal]
43
- - Phase [N+1]: [Feature/goal]
44
- - Phase [N+2]: [Feature/goal]
45
-
46
- </phase_mapping>
47
-
48
- <constraints>
49
- ## Constraints
50
-
51
- [Any constraints or boundaries mentioned during discussion]
52
-
53
- - [Constraint 1]
54
- - [Constraint 2]
55
-
56
- </constraints>
57
-
58
- <notes>
59
- ## Additional Context
60
-
61
- [Anything else captured during discussion that informs the milestone]
62
-
63
- </notes>
64
-
65
- ---
66
-
67
- *This file is temporary. It will be deleted after /ms:new-milestone creates the milestone.*
68
- ```
69
-
70
- <guidelines>
71
- **This is a handoff artifact, not permanent documentation.**
72
-
73
- The file exists only to pass context from `discuss-milestone` to `create-milestone` across a `/clear` boundary.
74
-
75
- **Lifecycle:**
76
- 1. `/ms:discuss-milestone` creates this file at end of discussion
77
- 2. User runs `/clear` (safe now - context is persisted)
78
- 3. `/ms:new-milestone` reads this file
79
- 4. `/ms:new-milestone` uses context to populate milestone
80
- 5. `/ms:new-milestone` deletes this file after successful creation
81
-
82
- **Content should include:**
83
- - Features identified (the core of what to build)
84
- - Suggested milestone name/theme
85
- - Rough phase mapping
86
- - Any constraints or scope boundaries
87
- - Notes from discussion
88
-
89
- **Content should NOT include:**
90
- - Technical analysis (that comes during phase research)
91
- - Detailed phase specifications (create-milestone handles that)
92
- - Implementation details
93
- </guidelines>
@@ -1,3 +0,0 @@
1
- """ms-linear CLI tool for Linear integration."""
2
-
3
- __version__ = "1.0.0"
@@ -1,6 +0,0 @@
1
- """Entry point for python -m ms_linear."""
2
-
3
- from ms_linear.cli import app
4
-
5
- if __name__ == "__main__":
6
- app()