Skip to content

chore(setup): add ci/cd pipeline and pre-commit hooks#11

Open
CLIAnnie wants to merge 2 commits intomainfrom
annie/ci-cd-setup
Open

chore(setup): add ci/cd pipeline and pre-commit hooks#11
CLIAnnie wants to merge 2 commits intomainfrom
annie/ci-cd-setup

Conversation

@CLIAnnie
Copy link
Collaborator

@CLIAnnie CLIAnnie commented Mar 4, 2026

Summary

Set up complete CI/CD infrastructure with pre-commit hooks and GitHub Actions workflow to ensure code quality on every commit and pull request.

Changes

  • Add .pre-commit-config.yaml with comprehensive quality checks:

    • ruff format (code formatting)
    • ruff lint (code quality checks)
    • basedpyright (type checking)
    • pytest (test suite)
    • General file checks (detect secrets, trailing whitespace, EOF fixes, etc.)
  • Add .github/workflows/ci.yml GitHub Actions workflow:

    • Four parallel jobs: test, lint, format, type-check
    • Uses Python 3.11 and uv for dependency management
    • Coverage reporting with codecov
    • Clear job status aggregation
  • Update pyproject.toml:

    • Add pytest configuration with testpaths, markers, and strict mode
    • Add coverage configuration with source paths and exclusion rules
  • Update CONTRIBUTING.md:

    • Add pre-commit installation instructions
    • Document what each hook does
    • Add CI pipeline documentation
    • Explain how to run checks locally

Test Plan

  • Pre-commit hooks configuration is valid YAML
  • GitHub Actions workflow is valid YAML
  • pyproject.toml is valid TOML
  • All documentation is clear and accurate
  • CI will run automatically on this PR to validate the workflow

Benefits

  • Catch issues before they reach CI (faster feedback loop)
  • Consistent code quality enforcement
  • Automated testing on every commit
  • Clear error messages when checks fail
  • Parallel CI jobs for faster builds

Generated with Claude Code

Annie and others added 2 commits March 4, 2026 20:51
Set up complete CI/CD infrastructure for automated quality checks:

- Add .pre-commit-config.yaml with ruff, basedpyright, pytest, and general file checks
- Add GitHub Actions workflow (ci.yml) with parallel jobs for testing, linting, formatting, and type checking
- Configure pytest and coverage settings in pyproject.toml
- Update CONTRIBUTING.md with pre-commit installation instructions and CI documentation

All checks now run automatically on commits (pre-commit) and on push/PR (GitHub Actions).

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
Replace pre-commit with prek, a faster Rust-powered alternative that's fully compatible with existing pre-commit configurations. Updated installation instructions in CONTRIBUTING.md and config comments.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant