Contributing - sanitaravel/starship_analyzer GitHub Wiki
Contributing to Starship Analyzer
Thank you for your interest in contributing to Starship Analyzer! This guide will help you get started with contributing to the project.
Getting Started
- Fork the repository on GitHub
- Clone your fork locally:
git clone https://github.com/your-username/starship_analyzer.git
- Set up the development environment:
python setup.py
- Create a branch for your changes:
git checkout -b feature/amazing-feature
Development Environment
To set up a development environment:
# Install development dependencies
pip install -r requirements.txt
# Install testing tools
pip install pytest pytest-cov
Coding Standards
This project follows these coding standards:
- Use PEP 8 for Python code style
- Use meaningful variable and function names
- Add docstrings to all functions and classes
- Keep functions small and focused on a single task
- Write clear comments for complex logic
You can check your code with:
# Run flake8 to check code style
flake8 .
# Run black to format code
black .
Testing
Before submitting a pull request, ensure all tests pass:
# Run all tests
pytest
# Run tests with coverage
pytest --cov=. --cov-report=html
When adding new features, please include appropriate tests.
Adding New Features
To add new features to Starship Analyzer:
- Create a new branch for your feature
- Implement the feature with appropriate tests
- Update documentation to reflect the new feature
- Submit a pull request
For larger features, please open an issue first to discuss the implementation.
Pull Request Process
- Update the README.md and documentation with details of changes
- Update the version number following Semantic Versioning
- Submit your pull request with a clear description of the changes
- Wait for code review and address any feedback
- Once approved, your pull request will be merged
Reporting Bugs
When reporting bugs, please include:
- A clear and descriptive title
- Steps to reproduce the issue
- Expected behavior and actual behavior
- Screenshots if applicable
- System information (OS, Python version, etc.)
- Log files if available
Feature Requests
Feature requests are welcome! Please provide:
- A clear and descriptive title
- A detailed description of the proposed feature
- Any relevant examples or mock-ups
- Explanation of why this feature would be useful to the project
Code of Conduct
Please note that this project adheres to a Code of Conduct. By participating, you are expected to uphold this code.
License
By contributing to this project, you agree that your contributions will be licensed under the project's MIT License with Attribution Requirement.