Thanks for helping improve the Axiom MCP Server. This guide keeps contributions fast, consistent, and easy to review.
- Fork and create a feature branch:
feat/<topic>orfix/<topic>. - Install deps:
npm ci - Run everything in watch mode:
npm run dev - App only (Cloudflare Worker):
npm run dev -w apps/mcp(Wrangler on port 8788) - Library only:
npm run dev -w packages/mcp
- Lint/format:
npm run lint - Type check:
npm run type-check - Tests (all):
npm test - Tests (watch):
npm run test:watch - Build (all):
npm run build
- TypeScript, strict mode across packages.
- File naming: kebab-case for modules (e.g.,
tools-genai.ts), PascalCase for React components. - Prefer named exports and small, focused modules.
- Follow Biome rules (
biome.jsonc). Avoid unused variables/exports.
- Framework: Vitest.
- Naming:
*.test.tsor*.spec.ts(seeapps/mcp/vitest.config.ts). - Unit tests live next to code in
packages/mcp; app integrations live inapps/mcp/test(Wrangler/Miniflare-friendly).
- Use Conventional Commits:
feat:,fix:,docs:,refactor:,test:,chore:,style:. - Keep commits focused; write imperative subject lines.
- PRs must include: what/why, screenshots for UI changes, and any config/migration notes. All checks (build, lint, type-check, tests) should pass.
- Do not commit secrets. Prefer Wrangler secrets/vars. Review
apps/mcp/wrangler.jsoncbefore deploy changes.
- This project uses the MIT License (see LICENSE). By contributing, you agree your contributions are licensed under MIT.
- For deeper repo details (structure, commands, style), see AGENTS.md.