maxsimcli 5.0.6 → 5.1.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.
- package/README.md +316 -288
- package/dist/assets/CHANGELOG.md +14 -0
- package/dist/assets/hooks/maxsim-capture-learnings.cjs +128 -0
- package/dist/assets/hooks/maxsim-capture-learnings.cjs.map +1 -0
- package/dist/assets/hooks/maxsim-check-update.cjs +126 -88
- package/dist/assets/hooks/maxsim-check-update.cjs.map +1 -1
- package/dist/assets/hooks/maxsim-notification-sound.cjs +87 -43
- package/dist/assets/hooks/maxsim-notification-sound.cjs.map +1 -1
- package/dist/assets/hooks/maxsim-statusline.cjs +45 -171
- package/dist/assets/hooks/maxsim-statusline.cjs.map +1 -1
- package/dist/assets/hooks/maxsim-stop-sound.cjs +86 -43
- package/dist/assets/hooks/maxsim-stop-sound.cjs.map +1 -1
- package/dist/assets/hooks/maxsim-sync-reminder.cjs +72 -21
- package/dist/assets/hooks/maxsim-sync-reminder.cjs.map +1 -1
- package/dist/assets/templates/agents/AGENTS.md +62 -51
- package/dist/assets/templates/agents/executor.md +44 -59
- package/dist/assets/templates/agents/planner.md +36 -31
- package/dist/assets/templates/agents/researcher.md +35 -43
- package/dist/assets/templates/agents/verifier.md +29 -31
- package/dist/assets/templates/commands/maxsim/debug.md +20 -154
- package/dist/assets/templates/commands/maxsim/execute.md +19 -33
- package/dist/assets/templates/commands/maxsim/go.md +21 -20
- package/dist/assets/templates/commands/maxsim/help.md +5 -14
- package/dist/assets/templates/commands/maxsim/init.md +18 -40
- package/dist/assets/templates/commands/maxsim/plan.md +22 -37
- package/dist/assets/templates/commands/maxsim/progress.md +15 -16
- package/dist/assets/templates/commands/maxsim/quick.md +18 -29
- package/dist/assets/templates/commands/maxsim/settings.md +18 -26
- package/dist/assets/templates/references/continuation-format.md +2 -4
- package/dist/assets/templates/references/model-profiles.md +2 -2
- package/dist/assets/templates/references/planning-config.md +10 -11
- package/dist/assets/templates/references/self-improvement.md +120 -0
- package/dist/assets/templates/rules/conventions.md +1 -1
- package/dist/assets/templates/rules/verification-protocol.md +1 -1
- package/dist/assets/templates/skills/brainstorming/SKILL.md +35 -26
- package/dist/assets/templates/skills/code-review/SKILL.md +78 -55
- package/dist/assets/templates/skills/commit-conventions/SKILL.md +70 -36
- package/dist/assets/templates/skills/github-operations/SKILL.md +142 -0
- package/dist/assets/templates/skills/handoff-contract/SKILL.md +62 -28
- package/dist/assets/templates/skills/maxsim-batch/SKILL.md +68 -42
- package/dist/assets/templates/skills/maxsim-simplify/SKILL.md +65 -40
- package/dist/assets/templates/skills/project-memory/SKILL.md +121 -0
- package/dist/assets/templates/skills/research/SKILL.md +126 -0
- package/dist/assets/templates/skills/roadmap-writing/SKILL.md +71 -68
- package/dist/assets/templates/skills/systematic-debugging/SKILL.md +37 -25
- package/dist/assets/templates/skills/tdd/SKILL.md +36 -39
- package/dist/assets/templates/skills/using-maxsim/SKILL.md +69 -55
- package/dist/assets/templates/skills/verification/SKILL.md +167 -0
- package/dist/assets/templates/workflows/batch.md +249 -268
- package/dist/assets/templates/workflows/diagnose-issues.md +225 -151
- package/dist/assets/templates/workflows/execute-plan.md +191 -981
- package/dist/assets/templates/workflows/execute.md +350 -309
- package/dist/assets/templates/workflows/go.md +119 -138
- package/dist/assets/templates/workflows/health.md +71 -114
- package/dist/assets/templates/workflows/help.md +85 -147
- package/dist/assets/templates/workflows/init-existing.md +180 -1373
- package/dist/assets/templates/workflows/init.md +53 -165
- package/dist/assets/templates/workflows/new-milestone.md +91 -334
- package/dist/assets/templates/workflows/new-project.md +165 -1384
- package/dist/assets/templates/workflows/plan-create.md +182 -73
- package/dist/assets/templates/workflows/plan-discuss.md +89 -82
- package/dist/assets/templates/workflows/plan-research.md +191 -85
- package/dist/assets/templates/workflows/plan.md +122 -58
- package/dist/assets/templates/workflows/progress.md +76 -310
- package/dist/assets/templates/workflows/quick.md +70 -495
- package/dist/assets/templates/workflows/sdd.md +231 -221
- package/dist/assets/templates/workflows/settings.md +90 -120
- package/dist/assets/templates/workflows/verify-phase.md +296 -258
- package/dist/cli.cjs +17 -23465
- package/dist/cli.cjs.map +1 -1
- package/dist/install.cjs +356 -8358
- package/dist/install.cjs.map +1 -1
- package/package.json +16 -22
- package/dist/assets/templates/skills/agent-system-map/SKILL.md +0 -92
- package/dist/assets/templates/skills/evidence-collection/SKILL.md +0 -87
- package/dist/assets/templates/skills/github-artifact-protocol/SKILL.md +0 -67
- package/dist/assets/templates/skills/github-tools-guide/SKILL.md +0 -89
- package/dist/assets/templates/skills/input-validation/SKILL.md +0 -51
- package/dist/assets/templates/skills/memory-management/SKILL.md +0 -75
- package/dist/assets/templates/skills/research-methodology/SKILL.md +0 -137
- package/dist/assets/templates/skills/sdd/SKILL.md +0 -91
- package/dist/assets/templates/skills/tool-priority-guide/SKILL.md +0 -80
- package/dist/assets/templates/skills/verification-before-completion/SKILL.md +0 -71
- package/dist/assets/templates/skills/verification-gates/SKILL.md +0 -169
- package/dist/assets/templates/workflows/discuss-phase.md +0 -683
- package/dist/assets/templates/workflows/research-phase.md +0 -73
- package/dist/assets/templates/workflows/verify-work.md +0 -572
- package/dist/core-D5zUr9cb.cjs +0 -4305
- package/dist/core-D5zUr9cb.cjs.map +0 -1
- package/dist/skills-CjFWZIGM.cjs +0 -6824
- package/dist/skills-CjFWZIGM.cjs.map +0 -1
package/README.md
CHANGED
|
@@ -1,427 +1,455 @@
|
|
|
1
|
-
<div align="center">
|
|
2
|
-
|
|
3
1
|
# MAXSIM
|
|
4
2
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
As Claude fills its context window, code quality degrades — wrong decisions, repeated mistakes, lost intent.
|
|
8
|
-
MAXSIM solves this by offloading work to fresh-context subagents, each with a single responsibility and no memory of the mess before.
|
|
3
|
+
Meta-prompting and project orchestration system for Claude Code.
|
|
9
4
|
|
|
10
5
|
[](https://www.npmjs.com/package/maxsimcli)
|
|
11
6
|
[](https://www.npmjs.com/package/maxsimcli)
|
|
12
7
|
[](https://github.com/maystudios/maxsimcli)
|
|
13
8
|
[](LICENSE)
|
|
14
9
|
|
|
15
|
-
<br>
|
|
16
|
-
|
|
17
10
|
[](https://maxsimcli.dev/)
|
|
18
11
|
[](https://maxsimcli.dev/docs)
|
|
19
12
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
```bash
|
|
23
|
-
npx maxsimcli@latest
|
|
24
|
-
```
|
|
13
|
+
---
|
|
25
14
|
|
|
26
|
-
|
|
15
|
+
## The Problem
|
|
27
16
|
|
|
28
|
-
|
|
17
|
+
You start a Claude Code session. The first 20 minutes go well. Then it forgets your architecture decisions, repeats the same mistakes, and output quality drops. You open a fresh session and lose all context.
|
|
29
18
|
|
|
30
|
-
|
|
19
|
+
That is context rot. It gets worse the bigger your project grows.
|
|
31
20
|
|
|
32
|
-
|
|
21
|
+
## What MAXSIM Does
|
|
33
22
|
|
|
34
|
-
|
|
23
|
+
MAXSIM breaks your work into phases, plans each one separately, and runs every task in a fresh agent with only the context it needs. Your decisions, requirements, and project state live in a `.planning/` directory. Agents read from it and write back to it. Nothing gets lost between sessions.
|
|
35
24
|
|
|
36
|
-
|
|
25
|
+
It does not call any LLM API directly. MAXSIM orchestrates Claude Code agents through markdown prompts and workflow files. No API keys, no extra costs beyond your existing Claude Code usage. v6 is Claude Code only.
|
|
37
26
|
|
|
38
|
-
|
|
27
|
+
You install it with one command. It lands in your project's `.claude/` directory and shows up as slash commands in Claude Code.
|
|
39
28
|
|
|
40
|
-
|
|
29
|
+
```sh
|
|
30
|
+
npx maxsimcli@latest
|
|
31
|
+
```
|
|
41
32
|
|
|
42
33
|
---
|
|
43
34
|
|
|
44
|
-
##
|
|
35
|
+
## Quick Start
|
|
45
36
|
|
|
46
37
|
```bash
|
|
47
|
-
# Install into your project
|
|
48
38
|
npx maxsimcli@latest
|
|
39
|
+
```
|
|
49
40
|
|
|
50
|
-
|
|
51
|
-
/maxsim:init
|
|
52
|
-
|
|
53
|
-
# Plan the first phase:
|
|
54
|
-
/maxsim:plan 1
|
|
41
|
+
Then inside Claude Code:
|
|
55
42
|
|
|
56
|
-
|
|
57
|
-
/maxsim:
|
|
43
|
+
```
|
|
44
|
+
/maxsim:init # Set up the planning structure
|
|
45
|
+
/maxsim:plan 1 # Plan phase 1
|
|
46
|
+
/maxsim:execute 1 # Run phase 1
|
|
58
47
|
```
|
|
59
48
|
|
|
60
|
-
That
|
|
49
|
+
That is the core loop. Init, plan, execute, verify. Each phase is isolated, each task gets a fresh agent, every change gets an atomic commit.
|
|
61
50
|
|
|
62
51
|
---
|
|
63
52
|
|
|
64
|
-
##
|
|
53
|
+
## What You Get
|
|
65
54
|
|
|
66
|
-
|
|
55
|
+
MAXSIM ships 9 slash commands, 4 agents, 14 skills, and 20 workflows. Here is what that means in practice.
|
|
67
56
|
|
|
68
|
-
**
|
|
57
|
+
**Spec-driven development.** All work flows through structured markdown files in `.planning/`. PROJECT.md, ROADMAP.md, STATE.md, REQUIREMENTS.md. The spec is the single source of truth. Agents read from it and update it as they work.
|
|
69
58
|
|
|
70
|
-
**
|
|
59
|
+
**4 generic agents with clear roles.** Executor builds things. Planner creates plans. Researcher investigates the codebase. Verifier checks the results. Each one does one job.
|
|
71
60
|
|
|
72
|
-
**
|
|
61
|
+
**3 model profiles.** Pick `quality`, `balanced`, or `budget` to control which Claude model tier each agent uses. You can override individual agents too.
|
|
73
62
|
|
|
74
|
-
|
|
63
|
+
**GitHub Issues as the source of truth.** Phases become tracking issues. Plans become sub-issues. A 4-column project board (To Do, In Progress, In Review, Done) tracks execution progress.
|
|
75
64
|
|
|
76
|
-
|
|
65
|
+
**Parallel execution with git worktrees.** Independent plans run concurrently in separate worktrees. MAXSIM groups them into dependency-ordered waves and runs each wave in parallel.
|
|
77
66
|
|
|
78
|
-
|
|
67
|
+
**Review gates you can toggle.** Three gates (spec review, code review, simplify review) can be turned on or off. Each supports a retry limit before it escalates.
|
|
79
68
|
|
|
80
|
-
|
|
69
|
+
**Drift detection.** MAXSIM compares your codebase against the spec and flags divergence before it snowballs.
|
|
81
70
|
|
|
82
|
-
|
|
83
|
-
```
|
|
84
|
-
/maxsim:init
|
|
85
|
-
```
|
|
86
|
-
Answer a few questions → MAXSIM researches your domain, scopes v1/v2, and creates a phased roadmap in `.planning/`. Works for new projects, existing codebases, and milestone transitions.
|
|
71
|
+
---
|
|
87
72
|
|
|
88
|
-
|
|
89
|
-
```
|
|
90
|
-
/maxsim:plan 1
|
|
91
|
-
```
|
|
92
|
-
State-machine workflow: Discussion → Research → Planning. Research agent investigates your domain. Planner creates atomic task plans. Plan-checker verifies them. You get a PLAN.md ready to execute.
|
|
73
|
+
## Installation
|
|
93
74
|
|
|
94
|
-
|
|
95
|
-
```
|
|
96
|
-
/maxsim:execute 1
|
|
97
|
-
```
|
|
98
|
-
Plans run in parallel waves. Each task gets its own fresh executor agent and atomic git commit. Two-stage review (spec compliance → code quality) with automatic retry. Verifier checks the codebase delivered what the phase promised.
|
|
75
|
+
You need Node.js 22+ and Claude Code. Git is required for parallel execution. GitHub CLI (`gh`) is optional, only needed for the Issues integration.
|
|
99
76
|
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
/maxsim:progress
|
|
77
|
+
```bash
|
|
78
|
+
npx maxsimcli@latest
|
|
103
79
|
```
|
|
104
|
-
See where you are, what's next. Intelligent routing to the next action — whether that's planning the next phase, executing, or completing a milestone.
|
|
105
80
|
|
|
106
|
-
|
|
81
|
+
Run this from your project root. Everything goes into `.claude/`.
|
|
82
|
+
|
|
83
|
+
### CLI Flags
|
|
84
|
+
|
|
85
|
+
| Flag | Alias | What it does |
|
|
86
|
+
|------|-------|-------------|
|
|
87
|
+
| `--uninstall` | | Remove all MAXSIM files from `.claude/` |
|
|
88
|
+
| `--quiet` | `-q` | Suppress output |
|
|
89
|
+
| `--help` | `-h` | Show usage |
|
|
90
|
+
| `--version` | `-v` | Print version |
|
|
91
|
+
|
|
92
|
+
### What Lands in Your Project
|
|
93
|
+
|
|
94
|
+
The installer copies these files into `.claude/`:
|
|
95
|
+
|
|
96
|
+
- 9 slash commands (`/maxsim:init`, `/maxsim:plan`, etc.)
|
|
97
|
+
- 4 agent definitions (executor, planner, researcher, verifier)
|
|
98
|
+
- 14 skills (TDD, debugging, code review, and more)
|
|
99
|
+
- 20 workflow files
|
|
100
|
+
- 15 reference documents, 2 rules files
|
|
101
|
+
- 6 hooks (statusline, update checker, sounds, capture-learnings)
|
|
102
|
+
- 1 tool binary (`maxsim-tools.cjs`)
|
|
103
|
+
- `CLAUDE.md` in your project root
|
|
104
|
+
|
|
105
|
+
### Directory Layout
|
|
106
|
+
|
|
107
107
|
```
|
|
108
|
-
/
|
|
108
|
+
.claude/
|
|
109
|
+
├── commands/maxsim/ # 9 slash commands
|
|
110
|
+
├── maxsim/
|
|
111
|
+
│ ├── bin/maxsim-tools.cjs # Tool binary
|
|
112
|
+
│ ├── workflows/ # 20 workflows
|
|
113
|
+
│ ├── templates/ # Planning document templates
|
|
114
|
+
│ ├── references/ # 15 reference docs
|
|
115
|
+
│ └── hooks/ # 6 hook scripts (.cjs)
|
|
116
|
+
├── agents/ # 4 agents
|
|
117
|
+
├── skills/ # 14 skill directories
|
|
118
|
+
├── rules/ # 2 rules files
|
|
119
|
+
├── settings.json
|
|
120
|
+
└── CLAUDE.md # Generated project context
|
|
109
121
|
```
|
|
110
|
-
Auto-detects project state, surfaces blockers, and dispatches to the right command. No arguments needed.
|
|
111
122
|
|
|
112
|
-
|
|
123
|
+
### Upgrading
|
|
113
124
|
|
|
114
|
-
|
|
125
|
+
Run `npx maxsimcli@latest` again. The installer overwrites MAXSIM-managed files. Custom skills you have added to `.claude/skills/` and your own agents are not touched.
|
|
115
126
|
|
|
127
|
+
### Uninstall
|
|
128
|
+
|
|
129
|
+
```bash
|
|
130
|
+
npx maxsimcli --uninstall
|
|
116
131
|
```
|
|
117
|
-
|
|
118
|
-
MAXSIM
|
|
119
|
-
You: A CLI tool that converts PDFs to structured JSON using AI
|
|
120
|
-
MAXSIM: [researches domain, scopes requirements]
|
|
121
|
-
[creates REQUIREMENTS.md and ROADMAP.md with 8 phases]
|
|
122
|
-
Phase 1: PDF parsing + text extraction
|
|
123
|
-
Phase 2: AI-powered structure detection
|
|
124
|
-
...
|
|
125
|
-
|
|
126
|
-
You: /maxsim:plan 1
|
|
127
|
-
MAXSIM: [research agent investigates pdf libraries]
|
|
128
|
-
[planner creates 3 atomic task plans]
|
|
129
|
-
[plan-checker verifies feasibility]
|
|
130
|
-
Ready. Run /maxsim:execute 1
|
|
131
|
-
|
|
132
|
-
You: /maxsim:execute 1
|
|
133
|
-
MAXSIM: [wave 1: executor installs dependencies, commits]
|
|
134
|
-
[wave 2: executor implements PDF reader, commits]
|
|
135
|
-
[wave 3: executor adds tests, commits]
|
|
136
|
-
[spec review ✓ → code review ✓ → verifier confirms goal achieved]
|
|
137
|
-
Phase 1 complete. 3 commits.
|
|
138
|
-
```
|
|
132
|
+
|
|
133
|
+
Removes MAXSIM files from `.claude/`. Your own skills, agents, and Claude Code config stay untouched.
|
|
139
134
|
|
|
140
135
|
---
|
|
141
136
|
|
|
142
137
|
## Commands
|
|
143
138
|
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
| Command | Description |
|
|
139
|
+
| Command | What it does |
|
|
147
140
|
|---------|-------------|
|
|
148
|
-
| `/maxsim:init` | Initialize
|
|
149
|
-
| `/maxsim:plan
|
|
150
|
-
| `/maxsim:execute <
|
|
151
|
-
| `/maxsim:
|
|
152
|
-
| `/maxsim:
|
|
153
|
-
| `/maxsim:
|
|
154
|
-
| `/maxsim:debug
|
|
155
|
-
| `/maxsim:settings` |
|
|
156
|
-
| `/maxsim:help` | Show
|
|
157
|
-
|
|
158
|
-
Every command is **idempotent** — you can re-run it and it picks up where you left off. No work gets lost.
|
|
141
|
+
| `/maxsim:init` | Initialize MaxsimCLI in current project with GitHub integration |
|
|
142
|
+
| `/maxsim:plan <phase>` | Plan a specific phase with discussion, research, and task breakdown |
|
|
143
|
+
| `/maxsim:execute <phase>` | Execute all plans in a phase with parallel agents and auto-verification |
|
|
144
|
+
| `/maxsim:go` | Auto-detect project state and execute the right action |
|
|
145
|
+
| `/maxsim:quick <description>` | Quick task — create a GitHub Issue and execute in simplified flow |
|
|
146
|
+
| `/maxsim:progress` | Show project status from GitHub Project Board with next-action recommendation |
|
|
147
|
+
| `/maxsim:debug` | Systematic debugging with reproduce-hypothesize-isolate-verify-fix cycle |
|
|
148
|
+
| `/maxsim:settings` | View and modify MaxsimCLI configuration |
|
|
149
|
+
| `/maxsim:help` | Show available MaxsimCLI commands and usage |
|
|
159
150
|
|
|
160
|
-
|
|
151
|
+
## Core Workflow
|
|
161
152
|
|
|
162
|
-
|
|
153
|
+
MAXSIM organizes development into phases. Each phase moves through five stages.
|
|
163
154
|
|
|
164
|
-
|
|
165
|
-
npx maxsimcli@latest
|
|
166
|
-
```
|
|
155
|
+
**1. Initialize** (`/maxsim:init`)
|
|
167
156
|
|
|
168
|
-
|
|
157
|
+
Run once per project. Creates the `.planning/` directory with PROJECT.md, ROADMAP.md, STATE.md, REQUIREMENTS.md, and config files. Optionally connects GitHub Issues and a Project Board for tracking.
|
|
169
158
|
|
|
170
|
-
|
|
171
|
-
- **4 agents** → `.claude/agents/`
|
|
172
|
-
- **19 skills** → `.claude/skills/`
|
|
173
|
-
- **26 workflows** → `.claude/maxsim/workflows/`
|
|
174
|
-
- **3 hooks** → `.claude/hooks/`
|
|
175
|
-
- **MCP server** → `.claude/maxsim/bin/mcp-server.cjs`
|
|
159
|
+
**2. Plan** (`/maxsim:plan <phase>`)
|
|
176
160
|
|
|
177
|
-
|
|
161
|
+
Three steps happen in sequence. A researcher agent inspects the codebase. You discuss scope and acceptance criteria. A planner agent writes structured plan files into `.planning/phases/<phase>/`.
|
|
178
162
|
|
|
179
|
-
|
|
163
|
+
**3. Execute** (`/maxsim:execute <phase>`)
|
|
180
164
|
|
|
181
|
-
|
|
182
|
-
|
|
165
|
+
An executor agent picks up each plan, makes the code changes, commits atomically, and runs verification before moving on. Independent plans can run in parallel across multiple agents.
|
|
166
|
+
|
|
167
|
+
**4. Verify**
|
|
168
|
+
|
|
169
|
+
A verifier agent checks that every plan has a summary, expected artifacts exist, requirements have evidence, and the project passes health checks. Gaps get surfaced before the phase closes.
|
|
170
|
+
|
|
171
|
+
**5. Complete**
|
|
172
|
+
|
|
173
|
+
The phase is marked done and progress updates. The next phase becomes active.
|
|
174
|
+
|
|
175
|
+
Want to plan and execute in one go? Use `/maxsim:go <phase>`. Got a quick fix that does not fit a phase? Use `/maxsim:quick <description>`.
|
|
176
|
+
|
|
177
|
+
## Phase Lifecycle
|
|
183
178
|
|
|
184
|
-
```
|
|
185
|
-
|
|
179
|
+
```
|
|
180
|
+
empty → discussed → researched → planned → partial → complete
|
|
186
181
|
```
|
|
187
182
|
|
|
188
|
-
|
|
183
|
+
| State | Meaning |
|
|
184
|
+
|-------|---------|
|
|
185
|
+
| `empty` | Phase directory exists, no work started |
|
|
186
|
+
| `discussed` | Requirements gathered |
|
|
187
|
+
| `researched` | Codebase research done |
|
|
188
|
+
| `planned` | Plan files written |
|
|
189
|
+
| `partial` | Execution started but not finished |
|
|
190
|
+
| `complete` | All plans executed and verified |
|
|
189
191
|
|
|
190
|
-
|
|
192
|
+
Phase numbers are flexible. Integer (`01`, `02`), letter suffixes for parallel tracks (`02A`, `02B`), and decimal inserts (`02.1`) all work.
|
|
191
193
|
|
|
192
194
|
---
|
|
193
195
|
|
|
194
|
-
##
|
|
196
|
+
## Agents
|
|
195
197
|
|
|
196
|
-
|
|
198
|
+
4 agents, each with one job:
|
|
197
199
|
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
"parallelization": true,
|
|
205
|
-
"worktree_mode": "auto",
|
|
206
|
-
"max_parallel_agents": 10,
|
|
207
|
-
"brave_search": false,
|
|
208
|
-
"workflow": {
|
|
209
|
-
"research": true,
|
|
210
|
-
"plan_checker": true,
|
|
211
|
-
"verifier": true
|
|
212
|
-
},
|
|
213
|
-
"review": {
|
|
214
|
-
"spec_review": true,
|
|
215
|
-
"code_review": true,
|
|
216
|
-
"simplify_review": true,
|
|
217
|
-
"retry_limit": 3
|
|
218
|
-
}
|
|
219
|
-
}
|
|
220
|
-
```
|
|
200
|
+
| Agent | Role | What it does |
|
|
201
|
+
|-------|------|-------------|
|
|
202
|
+
| Executor | Builds things | Reads plans, makes code changes, commits atomically, handles deviations |
|
|
203
|
+
| Planner | Creates plans | Turns research into structured PLAN.md files with tasks, waves, and dependencies |
|
|
204
|
+
| Researcher | Investigates | Explores the codebase, gathers technical context, can use Brave Search |
|
|
205
|
+
| Verifier | Checks results | Validates plan structure, artifacts, requirement evidence, commit integrity |
|
|
221
206
|
|
|
222
|
-
|
|
223
|
-
|-----|--------|---------|-------------|
|
|
224
|
-
| `model_profile` | `quality` \| `balanced` \| `budget` \| `tokenburner` | `balanced` | Which models agents use |
|
|
225
|
-
| `branching_strategy` | `none` \| `phase` \| `milestone` | `none` | Git branch creation per phase or milestone |
|
|
226
|
-
| `commit_docs` | boolean | `true` | Commit documentation changes separately |
|
|
227
|
-
| `parallelization` | boolean | `true` | Enable wave-based parallel plan execution |
|
|
228
|
-
| `worktree_mode` | `auto` \| `always` \| `never` | `auto` | Git worktree isolation for parallel agents |
|
|
229
|
-
| `workflow.research` | boolean | `true` | Enable research agent before planning |
|
|
230
|
-
| `workflow.plan_checker` | boolean | `true` | Enable plan-checker verification before execution |
|
|
231
|
-
| `workflow.verifier` | boolean | `true` | Enable verifier agent after execution |
|
|
232
|
-
| `review.spec_review` | boolean | `true` | Spec compliance review after each plan |
|
|
233
|
-
| `review.code_review` | boolean | `true` | Code quality review after each plan |
|
|
234
|
-
| `review.simplify_review` | boolean | `true` | Simplification pass after reviews |
|
|
235
|
-
| `review.retry_limit` | number | `3` | Max review cycle retries before escalation |
|
|
236
|
-
| `brave_search` | boolean | `false` | Enable Brave Search API in research agents |
|
|
207
|
+
Each agent is a markdown file at `.claude/agents/{name}.md` with YAML frontmatter for tools, model tier, and preloaded skills.
|
|
237
208
|
|
|
238
209
|
### Model Profiles
|
|
239
210
|
|
|
240
|
-
|
|
211
|
+
Set `model_profile` in `.planning/config.json` to control which Claude model each agent uses:
|
|
241
212
|
|
|
242
|
-
| Agent | `quality` | `balanced` | `budget` |
|
|
243
|
-
|
|
244
|
-
|
|
|
245
|
-
|
|
|
246
|
-
|
|
|
247
|
-
|
|
|
213
|
+
| Agent Type | `quality` | `balanced` (default) | `budget` |
|
|
214
|
+
|------------|-----------|---------------------|----------|
|
|
215
|
+
| planner | opus | opus | sonnet |
|
|
216
|
+
| executor | opus | sonnet | sonnet |
|
|
217
|
+
| researcher | opus | sonnet | haiku |
|
|
218
|
+
| verifier | sonnet | sonnet | haiku |
|
|
248
219
|
|
|
249
|
-
|
|
220
|
+
`opus` maps to `inherit`, meaning it uses your Claude Code session model. `sonnet` and `haiku` are passed directly to subagent invocations.
|
|
250
221
|
|
|
251
|
-
|
|
222
|
+
### Per-Agent Overrides
|
|
252
223
|
|
|
253
|
-
|
|
254
|
-
/maxsim:settings
|
|
255
|
-
```
|
|
256
|
-
|
|
257
|
-
You can also override individual agents in `config.json`:
|
|
224
|
+
Override individual agents regardless of profile:
|
|
258
225
|
|
|
259
226
|
```json
|
|
260
227
|
{
|
|
261
228
|
"model_profile": "balanced",
|
|
262
229
|
"model_overrides": {
|
|
263
|
-
"
|
|
264
|
-
"
|
|
230
|
+
"executor": "opus",
|
|
231
|
+
"researcher": "haiku"
|
|
265
232
|
}
|
|
266
233
|
}
|
|
267
234
|
```
|
|
268
235
|
|
|
269
236
|
---
|
|
270
237
|
|
|
271
|
-
##
|
|
238
|
+
## GitHub Integration
|
|
272
239
|
|
|
273
|
-
|
|
240
|
+
MAXSIM tracks phase and plan progress through GitHub Issues. Your `.planning/` files hold project-level documents (roadmap, state, config). Execution progress lives in GitHub. GitHub CLI (`gh`) and a GitHub-hosted repository are required for this feature.
|
|
274
241
|
|
|
275
|
-
|
|
276
|
-
|-------|------|------------------|
|
|
277
|
-
| `executor` | Implements plans with atomic commits and deviation handling | maxsim-executor |
|
|
278
|
-
| `planner` | Creates PLAN.md files with task breakdown and goal-backward verification | maxsim-planner, maxsim-roadmapper, maxsim-plan-checker |
|
|
279
|
-
| `researcher` | Investigates domains with source evaluation and confidence levels | maxsim-phase-researcher, maxsim-project-researcher, maxsim-research-synthesizer, maxsim-codebase-mapper |
|
|
280
|
-
| `verifier` | Verifies work against specs with fresh evidence and hard gates | maxsim-verifier, maxsim-code-reviewer, maxsim-spec-reviewer, maxsim-debugger, maxsim-integration-checker, maxsim-drift-checker |
|
|
242
|
+
### Setup
|
|
281
243
|
|
|
282
|
-
|
|
244
|
+
Configured during `/maxsim:init`:
|
|
283
245
|
|
|
284
|
-
|
|
246
|
+
1. Creates a "MAXSIM Task Board" project with 4 columns (To Do, In Progress, In Review, Done)
|
|
247
|
+
2. Creates labels: `phase` (purple), `task` (blue), `blocker` (red)
|
|
248
|
+
3. Optionally creates a GitHub Milestone
|
|
285
249
|
|
|
286
|
-
|
|
250
|
+
### How It Works
|
|
251
|
+
|
|
252
|
+
Each phase gets a tracking issue. Each plan becomes a sub-issue linked to its phase. Plan content goes into structured comments. Completion data (commit SHA, files changed) gets posted to task issues. Progress is computed from open vs closed sub-issue counts.
|
|
287
253
|
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
###
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
| `
|
|
295
|
-
| `
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
|
299
|
-
|
|
300
|
-
| `
|
|
301
|
-
| `research-methodology` | How to research effectively |
|
|
302
|
-
| `sdd` | Spec-driven development — fresh agent per task |
|
|
303
|
-
| `tdd` | Test-driven development — failing test before implementation |
|
|
304
|
-
| `systematic-debugging` | Reproduce → hypothesize → isolate → verify → fix |
|
|
305
|
-
| `brainstorming` | Multi-approach exploration before design decisions |
|
|
306
|
-
| `code-review` | Security, interfaces, error handling, test coverage |
|
|
307
|
-
| `verification-before-completion` | 5-step verification with evidence requirements |
|
|
308
|
-
|
|
309
|
-
### Execution Skills
|
|
310
|
-
| Skill | Description |
|
|
311
|
-
|-------|-------------|
|
|
312
|
-
| `maxsim-batch` | Parallel worktree execution for independent work units |
|
|
313
|
-
| `maxsim-simplify` | Review changed code for reuse, quality, and efficiency |
|
|
314
|
-
| `commit-conventions` | Project git commit standards |
|
|
315
|
-
|
|
316
|
-
### Reference Skills
|
|
317
|
-
| Skill | Description |
|
|
318
|
-
|-------|-------------|
|
|
319
|
-
| `agent-system-map` | Agent capabilities and tool mappings |
|
|
320
|
-
| `tool-priority-guide` | Tool usage priority and best practices |
|
|
321
|
-
| `memory-management` | Persistent memory across sessions |
|
|
322
|
-
| `roadmap-writing` | Guided roadmap and requirements authoring |
|
|
323
|
-
| `using-maxsim` | Guide for effective MAXSIM usage |
|
|
254
|
+
A local cache file maps phase numbers to GitHub issue numbers and is rebuilt from GitHub when needed.
|
|
255
|
+
|
|
256
|
+
### Tool Commands
|
|
257
|
+
|
|
258
|
+
| Subcommand | What it does |
|
|
259
|
+
|---|---|
|
|
260
|
+
| `github setup` | Create board, labels, milestone |
|
|
261
|
+
| `github create-phase` | Create a phase tracking issue |
|
|
262
|
+
| `github create-task` / `batch-create-tasks` | Create task sub-issues |
|
|
263
|
+
| `github move-issue` | Move issue between board columns |
|
|
264
|
+
| `github status` | Show progress and board overview |
|
|
265
|
+
| `github sync-check` | Verify local cache matches GitHub |
|
|
266
|
+
| `github all-progress` | Show progress for all phases |
|
|
324
267
|
|
|
325
268
|
---
|
|
326
269
|
|
|
327
|
-
##
|
|
270
|
+
## Configuration
|
|
271
|
+
|
|
272
|
+
Project config lives in `.planning/config.json`, created during `/maxsim:init`.
|
|
273
|
+
|
|
274
|
+
### Full Reference
|
|
275
|
+
|
|
276
|
+
| Setting | Type | Default | What it does |
|
|
277
|
+
|---------|------|---------|-------------|
|
|
278
|
+
| `execution.modelProfile` | `'quality' \| 'balanced' \| 'budget'` | `'balanced'` | Model tier for all agents |
|
|
279
|
+
| `model_overrides` | `Record<AgentType, ModelTier>` | | Per-agent model overrides |
|
|
280
|
+
| `execution.parallelism.maxAgentsPerWave` | `number` | `3` | Cap on concurrent agents per wave |
|
|
281
|
+
| `execution.parallelism.maxRetries` | `number` | `3` | Max retries per failed plan |
|
|
282
|
+
| `execution.parallelism.competitionStrategy` | `'none' \| 'quick' \| 'standard' \| 'deep'` | `'standard'` | Parallel competition strategy |
|
|
283
|
+
| `execution.verification.strictMode` | `boolean` | `true` | Enforce all verification gates |
|
|
284
|
+
| `execution.verification.requireCodeReview` | `boolean` | `true` | Code review gate |
|
|
285
|
+
| `execution.verification.autoResolveConflicts` | `boolean` | `true` | Auto-resolve merge conflicts |
|
|
286
|
+
| `worktrees.basePath` | `string` | `'.maxsim-worktrees/'` | Worktree base directory |
|
|
287
|
+
| `worktrees.autoCleanup` | `boolean` | `true` | Remove worktrees after completion |
|
|
288
|
+
| `worktrees.branchPrefix` | `string` | `'maxsim/'` | Branch prefix for worktree branches |
|
|
289
|
+
| `automation.autoCommitOnSuccess` | `boolean` | `true` | Auto-commit `.planning/` changes |
|
|
290
|
+
| `automation.conventionalCommits` | `boolean` | `true` | Enforce conventional commit format |
|
|
291
|
+
| `planning.commit_docs` | `boolean` | `true` | Commit planning artifacts to git |
|
|
292
|
+
| `planning.search_gitignored` | `boolean` | `false` | Include gitignored files in searches |
|
|
293
|
+
| `git.branching_strategy` | `'none' \| 'phase' \| 'milestone'` | `'none'` | Git branching strategy |
|
|
294
|
+
| `git.phase_branch_template` | `string` | `'maxsim/phase-{phase}-{slug}'` | Branch name template for phases |
|
|
295
|
+
| `git.milestone_branch_template` | `string` | `'maxsim/{milestone}-{slug}'` | Branch name template for milestones |
|
|
296
|
+
| `workflow.research` | `boolean` | `true` | Run research before planning |
|
|
297
|
+
| `workflow.plan_checker` | `boolean` | `true` | Run plan checker agent |
|
|
298
|
+
| `workflow.verifier` | `boolean` | `true` | Run verifier after execution |
|
|
299
|
+
|
|
300
|
+
### Config Example
|
|
301
|
+
|
|
302
|
+
```json
|
|
303
|
+
{
|
|
304
|
+
"execution": {
|
|
305
|
+
"modelProfile": "balanced",
|
|
306
|
+
"parallelism": {
|
|
307
|
+
"maxAgentsPerWave": 3,
|
|
308
|
+
"maxRetries": 3,
|
|
309
|
+
"competitionStrategy": "standard"
|
|
310
|
+
},
|
|
311
|
+
"verification": {
|
|
312
|
+
"strictMode": true,
|
|
313
|
+
"requireCodeReview": true,
|
|
314
|
+
"autoResolveConflicts": true
|
|
315
|
+
}
|
|
316
|
+
},
|
|
317
|
+
"worktrees": {
|
|
318
|
+
"basePath": ".maxsim-worktrees/",
|
|
319
|
+
"autoCleanup": true,
|
|
320
|
+
"branchPrefix": "maxsim/"
|
|
321
|
+
},
|
|
322
|
+
"automation": {
|
|
323
|
+
"autoCommitOnSuccess": true,
|
|
324
|
+
"conventionalCommits": true
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
```
|
|
328
|
+
|
|
329
|
+
### User-Level Defaults
|
|
328
330
|
|
|
329
|
-
|
|
331
|
+
Put global defaults in `~/.maxsim/defaults.json`. These merge with hardcoded defaults when a new `.planning/config.json` gets created. They do not override existing project configs.
|
|
330
332
|
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
|
334
|
-
|
|
335
|
-
| `
|
|
333
|
+
### Environment Variables
|
|
334
|
+
|
|
335
|
+
| Variable | Purpose |
|
|
336
|
+
|----------|---------|
|
|
337
|
+
| `BRAVE_API_KEY` | Brave Search API key (or put it in `~/.maxsim/brave_api_key`) |
|
|
338
|
+
| `MAXSIM_DEBUG` | Verbose debug logging to stderr |
|
|
339
|
+
| `MAXSIM_SOUND=0` | Turn off notification sounds |
|
|
340
|
+
| `CI=true` | Suppress sounds in CI |
|
|
341
|
+
| `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` | Enable Agent Teams for parallel execution |
|
|
336
342
|
|
|
337
343
|
---
|
|
338
344
|
|
|
339
|
-
##
|
|
345
|
+
## Skills
|
|
340
346
|
|
|
341
|
-
|
|
347
|
+
Skills are reusable prompt modules that agents load on demand. Each skill is a `SKILL.md` file with YAML frontmatter and a markdown body.
|
|
342
348
|
|
|
343
|
-
|
|
344
|
-
- **Phase operations** — list, add, complete, insert, and remove phases
|
|
345
|
-
- **State management** — read/update STATE.md (decisions, blockers, metrics)
|
|
346
|
-
- **Todo operations** — create, list, and complete todos
|
|
347
|
-
- **Roadmap analysis** — phase status, progress calculation, missing details
|
|
348
|
-
- **Context loading** — intelligent file selection based on task topic
|
|
349
|
-
- **Config management** — read/write `.planning/config.json` settings
|
|
350
|
-
- **GitHub integration** — issue creation, board queries, status tracking
|
|
349
|
+
### Built-in Skills (14)
|
|
351
350
|
|
|
352
|
-
|
|
351
|
+
| Skill | Category | What it does |
|
|
352
|
+
|-------|----------|-------------|
|
|
353
|
+
| `tdd` | Task | Test-driven development, Red-Green-Refactor cycle with atomic commits |
|
|
354
|
+
| `systematic-debugging` | Methodology | Root-cause analysis: reproduce, hypothesize, isolate, verify, fix |
|
|
355
|
+
| `verification` | Methodology | Evidence-based verification with quality gates and anti-rationalization enforcement |
|
|
356
|
+
| `maxsim-simplify` | Task | Reviews changed code for reuse opportunities and unnecessary complexity |
|
|
357
|
+
| `code-review` | Task | Checks security, interfaces, error handling, test coverage |
|
|
358
|
+
| `project-memory` | Task | GitHub-native persistence for learnings, decisions, and patterns |
|
|
359
|
+
| `using-maxsim` | Task | Routes work through MaxsimCLI commands based on project state |
|
|
360
|
+
| `brainstorming` | Task | Explores multiple approaches with structured comparison before committing |
|
|
361
|
+
| `roadmap-writing` | Task | Creates phased roadmaps with dependency graphs and GitHub Milestone structure |
|
|
362
|
+
| `maxsim-batch` | Task | Decomposes tasks for parallel worktree execution |
|
|
363
|
+
| `commit-conventions` | Convention | Conventional commit format and version trigger rules |
|
|
364
|
+
| `github-operations` | Reference | Unified GitHub interaction: artifacts, comments, CLI, issue lifecycle |
|
|
365
|
+
| `handoff-contract` | Protocol | Agent-to-agent handoff protocol |
|
|
366
|
+
| `research` | Methodology | Systematic investigation using parallel agents and source hierarchy |
|
|
353
367
|
|
|
354
|
-
|
|
368
|
+
### Skill Types
|
|
355
369
|
|
|
356
|
-
|
|
370
|
+
Protocol skills load automatically (handoff-contract). Methodology skills guide how agents think. Task skills are user-invocable workflows like TDD or code review. Reference skills provide static information.
|
|
357
371
|
|
|
358
|
-
|
|
372
|
+
### Managing Skills
|
|
359
373
|
|
|
360
|
-
|
|
361
|
-
.planning/
|
|
362
|
-
├── config.json # Model profile, workflow flags, branching strategy
|
|
363
|
-
├── PROJECT.md # Vision and scope (always loaded)
|
|
364
|
-
├── REQUIREMENTS.md # v1/v2/out-of-scope requirements
|
|
365
|
-
├── ROADMAP.md # Phase structure with goals and dependencies
|
|
366
|
-
├── STATE.md # Memory: decisions, blockers, metrics, session history
|
|
367
|
-
├── phases/
|
|
368
|
-
│ └── 01-Foundation/
|
|
369
|
-
│ ├── 01-CONTEXT.md # User decisions from discussion
|
|
370
|
-
│ ├── 01-RESEARCH.md # Research findings
|
|
371
|
-
│ ├── 01-01-PLAN.md # Task plan (numbered per attempt)
|
|
372
|
-
│ ├── 01-01-SUMMARY.md # Completion record with evidence
|
|
373
|
-
│ ├── 01-VERIFICATION.md # Verification results
|
|
374
|
-
│ └── 01-UAT.md # User acceptance tests
|
|
375
|
-
└── todos/
|
|
376
|
-
├── pending/
|
|
377
|
-
└── completed/
|
|
378
|
-
```
|
|
374
|
+
Built-in skills update when you upgrade MAXSIM. Custom skills you place in `.claude/skills/` are preserved.
|
|
379
375
|
|
|
380
376
|
---
|
|
381
377
|
|
|
382
|
-
##
|
|
378
|
+
## Parallel Execution
|
|
383
379
|
|
|
384
|
-
MAXSIM
|
|
380
|
+
MAXSIM can run multiple plans at the same time using git worktrees. Each plan gets its own isolated working directory.
|
|
385
381
|
|
|
386
|
-
|
|
387
|
-
templates/commands/maxsim/*.md ← User-facing commands (9 files, user types /maxsim:*)
|
|
388
|
-
templates/workflows/*.md ← Implementation workflows (26 files, loaded via @path)
|
|
389
|
-
templates/agents/*.md ← Subagent prompts (4 agents)
|
|
390
|
-
templates/skills/*/ ← On-demand context modules (19 skills)
|
|
391
|
-
```
|
|
382
|
+
Plans within a phase are grouped into waves. Wave 1 runs first, wave 2 starts after wave 1 finishes. Plans in the same wave run in parallel if they do not touch the same files.
|
|
392
383
|
|
|
393
|
-
|
|
384
|
+
Each parallel plan gets a worktree at `.maxsim-worktrees/{planId}/` on its own branch. Worktrees are cleaned up automatically after completion.
|
|
394
385
|
|
|
395
|
-
|
|
386
|
+
### When It Activates
|
|
396
387
|
|
|
397
|
-
|
|
388
|
+
Parallel execution kicks in when a wave has at least `parallelization.min_plans_for_parallel` plans (default 2). `execution.parallelism.maxAgentsPerWave` caps concurrent agents per wave (default 3). `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` is set automatically in `settings.json` during installation.
|
|
398
389
|
|
|
399
|
-
|
|
390
|
+
Before running in parallel, MAXSIM checks that plans do not modify the same files. If there is a conflict, it falls back to sequential mode.
|
|
400
391
|
|
|
401
392
|
---
|
|
402
393
|
|
|
403
|
-
##
|
|
394
|
+
## Hooks
|
|
395
|
+
|
|
396
|
+
MAXSIM installs 6 Claude Code hooks:
|
|
397
|
+
|
|
398
|
+
| Hook | Event | What it does |
|
|
399
|
+
|------|-------|-------------|
|
|
400
|
+
| `maxsim-statusline` | `statusLine` | Shows model tier, phase number, board column, and milestone progress |
|
|
401
|
+
| `maxsim-check-update` | `SessionStart` | Checks npm for new MAXSIM versions in the background |
|
|
402
|
+
| `maxsim-notification-sound` | `Notification` | Plays a sound when Claude asks you a question |
|
|
403
|
+
| `maxsim-stop-sound` | `Stop` | Plays a sound when Claude finishes |
|
|
404
|
+
| `maxsim-capture-learnings` | `Stop` | Appends a dated learning entry to `.claude/agent-memory/` from the last 5 commits |
|
|
405
|
+
| `maxsim-sync-reminder` | `PostToolUse` | No-op stub, kept for structural reasons |
|
|
404
406
|
|
|
405
|
-
|
|
407
|
+
### Statusline
|
|
408
|
+
|
|
409
|
+
```
|
|
410
|
+
[update] model | P{N} {BoardColumn} | milestone: pct% | dirname
|
|
411
|
+
```
|
|
406
412
|
|
|
407
|
-
|
|
408
|
-
- **Feature requests:** [Start a discussion](https://github.com/maystudios/maxsimcli/discussions)
|
|
409
|
-
- **PRs:** Fork, branch, and open a pull request — see [CLAUDE.md](CLAUDE.md) for architecture overview
|
|
413
|
+
Sounds are suppressed when `MAXSIM_SOUND=0`, `CI=true`, or `SSH_CONNECTION` is set. On Windows sounds play as .wav via PowerShell, on macOS as .aiff via afplay, on Linux it falls back to a terminal bell.
|
|
410
414
|
|
|
411
415
|
---
|
|
412
416
|
|
|
413
|
-
##
|
|
417
|
+
## Architecture
|
|
414
418
|
|
|
415
|
-
|
|
419
|
+
### Monorepo
|
|
416
420
|
|
|
417
|
-
|
|
421
|
+
npm workspaces monorepo with two packages:
|
|
418
422
|
|
|
419
|
-
|
|
423
|
+
```
|
|
424
|
+
maxsim/
|
|
425
|
+
├── packages/
|
|
426
|
+
│ ├── cli/ # maxsimcli, the published npm package
|
|
427
|
+
│ └── website/ # maxsimcli.dev, project website (private)
|
|
428
|
+
├── templates/ # Markdown assets copied into dist during build
|
|
429
|
+
└── package.json # Workspace root
|
|
430
|
+
```
|
|
420
431
|
|
|
421
|
-
|
|
432
|
+
Only `packages/cli` gets published to npm as `maxsimcli`.
|
|
422
433
|
|
|
423
|
-
|
|
434
|
+
### Build
|
|
435
|
+
|
|
436
|
+
```bash
|
|
437
|
+
npm run build # tsdown (CJS) then copy-assets into dist/
|
|
438
|
+
npm test # Vitest unit tests
|
|
439
|
+
npm run e2e # Vitest e2e tests
|
|
440
|
+
npm run lint # Biome
|
|
441
|
+
```
|
|
424
442
|
|
|
425
|
-
|
|
443
|
+
tsdown compiles TypeScript to CJS. copy-assets bundles templates, workflows, agents, skills, hooks, and references into `dist/assets/`. semantic-release handles versioning and npm publish on push to `main`.
|
|
444
|
+
|
|
445
|
+
## Contributing
|
|
446
|
+
|
|
447
|
+
Conventional commits. See [CONTRIBUTING.md](CONTRIBUTING.md).
|
|
448
|
+
|
|
449
|
+
- `fix:` triggers a patch release
|
|
450
|
+
- `feat:` triggers a minor release
|
|
451
|
+
- `feat!:` or `BREAKING CHANGE:` triggers a major release
|
|
452
|
+
|
|
453
|
+
## License
|
|
426
454
|
|
|
427
|
-
|
|
455
|
+
[MIT](LICENSE)
|