Welcome! This guide will help you get started with contributing to Skill Flywheel.
# Clone the repository
git clone https://github.com/SpectreDeath/skill-flywheel.git
cd skill-flywheel
# Create a virtual environment
python -m venv venv
source venv/bin/activate # Linux/macOS
venv\Scripts\activate # Windows
# Install dependencies
pip install -r requirements.txt
# Run tests
pytest tests/- Python 3.10+
- pip
- git
cd src/flywheel
python -m server.config # Or use server.pyWe use Ruff for linting:
ruff check src/ tests/We use mypy for type checking:
mypy src/# Run all tests
pytest tests/
# Run with coverage
pytest tests/ --cov=src --cov-report=term-
Create a feature branch:
git checkout -b feature/your-feature-name
-
Make your changes:
- Follow the existing code style
- Add tests for new functionality
- Update documentation as needed
-
Run checks locally:
ruff check src/ tests/ pytest tests/
-
Commit your changes:
git add . git commit -m "feat: Add your feature"
-
Push and create PR:
git push origin feature/your-feature-name
We follow Conventional Commits:
feat:New featurefix:Bug fixrefactor:Code refactoringdocs:Documentation changestest:Test changeschore:Maintenance
skill-flywheel/
├── src/flywheel/ # Main source code
│ ├── core/ # Core modules
│ ├── server/ # Server components
│ ├── skills/ # Skill implementations
│ └── monitoring/ # Monitoring tools
├── tests/ # Test files
├── docs/ # Documentation
└── domains/ # Skill domain specifications
- Open an issue for bugs or feature requests
- Check existing issues before creating new ones
By contributing, you agree that your contributions will be licensed under the MIT License.