ArchUnitZig v0.0.1 preview
Pre-releaseArchUnitZig v0.0.1 preview
This is the first honest ArchUnitZig preview: a Zig-native architecture-testing library whose
backlog through issue #49 is implemented, documented, and exercised on Linux, Windows, and macOS.
It is intentionally a prerelease rather than a stable API promise.
Install with Zig 0.16.0
Pinned archive URL:
https://github.com/LukasNiessen/ArchUnitZig/archive/refs/tags/v0.0.1.tar.gz
Canonical Zig package content hash (the checksum after applying build.zig.zon.paths):
archunit-0.0.1-7Czg3AZHGQBbO-ej1RHt71ZUIRQ9HxG6O6tHl4w0r8LN
Fetch it directly:
zig fetch --save-exact=archunit https://github.com/LukasNiessen/ArchUnitZig/archive/refs/tags/v0.0.1.tar.gzOr add the reviewed pair to build.zig.zon:
.dependencies = .{
.archunit = .{
.url = "https://github.com/LukasNiessen/ArchUnitZig/archive/refs/tags/v0.0.1.tar.gz",
.hash = "archunit-0.0.1-7Czg3AZHGQBbO-ej1RHt71ZUIRQ9HxG6O6tHl4w0r8LN",
},
},Then expose archunit.module("archunit") to an ordinary Zig test module as shown in the README.
The release workflow repeats this exact network fetch in a fresh external project and runs a real
acyclic-architecture rule before publication.
What ships
- File, layer, slice, metric, cycle, dependency, and graph-report architecture rules.
- AST-backed Zig/ZON/resource/C extraction, explicit module contexts,
.archignore, and
package-qualified workspace analysis. - Structured violations, deterministic renderers,
std.testinghelpers, explicit logging,
documentation, acceptance fixtures, dogfood rules, and performance budgets. - Package metadata for version
0.0.1, exact Zig0.16.0, MITLICENSE,CHANGELOG.md,
CONTRIBUTING.md, andTHIRD_PARTY_LICENSES.md.
See CHANGELOG.md for the release summary.
Limitations
- The public API is preview quality and may change before a stable release.
- Exactly Zig 0.16.0 is supported and tested; other compiler versions are not claimed compatible.
build.zigis never executed or partially guessed. Named modules and compilation roots require
explicit context; workspace discovery finds manifests, not arbitrary build-graph logic.- Package dependencies remain external, dynamic import operands remain diagnostics, and the library
deliberately does not invent class/interface metrics for Zig.
License and integrity
ArchUnitZig is MIT licensed. Its regex dependency is pinned separately and retains Apache-2.0 and
BSD-derived notices in THIRD_PARTY_LICENSES.md. The attached v0.0.1.json repeats the reviewed
version, archive URL, Zig content checksum, compiler version, license, and notes path. GitHub
immutable releases lock this release and its annotated tag after publication.
Rollback
Do not move, delete, or reuse v0.0.1. To roll back an upgrade, restore the previously reviewed
dependency URL/hash pair in build.zig.zon and refetch. Because this is the first tagged preview,
a first-time adopter can instead remove the .archunit dependency and its build.zig module wiring,
or temporarily restore a previously reviewed commit-pinned dependency. Maintainers fix defects
forward under a new semantic version; they never rewrite this tag or checksum.