# Contributing to Tabby-MCP-Server

Thank you for your interest in contributing to Tabby-MCP-Server! This document provides guidelines and instructions to help you get started.

## Code of Conduct

Please read and follow our [Code of Conduct](CODE_OF_CONDUCT.md) to foster an inclusive and respectful community.

## Getting Started

1. **Fork** the repository on GitHub
2. **Clone** your fork locally
3. **Set up** the development environment

```bash
# Clone your fork
git clone https://github.com/YOUR-USERNAME/tabby-mcp-server.git

# Move into the project directory
cd tabby-mcp-server

# Install dependencies
npm install

# Set up the development environment
npm run build
```

## Development Workflow

### Building the Project

```bash
# Build the project
npm run build

# Watch mode (rebuilds on file changes)
npm run watch
```

### Testing

Before submitting a pull request, make sure all tests pass:

```bash
npm test
```

## Pull Request Process

1. Update the README.md with details of changes if appropriate
2. Update the documentation with details of any changes to interfaces
3. The versioning scheme we use is [SemVer](http://semver.org/)
4. Submit your pull request with a clear title and detailed description

### Pull Request Guidelines

- Follow the coding style and conventions used throughout the project
- Include tests for any new functionality
- Update documentation for any changed functionality
- Keep pull requests focused on a single topic
- Reference any related issues in your PR description using the `#issue-number` format

## Feature Requests

Feature requests are welcome. Please provide as much detail and context as possible including:

- Clear and descriptive title
- Detailed description of the feature
- Any relevant examples or mockups
- Why this feature would be useful to most users

## Bug Reports

When reporting bugs, please include:

- Your operating system name and version
- Tabby version
- Detailed steps to reproduce the bug
- What you expected to happen
- What actually happened
- Any relevant error messages or screenshots

## Documentation

Improvements to documentation are always welcome! This includes:

- Code comments
- README updates
- New guides or tutorials
- Example code

## Questions?

Feel free to open an issue with the "question" tag if you have any questions about contributing!

---

Thank you for contributing to Tabby-MCP-Server!