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 --loyalty 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 Loyalty, 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.2.1.tar.gz (39.1 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.2.1-py3-none-any.whl (17.8 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for hyodo-3.2.1.tar.gz
Algorithm Hash digest
SHA256 86bd5ac100d5b270bea376dc632f86c96fac419c98b44bcf46cfd2bce602fe6c
MD5 accd1b758523b9bff90e37faf99c75fa
BLAKE2b-256 3156053c804449a6e315125bcb8699595767f5239128bb1008b593d1b2003d0b

See more details on using hashes here.

Provenance

The following attestation bundles were made for hyodo-3.2.1.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.2.1-py3-none-any.whl.

File metadata

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

File hashes

Hashes for hyodo-3.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 384d1d2d9ee0f9ba3d59f2d87324cbd565475fbcee1fc798163f024c718da41f
MD5 13b904c86a1aa755ac65eabd97c37304
BLAKE2b-256 f6cac51686280c6053f0b19563151e4425d3d8db9af496bbc791df504090a81e

See more details on using hashes here.

Provenance

The following attestation bundles were made for hyodo-3.2.1-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