# Contributing to TachiBot MCP

Thank you for your interest in contributing!

## Getting Started

1. Fork the repository
2. Create a feature branch (`git checkout -b feature/amazing-feature`)
3. Make your changes
4. Run tests (`npm test`)
5. Build (`npm run build`)
6. Commit your changes (`git commit -m 'Add amazing feature'`)
7. Push to your fork (`git push origin feature/amazing-feature`)
8. Open a Pull Request

## Development Setup

```bash
git clone https://github.com/pavveu/tachibot-mcp.git
cd tachibot-mcp
npm install
cp .env.example .env  # Add your API keys
npm run build
npm test
```

## Guidelines

- Write clear commit messages
- Add tests for new features
- Update documentation
- Follow existing code style
- One feature per PR

## Reporting Issues

Use the issue templates and include:
- TachiBot version
- Node version
- Operating system
- Steps to reproduce
- Error messages

## Questions?

- Email: `tachibotmcp [at] gmail [dot] com`
- Open a [Discussion](https://github.com/pavveu/tachibot-mcp/discussions)
- Create an issue

## Adding a tool

Run `npm run add-tool` and answer the prompts (provider, wire name, description). It scaffolds a `defineModelTool(...)` in the provider file at the `// plop:tools`/`// plop:register` anchors and a test stub. Fill in the `parameters` and `execute` TODOs. The emitted-schema golden test (`npm run test:golden`) guards the tool-name/schema wire contract.

## License

By submitting code to this project, you agree that your contributions will be licensed under the AGPL-3.0 license and you grant Pawel Pawlowski the right to relicense your contributions under alternative licenses (including commercial licenses).

See [CLA.md](./CLA.md) for full terms.
