Local Development & Setup Guide
This guide walks through setting up your local workstation for contributing to the DevDiff monorepo across all core packages, CLI tools, MCP server, and the VS Code extension.
Prerequisites
- Node.js:
>= 20.0.0(LTS recommended) - pnpm:
^9.0.0(core package manager) - Git:
^2.40.0
Quick Setup Instructions
1. Clone & Install Dependencies
bash
git clone https://github.com/EldrexDelosReyesBula/DevDiff.git
cd DevDiff
pnpm install2. Build All Monorepo Packages
bash
# Build all packages via Turbo
pnpm build3. Run Development Watch Mode
bash
# Watches and rebuilds packages incrementally on save
pnpm dev4. Test Local CLI Linking
bash
cd packages/cli
npm link
devdiff --helpPackage-Specific Workflows
VS Code Extension Development (packages/vscode)
bash
# Typecheck the extension host code
pnpm --filter devdiff typecheck
# Build the self-contained VSIX bundle via esbuild
pnpm --filter devdiff build
# Launch the VS Code Extension Development Host in VS Code
# Press F5 in VS Code to run the extension in a debug windowPlugin SDK & DevTools (packages/plugin-sdk)
bash
# Run Plugin SDK unit tests and DevTools test harness
pnpm --filter @eldrex/plugin-sdk test
# Build SDK package artifacts and TypeScript declarations
pnpm --filter @eldrex/plugin-sdk buildModel Context Protocol (MCP) Server (packages/mcp)
bash
# Test the local MCP server with all 16 tool handlers
pnpm --filter @eldrex/mcp test
# Run MCP server on stdio
devdiff mcp serveDocumentation Portal (docs/)
bash
# Start VitePress local documentation server (http://localhost:5173)
pnpm docs:dev
# Build production documentation static bundle
pnpm docs:build
# Preview production documentation locally
pnpm docs:previewPre-Flight Release Gate Verification
Before submitting pull requests or publishing releases, run the automated release gate verification:
bash
# Linux / macOS
pnpm gate
# Windows (PowerShell)
pnpm gate:ps