This repository is part of the Ziggy* codebase and is primarily a Zig project.
src/contains runtime/library source files.build.zigdefines build targets and dependency wiring.build.zig.zoncontains package metadata and dependency pins.README.mddocuments setup, architecture notes, and usage.- Tests are implemented with Zig
testblocks and, where present, files undertests/.
zig build- build all configured artifacts for this repository.zig build test- run the repository test suite.zig build --release=safe- build optimized safe artifacts.zig fmt src/*.zig- format Zig source files.- If source code changes, run
zig buildandzig build testand confirm both pass before pushing.
- Follow Zig style and keep code
zig fmtclean. - Use
snake_casefor functions/variables/constants where possible. - Use
PascalCasefor public types (struct,enum,union). - Prefer explicit error handling with
try/catchand early returns. - Keep functions focused and add concise comments only where behavior is non-obvious.
- Add tests close to the changed behavior using descriptive names.
- Prefer focused tests with deterministic inputs.
- For behavior changes, include both success and failure-path coverage where practical.
- Run
zig build testbefore opening or updating a PR.
- Use clear, imperative commit messages (Conventional prefixes like
feat:,fix:,refactor:are preferred). - PR descriptions should include:
- Summary of purpose and impact.
- Commands run (
zig build,zig build test). - Notes on compatibility/config changes when relevant.
- Direct pushes to
mainare not allowed. - All changes that update
mainmust go through a pull request. - A PR must not be merged until
chatgpt-codex-connector(including variants likechatgpt-codex-connector[bot]) has reviewed it. - Do not merge while any review comments from that reviewer remain outstanding.
- Address each comment and resolve each review thread before merging.
- The first Codex review cycle is automatic when a PR is opened; this is the only required Codex pass.
- After additional pushes, follow-up
@codex reviewrequests are optional and are not merge blockers. - Auto-merge is allowed only when there are zero open Codex comments/threads; otherwise merge manually once comments are addressed.
- Until
1.0.0, backward compatibility is not guaranteed. - Breaking changes are allowed during early development, but should be documented in PR notes.