Thank you for your interest in contributing to SnapCode-AI! This document provides guidelines for contributing.
-
Fork & Clone
git clone https://github.com/gitstq/SnapCode-AI.git cd SnapCode-AI -
Install (no dependencies required!)
pip install -e . -
Run Tests
python -m pytest tests/
- Follow PEP 8 conventions
- Use type hints for all function signatures
- Add docstrings to all public functions and classes
- Keep functions focused and small (< 50 lines)
Follow Conventional Commits:
feat:New featuresfix:Bug fixesdocs:Documentation updatesrefactor:Code refactoringtest:Test additions/changeschore:Maintenance tasks
- Fork the repository
- Create a feature branch (
git checkout -b feat/your-feature) - Make your changes
- Add tests for new features
- Ensure all tests pass
- Submit a PR with a clear description
- Add a new
Themeentry insrc/snapcode_ai/themes.py - Follow the existing theme structure
- Test the theme with multiple languages
- Submit a PR
- Add keyword definitions in
src/snapcode_ai/highlighter.py - Add language aliases if applicable
- Add tests in
tests/test_highlighter.py - Submit a PR
- Add a new
SocialPresetinsrc/snapcode_ai/presets.py - Include accurate dimensions and description
- Submit a PR
When reporting issues, please include:
- Python version
- Operating system
- Steps to reproduce
- Expected vs actual behavior
- Screenshots if applicable
By contributing, you agree that your contributions will be licensed under the MIT License.