Thank you for your interest in contributing to AlphaMapping! This document provides guidelines and instructions for contributing.
- Code of Conduct
- Getting Started
- How to Contribute
- Development Setup
- Code Style
- Commit Guidelines
- Pull Request Process
By participating in this project, you agree to abide by our Code of Conduct.
- Fork the repository
- Clone your fork:
git clone https://github.com/YOUR_USERNAME/AlphaMapping.git - Create a branch:
git checkout -b feature/your-feature-name
Before creating a bug report, please check existing issues. When creating a bug report, include:
- Clear title describing the issue
- Steps to reproduce the behavior
- Expected behavior vs actual behavior
- Screenshots if applicable
- Environment details (OS, Python version, browser)
Feature requests are welcome! Please include:
- Clear description of the feature
- Use case - why is this feature needed?
- Possible implementation approach (optional)
- Check open issues or create a new one to discuss changes
- Fork and create a feature branch
- Write code following our Code Style
- Add tests if applicable
- Submit a Pull Request
cd backend
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install -r requirements.txt
# Run tests
pytest tests/ -v
# Start development server
uvicorn app.main:app --reload# Serve frontend with any static server
cd frontend
python -m http.server 3000docker-compose up -d- Follow PEP 8 style guide
- Use type hints for function parameters and return values
- Write docstrings for all public functions and classes
- Maximum line length: 100 characters
def example_function(param1: str, param2: int) -> dict:
"""
Brief description of the function.
Args:
param1: Description of param1
param2: Description of param2
Returns:
Description of return value
"""
pass- Use ES6+ syntax
- Use
constandletinstead ofvar - Add comments for complex logic
- Use meaningful variable names
We follow Conventional Commits:
<type>(<scope>): <description>
[optional body]
feat: New featurefix: Bug fixdocs: Documentation changesstyle: Code style changes (formatting, etc.)refactor: Code refactoringtest: Adding or updating testschore: Maintenance tasks
feat(api): add asset export endpoint
fix(ui): resolve chart rendering issue on Firefox
docs(readme): update installation instructions
- Update documentation if needed
- Add tests for new features
- Ensure all tests pass:
pytest tests/ -v - Update CHANGELOG.md with your changes
- Request review from maintainers
Use the same format as commits:
feat(api): add scheduled task management
## Description
Brief description of changes
## Type of Change
- [ ] Bug fix
- [ ] New feature
- [ ] Breaking change
- [ ] Documentation update
## Testing
Describe testing done
## Screenshots (if applicable)Feel free to open an issue for any questions about contributing.
Thank you for contributing to AlphaMapping! 🎉