Thank you for your interest in contributing to Amazon Ads MCP! This document provides guidelines and best practices for contributing to this project.
By participating in this project, you agree to maintain a respectful and inclusive environment for all contributors.
Before creating an issue:
- Search existing issues to avoid duplicates
- Use issue templates - Select the appropriate template (Bug Report or Feature Request)
- Provide complete information - Fill out all sections of the template
- Include reproduction steps - For bugs, provide minimal steps to reproduce
- Add logs and error messages - Include relevant debugging information
- One issue per bug - Don't combine multiple bugs in one issue
- Be specific - "Authentication fails" is better than "doesn't work"
- Include environment details - Python version, OS, MCP client version
- Provide code samples - Minimal reproducible examples help tremendously
- Attach logs - Include relevant error messages and stack traces
- Explain the problem first - What challenge does this solve?
- Provide use cases - Real-world examples help evaluate importance
- Consider alternatives - Have you tried other approaches?
- Think about compatibility - How does this affect existing users?
- Open an issue first - Discuss your proposal before coding
- Check the roadmap - Ensure it aligns with project direction
- One PR per feature/fix - Keep changes focused and reviewable
# Clone the repository
git clone https://github.com/KuudoAI/amazon_ads_mcp.git
cd amazon_ads_mcp
# Create a branch
git checkout -b feature/your-feature-name
# Install dependencies
uv venv
uv sync
# Set up pre-commit hooks (if available)
pre-commit install- Python 3.10+ - Use modern Python features appropriately
- Type hints - All functions should have type annotations
- Docstrings - Document all public APIs
- Tests - Add tests for new functionality
- Linting - Run
uv run ruff check --fixbefore committing
# Run linting
uv run ruff check --fix
# Run tests
uv run pytest
# Run specific tests
uv run pytest tests/test_auth.py
# Run with coverage
uv run pytest --cov=amazon_ads_mcp- Issue number referenced in PR description
- Tests added/updated for changes
- Documentation updated if needed
- Code passes linting (
uv run ruff check) - All tests pass (
uv run pytest) - PR title follows conventional commits (feat:, fix:, docs:, etc.)
- Changes are focused and don't include unrelated modifications
Follow Conventional Commits:
feat:New featurefix:Bug fixdocs:Documentation changestest:Test additions or fixesrefactor:Code restructuring without behavior changeperf:Performance improvementschore:Maintenance tasks
Examples:
feat: add DSP campaign creation tool
fix: handle OAuth token refresh errors
docs: update authentication guide
test: add unit tests for profile manager
- Update README for user-facing changes
- Update CLAUDE.md for development/agent guidance
- Add docstrings for new functions/classes
- Include examples for complex features
- Never commit secrets - API keys, tokens, passwords
- Report vulnerabilities privately to operations@openbridge.com
- Validate inputs - Sanitize user inputs
- Follow OAuth best practices - Secure token storage
- Open a Discussion
- Review existing Issues
- Check the Documentation
Contributors will be recognized in:
- Release notes
- Contributors list
- Project documentation
Thank you for helping make Amazon Ads MCP better!