Contributing to deploy-mcp
August 29, 2025 ยท View on GitHub
Thank you for your interest in contributing to deploy-mcp! We welcome contributions from the community and are grateful for your support.
Code of Conduct
This project and everyone participating in it is governed by our Code of Conduct. By participating, you are expected to uphold this code.
How to Contribute
Reporting Issues
Before creating an issue, please:
- Check existing issues to avoid duplicates
- Use the issue templates when available
- Provide clear, detailed information including:
- Steps to reproduce the problem
- Expected behavior
- Actual behavior
- Environment details (OS, Node.js version, etc.)
Suggesting Features
We welcome feature suggestions! Please:
- Check existing feature requests first
- Open a discussion before implementing large features
- Explain the use case and why it would benefit users
- Consider the scope - smaller, focused features are easier to review
Development Setup
-
Fork the repository
-
Clone your fork:
git clone https://github.com/your-username/deploy-mcp.git cd deploy-mcp -
Install dependencies:
npm install -
Run the development server:
npm run dev -
Run tests:
npm test
Making Changes
-
Create a feature branch:
git checkout -b feature/your-feature-name -
Make your changes:
- Follow existing code style and conventions
- Add tests for new functionality
- Update documentation as needed
-
Run quality checks:
npm run lint # Check for linting errors npm run type-check # TypeScript type checking npm run format # Format code npm test # Run tests -
Commit your changes:
- Use Conventional Commits format
- Examples:
feat: add support for Cloudflare Pages platformfix: handle API timeout errors properlydocs: update installation instructions
Pull Request Process
-
Update documentation if needed
-
Add tests for new functionality
-
Ensure all checks pass:
- All tests pass
- No linting errors
- TypeScript compiles without errors
- No security vulnerabilities
-
Create the pull request:
- Use a descriptive title
- Reference any related issues
- Provide a clear description of changes
- Include screenshots for UI changes
-
Respond to feedback:
- Address reviewer comments promptly
- Make requested changes
- Keep the PR up to date with main branch
Development Guidelines
Code Style
- TypeScript: Use strict TypeScript throughout
- ESLint + Prettier: Follow the configured rules
- Naming: Use descriptive names for variables and functions
- Comments: Add comments for complex logic, avoid obvious comments
Testing
- Unit tests: Test individual functions and classes
- Integration tests: Test adapter functionality
- Mocking: Use Vitest mocking for external dependencies
- Coverage: Aim for good test coverage of new code
Platform Adapters
When adding support for new deployment platforms:
- Create adapter folder:
src/adapters/platform-name/ - Implement interface: Extend
BaseAdapterclass - Add types: Define platform-specific types
- Add tests: Create comprehensive test suite
- Update documentation: Add configuration examples
Commit Guidelines
We use Conventional Commits:
feat: New featuresfix: Bug fixesdocs: Documentation changesstyle: Code style changes (formatting, etc.)refactor: Code refactoringtest: Adding or modifying testschore: Maintenance tasks
Release Process
Releases are handled by maintainers:
- Version bumping follows Semantic Versioning
- Changelog is automatically generated
- NPM package is published automatically
- GitHub releases are created with release notes
Getting Help
- Documentation: Check the README first
- Discussions: Use GitHub Discussions for questions
- Issues: Create an issue for bugs or feature requests
- Email: Contact alex.potapenko.dev@gmail.com for security issues
Recognition
Contributors are recognized in several ways:
- Listed in the contributors section
- Mentioned in release notes for significant contributions
- Added to the GitHub contributors graph
Thank you for contributing to deploy-mcp!