Contributing¶
Thanks for your interest in contributing to MetaBot!
Development Setup¶
# 1. Clone the repo
git clone https://github.com/xvirobotics/metabot.git
cd metabot
# 2. Install dependencies
npm install
# 3. Copy environment config
cp .env.example .env
# Edit .env with your credentials
# 4. Build
npm run build
# 5. Run in development
npm run dev
Prerequisites: Node.js 20+, Claude Code CLI installed and authenticated.
Development Commands¶
npm run dev # Hot-reload dev server (tsx)
npm test # Run tests (vitest)
npm run lint # ESLint check
npm run format # Prettier format
npm run build # TypeScript compile to dist/
How to Contribute¶
Reporting Bugs¶
- Use the Bug Report template
- Include logs (redact sensitive info) and steps to reproduce
Suggesting Features¶
- Use the Feature Request template
- Describe the use case, not just the solution
Submitting Pull Requests¶
- Fork the repo and create a branch from
main - Make your changes with clear commit messages
- Ensure
npm run buildpasses with no errors - Run
npm testandnpm run lint - Open a PR with a clear description of what changed and why
Code Style¶
- TypeScript strict mode
- Use
async/awaitover raw promises - Keep functions small and focused
- ESM imports with
.jsextensions