---
title: Contributing
description: Contribute to TraceRTM
---

# Contributing to TraceRTM

We welcome contributions! Here's how to get started.

## 🚀 Getting Started

1. **Fork the repository** on GitHub
2. **Clone your fork** locally
3. **Create a feature branch** from `main`
4. **Make your changes** with clear commits
5. **Push to your fork** and create a Pull Request

## 📋 Contribution Guidelines

### Code Style

- **TypeScript/JavaScript**: Follow ESLint configuration
- **Go**: Use `gofmt` and `golangci-lint`
- **Python**: Follow PEP 8 with Black formatter

### Commit Messages

Use conventional commits format:

```
feat: Add new feature
fix: Fix bug
docs: Update documentation
test: Add tests
refactor: Refactor code
chore: Update dependencies
```

### Pull Request Checklist

- [ ] Tests pass locally (`npm run test`)
- [ ] Code follows style guidelines
- [ ] Documentation is updated
- [ ] Commit messages are clear
- [ ] No breaking changes (or documented)

## 🧪 Testing

```bash
# Run all tests
npm run test

# Run with coverage
npm run test:coverage

# Run specific test file
npm run test -- path/to/test.ts

# Watch mode
npm run test:watch
```

## 📚 Documentation

- Update relevant `.mdx` files in `docs-site/content/docs/`
- Add docstrings to new functions
- Include examples in documentation
- Update API reference if needed

## 🔍 Code Review Process

1. **Automated checks** run on every PR
2. **Code review** by maintainers
3. **Approval** required before merge
4. **Merge** to main branch

## 🐛 Reporting Issues

- **Bug reports**: Include reproduction steps
- **Feature requests**: Explain use case
- **Questions**: Use discussions

## 📖 Resources

- [Development Guide](/docs/development/)
- [Features](/docs/features/)
- [API Reference](/docs/api-reference/)

## ✨ Code of Conduct

Be respectful and inclusive. We're building this together!

---

**Questions?** Open an issue or start a discussion on GitHub.

