set shell := ["powershell", "-NoProfile", "-Command"] # OpenProject MCP Server Task Runner # Uses Commitizen (https://commitizen-tools.github.io/commitizen/) for # Conventional Commits enforcement, automated versioning, and changelog generation. # Configuration: .cz.json (SemVer, conventional_commits schema) # Hook config: .pre-commit-config.yaml (commit-msg stage validation) # Full bootstrap: install uv, just, commitizen, pre-commit, and configure git hooks. # Run this once after cloning the repo. Safe to re-run (idempotent). # Requires: PowerShell (pwsh). Installs uv and just if missing. bootstrap: pwsh -ExecutionPolicy Bypass -File ./setup.ps1 # Install commitizen and pre-commit, then configure git hooks. # Requires: uv, just already installed. Use `just bootstrap` if not. setup: uv tool install commitizen; uv tool install pre-commit; pre-commit install # Install Node.js dependencies. install: pnpm install # Compile TypeScript to dist/. build: pnpm build # Run MCP server directly with tsx (no build needed). dev: pnpm dev # Run compiled MCP server. start: pnpm start # Refresh pre-commit hook versions to latest. # Run after pulling changes that update .pre-commit-config.yaml. update: pre-commit autoupdate # Generate or update CHANGELOG.md from conventional commit history. # Reads commits since the last tag and groups by type (feat, fix, etc.). changelog: cz changelog # Bump the project version based on commit history since the last tag. # Commitizen determines the SemVer increment automatically: # feat commits → minor bump # fix commits → patch bump # BREAKING CHANGE → major bump bump: cz bump