2.2 KiB
2.2 KiB
Contributing
Thanks for your interest in contributing to Open Multi-Agent! This guide covers the basics to get you started.
Setup
git clone https://github.com/JackChen-me/open-multi-agent.git
cd open-multi-agent
npm install
Requires Node.js >= 18.
Development Commands
npm run build # Compile TypeScript (src/ → dist/)
npm run dev # Watch mode compilation
npm run lint # Type-check (tsc --noEmit)
npm test # Run all tests (vitest)
npm run test:watch # Vitest watch mode
Running Tests
All tests live in tests/. They test core modules (TaskQueue, SharedMemory, ToolExecutor, Semaphore) without requiring API keys or network access.
npm test
Every PR must pass npm run lint && npm test. CI runs both automatically on Node 18, 20, and 22.
Making a Pull Request
- Fork the repo and create a branch from
main - Make your changes
- Add or update tests if you changed behavior
- Run
npm run lint && npm testlocally - Open a PR against
main
PR Checklist
npm run lintpassesnpm testpasses- New behavior has test coverage
- Linked to a relevant issue (if one exists)
Code Style
- TypeScript strict mode, ES modules (
.jsextensions in imports) - No additional linter/formatter configured — follow existing patterns
- Keep dependencies minimal (currently 3 runtime deps:
@anthropic-ai/sdk,openai,zod)
Architecture Overview
See the README for an architecture diagram. Key entry points:
- Orchestrator:
src/orchestrator/orchestrator.ts— top-level API - Task system:
src/task/queue.ts,src/task/task.ts— dependency DAG - Agent:
src/agent/runner.ts— conversation loop - Tools:
src/tool/framework.ts,src/tool/executor.ts— tool registry and execution - LLM adapters:
src/llm/— Anthropic, OpenAI, Copilot
Where to Contribute
Check the issues page. Issues labeled good first issue are scoped and approachable. Issues labeled help wanted are larger but well-defined.
License
By contributing, you agree that your contributions will be licensed under the MIT License.