Contributing
Contributing
Section titled “Contributing”Thank you for your interest in contributing to vcpkg-harbor!
Development Setup
Section titled “Development Setup”-
Clone the repository
Terminal window git clone https://github.com/rennerdo30/vcpkg-harbor.gitcd vcpkg-harbor -
Run the setup script
Terminal window ./scripts/setup-dev.shThis creates a virtual environment and installs all dependencies.
-
Activate the environment
Terminal window source .venv/bin/activate -
Start the development server
Terminal window ./scripts/dev-server.sh
Code Style
Section titled “Code Style”We use ruff for linting and formatting:
# Run linterruff check src/
# Run formatterruff format src/
# Or use the script./scripts/lint.shType Checking
Section titled “Type Checking”We use mypy for type checking:
mypy src/vcpkg_harbor --ignore-missing-importsTesting
Section titled “Testing”Run the test suite:
# Run all tests./scripts/test.sh
# Run specific testspytest tests/test_health.py -v
# Run with coveragepytest tests/ --cov=vcpkg_harbor --cov-report=htmlPull Request Process
Section titled “Pull Request Process”- Fork the repository and create a feature branch
- Make your changes with appropriate tests
- Run the linter and tests before committing
- Write clear commit messages
- Open a pull request with a description of your changes
Commit Messages
Section titled “Commit Messages”Follow conventional commits:
feat: add Azure Blob storage backendfix: handle connection timeout in MinIO backenddocs: update configuration documentationtest: add tests for authentication middlewareAdding a Storage Backend
Section titled “Adding a Storage Backend”To add a new storage backend:
- Create
src/vcpkg_harbor/storage/backends/mybackend.py - Implement the
StorageBackendprotocol - Add entry point in
pyproject.toml - Add configuration settings
- Write tests
- Update documentation
See Architecture for details on the protocol.
Questions?
Section titled “Questions?”Open an issue on GitHub or start a discussion.