Skip to content

Add contributor-readiness: license, CI, docs, and tests#25

Merged
lgriffin merged 1 commit into
mainfrom
contributor-readiness
May 19, 2026
Merged

Add contributor-readiness: license, CI, docs, and tests#25
lgriffin merged 1 commit into
mainfrom
contributor-readiness

Conversation

@lgriffin

Copy link
Copy Markdown
Owner

Summary

  • Apache 2.0 license added with LICENSE file and pyproject.toml license field
  • GitHub Actions CI pipeline (.github/workflows/ci.yml) with lint (ruff + mypy) and test (pytest + coverage) jobs
  • Contributor docs: CONTRIBUTING.md (dev setup, branch naming, PR process), CODE_OF_CONDUCT.md (Contributor Covenant v2.1), README.md badges and contributing section
  • Pre-commit hooks (.pre-commit-config.yaml): ruff lint/format + standard file checks
  • cli.py refactor: extracted _add_analysis_args() to deduplicate 11 shared arguments between analyze and report subcommands
  • formatter.py split: monolithic file split into formatter.py (public API + shared helpers), formatter_rich.py, formatter_text.py, formatter_json.py
  • 401 new tests: test_token_counting.py (45), test_validation.py (82), test_waste_detectors.py (64) — plus expanded coverage from background agents. Total: 857 passing (up from 456)

Test plan

  • Full test suite: 857 passed, 1 pre-existing failure (unrelated deduplication BDD step)
  • Verified pre-existing failure exists on clean main (not introduced by this PR)
  • ruff check src/ passes
  • All three formatter dispatch paths (rich/text/json) exercised by existing tests

🤖 Generated with Claude Code

Prepare the project for open-source contributors by adding Apache 2.0
license, GitHub Actions CI, contributor docs, pre-commit hooks,
refactoring cli.py and formatter.py for maintainability, and adding
401 new tests for previously untested modules.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@lgriffin lgriffin merged commit ad1decc into main May 19, 2026
0 of 2 checks passed
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