megaalive/myzig

GitHub: megaalive/myzig

myzig 是一款为 Zig 语言提供确定性所有权推理、证据审计及标准库接口隔离的代码质量教练工具。

Stars: 0 | Forks: 0

# myzig 一款用于 Zig 代码和编码 Agent 的确定性安全教练。 myzig 专注于 **所有权推理与证据**:义务、可靠的确定性、 结构化的修复选择,以及可审计的凭证 —— 同时保持原生 Zig 的 一等公民地位(无需强制导入、无方言、无 ReleaseFast 性能损耗)。 除了所有权教练之外,**`myzig.compat`** 还提供了一个精简的门面层,用于 封装高频变动的 Zig std 接口(fs/dir/env/path/time),这样像 zrig 这样的内部测试应用就 无需在每次工具链升级时重写调用点。当前规则集版本: `0.0.0-seed26`。 ## 构建 需要最新的 Zig 0.17 开发工具链。 ``` zig build zig build test zig build run -- --help powershell -File scripts/ci.ps1 # local/agent CI parity (fmt + build + test + CLI smoke) ``` GitHub Actions 是构建门禁(默认使用 ubuntu;可通过 `workflow_dispatch` → `full_matrix` 运行完整的 OS 矩阵)。使用 `powershell -File scripts/ci.ps1` 可以在 离线环境或 Agent 循环中执行相同的冒烟测试;它与 `.github/workflows/ci.yml` 保持一致。 ## 库亮点 ``` const myzig = @import("myzig"); // Coach schemas _ = myzig.schema.seed_alloc_undischarged; // Std insulation — prefer over raw std.Io.Dir / env / time const data = try myzig.compat.readFileAlloc(io, gpa, "file.txt", 1024 * 1024); defer gpa.free(data); ``` ## CLI ``` myzig check [path] [--ratchet] [--prefer-compat] [--sarif] [--receipt] myzig explain [--json|--agent] myzig explain --rule [--json|--agent] myzig adopt [path] # editable .myzig/policy.md + baseline if missing myzig baseline [path] # snapshot findings for ratchet myzig friction [--sources] # living text tips; update without new Zig code myzig limits [--sources] # published honest detector ceilings myzig agent [--full] # agent contract (+ limits/friction/rules) myzig rules [--json|--markdown|--agent|--sarif] myzig receipt [path] myzig verify-cost myzig verify-cost --list myzig init ``` 渐进收紧:在执行 `myzig baseline` 之后,CI 可以运行 `myzig check --ratchet ` 来拒绝 **新增的** 技术债务,同时接受当前快照。 SARIF:`myzig check --sarif` 会输出面向构建系统的 SARIF 2.1.0(适用于 GitHub code scanning 上传)。 开销见证:`myzig verify-cost id-passthrough` 会写入 `.myzig/cost-witnesses/…`;只有这样,`myzig receipt` 才能包含 `claimed.verify_cost`。 ## 目录结构 | 路径 | 职责 | |------|------| | `src/` | 库(`myzig`)与 CLI | | `spec/` | 规则目录的事实来源(`.zon`) | | `fixtures/` | 原生 Zig 的通过/失败示例 | | `research/incidents/` | 事故实验记录(内部测试数据集) | 项目配置在执行 `myzig init` 后存放在 `.myzig/` 目录中。 ## 身份 ``` deterministic · honest · auditable ``` 辅助工具和包装器只会在事故和开销见证证明其合理性时才会引入。
标签:AI合规, AI编程助手, SOC Prime, Zig, 云安全监控, 开发工具, 所有权机制, 文档结构分析, 静态分析