Quickstart

April 5, 2026 · View on GitHub

This is the single-page setup guide. Follow these steps in order to go from zero to a fully working Pare integration.

Prerequisites

  • Node.js >= 20
  • A supported AI client (Claude Code, Cursor, VS Code, Windsurf, Zed, etc.)

Step 1: Run the Init Tool

The @paretools/init CLI auto-detects your client and writes the correct MCP config.

Non-interactive (recommended for CI and AI agents):

npx @paretools/init --client claude-code --preset web

Interactive:

npx @paretools/init

Available Presets

PresetServers IncludedBest For
webgit, npm, build, lint, testJavaScript/TypeScript, React, Next.js
pythongit, python, testPython, Django, FastAPI, ML
rustgit, cargo, testRust projects
gogit, go, testGo projects
jvmgit, jvm, testJava, Kotlin, Android (Gradle/Maven)
dotnetgit, dotnet, testC#, F#, .NET projects
rubygit, ruby, testRuby, Rails projects
swiftgit, swift, testSwift, iOS/macOS projects
mobilegit, jvm, swift, testCross-platform mobile (Android + iOS)
devopsgit, docker, k8s, securityInfrastructure, CI/CD, containers
fullAll serversMonorepos, polyglot projects

Ecosystem-to-Preset Mapping

Not sure which preset to use? Find your project type:

Project TypeRecommended PresetWhy
React / Next.js / Vuewebnpm + build + lint + test
Node.js API / Expresswebnpm + build + lint + test
Python / Django / FastAPIpythonpip, ruff, mypy, pytest, uv
Machine Learning / Jupyterpythonpip, ruff, pytest, uv, conda
Rust CLI / libraryrustcargo build, test, clippy, fmt
Go service / CLIgogo build, test, vet, golangci-lint
Android (Gradle)jvmgradle-build, gradle-test
iOS / macOS (Xcode)swiftswift build, test, package management
Cross-platform mobilemobilejvm + swift combined
Java / Kotlin backendjvmgradle/maven build, test, dependencies
C# / .NETdotnetdotnet build, test, publish
Ruby / Railsrubygem, bundler, ruby run
Docker / Kubernetes / DevOpsdevopsdocker, k8s, security scanning
Monorepo / polyglotfullEverything available

Client Options

Use --client to target a specific client:

npx @paretools/init --client claude-code --preset web
npx @paretools/init --client cursor --preset python
npx @paretools/init --client vscode --preset go
npx @paretools/init --client windsurf --preset rust

Use --dry-run to preview what would be written without making changes:

npx @paretools/init --client claude-code --preset web --dry-run

Step 2: Add Agent Rules

Agent rules tell AI agents to prefer Pare MCP tools over raw CLI commands. Copy the appropriate rules file for your client:

Claude Code:

# If you DON'T have a CLAUDE.md yet:
cp node_modules/@paretools/init/rules/CLAUDE.md CLAUDE.md

# If you ALREADY have a CLAUDE.md, append the Pare section:
cat node_modules/@paretools/init/rules/CLAUDE.md >> CLAUDE.md

Merge strategy for existing CLAUDE.md: If your project already has a CLAUDE.md, do NOT overwrite it. Instead, append the Pare rules section to the end of your existing file using >>. Review the merged file to ensure there are no conflicts or duplicate sections. The Pare rules are self-contained under a ## MCP Tools heading and will not interfere with your existing instructions.

Pre-built rule files are also available in the Pare repo under rules/:

ClientRule FileCopy Command
Claude Coderules/CLAUDE.mdcp rules/CLAUDE.md CLAUDE.md
Cursorrules/.cursor/rules/pare.mdcmkdir -p .cursor/rules && cp rules/.cursor/rules/pare.mdc .cursor/rules/
Windsurfrules/.windsurfrulescp rules/.windsurfrules .windsurfrules
Clinerules/.clinerules/pare.mdmkdir -p .clinerules && cp rules/.clinerules/pare.md .clinerules/
GitHub Copilotrules/.github/copilot-instructions.mdmkdir -p .github && cp rules/.github/copilot-instructions.md .github/
Gemini CLIrules/GEMINI.mdcp rules/GEMINI.md GEMINI.md
Aiderrules/CONVENTIONS.mdcp rules/CONVENTIONS.md CONVENTIONS.md

Step 3: (Claude Code Only) Install the Enforcement Hook

The optional pare-prefer-mcp.sh hook intercepts Bash tool calls and redirects them to Pare MCP tools automatically.

mkdir -p .claude/hooks
cp hooks/pare-prefer-mcp.sh .claude/hooks/
chmod +x .claude/hooks/pare-prefer-mcp.sh

Then add the hook config to .claude/settings.json:

{
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Bash",
        "hooks": [
          {
            "type": "command",
            "command": "./.claude/hooks/pare-prefer-mcp.sh"
          }
        ]
      }
    ]
  }
}

Important: The hook path ./.claude/hooks/pare-prefer-mcp.sh is project-relative. Claude Code must be invoked from the project root directory for the hook to work. If you launch Claude Code from a subdirectory, the hook will not be found.

Step 4: Restart Your Client Session

After running pare-init and copying rules, restart your AI client session (or reload the MCP servers) for the new configuration to take effect.

  • Claude Code: Start a new conversation or restart the CLI
  • Cursor / VS Code: Reload the window (Ctrl+Shift+P > "Reload Window")
  • Windsurf: Restart the application

Step 5: Validate with Doctor

Verify that all configured Pare servers are running correctly:

npx @paretools/init doctor

Doctor checks each configured server, reports which tools loaded successfully, and flags any connection issues.

What to Commit vs. Gitignore

After setup, your project will have new config files. Here is what to track in version control:

FileActionWhy
.mcp.jsonCommitShared MCP config so all team members get Pare servers
.claude/settings.jsonCommitHook config and shared settings for the team
CLAUDE.mdCommitAgent rules should be shared across the team
.claude/settings.local.jsonGitignoreUser-specific overrides (API keys, local paths)
.cursor/rules/pare.mdcCommitShared Cursor rules for the team

Add to your .gitignore:

# User-specific Claude Code settings
.claude/settings.local.json

Full Example: Claude Code + Web Project

Here is the complete setup for a typical web project, start to finish:

# 1. Configure MCP servers
npx @paretools/init --client claude-code --preset web

# 2. Add agent rules (new project)
cp node_modules/@paretools/init/rules/CLAUDE.md CLAUDE.md

# 3. Install enforcement hook (optional)
mkdir -p .claude/hooks
cp hooks/pare-prefer-mcp.sh .claude/hooks/
chmod +x .claude/hooks/pare-prefer-mcp.sh

# 4. Validate
npx @paretools/init doctor

# 5. Commit the config
git add .mcp.json CLAUDE.md .claude/
git commit -m "chore: add Pare MCP tool configuration"

# 6. Restart Claude Code and start coding

Next Steps