# Contributing ## Development Setup For full local setup instructions (dependencies, `.env`, and MCP inspector workflow), see [docs/dev-setup.md](docs/dev-setup.md). ## Run Tools Directly (Without MCP) Use `scripts/run-tool.ts` to execute tools directly during development. When using `npm run tool`, include `--` before tool arguments so npm forwards them to `scripts/run-tool.ts`. `run-tool` authenticates with `TODOIST_API_KEY` from your `.env` file (created from `.env.example` via `npm run setup`). Use a test account or a temporary project for write operations so you do not modify real Todoist data. Before running write tools, you can verify which Todoist account is connected: `npm run tool -- user-info '{}'` ```sh npm run tool:list npm run tool -- '' npm run tool -- --file ``` Examples: ```sh npm run tool -- add-tasks '{"tasks":[{"content":"Test task"}]}' npm run tool -- find-tasks '{"searchText":"meeting"}' npm run tool -- get-overview '{}' ``` ## Quality Checks Run these before opening a PR: - `npm run test` - `npm run type-check` - `npm run check` ## Tool Changes When adding or changing tool behavior: 1. Update tool schema descriptions in the source file. 2. Update `src/mcp-server.ts` guidance when relevant. 3. Add or update tests covering the change. 4. Include usage examples where helpful. ## Commit Conventions This repository uses Conventional Commits: - `feat:` new features - `fix:` bug fixes - `feat!:` or `fix!:` breaking changes - `docs:` documentation - `chore:` maintenance - `ci:` CI changes