Releases: move-hoon/claude-pro-minmax
v1.4.0
🚀 CPMM v1.4.0 (Minor)
A Context7-focused release that aligns CPMM with the official Context7 Claude Code flow, removes conflicting repo-local Context7 behavior, and makes setup, verification, and current-doc lookup much clearer for users who opt in.
What Changed
CPMM now follows the official Context7 path:
- CPMM no longer ships a parallel repo-local Context7 docs layer.
cpmm setupcan now offer the full recommended official flow:npm install -g ctx7ctx7 setup --cli --claude
- This gives users both:
- a shell-visible
ctx7CLI - the official Context7 Claude Code integration
- a shell-visible
Context7 verification is now clearer:
cpmm doctornow checks Context7 in two parts:ctx7CLI binary presence- official Claude integration artifacts
- It reports:
ctx7binary- Context7 skill (
find-docs) - Context7 rule (
context7.md)
- Partial installs now get explicit recovery guidance instead of ambiguous status:
- re-run
cpmm setup - or run the official commands directly
- re-run
Legacy Context7 cleanup improved:
- If CPMM detects the old managed Context7 MCP entry in
~/.claude.json, setup now removes it. - This prevents old repo-managed Context7 configuration from conflicting with the new official path.
Current-doc behavior is cleaner:
- After official setup, current library docs flow through Context7’s official Claude integration.
/llms-txtremains available as the explicit raw-doc fallback when you want raw/llms.txtcontent or URL-based raw-doc lookup.
Documentation and built-in CPMM guidance were updated (EN/KO):
README.mdREADME.ko.mddocs/USER-MANUAL.mddocs/USER-MANUAL.ko.md
Claude command / skill guidance was also updated to reflect:
- official Context7 ownership
- the new verification model
/llms-txtas the explicit fallback path
Why This Matters
Users now get a much cleaner Context7 experience:
- no more mismatch where official setup succeeds but
ctx7is missing from the shell - no more split mental model between CPMM-managed docs behavior and official Context7 behavior
cpmm setup,cpmm doctor, shell verification, and Claude-side behavior now point to the same installation model
CPMM keeps its original product boundary intact:
- Context7 remains optional
- CPMM does not make Context7 a default dependency
- users who do not opt into Context7 keep the same default CPMM behavior
Upgrade
npm i -g claude-pro-minmax@latest
cpmm setup
cpmm doctorOptional Context7 Enablement
npm install -g ctx7
ctx7 setup --cli --claude
cpmm doctorRecommended Verification
command -v ctx7
ctx7 --version
cpmm doctorCompatibility Note
Users upgrading from v1.3.1 without Context7 enabled:
- default CPMM behavior remains unchanged
Users enabling Context7 on v1.4.0:
cpmm setupnow installs thectx7CLI and then runs the official Claude Code setupcpmm doctornow verifies both the CLI and the official integration separately- current-doc lookup now follows the official Context7 path, with
/llms-txtkept as the explicit raw fallback
v1.3.1
🚀 CPMM v1.3.1 (Patch)
A compatibility-focused RTK follow-up release that improves upgrade safety for existing users, restores managed hook state automatically, and tightens RTK guidance without changing CPMM’s opt-in policy.
What Changed
-
RTK-enabled users now get safer
cpmm setupbehavior:- if RTK was already enabled before setup, CPMM now restores:
- RTK hook order
- RTK hook
timeout: 10
- this happens automatically after
cpmm setuprewrites~/.claude/settings.json
- if RTK was already enabled before setup, CPMM now restores:
-
RTK remains opt-in:
- CPMM still does not enable the RTK hook by default
- users who never enabled RTK stay on the same default CPMM behavior
-
RTK hook management improved:
- CPMM now normalizes RTK into the canonical slot:
- CPMM critical-action safety hook first
- RTK rewrite hook second
- duplicate / drifted RTK hook entries are reconciled into one managed entry
- if the RTK hook artifact is missing, CPMM attempts to restore it through RTK’s supported hook init flow
- CPMM now normalizes RTK into the canonical slot:
-
cpmm doctorguidance improved:- still checks RTK binary presence
- still checks whether the RTK hook is enabled
- still verifies hook order
- now gives clearer recovery guidance when RTK timeout is missing or drifted:
- re-run
cpmm setup
- re-run
-
Documentation updated (EN/KO):
- clarified that RTK is about Bash command-output filtering
- clarified that the quota effect is reducing noisy command output before it expands Claude input context
- updated upgrade / activation guidance in:
README.mdREADME.ko.mddocs/USER-MANUAL.mddocs/USER-MANUAL.ko.md
Why This Matters
- Existing
v1.3.0users who already opted into RTK now get a much safer upgrade path. - CPMM no longer leaves RTK-enabled users to manually re-fix hook order and timeout after setup rewrites managed settings.
- CPMM keeps its original product boundary intact:
- RTK is still optional
- CPMM safety hook still comes first
- Bash-heavy workflows get a cleaner, more stable integration path
Upgrade
npm i -g claude-pro-minmax@latest
cpmm setup
cpmm doctorOptional RTK Enablement
rtk init -g --hook-only
cpmm setup
cpmm doctorManaged Hook Order
{
"type": "command",
"command": "~/.claude/scripts/hooks/critical-action-check.sh",
"timeout": 5
}
{
"type": "command",
"command": "~/.claude/hooks/rtk-rewrite.sh",
"timeout": 10
}Compatibility Note
v1.3.0users without RTK enabled:- behavior remains unchanged
v1.3.0users with RTK enabled:cpmm setupnow restores the managed RTK hook order and timeout automatically
v1.3.0
🚀 CPMM v1.3.0 (Minor)
An RTK-ready release focused on Bash-heavy output reduction, safer hook composition, and clearer setup/doctor guidance without changing CPMM’s default-on behavior.
What Changed
-
Optional RTK integration added:
cpmm setupnow attempts to installrtkwhen supported- RTK remains opt-in — CPMM does not enable the RTK hook by default
- Supported auto-install path:
brew install rtk- upstream
curlinstaller fallback
-
CLI
cpmm doctorexpanded for RTK health checks:- Detects whether the
rtkbinary is installed - Detects whether the RTK hook is enabled
- Verifies CPMM’s safety hook runs before the RTK rewrite hook
- Warns when RTK hook
timeoutis missing or not set to10 - Keeps RTK integration optional:
- missing RTK binary = advisory
- missing RTK hook = advisory
- wrong hook order = fail
- Detects whether the
-
Install / update UX improved:
cpmm setupnow prints RTK activation guidance after install- Update flow detects prior RTK hook usage and reminds users to re-check:
- hook order
- timeout
cpmm doctor
-
Documentation updated (EN/KO):
- README now surfaces RTK more clearly in the top-level value proposition
- Added RTK guidance to:
README.mdREADME.ko.mddocs/USER-MANUAL.mddocs/USER-MANUAL.ko.mdscripts/hooks/README.mdscripts/hooks/README.ko.md
- Recommended activation flow:
rtk init -g --hook-onlycpmm doctor
Why This Matters
- CPMM now officially supports RTK as a first-class optional integration for Bash-heavy workflows.
- Users can reduce Bash command noise before it enters Claude context while preserving CPMM’s safety-first hook ordering.
cpmm doctornow catches the most important RTK integration mistake:- RTK rewrite running before CPMM’s critical-action safety check
- The release keeps CPMM’s identity intact:
- model routing
- output control
- local safety rails
- with RTK as an optional optimization layer
Upgrade
npm i -g claude-pro-minmax@latest
cpmm setup
cpmm doctorOptional RTK Enablement
rtk init -g --hook-only
cpmm doctorRecommended Hook Order
{
"type": "command",
"command": "~/.claude/scripts/hooks/critical-action-check.sh",
"timeout": 5
}
{
"type": "command",
"command": "~/.claude/hooks/rtk-rewrite.sh",
"timeout": 10
}v1.2.1
🚀 CPMM v1.2.1 (Patch)
A documentation clarity + CLI UX polish update focused on reducing installation friction and improving diagnostic output.
What Changed
-
CLI
cpmm doctoroutput redesigned:claudeseparated into Prerequisite category (distinct from Dependencies)- Missing prerequisite shows
⚠warning with native install hint (curl -fsSL https://claude.ai/install.sh | bash) - Dependencies section retains existing
✓/✗icons with[required]/[optional]tags - Colorized output (
✓green,⚠yellow,✗red) for better terminal readability
-
README installation section restructured (EN/KO):
- Perplexity/language settings moved from standalone section into collapsed Advanced (Optional)
- Clarified Perplexity is not required —
/dplanstill works via Sequential Thinking + Context7 - Customization & Update Policy with 2-Layer directory tree now always visible (not collapsed)
- Added missing
plans/andprojects/to user-owned preserved paths - Fixed FAQ reference from outdated "table" to "2-Layer structure"
Why This Matters
- New users no longer see Perplexity setup as a blocker — essential install flow is 3 commands and done
cpmm doctorclearly distinguishes "you need Claude Code first" from "CPMM can fix this for you"- 2-Layer structure (Global Baseline vs Project-Specific) is immediately visible, reducing misconfiguration risk
Upgrade
npm i -g claude-pro-minmax@latest
cpmm setup
cpmm doctorv1.2.0
🚀 CPMM v1.2.0 (Minor)
A simplification + release-hardening update focused on one-command setup and safer npm packaging.
⚠️ Breaking Changes
cpmm installwas removed. Usecpmm setup.- Legacy setup flags were removed:
--check,--fix,--yes,--json. - Running
cpmmwith no command now defaults tosetup.
What Changed
-
CLI architecture simplified:
bin/cpmm.jsis now a thin entrypoint- core logic moved to
lib/cli.js - removed legacy
bin/dependency-policy.js
-
Dependency policy simplified and unified:
- Required:
jq,mgrep,tmux - Optional:
claude(assumed pre-installed)
- Required:
-
cpmm setupflow unified:- installs missing required dependencies
- runs
install.shto configure CPMM files (language/Perplexity prompt on fresh interactive installs)
-
cpmm doctoris dependency-only and provides clear remediation (Fix: cpmm setup) -
npm publish hardening:
- bumped
package.jsonversion to1.2.0 - tightened
filesallowlist - includes required runtime files (
bin/,lib/,.claude.json,install.sh)
- bumped
-
Docs sync (EN/KO):
- README / README.ko aligned with current runtime behavior
- project tree updated to reflect
lib/cli.js - Node.js
>=18badge added
Why This Matters
- One clear setup path (
cpmm setup) with fewer edge cases - Smaller, easier-to-maintain CLI surface
- Better npm package safety (reduced local artifact leakage risk)
Upgrade / Migration
npm i -g claude-pro-minmax@latest
cpmm setup
cpmm doctorMigration mapping:
cpmm install→cpmm setup- remove usage of
--check,--fix,--yes,--json
v1.1.0
🚀 CPMM v1.1.0 (Minor)
A reliability + usability release focused on dependency checks and installer hardening.
What Changed
-
New dependency policy layer (
bin/dependency-policy.js)- Centralized required/optional rules for all checks and fixes
- Required:
claude,jq - Optional:
mgrep,tmux
-
cpmm setup/cpmm doctorcontract cleanup- Shared policy-driven checks (no duplicated logic)
- Consistent output + exit behavior
- Better remediation guidance for macOS/Linux
- Supports
--check,--fix,--yes,--json
-
Installer hardening (
install.sh)- Blocks unsupported invocations (
curl | bash, process substitution) - On update, auto-restores missing
~/.claude.json - Recreates missing
~/.mcp.json -> ~/.claude.jsonsymlink - Improved legacy flow when marker is missing (clearer backup/in-place behavior)
- Blocks unsupported invocations (
-
Docs sync (EN/KO)
- Canonical install/update flow unified:
cpmm install(global)npx claude-pro-minmax@latest install(no global install)
- Backup semantics (
~/.claude.pre-cpmm) and ownership boundary documented
- Canonical install/update flow unified:
Why This Matters
- Dependency checks are now predictable, scriptable, and easier to auto-fix.
- Update runs can self-heal common MCP config deletion cases.
- Installer behavior is safer in unsupported execution contexts.
- Docs now match actual runtime behavior.
Upgrade
npx claude-pro-minmax@latest install
npx claude-pro-minmax@latest setup --check
npx claude-pro-minmax@latest doctor
# or
npm i -g claude-pro-minmax@latest && cpmm installv1.0.2
🚀 CPMM v1.0.2 (Patch)
A hardening patch for the Node.js runtime adapter — fixing CWD safety, error visibility, and
unintended side effects.
What Changed
- Node adapter: subshell isolation — all adapter functions now run inside ( cd "$PROJECT_DIR" ... )
subshells- Prevents adapter_clean() from deleting files in the wrong directory
- Prevents npx eslint ., prettier --write . from targeting wrong CWD
- Node adapter: error visibility — replaced 2>/dev/null with 2>&1 across all commands
- Claude Code can now see tsc/eslint/test error messages instead of silent swallow
- Node adapter: no unintended installs — all npx calls now use --no-install flag
- Prevents automatic package downloads in non-interactive environments
- Node adapter: accurate script detection — _has_script() upgraded to jq-based lookup (grep
fallback)- Searches .scripts section only, avoiding false positives from dependencies
- Misc: fixed adapter_clean echo missing .nuxt, .output, .turbo
- Version bump: package.json → 1.0.2
Why This Matters
- Users with CLAUDE_PROJECT_DIR set no longer risk rm -rf hitting the wrong directory.
- Verify results are no longer silently swallowed — Claude can read and act on actual errors.
- No surprise npx package installations during automated verification flows.
Upgrade
npx -y claude-pro-minmax@latest install
# or
npm i -g claude-pro-minmax && cpmm installv1.0.1
🚀 CPMM v1.0.1 (Patch)
A reliability-focused patch release for installation flow + npm visibility.
What Changed
- Installer fix: graceful skip for Perplexity setup when
jqis missing- Prevents
set -eearly exit during install - Installation now completes, with a clear warning to configure Perplexity later
- Prevents
- Installer cleanup: removed ineffective
.claudeignorecopy into~/.claude - Docs: added npm badges to both READMEs
- npm version
- npm monthly downloads
- Version bump:
package.json→1.0.1
Why This Matters
- Users without
jqno longer experience “partial install then fail” behavior. - Cleaner install behavior with fewer confusing side effects.
- Better package trust/discoverability via npm metadata in README.
Upgrade
npx -y claude-pro-minmax@latest install
# or
npm i -g claude-pro-minmax && cpmm installv1.0.0
🚀 CPMM v1.0.0 — Initial Public Release
CPMM (Claude Pro MinMax) is a quota-first execution layer for Claude Code.
Built from direct experimentation:
- Same task
- Same prompt
- Same turn count
Observed result: Haiku ~1% quota vs Opus ~18% quota (about 18x spread).
CPMM enforces cheapest-first routing to reduce silent quota drain.
Prerequisites
npm install -g @anthropic-ai/claude-code
brew install jq # required
brew install tmux # optional: required for /watch
npm install -g @mixedbread/mgrep # optional: output reduction
mgrep install-claude-codeInstallation
# Recommended
npx -y claude-pro-minmax@latest install
# Global install
npm install -g claude-pro-minmax
cpmm install
# curl
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/move-hoon/claude-pro-minmax/main/install.sh)"The installer will:
- Back up existing
~/.claudeautomatically (~/.claude-backup-{timestamp}) - Prompt for Perplexity API key (optional)
- Prompt for output language (English / Korean / Japanese / Chinese)
Verify installation:
cpmm doctor
# or
npx -y claude-pro-minmax@latest doctorKey Features
🧠 Model Routing Commands
| Command | Description |
|---|---|
/do |
Executes in current session model with atomic rollback on failure |
/do-sonnet |
Escalate to Sonnet when Haiku is blocked |
/do-opus |
Escalate to Opus for maximum reasoning |
/plan |
Sonnet designs architecture, Haiku implements |
/plan --no-build |
Architecture planning only, no implementation |
/dplan |
Deep planning with Sequential Thinking + Perplexity + Context7 |
/review |
Read-only review for security, type safety, performance, logic |
🛡 Local Safety Hooks (11 hooks)
| Hook | Trigger | Purpose |
|---|---|---|
critical-action-check |
PreToolUse | Blocks dangerous commands (force push, DROP TABLE, rm -rf) |
readonly-check |
PreToolUse | Blocks write/edit in read-only mode |
retry-check |
PreToolUse | Enforces retry cap, recommends escalation |
post-edit-format |
PostToolUse | Auto-format after edits |
pre-compact |
PreCompact | Saves session state before compaction |
compact-suggest |
PostToolUse | Progressive warnings for context growth |
tool-failure-log |
PostToolUse | Logs failures and recommends escalation |
stop-collect-context |
PostToolUse | Collects context on tool failure |
session-start |
SessionStart | Loads env and shows quota guidance |
session-cleanup |
SessionEnd | Saves summary + scrubs secrets |
notification |
Notification | Desktop alerts for prompts/idle |
📋 Always-Loaded Rules
| Rule | Purpose |
|---|---|
critical-actions.md |
HITL confirmation for dangerous actions |
security.md |
No hardcoded secrets, parameterized queries, input validation |
code-style.md |
Style and maintainability guardrails |
⚙ Runtime Adapter
- Auto-detects JVM / Node.js / Go / Rust / Python via
detect.sh - Unified
verify.shinterface (avoid direct framework-specific test commands) - Language-specific format/test adapters via
scripts/runtime/adapters/*
🤖 Agents
| Agent | Model | Role |
|---|---|---|
@planner |
Sonnet 4.6 | Architecture planning |
@dplanner |
Sonnet 4.6 | Deep planning with MCP tools |
@builder |
Haiku 4.5 | Implementation |
@reviewer |
Haiku 4.5 | Read-only code review |
🔌 Bundled MCP Servers
| Server | Purpose |
|---|---|
| Sequential Thinking | Structured reasoning |
| Context7 | Documentation fetching/context |
| Perplexity | Real-time web research (API key required) |
🔧 Utility Commands
| Command | Description |
|---|---|
/session-save |
Save session with secret scrubbing |
/session-load |
Restore prior session context |
/watch |
Monitor long-running processes via tmux |
/load-context |
Load backend/frontend context templates |
/compact-phase |
Phase-based context pruning |
/learn |
Persist useful session patterns |
/analyze-failures |
Analyze recurring tool failures |
/llms-txt |
Fetch llms.txt docs |
🛠 CLI
npx -y claude-pro-minmax@latest install
cpmm doctorQuick Start
npx -y claude-pro-minmax@latest installThen inside your project:
/model haiku
/do Fix the null check in utils.ts and add a regression test.Links
- 📖 README
- 📘 User Manual
- 📊 Experiment Data