Skip to main content

Model-agnostic quality-gate kit for AI-assisted developers

Project description

HyoDo

Honest quality gates for AI-assisted Python work.

CI PyPI Python License

HyoDo provides a small CLI and CI workflow for reviewing AI-assisted changes. It combines type checking, linting, tests, safety warnings, and an optional review score without granting automatic approval.

Two tracks

HyoDo has two surfaces with deliberately different scopes:

  • safe — outward, any repository. A dependency-light safety early-warning scanner (secrets, dangerous commands, production impact). Run hyodo safe or hyodo safe --json on your diff.
  • check — reference, a HyoDo checkout only. HyoDo's own release gates (Pyright/Ruff/pytest/SBOM). It proves HyoDo's honesty contract; it does not gate arbitrary projects.

If you want a gate for your repo today, use safe. check is intentionally scoped to HyoDo itself.

Install

Python 3.10 or newer is required.

pip install -U hyodo
hyodo --version

The installed package exposes score, safe, and onboarding commands from any directory:

hyodo score --truth 0.9 --goodness 0.9 --beauty 0.9 \
  --benevolence 0.9 --hyo 0.9
hyodo safe path/to/file_or_diff_context
hyodo safe --strict path/to/file_or_diff_context

hyodo check currently validates a HyoDo repository checkout, not an arbitrary project. Clone the repository to run its full release gates:

git clone https://github.com/lofibrainwav/HyoDo.git
cd HyoDo
python -m pip install -e ".[dev]"
hyodo check

See Quick Start for the complete first-run path.

Commands

Command Purpose
hyodo start Show onboarding guidance
hyodo check [PATH] Run HyoDo checkout gates
hyodo score ... Produce a review signal
hyodo safe [PATH] Print safety findings without blocking
hyodo safe --strict [PATH] Exit 1 when high-severity findings exist
hyodo safe --json [PATH] Emit machine-readable JSON findings for CI
hyodo trinity "CHANGE" Produce a structured review checklist

hyodo check exit contract

Exit Meaning
0 At least one gate ran and every executed gate passed
1 An executed gate failed
2 The path is missing or no applicable gate ran

The checkout gates run Pyright, Ruff, pytest, and an optional SBOM check. A zero-gate run is never reported as success.

hyodo safe exit contract

  • Default mode prints findings and exits 0.
  • --strict exits 1 when a high-severity finding is present.
  • Missing or unreadable paths exit 2.

hyodo safe is an early-warning scanner, not a security audit.

Scope

The supported release surface is intentionally narrow:

Surface Status
hyodo/ Python package and CLI Public release surface
tests/ and .github/workflows/ Release verification

Model-agnostic means the core CLI does not require a specific AI provider or agent UI. It does not mean language-agnostic or universal repository support.

Optional review score

HYOGOOK V5 evaluates Truth, Goodness, Beauty, Benevolence, and Hyo, with a geometric-mean harmony signal. Scores support review; they never replace tests, security checks, or human approval.

The practical CLI works without this optional philosophy layer. See HyoDo philosophy for the short model description.

Documentation

Contributing and security

See CONTRIBUTING.md before opening a pull request. Report security issues through the process in SECURITY.md.

License

HyoDo is available under the MIT License.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hyodo-3.3.0.tar.gz (41.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hyodo-3.3.0-py3-none-any.whl (18.1 kB view details)

Uploaded Python 3

File details

Details for the file hyodo-3.3.0.tar.gz.

File metadata

  • Download URL: hyodo-3.3.0.tar.gz
  • Upload date:
  • Size: 41.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for hyodo-3.3.0.tar.gz
Algorithm Hash digest
SHA256 814d395e76f2c62b9d1245856c255af4f73de958d2da90964ad59c3f590e0b2c
MD5 747b019d2e801320465123df7e9b3841
BLAKE2b-256 1abea231546d5d61b33037715c823476393ae74625ed820f265ecd12f559eebc

See more details on using hashes here.

Provenance

The following attestation bundles were made for hyodo-3.3.0.tar.gz:

Publisher: publish.yml on lofibrainwav/HyoDo

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hyodo-3.3.0-py3-none-any.whl.

File metadata

  • Download URL: hyodo-3.3.0-py3-none-any.whl
  • Upload date:
  • Size: 18.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for hyodo-3.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 20f685c71970ed881ae8b9158b205205dea9a3e411e1a862646288cba8374fc6
MD5 f00f4ecc5d48eea1003d4869b88327b5
BLAKE2b-256 685bce32ad9b70f24502baf44814b07777019732c09ba4e6b5849902becfc994

See more details on using hashes here.

Provenance

The following attestation bundles were made for hyodo-3.3.0-py3-none-any.whl:

Publisher: publish.yml on lofibrainwav/HyoDo

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page