Thank you for your interest in contributing! This guide will help you get started.
- Node.js >= 18.0.0
- Git
- npm
# Fork and clone the repository
git clone https://github.com/<your-username>/axon.git
cd axon
# Install dependencies
npm install
# Build frontend
cd src/web/client
npm install
npm run build
cd ../../..
# Build backend
npm run build
# Start development mode
npm run dev # CLI mode
npm run web # Web UI modenpm test # All tests
npm run test:unit # Unit tests
npm run test:integration # Integration tests
npm run test:e2e # End-to-end tests
npx tsc --noEmit # Type checking- Search existing issues first
- Use the Bug Report template
- Include:
- Steps to reproduce
- Expected vs actual behavior
- OS, Node.js version, browser (for Web UI)
- Error logs / screenshots
- Open an issue with the Feature Request template
- Explain the use case and motivation
- Be specific about what you want
- Fork the repo and create a branch from
private_web_ui - Make your changes
- Ensure
npx tsc --noEmitpasses - Ensure
npm test -- --runpasses - Write a clear commit message
- Open a Pull Request
type(scope): description
# Examples
feat(tools): add new database query tool
fix(web): resolve WebSocket reconnection issue
docs: update installation instructions
refactor(core): simplify conversation loop
Types: feat, fix, docs, refactor, test, chore, perf
src/
├── core/ # Core engine (API client, session, conversation loop)
├── tools/ # 37+ built-in tools
├── web/
│ ├── server/ # Express + WebSocket backend
│ └── client/ # React frontend (Web IDE)
├── blueprint/ # Multi-agent system
├── memory/ # Memory & search system
├── mcp/ # MCP protocol implementation
└── ... # See README for full structure
- TypeScript with ES modules
- No strict mode (tsconfig
strict: false) - JSX for Ink (CLI UI) and React (Web UI) components
- Zod for schema validation
- Keep changes focused — don't mix features with refactoring
By contributing, you agree that your contributions will be licensed under the MIT License.