zendev-review
zendev-review owns reusable commit and pull-request message checks. It
depends on zendev-commit so title and complete-message checks reuse commit
profiles instead of copying commit semantics.
uv add --dev zendev-review
uvx --from zendev-review zendev-message check --help
The complete zendev distribution exposes the same command as
zendev message check.
Python API
from zendev.body import BodySection, validate_body
valid, headings = validate_body(
"## Motivation\n\nWhy.\n\n## Solution\n\nHow.\n",
[BodySection("Motivation"), BodySection("Solution")],
)
assert valid
assert headings == ["Motivation", "Solution"]
Message check
uvx --from zendev-review zendev-message check --title --text "✨ feat: add export"
uvx --from zendev-review zendev-message check --title --profile gitmoji --text ":sparkles: Add export"
uvx --from zendev-review zendev-message check --body --text "$PR_BODY" \
--template .github/pull_request_template.md \
--require-checklist
See zendev-commit for profile semantics.
The body section contract is:
- every template H2 is required by default
<!-- pr-body:optional -->makes the following H2 optional<!-- pr-body:required -->explicitly marks the following H2 as required- present sections must retain template order
- undeclared, duplicate, ambiguous, and dangling sections or directives fail
- directives and headings inside fenced code blocks are ignored
When --require-checklist is present, every checked - [x] row under the
configured checklist H2 must occur in the PR body. --fail-on-empty-checklist
makes an empty template checklist fail instead of becoming a no-op.
The composite Actions expose the same behavior for GitHub workflows.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file zendev_review-0.3.0-py3-none-any.whl.
File metadata
- Download URL: zendev_review-0.3.0-py3-none-any.whl
- Upload date:
- Size: 10.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ae603209c4ad6388e0999feaf4c85c4cf00da1f0b00560bacdada2e1b1e5064f
|
|
| MD5 |
f96e21d2718b44eda54711891635296f
|
|
| BLAKE2b-256 |
eefa7680f48b5221f8c57848bfd72c5490ed0ee1e0f95e2ccca0b675ae868599
|
Provenance
The following attestation bundles were made for zendev_review-0.3.0-py3-none-any.whl:
Publisher:
cd-release.yml on zendev-lab/zendev
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
zendev_review-0.3.0-py3-none-any.whl -
Subject digest:
ae603209c4ad6388e0999feaf4c85c4cf00da1f0b00560bacdada2e1b1e5064f - Sigstore transparency entry: 2696249843
- Sigstore integration time:
-
Permalink:
zendev-lab/zendev@6add4d100898f7a1a3c7643a5ca15051a0088e43 -
Branch / Tag:
refs/tags/v0.3.0 - Owner: https://github.com/zendev-lab
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
cd-release.yml@6add4d100898f7a1a3c7643a5ca15051a0088e43 -
Trigger Event:
push
-
Statement type: