bijux-cli 0.1.0__tar.gz → 0.1.2__tar.gz

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.
@@ -140,3 +140,9 @@ openapitools.json
140
140
  comments.txt
141
141
  artifacts/
142
142
  artifacts
143
+ .cache
144
+ changelog.d/*.md
145
+ docs/reference
146
+ docs/reference/
147
+
148
+
@@ -0,0 +1,203 @@
1
+ # Changelog
2
+ <a id="top"></a>
3
+
4
+ All notable changes to **Bijux CLI** are documented here.
5
+ This project adheres to [Semantic Versioning](https://semver.org) and the
6
+ [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) format.
7
+
8
+ <a id="unreleased"></a>
9
+ ## [Unreleased]
10
+
11
+ ### Added
12
+ * (add new entries via Towncrier fragments in `changelog.d/`)
13
+
14
+ ### Changed
15
+ * (add here)
16
+
17
+ ### Fixed
18
+ * (add here)
19
+
20
+ [Back to top](#top)
21
+
22
+ ---
23
+
24
+ <!-- towncrier start -->
25
+
26
+ <a id="v0-1-2"></a>
27
+ ## [0.1.2] – 2025-08-17
28
+
29
+ ### Added
30
+ * **New Documentation Engine:** Introduced a new modular documentation builder in `scripts/docs_builder/` that replaces the previous helper script.
31
+ * **CI Artifact Pages:** The documentation site now automatically generates detailed pages for all CI artifacts, including tests, linting, code quality, security, API tests, SBOMs, and citation files.
32
+ * **Release Evidence:** The `publish` workflow now downloads all artifacts from the `CI` run, packages them as `evidence/*.tar.gz` bundles, and attaches them to the GitHub Release for traceability.
33
+ * **Build Hygiene:** Makefiles now enforce a "hygienic" build process, ensuring all temporary files, caches, and build outputs are stored under the `artifacts/` directory to prevent root directory pollution.
34
+
35
+ ### Changed
36
+ * **CI/CD Overhaul:**
37
+ * The `ci.yml` workflow now uploads each category of artifact separately for better organization and downstream consumption.
38
+ * The `docs.yml` workflow now waits for the main `CI` run to complete, downloads all artifacts, and uses them to build a data-rich documentation site.
39
+ * The `publish.yml` workflow has been streamlined and made more robust, removing the optional "wait for docs" step and improving tag detection.
40
+ * **Documentation Content:** All top-level Markdown documents (`README.md`, `USAGE.md`, `TESTS.md`, `TOOLING.md`, `CONTRIBUTING.md`, etc.) have been significantly rewritten and expanded with tables of contents, `back-to-top` links, and cross-references to the new artifact pages.
41
+ * **Build System:**
42
+ * All `Makefile` modules have been refactored to use the new hygienic `artifacts/` directory structure for outputs and caches.
43
+ * `tox.ini` has been updated to align with the new Makefile targets and to run a comprehensive suite of checks for the `py311` environment, mirroring the full CI validation process.
44
+ * **API Schema:** The OpenAPI `schema.yaml` has been improved with stricter validation (`additionalProperties: false`), better descriptions, response links, and more detailed examples.
45
+ * **Source Code:** Refactored async handling in `src/bijux_cli/api.py` and improved type safety across multiple modules by removing `pyright: ignore` comments and adding explicit `cast` calls where necessary.
46
+
47
+ ### Fixed
48
+ * **Type Safety:** Resolved numerous previously ignored type errors throughout the codebase and test suite.
49
+ * **API Endpoint Logic:** Corrected the item update logic in `src/bijux_cli/httpapi.py` by removing a faulty check for duplicate names that was causing incorrect 409 Conflict errors.
50
+ * **Test Suite:** Improved the stability and correctness of E2E tests by enhancing golden file comparisons and fixing brittle assertions.
51
+
52
+ [Back to top](#top)
53
+
54
+
55
+ <a id="v0-1-1"></a>
56
+
57
+ ## [0.1.1] – 2025-08-14
58
+
59
+ ### Added
60
+ * **Publish pipeline:** GitHub Actions `publish.yml` that publishes via `make publish` only after required checks are green and a tag is present.
61
+ * **Project map:** `PROJECT_TREE.md` (and `docs/project_tree.md`) with a curated overview.
62
+ * **Developer Tooling page:** `TOOLING.md` (and `docs/tooling.md`) with embedded configs, Makefile snippets, and CI workflows via `include-markdown`.
63
+ * **Docs assets:** Community landing page, Plausible analytics partial, and CSS overrides.
64
+
65
+ ### Changed
66
+ * **Docs generator (`scripts/helper_mkdocs.py`):**
67
+ * Copies **README**, **USAGE**, **TESTS**, **PROJECT_TREE**, and **TOOLING** into the site with link rewrites and `{#top}` anchors.
68
+ * Generates mkdocstrings pages for all modules under `src/bijux_cli/**`.
69
+ * Builds **one** consolidated **API Reference** with this structure:
70
+ * top: **Api Module**, **Cli Module**, **Httpapi Module**
71
+ * sections (collapsed by default): **Commands**, **Contracts**, **Core**, **Infra**, **Services**
72
+ * nested groups for command subpackages (`config/`, `dev/`, `history/`, `memory/`, `plugins/`) beneath **Commands**.
73
+ * Emits `reference/**/index.md` to power Material’s section indexes.
74
+ * **MkDocs config (`mkdocs.yml`):** tightened plugin ordering and settings for `include-markdown`, enabled section indexes, and strict mode; added watch paths for configs and scripts.
75
+ * **README / USAGE:** Refined copy; standardized **top anchors** and links to **TESTS.md**/**PROJECT_TREE.md**/**TOOLING.md**.
76
+ * **SECURITY.md:** Rewritten with clearer reporting, SLAs, scope, and safe harbor.
77
+ * **Makefiles:** macOS-safe env handling; Cairo-less Interrogate wrapper for doc coverage.
78
+ * **Config:** Expanded lints/dictionary.
79
+
80
+ ### Fixed
81
+ * **Docs build (strict):** resolved broken/unknown links in **TOOLING.md** and removed duplicate **API Reference** sections; left sidebar now stays populated when deep-linking into API pages.
82
+ * **Tests:** E2E version fixtures cleaned up.
83
+
84
+ ### Packaging
85
+ * **PyPI links corrected:** `project.urls` now points to accurate Homepage/Docs/Changelog/Issues/Discussions.
86
+ * **Dynamic versioning from Git tags:** Using `hatch-vcs` with `dynamic = ["version"]`; annotated tags like `v0.1.1` define the release version. `commitizen` tags as `v$version`.
87
+ * **Richer PyPI description:** `hatch-fancy-pypi-readme` renders **README.md** + **CHANGELOG.md** on PyPI.
88
+ * **Wheel/Sdist layout:** Explicit Hatch build config ensures `py.typed`, licenses, and metadata are included.
89
+
90
+ [Back to top](#top)
91
+
92
+ ---
93
+
94
+ <a id="v0-1-0"></a>
95
+
96
+ ## [0.1.0] – 2025-08-12
97
+
98
+ ### Added
99
+
100
+ * **Core runtime**
101
+
102
+ * Implemented Dependency Injection kernel, REPL shell, plugin loader, telemetry hooks, and shell completion (bash/zsh/fish).
103
+ * Added core modules: `api`, `cli`, `httpapi`, `core/{constants,context,di,engine,enums,exceptions,paths}`.
104
+
105
+ * **Contracts layer** (`contracts/`)
106
+
107
+ * Defined protocols for `audit`, `config`, `context`, `docs`, `doctor`, `emitter`, `history`,
108
+ `memory`, `observability`, `process`, `registry`, `retry`, `serializer`, `telemetry`.
109
+ * Added `py.typed` markers for downstream type checking.
110
+
111
+ * **Services layer**
112
+
113
+ * Implemented concrete services for `audit`, `config`, `docs`, `doctor`, `history`, `memory`.
114
+ * Built plugin subsystem: `plugins/{entrypoints,groups,hooks,registry}`.
115
+
116
+ * **Infra layer** (`infra/`)
117
+
118
+ * Implemented `emitter`, `observability`, `process`, `retry`, `serializer`, `telemetry`.
119
+
120
+ * **Command suite**
121
+
122
+ * Added top-level commands: `audit`, `docs`, `doctor`, `help`, `repl`, `sleep`, `status`, `version`.
123
+ * Added `config/` commands: `clear`, `export`, `get`, `list`, `load`, `reload`, `set`, `unset`, `service`.
124
+ * Added `dev/` commands: `di`, `list-plugins`, `service`.
125
+ * Added `history/` commands: `clear`, `service`.
126
+ * Added `memory/` commands: `clear`, `delete`, `get`, `list`, `set`, `service`.
127
+ * Added `plugins/` commands: `check`, `info`, `install`, `list`, `scaffold`, `uninstall`.
128
+
129
+ * **Structured output & flags**
130
+
131
+ * Added JSON/YAML output via `--format`, pretty printing, and deterministic global flag precedence ([ADR-0002](https://bijux.github.io/bijux-cli/ADR/0002-global-flags-precedence)).
132
+
133
+ * **API contract validation & testing**
134
+
135
+ * Automated lint/validation of `api/*.yaml` with Prance, OpenAPI Spec Validator, Redocly, and OpenAPI Generator.
136
+ * Added **Schemathesis** contract testing against the running server.
137
+ * Pinned OpenAPI Generator CLI version via `OPENAPI_GENERATOR_VERSION` and automated Node.js toolchain setup in Makefile.
138
+
139
+ * **Documentation tooling**
140
+
141
+ * Integrated MkDocs (Material), mkdocstrings, literate-nav, and ADR index generation.
142
+
143
+ * **Quality & security pipeline**
144
+
145
+ * Added formatting/linting: `ruff` (+format).
146
+ * Added typing: `mypy`, `pyright`, `pytype`.
147
+ * Added docs style/coverage: `pydocstyle`, `interrogate`.
148
+ * Added code health: `vulture`, `deptry`, `radon`, `codespell`, `reuse`.
149
+ * Added security: `bandit`, `pip-audit`.
150
+ * Added mutation testing: `mutmut`, `cosmic-ray`.
151
+
152
+ * **SBOM**
153
+
154
+ * Generated CycloneDX JSON for prod/dev dependencies via `make sbom` (uses `pip-audit`).
155
+
156
+ * **Citation**
157
+
158
+ * Validated `CITATION.cff` and added export to BibTeX/RIS/EndNote formats via `make citation`.
159
+
160
+ * **Makefile architecture**
161
+
162
+ * Modularized the Makefile into `makefiles/*.mk` for maintainability and clear separation of concerns.
163
+ * Centralized all developer workflows (`test`, `lint`, `quality`, `security`, `api`, `docs`, `build`, `sbom`, `citation`, `changelog`, `publish`) in one consistent interface.
164
+ * Added `bootstrap` target for idempotent virtualenv setup and Git hook installation from `scripts/git-hooks` (skips re-installation if already linked).
165
+ * Added `all-parallel` target to run independent checks (`quality`, `security`, `api`, `docs`) concurrently for faster CI/CD.
166
+ * Added `make help` for self-documenting targets with grouped sections.
167
+ * Provided helper macros (`run_tool`, `read_pyproject_version`) to standardize tooling invocation.
168
+
169
+ * **pre-commit**
170
+
171
+ * Added hygiene hooks: `ruff-format` + `ruff`, `mdformat`, and `codespell`.
172
+ * Enforced Conventional Commits via **commitizen** `commit-msg` hook.
173
+
174
+ * **tox orchestration**
175
+
176
+ * Configured multi-Python test envs (`py311`, `py312`, `py313`).
177
+ * Mapped Makefile workflows into tox envs (`lint`, `quality`, `security`, `api`, `docs`, `build`, `sbom`, `changelog`, `citation`) to ensure reproducibility.
178
+ * Passed `MAKEFLAGS` to execute Makefile targets inside tox-managed virtualenvs.
179
+
180
+ * **Continuous Integration**
181
+
182
+ * Added **GitHub Actions** workflow running tox across Python versions with Node.js 20 and Java 17 for API checks.
183
+ * Added **GitLab CI** sample mirroring the GitHub workflow (tox-driven) with artifacts for coverage and API logs.
184
+ * CI/CD pipelines directly leverage the modularized Makefile for consistent local/CI behavior.
185
+
186
+ * **Packaging / PyPI page**
187
+
188
+ * Built dynamic long description via **hatch-fancy-pypi-readme** from **README.md** and **CHANGELOG.md** for PyPI/TestPyPI.
189
+ * Packaged with `LICENSES/`, `REUSE.toml`, `CITATION.cff`, and `py.typed` included in source distributions.
190
+
191
+ ### Changed
192
+
193
+ * Released initial public version.
194
+
195
+ ### Fixed
196
+
197
+ * None
198
+
199
+ [Back to top](#top)
200
+
201
+ [Unreleased]: https://github.com/bijux/bijux-cli/compare/v0.1.1...HEAD
202
+ [0.1.1]: https://github.com/bijux/bijux-cli/compare/v0.1.0...v0.1.1
203
+ [0.1.0]: https://github.com/bijux/bijux-cli/releases/tag/v0.1.0