blop-wizard
v0.1.2
Published
CLI wizard to install and configure blop release-confidence MCP
Maintainers
Readme
blop-wizard
Install and configure blop-mcp across coding tools with a guided CLI.
blop-wizard is the setup front door: it creates a managed Python runtime, installs blop-mcp from PyPI by default, writes a production-shaped release-confidence .env aligned with blop-mcp's managed stdio baseline, and configures MCP clients around the canonical 4-tool MVP workflow.
Quickstart (PyPI-first)
pnpm install
pnpm build
blop-wizard
blop-wizard doctor --verboseIf the binary is not installed globally yet:
node dist/bin.jsWhat the wizard does
- Checks Python and
uv. - Creates a runtime environment (default:
~/.blop-mcp). - Installs
blop-mcpfrom PyPI (or local source in--install-source localmode). - Creates or updates runtime
.envwith a managed production posture:BLOP_ENV=production,BLOP_REQUIRE_ABSOLUTE_PATHS=true, absolute runtime-local artifact paths,BLOP_CAPABILITIES_PROFILE=production_minimal,BLOP_ENABLE_COMPAT_TOOLS=false,BLOP_ALLOW_INTERNAL_URLS=false,BLOP_RUN_TIMEOUT_SECS=1800,BLOP_STEP_TIMEOUT_SECS=45,BLOP_MAX_CONCURRENT_RUNS=10, andBLOP_ALLOW_SCREENSHOT_LLM=false. - Supports the
blop-mcpprovider contract:BLOP_LLM_PROVIDER=google|anthropic|openaiwith the matching API key. - Adds/updates MCP config (
blop) for supported vibecoding tools. - Runs validation with
doctor, including runtime posture, venv entrypoint, and canonical release-tool checks.
Canonical MVP flow after install
Use the installed MCP server with this sequence:
validate_release_setupdiscover_critical_journeysrun_release_checktriage_release_blocker
Common commands
# Guided setup (recommended)
blop-wizard
# Pin package version from PyPI
blop-wizard --package-version 0.4.0
# Local source mode (editable install)
blop-wizard --install-source local --blop-path /absolute/path/to/blop-mcp
# Local source mode with a dedicated managed runtime
blop-wizard --install-source local \
--blop-path /absolute/path/to/blop-mcp \
--runtime-path ~/.blop-mcp-dev
# Non-interactive mode (Google)
GOOGLE_API_KEY=your_key_here blop-wizard --ci
# Non-interactive mode (Anthropic)
BLOP_LLM_PROVIDER=anthropic ANTHROPIC_API_KEY=your_key_here blop-wizard --ci
# Non-interactive mode (OpenAI)
BLOP_LLM_PROVIDER=openai OPENAI_API_KEY=your_key_here blop-wizard --ci
# MCP add/remove only
blop-wizard mcp add
blop-wizard mcp remove
# Target specific clients (IDs or names)
blop-wizard mcp add --targets cursor vscode windsurf cline continue
blop-wizard mcp remove --targets cursor vscode windsurf cline continue
# Write Cursor config globally instead of project-local
blop-wizard mcp add --global-cursor
blop-wizard mcp remove --global-cursor
# Validate setup
blop-wizard doctor --verbose
# Diagnose and repair an existing runtime in place
blop-wizard repair
# Upgrade the installed runtime in place
blop-wizard upgrade --package-version 0.3.0
# Recreate the managed virtualenv cleanly, then reinstall
blop-wizard upgrade --reinstall --package-version 0.3.0Path model
- Runtime path: where
.venvand.envlive (default~/.blop-mcp, override with--runtime-path). - Runtime-local artifacts: the wizard defaults
BLOP_DB_PATH,BLOP_RUNS_DIR, andBLOP_DEBUG_LOGunder the runtime path. - Project path: where project Cursor MCP config is written (default current working directory, override with
--project-path). - Local source path: used only when
--install-source local(via--blop-path) as the editable install source, separate from the managed runtime.
Provider contract
- Default provider is
google. - To align with
blop-mcp, the wizard accepts:BLOP_LLM_PROVIDER=googlewithGOOGLE_API_KEYBLOP_LLM_PROVIDER=anthropicwithANTHROPIC_API_KEYBLOP_LLM_PROVIDER=openaiwithOPENAI_API_KEY
doctorandrepairvalidate the provider-specific key instead of assuming Google-only setup.
Version pinning
- The wizard installs
blop-mcpfrom PyPI by default. - To pin the MCP runtime version, use
--package-version:blop-wizard --package-version 0.3.0 - This resolves to an install like
blop-mcp==0.3.0. - If you need a non-default package name for testing or an alternate distribution, use:
blop-wizard --package-name blop-mcp --package-version 0.3.0 - For the safest wizard/MCP pairing, pin both sides from the same release plan:
- install or run the wizard from the intended release branch/tag
- pin the Python runtime with
--package-version - run
blop-wizard doctor --verboseafter install to confirm the final runtime matches expectations
- If you are developing both repos together, prefer local mode instead of mixed published versions:
blop-wizard --install-source local --blop-path /absolute/path/to/blop-mcp
Where config is written
- Cursor project config (default):
<project-path>/.cursor/mcp.json - Cursor global config:
--global-cursor - Claude Code:
claude mcp add blop <runtime-path>/.venv/bin/blop-mcp ... - VS Code:
~/.vscode/mcp.json - Windsurf:
~/.codeium/windsurf/mcp_config.json - Cline:
~/.cline/mcp_settings.json - Continue:
~/.continue/config.json - Roo Code:
~/.roo-code/mcp.json - Gemini CLI:
~/.gemini/settings.json - Kilo Code:
~/.kilocode/mcp.json - OpenCode:
~/.opencode/config.json - Zed:
~/.config/zed/settings.json - JetBrains:
~/.jetbrains/mcp.json - Codex CLI/App: via
codex mcp add/remove
Supported vibecoding targets
Use these IDs with --targets:
cursor,cursor-projectclaude-codevscodewindsurfclinecontinueroo-codecodexgemini-clikilo-codeopencodezedjetbrains
Troubleshooting checklist
- Run
blop-wizard doctor --verbose. - If using local mode, confirm
--blop-pathpoints to a validblop-mcpsource repo. - Repair an existing runtime/config in place:
blop-wizard repair --runtime-path /path/to/runtime - Restart Cursor/Claude Code after MCP config changes.
Upgrade and reinstall
- Use
blop-wizard upgradewhen you want to refresh an existing managed runtime without manually cleaning it up. - Default upgrade mode keeps the current runtime directory and updates the installed
blop-mcppackage in place. blop-wizard upgrade --reinstallrecreates the managed.venvbefore reinstalling the package, while preserving the runtime.env.- After either path, the wizard refreshes MCP client config and re-runs validation checks through the same managed flow.
Release Readiness
pnpm check:repo-hygienepnpm testpnpm typecheckpnpm buildnpm pack --dry-runblop-wizard doctor --verbose
Publish to npm
Recommended release flow:
# 1. Make sure the working tree is clean and you are on the release commit
git status --short
# 2. Bump package.json version if needed
npm version patch
# 3. Run the full publish gate locally
pnpm publish:check
# 4. Authenticate to npm
npm login
# 5. Publish the package
npm publishNotes:
- The package name is currently
blop-wizard. - The package is configured for public publish via
publishConfig.access=public. prepublishOnlynow runspnpm publish:check, sonpm publishwill fail fast if tests, typecheck, hygiene, or tarball generation fail.pnpm publish:checkusesnpm pack --dry-run --jsonto show the exact tarball contents before release.- If you want to inspect the tarball manually without publishing, run:
NPM_CONFIG_CACHE=/tmp/.npm-blop-wizard npm pack --dry-run --json - After publish, verify with:
npm view blop-wizard version
Suggested first release verification:
# install globally from npm
npm install -g blop-wizard
# verify the CLI starts
blop-wizard --helpDevelopment
pnpm check:repo-hygiene
pnpm typecheck
pnpm test
pnpm test:integration
pnpm buildtest:integration uses temporary fixtures and never touches real user MCP configs.
Repository hygiene
- This repository tracks source and intentional project files only.
- Generated runtime data (
.blop/), temporary test fixtures (.tmp-test-fixtures/), coverage, and logs are intentionally ignored. - Run
pnpm check:repo-hygienebefore pushing to ensure no generated artifacts were accidentally tracked.
