zendev 0.2.0__py3-none-any.whl
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.
- zendev/__main__.py +11 -0
- zendev/_version.py +24 -0
- zendev/cli/__init__.py +34 -0
- zendev/cli/py.typed +0 -0
- zendev-0.2.0.dist-info/METADATA +118 -0
- zendev-0.2.0.dist-info/RECORD +9 -0
- zendev-0.2.0.dist-info/WHEEL +4 -0
- zendev-0.2.0.dist-info/entry_points.txt +2 -0
- zendev-0.2.0.dist-info/licenses/LICENSE +21 -0
zendev/__main__.py
ADDED
zendev/_version.py
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# file generated by vcs-versioning
|
|
2
|
+
# don't change, don't track in version control
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
__all__ = [
|
|
6
|
+
"__version__",
|
|
7
|
+
"__version_tuple__",
|
|
8
|
+
"version",
|
|
9
|
+
"version_tuple",
|
|
10
|
+
"__commit_id__",
|
|
11
|
+
"commit_id",
|
|
12
|
+
]
|
|
13
|
+
|
|
14
|
+
version: str
|
|
15
|
+
__version__: str
|
|
16
|
+
__version_tuple__: tuple[int | str, ...]
|
|
17
|
+
version_tuple: tuple[int | str, ...]
|
|
18
|
+
commit_id: str | None
|
|
19
|
+
__commit_id__: str | None
|
|
20
|
+
|
|
21
|
+
__version__ = version = '0.2.0'
|
|
22
|
+
__version_tuple__ = version_tuple = (0, 2, 0)
|
|
23
|
+
|
|
24
|
+
__commit_id__ = commit_id = None
|
zendev/cli/__init__.py
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"""Compose the complete Zendev command tree."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
import typer
|
|
6
|
+
|
|
7
|
+
from zendev.body import validate_body_command
|
|
8
|
+
from zendev.commit import commit_message, create_commit
|
|
9
|
+
from zendev.proposal.cli import app as proposal_app
|
|
10
|
+
from zendev.title import validate_title
|
|
11
|
+
|
|
12
|
+
app = typer.Typer(
|
|
13
|
+
add_completion=False,
|
|
14
|
+
help="Run Zendev development workflows.",
|
|
15
|
+
no_args_is_help=True,
|
|
16
|
+
pretty_exceptions_enable=False,
|
|
17
|
+
rich_markup_mode=None,
|
|
18
|
+
)
|
|
19
|
+
|
|
20
|
+
app.command("commit")(create_commit)
|
|
21
|
+
app.command("commit-msg")(commit_message)
|
|
22
|
+
app.command("validate-title")(validate_title)
|
|
23
|
+
app.command("validate-body")(validate_body_command)
|
|
24
|
+
app.add_typer(proposal_app, name="proposal")
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
def main() -> None:
|
|
28
|
+
"""Run the unified Zendev CLI."""
|
|
29
|
+
|
|
30
|
+
app(prog_name="zendev")
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
if __name__ == "__main__":
|
|
34
|
+
main()
|
zendev/cli/py.typed
ADDED
|
File without changes
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
Metadata-Version: 2.5
|
|
2
|
+
Name: zendev
|
|
3
|
+
Version: 0.2.0
|
|
4
|
+
Summary: Complete repository-native development workflow toolkit
|
|
5
|
+
Project-URL: Homepage, https://github.com/zendev-lab/zendev
|
|
6
|
+
Project-URL: Issues, https://github.com/zendev-lab/zendev/issues
|
|
7
|
+
Project-URL: Repository, https://github.com/zendev-lab/zendev
|
|
8
|
+
License-Expression: MIT
|
|
9
|
+
License-File: LICENSE
|
|
10
|
+
Requires-Python: >=3.12
|
|
11
|
+
Requires-Dist: typer>=0.27
|
|
12
|
+
Requires-Dist: zendev-commit
|
|
13
|
+
Requires-Dist: zendev-log
|
|
14
|
+
Requires-Dist: zendev-proposal
|
|
15
|
+
Requires-Dist: zendev-review
|
|
16
|
+
Description-Content-Type: text/markdown
|
|
17
|
+
|
|
18
|
+
# zendev
|
|
19
|
+
|
|
20
|
+
Zendev is a repository-native development workflow toolkit. It provides commit
|
|
21
|
+
conventions, pull-request checks, proposal-repository mechanics, and a small
|
|
22
|
+
logging helper as typed Python packages and thin GitHub Action or hook adapters.
|
|
23
|
+
|
|
24
|
+
## Scope
|
|
25
|
+
|
|
26
|
+
This repository owns reusable workflow mechanisms:
|
|
27
|
+
|
|
28
|
+
- commit-message creation and validation
|
|
29
|
+
- PR title, body, and checklist validation
|
|
30
|
+
- proposal frontmatter, graph, history, and index validation
|
|
31
|
+
|
|
32
|
+
Consuming repositories continue to own their schemas, templates, terminology,
|
|
33
|
+
semantic checks, lifecycle policy, and proposal decisions. Git and committed
|
|
34
|
+
repository files remain the source of truth.
|
|
35
|
+
|
|
36
|
+
## Installation
|
|
37
|
+
|
|
38
|
+
Install `zendev` for the complete toolkit and unified command. It installs all
|
|
39
|
+
four component distributions as required dependencies. The components remain
|
|
40
|
+
available separately for narrower use:
|
|
41
|
+
|
|
42
|
+
| Distribution | Purpose |
|
|
43
|
+
| --- | --- |
|
|
44
|
+
| `zendev` | Complete toolkit and unified CLI |
|
|
45
|
+
| `zendev-commit` | Commit profiles, validation, and interactive commits |
|
|
46
|
+
| `zendev-review` | Pull-request title and body validation |
|
|
47
|
+
| `zendev-proposal` | Proposal validation and deterministic indexes |
|
|
48
|
+
| `zendev-log` | Loguru setup helper |
|
|
49
|
+
|
|
50
|
+
For example, run published commands without installing them globally:
|
|
51
|
+
|
|
52
|
+
```console
|
|
53
|
+
$ uvx --from zendev zendev --help
|
|
54
|
+
$ uvx --from zendev-commit zendev-commit-msg --help
|
|
55
|
+
$ uvx --from zendev-review zendev-validate-body --help
|
|
56
|
+
$ uvx --from zendev-proposal zendev-proposal --help
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
For local development:
|
|
60
|
+
|
|
61
|
+
```console
|
|
62
|
+
$ uv sync --all-packages --all-groups
|
|
63
|
+
$ uv run zendev --help
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
Python 3.12 or newer is required. All command-line entry points use Typer.
|
|
67
|
+
`python -m zendev` exposes the same command tree as `zendev`.
|
|
68
|
+
|
|
69
|
+
Version 0.2.0 removes the logging re-export from the root namespace. For
|
|
70
|
+
logging-only use, install `zendev-log` and import it directly:
|
|
71
|
+
|
|
72
|
+
```console
|
|
73
|
+
$ uv add zendev-log
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
```python
|
|
77
|
+
from zendev.log import setup_log
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
`from zendev import setup_log` is no longer supported.
|
|
81
|
+
|
|
82
|
+
## Commands
|
|
83
|
+
|
|
84
|
+
| Unified command | Compatibility command | Purpose |
|
|
85
|
+
| --- | --- | --- |
|
|
86
|
+
| `zendev commit` | `zendev-commit` | Create and run an interactive commit. |
|
|
87
|
+
| `zendev commit-msg` | `zendev-commit-msg` | Validate a Git commit-message file. |
|
|
88
|
+
| `zendev validate-title` | `zendev-validate-title` | Validate a PR title. |
|
|
89
|
+
| `zendev validate-body` | `zendev-validate-body` | Validate PR body sections and optional checklist rows. |
|
|
90
|
+
| `zendev proposal check` | `zendev-proposal check` | Validate a proposal repository and its committed index. |
|
|
91
|
+
| `zendev proposal index --check` | `zendev-proposal index --check` | Check the deterministic proposal index. |
|
|
92
|
+
| `zendev proposal index --write` | `zendev-proposal index --write` | Explicitly update the proposal index. |
|
|
93
|
+
|
|
94
|
+
The complete `zendev` distribution always provides the `proposal` group. The
|
|
95
|
+
standalone component command does not require `zendev`.
|
|
96
|
+
|
|
97
|
+
Use `COMMAND --help` for the authoritative option reference.
|
|
98
|
+
|
|
99
|
+
## Workflows
|
|
100
|
+
|
|
101
|
+
- [Zendev Feature Proposals](./zfps/README.md): lightweight design records
|
|
102
|
+
required before public feature changes.
|
|
103
|
+
- [`zendev-commit`](./packages/zendev-commit/README.md): profiles, commit hook,
|
|
104
|
+
configuration, and vendored Gitmoji data.
|
|
105
|
+
- [`zendev-review`](./packages/zendev-review/README.md): title and body
|
|
106
|
+
validation behavior.
|
|
107
|
+
- [`zendev-proposal`](./packages/zendev-proposal/README.md): policy schema, validation,
|
|
108
|
+
lifecycle history, and deterministic indexes.
|
|
109
|
+
- [Composite Actions](./actions/README.md): GitHub workflow integration for
|
|
110
|
+
review checks.
|
|
111
|
+
- [`zendev-log`](./packages/zendev-log/README.md): Loguru initialization.
|
|
112
|
+
|
|
113
|
+
## Development
|
|
114
|
+
|
|
115
|
+
See [CONTRIBUTING.md](./CONTRIBUTING.md) for setup, validation, documentation
|
|
116
|
+
ownership, vendored-data maintenance, and pull-request conventions. The five
|
|
117
|
+
distributions share one uv workspace, lockfile, version, and release tag while
|
|
118
|
+
contributing independent portions of the PEP 420 `zendev` namespace.
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
zendev/__main__.py,sha256=z5tHmq0lQoLXlENU1XA_VGJEQf-Q5cPDw0pCiVmz6ss,203
|
|
2
|
+
zendev/_version.py,sha256=s9U3X54Pdr-Jlh9GP6LBaa_VRos7qs_wtrVefUHHNIA,520
|
|
3
|
+
zendev/cli/__init__.py,sha256=D0bd1NUICf9HnGxkhwH0xFSFtMm5goh_ESjlxJnjpzE,828
|
|
4
|
+
zendev/cli/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
5
|
+
zendev-0.2.0.dist-info/METADATA,sha256=TA1zGxDWNGmkPjpJfdk2LIXZwIOTkpmWpVuVJqNEYsE,4495
|
|
6
|
+
zendev-0.2.0.dist-info/WHEEL,sha256=zOwg4jB6zX2kU910N-cMawjivD6tO8NEWvE12je1bVk,87
|
|
7
|
+
zendev-0.2.0.dist-info/entry_points.txt,sha256=NTbiVrndvJWtdg4_sflab6e7jyNXWzgavJPY5_jrfTY,48
|
|
8
|
+
zendev-0.2.0.dist-info/licenses/LICENSE,sha256=47M5bfwdiqe3qp5OtCh8hmSO3GmI4h7ekex5a_QcQxs,1084
|
|
9
|
+
zendev-0.2.0.dist-info/RECORD,,
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 zendev-lab and contributors
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|