Contributing
Thank you for your interest in contributing to clitic!
Development Setup
# Clone the repository
git clone https://github.com/christophevg/clitic.git
cd clitic
# Create and activate virtual environment
make setup
pyenv activate clitic
# Install dependencies
make install
Development Commands
Command |
Description |
|---|---|
|
Run tests with coverage |
|
Run feature showcase |
|
Run mypy type checking |
|
Run ruff linting |
|
Format code with ruff |
|
Run all checks |
Code Style
Two-space indentation
100 character max line length
Full type hints (mypy strict mode)
Follow PEP 8 conventions
Testing
Tests are located in the tests/ directory. Run tests with:
make test
Running Specific Tests
# Run specific test file
make test-file FILE=tests/test_app.py
# Run specific test function
make test-one TEST=tests/test_app.py::TestApp::test_app_can_be_instantiated
Pre-Commit Checklist
Before committing, ensure:
All tests pass:
make testShowcase runs correctly:
make showcaseType checking passes:
make typecheckLinting passes:
make lint
Submitting Changes
Create a feature branch
Make your changes
Run all checks
Submit a pull request
Documentation
Update documentation when adding new features:
Update showcase (
src/clitic/__main__.py)Update API reference (
docs/api/)Update README.md if needed
Update screenshot if showcase changed:
make screenshot