Skip to content

Latest commit

 

History

History
79 lines (60 loc) · 1.89 KB

File metadata and controls

79 lines (60 loc) · 1.89 KB

Contributing to SnapCode-AI 🎨

Thank you for your interest in contributing to SnapCode-AI! This document provides guidelines for contributing.

Development Setup

  1. Fork & Clone

    git clone https://github.com/gitstq/SnapCode-AI.git
    cd SnapCode-AI
  2. Install (no dependencies required!)

    pip install -e .
  3. Run Tests

    python -m pytest tests/

Contribution Guidelines

Code Style

  • 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)

Commit Messages

Follow Conventional Commits:

  • feat: New features
  • fix: Bug fixes
  • docs: Documentation updates
  • refactor: Code refactoring
  • test: Test additions/changes
  • chore: Maintenance tasks

Pull Request Process

  1. Fork the repository
  2. Create a feature branch (git checkout -b feat/your-feature)
  3. Make your changes
  4. Add tests for new features
  5. Ensure all tests pass
  6. Submit a PR with a clear description

Adding New Themes

  1. Add a new Theme entry in src/snapcode_ai/themes.py
  2. Follow the existing theme structure
  3. Test the theme with multiple languages
  4. Submit a PR

Adding New Language Support

  1. Add keyword definitions in src/snapcode_ai/highlighter.py
  2. Add language aliases if applicable
  3. Add tests in tests/test_highlighter.py
  4. Submit a PR

Adding New Social Presets

  1. Add a new SocialPreset in src/snapcode_ai/presets.py
  2. Include accurate dimensions and description
  3. Submit a PR

Reporting Issues

When reporting issues, please include:

  • Python version
  • Operating system
  • Steps to reproduce
  • Expected vs actual behavior
  • Screenshots if applicable

License

By contributing, you agree that your contributions will be licensed under the MIT License.