Thank you for your interest in contributing to file-keeper! This document provides guidelines and instructions to help you contribute effectively.
- Fork the repository on GitHub
- Clone your forked repository:
git clone https://github.com/your-username/file-keeper.git cd file-keeper - Create a virtual environment:
python -m venv .venv source .venv/bin/activate # On Windows: .venv\Scripts\activate
- Install the package in development mode:
or
make install-dev
pip install -e '.[dev]'
We use several tools to maintain code quality:
- Ruff for linting and formatting
- Pyright for type checking
Before submitting changes, please run:
make checkTo format your code:
make formatTo run type checks:
make type-checkAll changes should include appropriate tests. Run the test suite before submitting:
make testOr run specific tests:
pytest tests/test_specific_file.pyWhen adding new functionality, please include tests that cover:
- Normal operation
- Edge cases
- Error conditions
-
Create a new branch for your changes:
git checkout -b feature/your-feature-name
or
git checkout -b bugfix/your-bugfix-name
-
Make your changes, following the style guide
-
Add or update tests as needed
-
Run all checks:
make check make test -
Commit your changes with a clear, descriptive commit message
-
Push your branch to your fork
-
Open a pull request to the main repository
- Keep pull requests focused on a single feature or bug fix
- Update documentation as needed
- Follow the existing code style
- Include tests for new functionality
- Update the changelog if your change affects users
- Ensure all CI checks pass
Use the following make commands to help with development:
make install-dev- Install development dependenciesmake test- Run testsmake lint- Run lintermake format- Format codemake type-check- Run type checkermake check- Run all checks