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 ADDED
@@ -0,0 +1,11 @@
1
+ """Support ``python -m zendev`` through the unified CLI owner."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from zendev.cli import app, main
6
+
7
+ __all__ = ["app", "main"]
8
+
9
+
10
+ if __name__ == "__main__":
11
+ main()
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,4 @@
1
+ Wheel-Version: 1.0
2
+ Generator: hatchling 1.32.0
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ zendev = zendev.__main__:main
@@ -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.