zendev
Zendev is a repository-native development workflow toolkit. It provides commit conventions, pull-request checks, proposal-repository mechanics, and a small logging helper as typed Python packages and thin GitHub Action or hook adapters.
Scope
This repository owns reusable workflow mechanisms:
- commit-message creation and validation
- PR title, body, and checklist validation
- proposal frontmatter, graph, history, and index validation
Consuming repositories continue to own their schemas, templates, terminology, semantic checks, lifecycle policy, and proposal decisions. Git and committed repository files remain the source of truth.
Installation
Install zendev for the complete toolkit and unified command. It installs all
four component distributions as required dependencies. The components remain
available separately for narrower use:
| Distribution | Purpose |
|---|---|
zendev |
Complete toolkit and unified CLI |
zendev-commit |
Commit profiles, validation, and interactive commits |
zendev-review |
Pull-request title and body validation |
zendev-proposal |
Proposal validation and deterministic indexes |
zendev-log |
Loguru setup helper |
For example, run published commands without installing them globally:
$ uvx --from zendev zendev --help
$ uvx --from zendev-commit zendev-commit-msg --help
$ uvx --from zendev-review zendev-validate-body --help
$ uvx --from zendev-proposal zendev-proposal --help
For local development:
$ uv sync --all-packages --all-groups
$ uv run zendev --help
Python 3.12 or newer is required. All command-line entry points use Typer.
python -m zendev exposes the same command tree as zendev.
Version 0.2.0 removes the logging re-export from the root namespace. For
logging-only use, install zendev-log and import it directly:
$ uv add zendev-log
from zendev.log import setup_log
from zendev import setup_log is no longer supported.
Commands
| Unified command | Compatibility command | Purpose |
|---|---|---|
zendev commit |
zendev-commit |
Create and run an interactive commit. |
zendev commit-msg |
zendev-commit-msg |
Validate a Git commit-message file. |
zendev validate-title |
zendev-validate-title |
Validate a PR title. |
zendev validate-body |
zendev-validate-body |
Validate PR body sections and optional checklist rows. |
zendev proposal check |
zendev-proposal check |
Validate a proposal repository and its committed index. |
zendev proposal index --check |
zendev-proposal index --check |
Check the deterministic proposal index. |
zendev proposal index --write |
zendev-proposal index --write |
Explicitly update the proposal index. |
The complete zendev distribution always provides the proposal group. The
standalone component command does not require zendev.
Use COMMAND --help for the authoritative option reference.
Workflows
- Zendev Feature Proposals: lightweight design records required before public feature changes.
zendev-commit: profiles, commit hook, configuration, and vendored Gitmoji data.zendev-review: title and body validation behavior.zendev-proposal: policy schema, validation, lifecycle history, and deterministic indexes.- Composite Actions: GitHub workflow integration for review checks.
zendev-log: Loguru initialization.
Development
See CONTRIBUTING.md for setup, validation, documentation
ownership, vendored-data maintenance, and pull-request conventions. The five
distributions share one uv workspace, lockfile, version, and release tag while
contributing independent portions of the PEP 420 zendev namespace.
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-0.2.1-py3-none-any.whl.
File metadata
- Download URL: zendev-0.2.1-py3-none-any.whl
- Upload date:
- Size: 4.9 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 |
de4a2d43c87274b3073a165eccb8d9df1d1f63d609aa0c33482bd1055e3bdedd
|
|
| MD5 |
4939b998c548b1291a43db755759a9cc
|
|
| BLAKE2b-256 |
6c832a2d121989dc993710e9ed0ccf63fc04b75d98f2b3a7a3ded481c3df802b
|
Provenance
The following attestation bundles were made for zendev-0.2.1-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-0.2.1-py3-none-any.whl -
Subject digest:
de4a2d43c87274b3073a165eccb8d9df1d1f63d609aa0c33482bd1055e3bdedd - Sigstore transparency entry: 2685303513
- Sigstore integration time:
-
Permalink:
zendev-lab/zendev@904cc502f0723b26a0f14af572828db389efa3d1 -
Branch / Tag:
refs/tags/v0.2.1 - Owner: https://github.com/zendev-lab
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
cd-release.yml@904cc502f0723b26a0f14af572828db389efa3d1 -
Trigger Event:
push
-
Statement type: