Thank you for your interest in contributing to scip-cli! This document provides guidelines and information for contributors.
This project adheres to the Contributor Covenant Code of Conduct. By participating, you are expected to uphold this code.
Before creating bug reports, please check existing issues. When creating a bug report, include:
- Clear, descriptive title
- Steps to reproduce the issue
- Expected vs actual behavior
- Environment details (OS, Python version, scip-cli version)
- Minimal reproducible example if possible
Enhancement suggestions are welcome! Please:
- Use a clear, descriptive title
- Provide a detailed description of the proposed enhancement
- Explain why this enhancement would be useful
- Include examples of how it would be used
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes
- Run tests:
pytest - Run linter:
ruff check .andruff format . - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
# Clone your fork
git clone https://github.com/your-username/scip-cli.git
cd scip-cli
# Install with dev dependencies
pip install -e ".[dev]"
# Install pre-commit hook (same command as CI — no pre-push hook)
pre-commit install
./scripts/test.sh
# Run linter
ruff check .
ruff format .- Run full test suite:
pytest - Run E2E tests:
pytest tests/test_e2e.py tests/test_e2e_analyze_patterns.py - Integration tests require Node.js and
npx(forscip-typescript)
- Python 3.9+
- Line length: 120 characters
- Use type hints where practical
- Follow existing code patterns
- No unnecessary comments
- Use double quotes for strings
- Use clear, descriptive commit messages
- Start with a verb in imperative mood: "Add", "Fix", "Update", "Remove"
- Keep the first line under 72 characters
- Reference issues when applicable
- Update README.md for user-facing changes
- Update SKILL.md if CLI flags or commands change
- Add docstrings to new functions
- Keep comments minimal but meaningful
Open an issue or contact the maintainer.
Thank you for contributing!