Skip to content

Contributing to copier-astral-example

Thank you for your interest in contributing to copier-astral-example!

Development Setup

  1. Fork and clone the repository:
git clone https://github.com/YOUR_USERNAME/copier-astral-example.git
cd copier-astral-example
  1. Install dependencies using uv:
uv sync --group dev
  1. Install pre-commit hooks:
pre-commit install

Making Changes

  1. Create a new branch for your feature or bugfix:
git checkout -b feature/your-feature-name
  1. Make your changes and ensure tests pass:
uv run pytest
  1. Ensure code quality:
uv run ruff check .
uv run ruff format .
uv run ty check
  1. Commit your changes using conventional commits:
git commit -m "feat: add new feature"

Commit Message Format

We use Conventional Commits. Here are some examples:

  • feat: add new feature - A new feature
  • fix: resolve bug in X - A bug fix
  • docs: update README - Documentation changes
  • refactor: simplify code - Code refactoring
  • test: add tests for X - Adding tests
  • chore: update dependencies - Maintenance tasks

Pull Request Process

  1. Update documentation if needed
  2. Add tests for new functionality
  3. Ensure all tests pass
  4. Submit a pull request with a clear description

Code Style

  • We use Ruff for linting and formatting
  • We use ty for type checking
  • All code should be properly typed
  • Write docstrings for public functions and classes