Thank you for your interest in contributing! This document provides guidelines and instructions for contributing to this project.
- Code of Conduct
- Getting Started
- Development Workflow
- Commit Message Guidelines
- Pull Request Process
- Coding Standards
This project adheres to a code of conduct. By participating, you are expected to uphold this code. Please be respectful and constructive in all interactions.
- Python 3.11+
- Docker
- Git
- Task (task runner)
-
Fork the repository on GitHub
-
Clone your fork:
git clone https://github.com/YOUR_USERNAME/GITHUB_AI_PROJECTS_PACKAGE.git cd GITHUB_AI_PROJECTS_PACKAGE -
Add upstream remote:
git remote add upstream https://github.com/lordwilsonDev/GITHUB_AI_PROJECTS_PACKAGE.git
-
Install Task:
# macOS brew install go-task # Linux sh -c "$(curl --location https://taskfile.dev/install.sh)" -- -d -b /usr/local/bin
-
Install dependencies:
task setup
-
Verify setup:
task ci
git checkout -b feat/your-feature-name
# or
git checkout -b fix/your-bug-fixEdit files, add features, fix bugs, etc.
# Run all checks
task ci
# Or run individually
task lint
task testtask buildFollow the Conventional Commits specification:
git add .
git commit -m "feat: add new AI project category"git push origin feat/your-feature-nameGo to GitHub and create a pull request from your fork to the main repository.
We use Conventional Commits for automated versioning and changelog generation.
<type>(<scope>): <subject>
<body>
<footer>
- feat: A new feature (triggers MINOR version bump)
- fix: A bug fix (triggers PATCH version bump)
- docs: Documentation only changes
- style: Code style changes (formatting, missing semi-colons, etc.)
- refactor: Code refactoring (no functional changes)
- perf: Performance improvements
- test: Adding or updating tests
- build: Changes to build system or dependencies
- ci: Changes to CI configuration
- chore: Other changes that don't modify src or test files
For breaking changes, add BREAKING CHANGE: in the footer or ! after the type:
feat!: remove deprecated API endpoint
BREAKING CHANGE: The /api/v1/old endpoint has been removed.
Use /api/v2/new instead.
This triggers a MAJOR version bump.
# Feature
git commit -m "feat: add support for GPU acceleration"
# Bug fix
git commit -m "fix: resolve memory leak in data processing"
# Documentation
git commit -m "docs: update installation instructions"
# Performance
git commit -m "perf: optimize Docker image size by 40%"
# Breaking change
git commit -m "feat!: migrate to Python 3.12"- Ensure
task cipasses locally - Update documentation if needed
- Add tests for new features
- Follow commit message guidelines
- Rebase on latest main branch
- Title: Use conventional commit format
- Description: Clearly explain what and why
- Tests: Include test results
- Documentation: Update docs if needed
- Automated checks must pass (CI pipeline)
- At least one maintainer approval required
- All review comments must be addressed
- PR will be squashed and merged
- Follow PEP 8 style guide
- Use type hints where appropriate
- Write docstrings for functions and classes
- Maximum line length: 100 characters
- Use multi-stage builds
- Minimize layer count
- Use .dockerignore
- Follow hadolint recommendations
- Use Markdown format
- Include code examples
- Keep it concise and clear
- Update table of contents
# All tests
task test
# With coverage
python -m pytest tests/ -v --cov=. --cov-report=html- Place tests in
tests/directory - Use pytest framework
- Aim for >80% code coverage
- Test edge cases
task docs:servedocs/
├── index.md
├── getting-started/
├── architecture/
├── projects/
├── development/
└── reference/
If you have questions:
- Check existing Issues
- Read the Documentation
- Open a new issue with the
questionlabel
By contributing, you agree that your contributions will be licensed under the same license as the project (MIT License).
Thank you for contributing!