# Contributing to Outlook Calendar MCP Tool

Thank you for considering contributing to the Outlook Calendar MCP Tool! This document provides guidelines and instructions for contributing to this project.

## Code of Conduct

By participating in this project, you agree to maintain a respectful and inclusive environment for everyone. Please be kind and courteous to others, and consider the impact of your words and actions.

## How to Contribute

There are many ways to contribute to this project:

1. **Reporting Bugs**: If you find a bug, please create an issue with a detailed description of the problem, steps to reproduce it, and your environment details.

2. **Suggesting Enhancements**: Have an idea for a new feature or improvement? Create an issue with the tag "enhancement" and describe your suggestion in detail.

3. **Code Contributions**: Want to fix a bug or implement a feature? Follow the steps below:

### Pull Request Process

1. **Fork the Repository**: Create your own fork of the project.

2. **Create a Branch**: Create a branch for your changes with a descriptive name.
   ```
   git checkout -b feature/your-feature-name
   ```

3. **Make Your Changes**: Implement your changes, following the coding standards and practices used in the project.

4. **Test Your Changes**: Ensure your changes work as expected and don't break existing functionality.

5. **Update Documentation**: Update any relevant documentation, including README.md, if necessary.

6. **Submit a Pull Request**: Push your changes to your fork and submit a pull request to the main repository.

7. **Code Review**: Wait for a maintainer to review your pull request. You may need to make additional changes based on feedback.

## Development Setup

To set up the project for development:

1. Clone the repository:
   ```
   git clone https://github.com/yourusername/outlook-calendar-mcp.git
   cd outlook-calendar-mcp
   ```

2. Install dependencies:
   ```
   npm install
   ```

3. Make your changes and test them locally.

## Coding Standards

Please follow these coding standards when contributing:

1. **JavaScript/Node.js**:
   - Use ES6 syntax
   - Follow the existing code style
   - Use async/await for asynchronous operations
   - Add JSDoc comments for functions and complex logic

2. **VBScript**:
   - Use Option Explicit for all scripts
   - Follow the existing code style
   - Use structured error handling with descriptive messages
   - Add comments for functions and complex logic

## Testing

Before submitting a pull request, please test your changes thoroughly:

1. Test all affected functionality
2. Ensure error handling works correctly
3. Verify that your changes don't break existing features

## License

By contributing to this project, you agree that your contributions will be licensed under the project's MIT License.

## Questions?

If you have any questions about contributing, please create an issue with the tag "question".

Thank you for your contribution!
