yaga-cli 0.2.0__tar.gz → 0.2.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/.github/workflows/ci.yml +9 -7
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/.github/workflows/commit-quality.yml +1 -1
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/.github/workflows/docs.yml +1 -1
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/.github/workflows/release.yml +2 -2
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/CHANGELOG.md +2 -2
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/CONTRIBUTING.md +8 -3
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/PKG-INFO +5 -2
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/README.md +2 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/docs/changelog.md +22 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/docs/commit-quality.md +6 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/docs/getting-started.md +6 -2
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/docs/releasing.md +2 -1
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/pyproject.toml +5 -4
- yaga_cli-0.2.1/release-notes.md +21 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/scripts/check_build.py +1 -1
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/version_requirement.py +1 -1
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_cli.py +1 -1
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_installation.py +2 -2
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_tooling.py +5 -4
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/uv.lock +13 -13
- yaga_cli-0.2.0/release-notes.md +0 -21
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/.gitattributes +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/.github/dependabot.yml +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/.github/workflows/commit-adoption-qualification.yml +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/.github/workflows/commit-policy.yml +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/.gitignore +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/.pre-commit-hooks.yaml +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/.yaga/branch-policy.toml +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/.yaga/change-policy.toml +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/.yaga/checks/ci.toml +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/.yaga/mode-policy.toml +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/.yaga/path-policy.toml +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/.yaga/size-policy.toml +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/.yaga/tree-policy.toml +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/AGENTS.md +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/LICENSE +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/Makefile +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/SECURITY.md +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/action.yml +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/actions/commit-check/action.yml +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/docs/agent-review-gate.md +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/docs/assets/branding/isometric_terminal_y_logo.png +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/docs/assets/branding/isometric_terminal_y_logo_transparent.png +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/docs/assets/branding/yaga_cli_brand_concept_board.png +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/docs/branch-policy.md +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/docs/change-policy.md +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/docs/ci-adoption.md +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/docs/commands.md +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/docs/commit-policy-direction.md +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/docs/commit-policy.md +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/docs/configuration.md +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/docs/contributing.md +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/docs/github-actions.md +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/docs/github-review-adapter.md +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/docs/index.md +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/docs/install.ps1 +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/docs/install.sh +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/docs/mode-policy.md +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/docs/path-policy.md +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/docs/recipes.md +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/docs/repository-checks.md +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/docs/repository-plans.md +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/docs/security.md +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/docs/size-policy.md +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/docs/stylesheets/extra.css +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/docs/tree-policy.md +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/docs/troubleshooting.md +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/docs/usage.md +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/docs/workflow-checks.md +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/examples/agent-review-policy.toml +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/examples/agent-review-results.json +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/examples/agent-review.yml +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/examples/commit-policy.yml +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/examples/review-policy.yml +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/overrides/404.html +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/scripts/check_description.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/scripts/check_docs.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/scripts/check_release.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/scripts/composite_smoke_python +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/scripts/prepare_commit_action_control.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/__init__.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/__main__.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/_update_worker.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/action.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/action_cli.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/agent_review/__init__.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/agent_review/evaluation.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/agent_review/github/__init__.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/agent_review/github/boundary.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/agent_review/github/candidate.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/agent_review/github/constants.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/agent_review/github/events.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/agent_review/github/evidence.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/agent_review/github/gate.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/agent_review/github/publication.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/agent_review/github/requests.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/agent_review/github/runs.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/agent_review/github/runtime.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/agent_review/plan.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/agent_review/policy.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/agent_review/results.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/agent_review/runtime.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/branches/__init__.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/branches/checker.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/branches/models.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/branches/patterns.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/branches/policy.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/branches/reporting.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/branches/service.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/changes/__init__.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/changes/checker.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/changes/git.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/changes/models.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/changes/patterns.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/changes/policy.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/changes/reporting.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/changes/service.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/cli.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/commands/__init__.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/commands/branch.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/commands/change.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/commands/commit.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/commands/config.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/commands/gate.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/commands/github.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/commands/mode.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/commands/path.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/commands/repo.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/commands/self_manage.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/commands/size.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/commands/tree.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/commands/workflow.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/commit_action_cli.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/commit_action_runtime.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/commits/__init__.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/commits/checker.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/commits/config.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/commits/config_explain.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/commits/config_init.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/commits/content_policy.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/commits/git.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/commits/github_event.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/commits/github_reporting.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/commits/models.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/commits/parser.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/commits/policy.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/commits/quality.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/commits/reporting.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/commits/service.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/commits/severity.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/commits/sources.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/commits/template.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/commits/trusted_policy.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/commits/typos.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/config_scope.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/errors.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/files.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/git/__init__.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/git/process.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/git/runtime.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/git/tree.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/github.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/models.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/modes/__init__.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/modes/checker.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/modes/git.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/modes/models.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/modes/patterns.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/modes/policy.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/modes/reporting.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/modes/service.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/paths/__init__.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/paths/checker.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/paths/git.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/paths/models.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/paths/policy.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/paths/reporting.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/paths/service.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/repository/__init__.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/repository/checker.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/repository/models.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/repository/plan.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/repository/reporting.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/self_update.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/sizes/__init__.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/sizes/checker.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/sizes/git.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/sizes/models.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/sizes/patterns.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/sizes/policy.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/sizes/reporting.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/sizes/service.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/status.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/trees/__init__.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/trees/checker.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/trees/git.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/trees/models.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/trees/patterns.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/trees/policy.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/trees/reporting.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/trees/service.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/workflows/__init__.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/workflows/actionlint_runtime.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/workflows/actionlint_snapshot.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/workflows/checker.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/workflows/inputs.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/workflows/lint.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/workflows/models.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/workflows/parser.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/workflows/references.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/workflows/reporting.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/workflows/security.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/workflows/security_facts.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/workflows/security_models.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/workflows/security_reporting.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/workflows/security_rules.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/src/yaga/workflows/yaml.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/__init__.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/codex_support.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/fixtures/commit_consumer_parity.json +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_action.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_agent_review_cli.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_agent_review_evaluation.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_agent_review_plan.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_agent_review_policy.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_agent_review_results.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_branch_checker.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_branch_cli.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_branch_models.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_branch_patterns.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_branch_policy.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_branch_reporting.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_branch_service.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_change_checker.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_change_cli.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_change_git.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_change_patterns.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_change_policy.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_change_reporting.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_codex_events.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_codex_evidence.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_codex_evidence_literals.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_codex_gate.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_codex_publication.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_codex_requests.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_codex_runs.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_codex_runtime.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_commit_action.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_commit_action_controls.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_commit_body_customization.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_commit_checker.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_commit_config.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_commit_consumer_policy.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_commit_content_policy.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_commit_explicit_inputs.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_commit_git.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_commit_parser.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_commit_quality.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_commit_quality_workflow.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_commit_reporting.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_commit_service.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_commit_sources.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_commit_template.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_commit_trusted_policy.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_commit_typos.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_commit_warnings.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_config_init.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_config_workflows.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_consumer_policy_entrypoints.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_description.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_docs_links.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_files.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_git_runtime.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_git_tree.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_github.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_github_pull_request.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_github_reporting.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_installers.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_mode_checker.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_mode_cli.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_mode_git.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_mode_models.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_mode_patterns.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_mode_policy.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_mode_reporting.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_mode_service.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_models.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_path_checker.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_path_cli.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_path_git.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_path_models.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_path_policy.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_path_reporting.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_path_service.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_plain_messages.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_pr_proposed_message.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_release.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_repo_cli.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_repository_checker.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_repository_contract.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_repository_models.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_repository_plan.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_repository_reporting.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_size_checker.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_size_cli.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_size_git.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_size_models.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_size_patterns.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_size_policy.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_size_reporting.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_size_service.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_status.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_tree_checker.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_tree_cli.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_tree_git.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_tree_models.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_tree_patterns.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_tree_policy.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_tree_reporting.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_tree_service.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_workflow_checker.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_workflow_inputs.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_workflow_lint.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_workflow_lint_hardening.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_workflow_lint_reporting.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_workflow_provider_inputs.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_workflow_references.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_workflow_reporting.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_workflow_security_cli.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_workflow_security_facts.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_workflow_security_models.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_workflow_security_reporting.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_workflow_security_rules.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_workflow_security_selection.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_workflow_security_service.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/tests/test_workflow_yaml.py +0 -0
- {yaga_cli-0.2.0 → yaga_cli-0.2.1}/zensical.toml +0 -0
|
@@ -25,10 +25,10 @@ jobs:
|
|
|
25
25
|
ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }}
|
|
26
26
|
fetch-depth: 0
|
|
27
27
|
persist-credentials: false
|
|
28
|
-
- uses: astral-sh/setup-uv@
|
|
28
|
+
- uses: astral-sh/setup-uv@c18668ad3cf93ea998bef934396af7bb5c839dc7 # v10.2.0
|
|
29
29
|
with:
|
|
30
30
|
enable-cache: true
|
|
31
|
-
version: "0.
|
|
31
|
+
version: "0.13.0"
|
|
32
32
|
- name: Cache Typos registry
|
|
33
33
|
uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
|
|
34
34
|
with:
|
|
@@ -137,23 +137,25 @@ jobs:
|
|
|
137
137
|
strategy:
|
|
138
138
|
fail-fast: false
|
|
139
139
|
matrix:
|
|
140
|
-
python-version: ["3.12", "3.13", "3.14"]
|
|
140
|
+
python-version: ["3.12", "3.13", "3.14", "3.15"]
|
|
141
141
|
os: [ubuntu-latest]
|
|
142
142
|
include:
|
|
143
143
|
- python-version: "3.12"
|
|
144
144
|
os: windows-latest
|
|
145
|
+
- python-version: "3.15"
|
|
146
|
+
os: windows-latest
|
|
145
147
|
runs-on: ${{ matrix.os }}
|
|
146
148
|
timeout-minutes: 10
|
|
147
149
|
steps:
|
|
148
150
|
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
149
151
|
with:
|
|
150
152
|
persist-credentials: false
|
|
151
|
-
- uses: astral-sh/setup-uv@
|
|
153
|
+
- uses: astral-sh/setup-uv@c18668ad3cf93ea998bef934396af7bb5c839dc7 # v10.2.0
|
|
152
154
|
with:
|
|
153
155
|
enable-cache: true
|
|
154
|
-
version: "0.
|
|
155
|
-
- run: uv sync --frozen --group dev --python ${{ matrix.python-version }}
|
|
156
|
-
- run: uv run --frozen --python ${{ matrix.python-version }} pytest
|
|
156
|
+
version: "0.13.0"
|
|
157
|
+
- run: uv sync --frozen --group dev --no-editable --python ${{ matrix.python-version }}
|
|
158
|
+
- run: uv run --frozen --no-editable --python ${{ matrix.python-version }} pytest
|
|
157
159
|
|
|
158
160
|
gate:
|
|
159
161
|
name: CI Prerequisites
|
|
@@ -33,7 +33,7 @@ jobs:
|
|
|
33
33
|
ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }}
|
|
34
34
|
fetch-depth: 0
|
|
35
35
|
persist-credentials: false
|
|
36
|
-
- uses: astral-sh/setup-uv@
|
|
36
|
+
- uses: astral-sh/setup-uv@c18668ad3cf93ea998bef934396af7bb5c839dc7 # v10.2.0
|
|
37
37
|
with:
|
|
38
38
|
enable-cache: true
|
|
39
39
|
version: "0.12.7"
|
|
@@ -30,7 +30,7 @@ jobs:
|
|
|
30
30
|
with:
|
|
31
31
|
persist-credentials: false
|
|
32
32
|
- uses: actions/configure-pages@45bfe0192ca1faeb007ade9deae92b16b8254a0d # v6
|
|
33
|
-
- uses: astral-sh/setup-uv@
|
|
33
|
+
- uses: astral-sh/setup-uv@c18668ad3cf93ea998bef934396af7bb5c839dc7 # v10.2.0
|
|
34
34
|
with:
|
|
35
35
|
version: "0.12.7"
|
|
36
36
|
- run: uv sync --frozen --group dev --python 3.12
|
|
@@ -32,7 +32,7 @@ jobs:
|
|
|
32
32
|
run: |
|
|
33
33
|
test "$(git rev-parse HEAD)" = "$EVENT_SHA"
|
|
34
34
|
git merge-base --is-ancestor HEAD "refs/remotes/origin/$DEFAULT_BRANCH"
|
|
35
|
-
- uses: astral-sh/setup-uv@
|
|
35
|
+
- uses: astral-sh/setup-uv@c18668ad3cf93ea998bef934396af7bb5c839dc7 # v10.2.0
|
|
36
36
|
with:
|
|
37
37
|
version: "0.12.7"
|
|
38
38
|
enable-cache: false
|
|
@@ -107,5 +107,5 @@ jobs:
|
|
|
107
107
|
RELEASE_TAG: ${{ github.ref_name }}
|
|
108
108
|
run: >-
|
|
109
109
|
gh release create "$RELEASE_TAG" dist/*.whl dist/*.tar.gz
|
|
110
|
-
--verify-tag --title "YAGA ${RELEASE_TAG#v}
|
|
110
|
+
--verify-tag --title "YAGA ${RELEASE_TAG#v}"
|
|
111
111
|
--notes-file release-notes/release-notes.md
|
|
@@ -3,5 +3,5 @@
|
|
|
3
3
|
The complete release history is maintained in [docs/changelog.md](docs/changelog.md) and
|
|
4
4
|
published in the [YAGA documentation](https://dariuszpanas.github.io/yaga/changelog.html).
|
|
5
5
|
|
|
6
|
-
Edit that single source when recording user-visible changes.
|
|
7
|
-
|
|
6
|
+
Edit that single source when recording user-visible changes. Keep new changes under Unreleased
|
|
7
|
+
until they are assigned to a dated release candidate; publication requires explicit authorization.
|
|
@@ -9,11 +9,13 @@ gate is `agent-review`.
|
|
|
9
9
|
|
|
10
10
|
Python 3.12 or newer and [uv](https://docs.astral.sh/uv/) 0.12.7 or newer are required
|
|
11
11
|
for the development workflow. CI pins uv separately for reproducibility; contributors may use
|
|
12
|
-
newer uv releases
|
|
12
|
+
newer uv releases. Use uv 0.13.0 or newer to download Python 3.15. CI tests Python 3.12
|
|
13
|
+
through 3.15 on Linux and Python 3.12 and 3.15 on Windows against a non-editable package
|
|
14
|
+
installation:
|
|
13
15
|
|
|
14
16
|
```bash
|
|
15
|
-
uv sync --group dev
|
|
16
|
-
uv run make ci
|
|
17
|
+
uv sync --group dev --python 3.12
|
|
18
|
+
uv run --python 3.12 make ci
|
|
17
19
|
```
|
|
18
20
|
|
|
19
21
|
The full gate also needs Git, GNU Make, Bash, a running Docker engine using Linux containers,
|
|
@@ -37,6 +39,9 @@ runtime closure from `uv.lock`, require its hashes without building dependencies
|
|
|
37
39
|
with dependency resolution disabled, run `uv pip check`, and execute the installed `yaga` entrypoint
|
|
38
40
|
with project and Python environment leakage removed.
|
|
39
41
|
|
|
42
|
+
That strict build gate runs on Python 3.12. The Python 3.15 test jobs permit PyYAML's source-build
|
|
43
|
+
fallback because the locked PyYAML release does not publish Python 3.15 wheels.
|
|
44
|
+
|
|
40
45
|
## CLI and commit policy contract
|
|
41
46
|
|
|
42
47
|
The public installed command groups are `branch`, `change`, `commit`, `config`, `github`, `mode`,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: yaga-cli
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.1
|
|
4
4
|
Summary: Configurable developer workflow checks for local use and GitHub Actions
|
|
5
5
|
Project-URL: Documentation, https://dariuszpanas.github.io/yaga/
|
|
6
6
|
Project-URL: Changelog, https://dariuszpanas.github.io/yaga/changelog.html
|
|
@@ -18,12 +18,13 @@ Classifier: Programming Language :: Python :: 3
|
|
|
18
18
|
Classifier: Programming Language :: Python :: 3.12
|
|
19
19
|
Classifier: Programming Language :: Python :: 3.13
|
|
20
20
|
Classifier: Programming Language :: Python :: 3.14
|
|
21
|
+
Classifier: Programming Language :: Python :: 3.15
|
|
21
22
|
Classifier: Topic :: Software Development :: Quality Assurance
|
|
22
23
|
Requires-Python: >=3.12
|
|
23
24
|
Requires-Dist: pyyaml<7,>=6.0.3
|
|
24
25
|
Requires-Dist: typer<1,>=0.27.2
|
|
25
26
|
Provides-Extra: quality
|
|
26
|
-
Requires-Dist: torch<3,>=2.
|
|
27
|
+
Requires-Dist: torch<3,>=2.13; extra == 'quality'
|
|
27
28
|
Requires-Dist: transformers<6,>=5.10; extra == 'quality'
|
|
28
29
|
Provides-Extra: quality-bedrock
|
|
29
30
|
Requires-Dist: boto3<2,>=1.37; extra == 'quality-bedrock'
|
|
@@ -58,6 +59,8 @@ YAGA does not require adopting the entire CLI at once.
|
|
|
58
59
|
|
|
59
60
|
YAGA requires Python 3.12 or newer. Its PyPI distribution is **`yaga-cli`** and its command is
|
|
60
61
|
**`yaga`**; the distribution named `yaga` is an unrelated project.
|
|
62
|
+
The core CLI is tested on Python 3.12 through 3.15. Optional model dependencies have their own
|
|
63
|
+
[installation requirements](https://dariuszpanas.github.io/yaga/commit-quality.html).
|
|
61
64
|
|
|
62
65
|
- [Adoption recipes](https://dariuszpanas.github.io/yaga/recipes.html) — add checks to an existing workflow.
|
|
63
66
|
- [Assess YAGA for CI](https://dariuszpanas.github.io/yaga/ci-adoption.html) — match your problem to a check and its prerequisites.
|
|
@@ -27,6 +27,8 @@ YAGA does not require adopting the entire CLI at once.
|
|
|
27
27
|
|
|
28
28
|
YAGA requires Python 3.12 or newer. Its PyPI distribution is **`yaga-cli`** and its command is
|
|
29
29
|
**`yaga`**; the distribution named `yaga` is an unrelated project.
|
|
30
|
+
The core CLI is tested on Python 3.12 through 3.15. Optional model dependencies have their own
|
|
31
|
+
[installation requirements](https://dariuszpanas.github.io/yaga/commit-quality.html).
|
|
30
32
|
|
|
31
33
|
- [Adoption recipes](https://dariuszpanas.github.io/yaga/recipes.html) — add checks to an existing workflow.
|
|
32
34
|
- [Assess YAGA for CI](https://dariuszpanas.github.io/yaga/ci-adoption.html) — match your problem to a check and its prerequisites.
|
|
@@ -2,6 +2,28 @@
|
|
|
2
2
|
|
|
3
3
|
## [Unreleased]
|
|
4
4
|
|
|
5
|
+
## [0.2.1] - 2026-10-10
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
|
|
9
|
+
- Declare Python 3.15 support and add blocking Linux and Windows test jobs. Run the
|
|
10
|
+
Python compatibility matrix against a non-editable package installation.
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
|
|
14
|
+
- Update locked urllib3 to 2.8.0 for upstream proxy TLS and streaming denial-of-service fixes
|
|
15
|
+
in the optional Bedrock dependency chain.
|
|
16
|
+
- Update locked virtualenv to 21.7.13 for upstream activation-script, configuration, and
|
|
17
|
+
seed-wheel verification security fixes in development tooling.
|
|
18
|
+
- Align the Hatchling 1.32.4 build and development pins with the lockfile and tooling contract.
|
|
19
|
+
- Raise the optional quality extra's PyTorch minimum to 2.13 to exclude older releases with
|
|
20
|
+
known security advisories; the locked PyTorch version remains 2.14.0.
|
|
21
|
+
- Repair the pipx installation link in the getting-started guide.
|
|
22
|
+
|
|
23
|
+
### Changed
|
|
24
|
+
|
|
25
|
+
- Refresh CI tooling with setup-uv 10.2.0 and uv 0.13.0, including stable Python 3.15 downloads.
|
|
26
|
+
|
|
5
27
|
## [0.2.0] - 2026-09-20
|
|
6
28
|
|
|
7
29
|
### Added
|
|
@@ -4,6 +4,12 @@
|
|
|
4
4
|
but may not explain a change clearly in a Git log. It is separate from `commit check`: deterministic
|
|
5
5
|
policy remains the merge gate, while the model provides a bounded advisory signal.
|
|
6
6
|
|
|
7
|
+
The optional `quality` extra depends on PyTorch wheels for the selected Python version and
|
|
8
|
+
platform. The locked PyTorch 2.14.0 package from PyPI has no Python 3.15 wheels; use Python 3.12
|
|
9
|
+
through 3.14 for this extra. The repository's Linux CPU index has Python 3.15 wheels, but that
|
|
10
|
+
index selection is not part of the published wheel metadata. The core CLI and the separate
|
|
11
|
+
`quality-bedrock` extra do not require PyTorch.
|
|
12
|
+
|
|
7
13
|
## When to use it
|
|
8
14
|
|
|
9
15
|
Run both checks when exact policy enforcement and broader writing feedback are useful:
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
# Get started
|
|
2
2
|
|
|
3
|
-
This guide covers **YAGA 0.2.
|
|
3
|
+
This guide covers **YAGA 0.2.1 (Beta)**. YAGA requires Python 3.12 or newer. Install the **`yaga-cli`** distribution from PyPI;
|
|
4
4
|
the executable and import package are **`yaga`**. The `yaga` distribution is an unrelated project.
|
|
5
5
|
|
|
6
|
+
The core CLI is tested on Python 3.12 through 3.15. Python 3.15 installations currently use
|
|
7
|
+
PyYAML's source-build fallback because PyYAML 6.0.3 does not publish Python 3.15 wheels.
|
|
8
|
+
For optional model dependencies, see [commit quality installation](commit-quality.md).
|
|
9
|
+
|
|
6
10
|
## Install as a global tool
|
|
7
11
|
|
|
8
12
|
A tool installer makes `yaga` available from any repository without adding it to each project's
|
|
@@ -87,7 +91,7 @@ is selected. `uv tool list` lists installed tools.
|
|
|
87
91
|
|
|
88
92
|
### pipx
|
|
89
93
|
|
|
90
|
-
With [pipx](https://pipx.pypa.io/stable/
|
|
94
|
+
With [pipx](https://pipx.pypa.io/stable/how-to/install-pipx.html) and Python 3.12 or newer installed:
|
|
91
95
|
|
|
92
96
|
```bash
|
|
93
97
|
pipx install yaga-cli
|
|
@@ -46,7 +46,8 @@ package users. Twine's metadata check does not prove remote images or links are
|
|
|
46
46
|
references. Tests require the Action runtime version to match package metadata. Convert the candidate changelog
|
|
47
47
|
heading into `## [0.1.0] - YYYY-MM-DD`, using the actual release date, and retain `Unreleased`
|
|
48
48
|
above it. The Beta classifier is a maturity label; version `0.1.0` is a normal PyPI version,
|
|
49
|
-
not the PEP 440 prerelease `0.1.0b1`.
|
|
49
|
+
not the PEP 440 prerelease `0.1.0b1`. Use `YAGA 0.1.0` as the GitHub Release title;
|
|
50
|
+
keep the maturity label in package metadata rather than appending `(Beta)` to the title.
|
|
50
51
|
2. Merge the release changes and require all hosted CI lanes to pass for the exact commit,
|
|
51
52
|
including Windows. Resolve dependency PR failures before choosing the candidate.
|
|
52
53
|
3. After publication is explicitly authorized, create and push the matching `v0.1.0` tag at that
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
[build-system]
|
|
2
|
-
requires = ["hatchling==1.32.
|
|
2
|
+
requires = ["hatchling==1.32.4"]
|
|
3
3
|
build-backend = "hatchling.build"
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "yaga-cli"
|
|
7
|
-
version = "0.2.
|
|
7
|
+
version = "0.2.1"
|
|
8
8
|
description = "Configurable developer workflow checks for local use and GitHub Actions"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = "BSD-3-Clause"
|
|
@@ -29,6 +29,7 @@ classifiers = [
|
|
|
29
29
|
"Programming Language :: Python :: 3.12",
|
|
30
30
|
"Programming Language :: Python :: 3.13",
|
|
31
31
|
"Programming Language :: Python :: 3.14",
|
|
32
|
+
"Programming Language :: Python :: 3.15",
|
|
32
33
|
"Topic :: Software Development :: Quality Assurance",
|
|
33
34
|
]
|
|
34
35
|
dependencies = [
|
|
@@ -38,7 +39,7 @@ dependencies = [
|
|
|
38
39
|
|
|
39
40
|
[project.optional-dependencies]
|
|
40
41
|
quality = [
|
|
41
|
-
"torch>=2.
|
|
42
|
+
"torch>=2.13,<3",
|
|
42
43
|
"transformers>=5.10,<6",
|
|
43
44
|
]
|
|
44
45
|
quality-bedrock = [
|
|
@@ -67,7 +68,7 @@ yaga = "yaga.cli:main"
|
|
|
67
68
|
|
|
68
69
|
[dependency-groups]
|
|
69
70
|
dev = [
|
|
70
|
-
"hatchling==1.32.
|
|
71
|
+
"hatchling==1.32.4",
|
|
71
72
|
"pre-commit>=4.6.2,<5",
|
|
72
73
|
"pytest>=8.3",
|
|
73
74
|
"readme-renderer[md]>=46.0",
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
### Added
|
|
2
|
+
|
|
3
|
+
- Declare Python 3.15 support and add blocking Linux and Windows test jobs. Run the
|
|
4
|
+
Python compatibility matrix against a non-editable package installation.
|
|
5
|
+
|
|
6
|
+
### Fixed
|
|
7
|
+
|
|
8
|
+
- Update locked urllib3 to 2.8.0 for upstream proxy TLS and streaming denial-of-service fixes
|
|
9
|
+
in the optional Bedrock dependency chain.
|
|
10
|
+
- Update locked virtualenv to 21.7.13 for upstream activation-script, configuration, and
|
|
11
|
+
seed-wheel verification security fixes in development tooling.
|
|
12
|
+
- Align the Hatchling 1.32.4 build and development pins with the lockfile and tooling contract.
|
|
13
|
+
- Raise the optional quality extra's PyTorch minimum to 2.13 to exclude older releases with
|
|
14
|
+
known security advisories; the locked PyTorch version remains 2.14.0.
|
|
15
|
+
- Repair the pipx installation link in the getting-started guide.
|
|
16
|
+
|
|
17
|
+
### Changed
|
|
18
|
+
|
|
19
|
+
- Refresh CI tooling with setup-uv 10.2.0 and uv 0.13.0, including stable Python 3.15 downloads.
|
|
20
|
+
|
|
21
|
+
[PyPI](https://pypi.org/project/yaga-cli/0.2.1/)
|
|
@@ -27,7 +27,7 @@ SMOKE_MESSAGE = "feat(build): execute the built wheel"
|
|
|
27
27
|
EXPECTED_REQUIRES_DIST = ["pyyaml<7,>=6.0.3", "typer<1,>=0.27.2"]
|
|
28
28
|
EXPECTED_OPTIONAL_REQUIRES_DIST = [
|
|
29
29
|
"boto3<2,>=1.37; extra == 'quality-bedrock'",
|
|
30
|
-
"torch<3,>=2.
|
|
30
|
+
"torch<3,>=2.13; extra == 'quality'",
|
|
31
31
|
"transformers<6,>=5.10; extra == 'quality'",
|
|
32
32
|
]
|
|
33
33
|
|
|
@@ -7,7 +7,7 @@ import re
|
|
|
7
7
|
from yaga.errors import ConfigurationError
|
|
8
8
|
|
|
9
9
|
# Keep this equal to project.version; the build contract tests enforce that boundary.
|
|
10
|
-
VERSION = "0.2.
|
|
10
|
+
VERSION = "0.2.1"
|
|
11
11
|
_RELEASE = r"(0|[1-9][0-9]{0,8})\.(0|[1-9][0-9]{0,8})\.(0|[1-9][0-9]{0,8})"
|
|
12
12
|
_CLAUSE = re.compile(r"(>=|<=|==|!=|>|<)\s*" + _RELEASE, re.ASCII)
|
|
13
13
|
|
|
@@ -163,7 +163,7 @@ def test_version_is_available_from_the_installed_command() -> None:
|
|
|
163
163
|
result = runner.invoke(app, ["--version"])
|
|
164
164
|
|
|
165
165
|
assert result.exit_code == 0
|
|
166
|
-
assert result.stdout.strip() == "yaga 0.2.
|
|
166
|
+
assert result.stdout.strip() == "yaga 0.2.1"
|
|
167
167
|
|
|
168
168
|
|
|
169
169
|
def test_github_pull_request_command_skips_multiline_dependabot_commit(
|
|
@@ -68,7 +68,7 @@ def test_windows_worker_waits_and_reports_completion(tmp_path: Path) -> None:
|
|
|
68
68
|
assert not worker.exists()
|
|
69
69
|
|
|
70
70
|
|
|
71
|
-
@pytest.mark.parametrize("requirement", [">=0.1.0", "==0.2.
|
|
71
|
+
@pytest.mark.parametrize("requirement", [">=0.1.0", "==0.2.1", ">0.0.9, <1.0.0", "!=2.0.0"])
|
|
72
72
|
def test_requirement_accepts_current_release(requirement: str) -> None:
|
|
73
73
|
assert check_requirement(requirement) == requirement
|
|
74
74
|
|
|
@@ -82,7 +82,7 @@ def test_requirement_rejects_invalid_syntax(requirement: object) -> None:
|
|
|
82
82
|
check_requirement(requirement)
|
|
83
83
|
|
|
84
84
|
|
|
85
|
-
@pytest.mark.parametrize("requirement", [">0.2.
|
|
85
|
+
@pytest.mark.parametrize("requirement", [">0.2.1", "<0.1.0", ">=1.0.0", "!=0.2.1"])
|
|
86
86
|
def test_requirement_rejects_incompatible_release(requirement: str) -> None:
|
|
87
87
|
with pytest.raises(ConfigurationError, match="does not satisfy"):
|
|
88
88
|
check_requirement(requirement)
|
|
@@ -32,8 +32,8 @@ def test_toolchain_supply_chain_inputs_are_exactly_pinned() -> None:
|
|
|
32
32
|
"typer>=0.27.2,<1",
|
|
33
33
|
]
|
|
34
34
|
build_requirements = project["build-system"]["requires"]
|
|
35
|
-
assert build_requirements == ["hatchling==1.32.
|
|
36
|
-
assert "hatchling==1.32.
|
|
35
|
+
assert build_requirements == ["hatchling==1.32.4"]
|
|
36
|
+
assert "hatchling==1.32.4" in project["dependency-groups"]["dev"]
|
|
37
37
|
assert "pre-commit>=4.6.2,<5" in project["dependency-groups"]["dev"]
|
|
38
38
|
assert project["tool"]["uv"]["required-version"] == ">=0.12.7"
|
|
39
39
|
commit_policy = project["tool"]["yaga"]["commit"]
|
|
@@ -160,7 +160,7 @@ def test_toolchain_supply_chain_inputs_are_exactly_pinned() -> None:
|
|
|
160
160
|
assert actionlint_image in (ROOT / documentation).read_text(encoding="utf-8")
|
|
161
161
|
|
|
162
162
|
ci = (ROOT / ".github" / "workflows" / "ci.yml").read_text(encoding="utf-8")
|
|
163
|
-
assert ci.count('version: "0.
|
|
163
|
+
assert ci.count('version: "0.13.0"') == 2
|
|
164
164
|
assert "yaga --help" in ci
|
|
165
165
|
assert "python -m yaga --help" in ci
|
|
166
166
|
assert "yaga_message=\"$(printf '%s\\n\\n%s'" in ci
|
|
@@ -318,7 +318,7 @@ def test_wheel_metadata_must_advertise_the_locked_runtime() -> None:
|
|
|
318
318
|
b"Requires-Dist: pyyaml<7,>=6.0.3\n"
|
|
319
319
|
b"Requires-Dist: typer<1,>=0.27.2\n"
|
|
320
320
|
b"Requires-Dist: boto3<2,>=1.37; extra == 'quality-bedrock'\n"
|
|
321
|
-
b"Requires-Dist: torch<3,>=2.
|
|
321
|
+
b"Requires-Dist: torch<3,>=2.13; extra == 'quality'\n"
|
|
322
322
|
b"Requires-Dist: transformers<6,>=5.10; extra == 'quality'\n"
|
|
323
323
|
b"\n"
|
|
324
324
|
b'<img src="https://dariuszpanas.github.io/yaga/assets/branding/'
|
|
@@ -331,6 +331,7 @@ def test_wheel_metadata_must_advertise_the_locked_runtime() -> None:
|
|
|
331
331
|
valid.replace(b"Requires-Dist: typer<1,>=0.27.2\n", b""),
|
|
332
332
|
valid.replace(b"pyyaml<7,>=6.0.3", b"pyyaml>=6.0.3"),
|
|
333
333
|
valid.replace(b"typer<1,>=0.27.2", b"typer>=0.27.2"),
|
|
334
|
+
valid.replace(b"torch<3,>=2.13", b"torch<3,>=2.6"),
|
|
334
335
|
valid.replace(
|
|
335
336
|
b"Requires-Dist: typer<1,>=0.27.2",
|
|
336
337
|
b"Requires-Dist: typer<1,>=0.27.2\nRequires-Dist: requests>=2",
|
|
@@ -186,7 +186,7 @@ wheels = [
|
|
|
186
186
|
|
|
187
187
|
[[package]]
|
|
188
188
|
name = "hatchling"
|
|
189
|
-
version = "1.32.
|
|
189
|
+
version = "1.32.4"
|
|
190
190
|
source = { registry = "https://pypi.org/simple" }
|
|
191
191
|
dependencies = [
|
|
192
192
|
{ name = "packaging" },
|
|
@@ -195,9 +195,9 @@ dependencies = [
|
|
|
195
195
|
{ name = "tomlkit" },
|
|
196
196
|
{ name = "trove-classifiers" },
|
|
197
197
|
]
|
|
198
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
198
|
+
sdist = { url = "https://files.pythonhosted.org/packages/f6/97/b5312f01a8c6daf729a9d272dd442e0c546dbcc630495788786c4b567ed0/hatchling-1.32.4.tar.gz", hash = "sha256:c4468f73144c054d2aab4ef0f0378c43b9878bf07f8ffd6b79690e970d375f07", size = 58065, upload-time = "2026-09-20T22:48:45.398Z" }
|
|
199
199
|
wheels = [
|
|
200
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
200
|
+
{ url = "https://files.pythonhosted.org/packages/5f/80/91f51f439c05d4ec4623c22928ce16a938d6d793bf709477830823497859/hatchling-1.32.4-py3-none-any.whl", hash = "sha256:08ecf7548fb48205e7f213d70c71e67b8271b7242093dc3f1da578b42c734a2c", size = 78748, upload-time = "2026-09-20T22:48:44.19Z" },
|
|
201
201
|
]
|
|
202
202
|
|
|
203
203
|
[[package]]
|
|
@@ -1178,16 +1178,16 @@ wheels = [
|
|
|
1178
1178
|
|
|
1179
1179
|
[[package]]
|
|
1180
1180
|
name = "urllib3"
|
|
1181
|
-
version = "2.
|
|
1181
|
+
version = "2.8.0"
|
|
1182
1182
|
source = { registry = "https://pypi.org/simple" }
|
|
1183
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
1183
|
+
sdist = { url = "https://files.pythonhosted.org/packages/e3/05/b17359e1cefb4f909b5e40b1b90a496d987258916dbbf88e842c729f510e/urllib3-2.8.0.tar.gz", hash = "sha256:63bf2ead4c879426ebf22ef2a781eeb4aa3b4ae798a0435506f8687fd5bb9b63", size = 458972, upload-time = "2026-09-15T19:29:36.253Z" }
|
|
1184
1184
|
wheels = [
|
|
1185
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1185
|
+
{ url = "https://files.pythonhosted.org/packages/92/9d/c4e665119135114480843e7ab388fa94d8480650450e6f8e26b70d323a4c/urllib3-2.8.0-py3-none-any.whl", hash = "sha256:0cf3cae568d36aa9576b28dfb35f11328f1cb974ca7647d9475ebb86c75ac6e3", size = 135717, upload-time = "2026-09-15T19:29:34.577Z" },
|
|
1186
1186
|
]
|
|
1187
1187
|
|
|
1188
1188
|
[[package]]
|
|
1189
1189
|
name = "virtualenv"
|
|
1190
|
-
version = "21.7.
|
|
1190
|
+
version = "21.7.13"
|
|
1191
1191
|
source = { registry = "https://pypi.org/simple" }
|
|
1192
1192
|
dependencies = [
|
|
1193
1193
|
{ name = "distlib" },
|
|
@@ -1195,14 +1195,14 @@ dependencies = [
|
|
|
1195
1195
|
{ name = "platformdirs" },
|
|
1196
1196
|
{ name = "python-discovery" },
|
|
1197
1197
|
]
|
|
1198
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
1198
|
+
sdist = { url = "https://files.pythonhosted.org/packages/13/50/c9b84eb106d0db420b9878dac0a386c5791726f127ce20b06897f6e3a1e9/virtualenv-21.7.13.tar.gz", hash = "sha256:0355558b6f33619aab31347e43643b0ebc97f61ea3acf617b2b69e1f8a843d11", size = 5360306, upload-time = "2026-09-18T04:35:49.354Z" }
|
|
1199
1199
|
wheels = [
|
|
1200
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1200
|
+
{ url = "https://files.pythonhosted.org/packages/9a/ce/e74453531b0c49a58d0e8a4f9bab4495705859fee4a4f7de27d58f4a791a/virtualenv-21.7.13-py3-none-any.whl", hash = "sha256:1bea5af7463f59c4719db48fe739579a2a4f569c96f26c086edda85c96da9f59", size = 5328680, upload-time = "2026-09-18T04:35:47.194Z" },
|
|
1201
1201
|
]
|
|
1202
1202
|
|
|
1203
1203
|
[[package]]
|
|
1204
1204
|
name = "yaga-cli"
|
|
1205
|
-
version = "0.2.
|
|
1205
|
+
version = "0.2.1"
|
|
1206
1206
|
source = { editable = "." }
|
|
1207
1207
|
dependencies = [
|
|
1208
1208
|
{ name = "pyyaml" },
|
|
@@ -1234,8 +1234,8 @@ dev = [
|
|
|
1234
1234
|
requires-dist = [
|
|
1235
1235
|
{ name = "boto3", marker = "extra == 'quality-bedrock'", specifier = ">=1.37,<2" },
|
|
1236
1236
|
{ name = "pyyaml", specifier = ">=6.0.3,<7" },
|
|
1237
|
-
{ name = "torch", marker = "sys_platform == 'linux' and extra == 'quality'", specifier = ">=2.
|
|
1238
|
-
{ name = "torch", marker = "sys_platform != 'linux' and extra == 'quality'", specifier = ">=2.
|
|
1237
|
+
{ name = "torch", marker = "sys_platform == 'linux' and extra == 'quality'", specifier = ">=2.13,<3", index = "https://download.pytorch.org/whl/cpu" },
|
|
1238
|
+
{ name = "torch", marker = "sys_platform != 'linux' and extra == 'quality'", specifier = ">=2.13,<3" },
|
|
1239
1239
|
{ name = "transformers", marker = "extra == 'quality'", specifier = ">=5.10,<6" },
|
|
1240
1240
|
{ name = "typer", specifier = ">=0.27.2,<1" },
|
|
1241
1241
|
]
|
|
@@ -1243,7 +1243,7 @@ provides-extras = ["quality", "quality-bedrock"]
|
|
|
1243
1243
|
|
|
1244
1244
|
[package.metadata.requires-dev]
|
|
1245
1245
|
dev = [
|
|
1246
|
-
{ name = "hatchling", specifier = "==1.32.
|
|
1246
|
+
{ name = "hatchling", specifier = "==1.32.4" },
|
|
1247
1247
|
{ name = "pre-commit", specifier = ">=4.6.2,<5" },
|
|
1248
1248
|
{ name = "pytest", specifier = ">=8.3" },
|
|
1249
1249
|
{ name = "readme-renderer", extras = ["md"], specifier = ">=46.0" },
|
yaga_cli-0.2.0/release-notes.md
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
### Added
|
|
2
|
-
|
|
3
|
-
- Support explicit plain-message policy and a frozen `plain-v1` starter; print incomplete,
|
|
4
|
-
policy-guided drafts with `commit template` without changing files or Git.
|
|
5
|
-
|
|
6
|
-
- Introduce opt-in `warning-rules` for gradual policy adoption, with consistent schema-v1 commit
|
|
7
|
-
reports containing severity and warning counts, and nonblocking annotations.
|
|
8
|
-
|
|
9
|
-
- Require bounded work-item references and constrain exact footer values through opt-in
|
|
10
|
-
`required-issue-prefixes` and `footer-values` settings.
|
|
11
|
-
|
|
12
|
-
- Add frozen editable workflow starters and `config show --type` explanations of effective
|
|
13
|
-
body/scope overrides, preserving the existing default starter.
|
|
14
|
-
|
|
15
|
-
- Validate proposed PR title-plus-description messages with opt-in `pull-request-message`,
|
|
16
|
-
reusing full commit policy and reporting the proposed message separately.
|
|
17
|
-
|
|
18
|
-
- Allow per-type body requirements with `body-policy-by-type` and cap total prose with
|
|
19
|
-
`body-max-length`, preserving existing defaults and independent title checks.
|
|
20
|
-
|
|
21
|
-
[PyPI](https://pypi.org/project/yaga-cli/0.2.0/)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{yaga_cli-0.2.0 → yaga_cli-0.2.1}/docs/assets/branding/isometric_terminal_y_logo_transparent.png
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|