Skip to content

Contribute

Use Windows x64, 64-bit Python 3.10 or newer, and Node.js 22.12 or newer. See CONTRIBUTING.md for the full contributor instructions.

Terminal window
git clone https://github.com/Boti-Ormandi/memscope-mcp.git
Set-Location memscope-mcp
python -m pip install -e ".[dev]"
ruff check
ruff format --check
pytest tests/ -v

Use a separate runtime data root:

Terminal window
$env:MEMSCOPE_HOME = Join-Path $env:TEMP ("memscope-mcp-dev-" + [guid]::NewGuid())
New-Item -ItemType Directory -Force $env:MEMSCOPE_HOME | Out-Null
memscope-mcp paths

Logs, saved scripts, activated plugin files, and recordings persist under that root. Activated plugin files execute as Python when a server starts with the same root.

Terminal window
Set-Location site
npm ci
npx playwright install chromium
npm run check

The site check builds and installs the current Python wheel, compares its exact 11-tool contract with site/tools.json, checks generated Markdown, typechecks/builds Astro, and runs static plus browser/accessibility tests.

After changing the MCP tool interface, regenerate the installed-wheel snapshot and tool reference:

Terminal window
npm run tools:snapshot:update
npm run check
  • Write end-user procedures and reference content in site/src/content/docs/**.
  • Update site/tools.json through npm run tools:snapshot:update; it generates the MCP tool page.
  • Keep README.md as a short introduction for repository visitors.
  • Keep root docs/** for implementation notes and the documentation URL map.
  • Keep vulnerability-reporting instructions in SECURITY.md.
  • Record version-specific history in GitHub Releases.

When a documentation URL changes, update the URL map, navigation, site checks, and route/link tests together.