Thank you for considering contributing to the GitHub Actions MCP Server! This document outlines the process for contributing to this project and how to get started.
- Code of Conduct
- Getting Started
- Contribution Guidelines
- Testing
- Documentation
- Issue Reporting
- Feature Requests
- Community
-
Fork and clone the repository:
git clone https://github.com/YOUR-USERNAME/github-actions-mcp.git cd github-actions-mcp -
Install dependencies:
npm install
-
Set up your GitHub Token:
export GITHUB_TOKEN=your_personal_access_token -
Start the development server:
npm run dev
-
Create a branch for your feature or bug fix:
git checkout -b feature/your-feature-name
-
Make your changes and commit them with clear, descriptive commit messages:
git commit -m "Add feature: brief description of changes" -
Push your branch to your fork:
git push origin feature/your-feature-name
-
Create a Pull Request against the
mainbranch of the original repository. -
Describe your changes in the PR description, including:
- What problem does it solve?
- How does it work?
- How has it been tested?
-
Update the README.md if necessary with details of changes to the interface.
-
Ensure your code passes all checks and reviews before merging.
- TypeScript: Follow the existing coding style and TypeScript configuration.
- ES Modules: Use ES module syntax (
import/export) consistently. - Code Formatting: We recommend using an editor with TypeScript support.
- Comments: Add JSDoc comments to functions, especially for exported functions.
Example of a well-documented function:
/**
* Retrieves workflow run information from GitHub
*
* @param {object} args - The arguments object
* @param {string} args.owner - Repository owner
* @param {string} args.repo - Repository name
* @param {number} args.runId - The ID of the workflow run
* @returns {Promise<WorkflowRun>} The workflow run details
*/
async function getWorkflowRun(args, octokit) {
// Implementation...
}Currently, the project doesn't have automated tests. If you'd like to contribute by adding tests, here are some suggestions:
- Unit tests for individual tool functions
- Integration tests for GitHub API interactions
- End-to-end tests for MCP server communication
When adding tests, please consider using a framework like Jest or Mocha.
Good documentation is crucial for this project. When contributing, please:
- Update any relevant README sections
- Document new tools in the README's Tools section
- Add JSDoc comments to your code
- Update example configurations if applicable
When reporting issues, please include:
- Description: Clear description of the issue
- Reproduction Steps: How to reproduce the issue
- Expected vs. Actual Behavior: What you expected vs. what happened
- Environment: Node.js version, OS, etc.
- Logs: Any relevant error messages or logs
- Possible Solution: If you have ideas on how to fix it
Feature requests are welcome! When requesting a feature, please:
- Check existing issues to see if it's already been requested
- Describe the feature and why it would be valuable
- Provide examples of how it might work
- Indicate if you're willing to help implement the feature
- Feel free to reach out with questions
- Be respectful and considerate in all communications
- Help others who are contributing to the project
By contributing to this project, you agree that your contributions will be licensed under the project's MIT License.
Thank you for contributing to GitHub Actions MCP Server!