Files
evo-ai/docs/contributing/CONTRIBUTING.md
2025-04-28 20:04:51 -03:00

129 lines
2.9 KiB
Markdown

# Contributing to Evo AI
Thank you for your interest in contributing to Evo AI! This document provides guidelines and instructions for contributing to the project.
## Getting Started
### Prerequisites
- Python 3.8+
- PostgreSQL
- Redis
- Git
### Setup Development Environment
1. Fork the repository
2. Clone your fork:
```bash
git clone https://github.com/YOUR-USERNAME/evo-ai.git
cd evo-ai
```
3. Create a virtual environment:
```bash
python -m venv .venv
source .venv/bin/activate # Linux/Mac
# or
.venv\Scripts\activate # Windows
```
4. Install dependencies:
```bash
pip install -r requirements.txt
pip install -r requirements-dev.txt
```
5. Set up environment variables:
```bash
cp .env.example .env
# Edit .env with your configuration
```
6. Run database migrations:
```bash
make alembic-upgrade
```
## Development Workflow
### Branching Strategy
- `main` - Main branch, contains stable code
- `feature/*` - For new features
- `bugfix/*` - For bug fixes
- `docs/*` - For documentation changes
### Creating a New Feature
1. Create a new branch from `main`:
```bash
git checkout -b feature/your-feature-name
```
2. Make your changes
3. Run tests:
```bash
make test
```
4. Commit your changes:
```bash
git commit -m "Add feature: description of your changes"
```
5. Push to your fork:
```bash
git push origin feature/your-feature-name
```
6. Create a Pull Request to the main repository
## Coding Standards
### Python Code Style
- Follow PEP 8
- Use 4 spaces for indentation
- Maximum line length of 79 characters
- Use descriptive variable names
- Write docstrings for all functions, classes, and modules
### Commit Messages
- Use the present tense ("Add feature" not "Added feature")
- Use the imperative mood ("Move cursor to..." not "Moves cursor to...")
- First line should be a summary under 50 characters
- Reference issues and pull requests where appropriate
## Testing
- All new features should include tests
- All bug fixes should include tests that reproduce the bug
- Run the full test suite before submitting a PR
## Documentation
- Update documentation for any new features or API changes
- Documentation should be written in English
- Use Markdown for formatting
## Pull Request Process
1. Ensure your code follows the coding standards
2. Update the documentation as needed
3. Include tests for new functionality
4. Ensure the test suite passes
5. Update the CHANGELOG.md if applicable
6. The PR will be reviewed by maintainers
7. Once approved, it will be merged into the main branch
## Code Review Process
All submissions require review. We use GitHub pull requests for this purpose.
Reviewers will check for:
- Code quality and style
- Test coverage
- Documentation
- Appropriateness of the change
## Community
- Be respectful and considerate of others
- Help others who have questions
- Follow the code of conduct
Thank you for contributing to Evo AI!