Skip to content

Latest commit

 

History

History
51 lines (43 loc) · 2.71 KB

File metadata and controls

51 lines (43 loc) · 2.71 KB

Repository Guidelines

Project Structure & Module Organization

This repository is part of the Ziggy* codebase and is primarily a Zig project.

  • src/ contains runtime/library source files.
  • build.zig defines build targets and dependency wiring.
  • build.zig.zon contains package metadata and dependency pins.
  • README.md documents setup, architecture notes, and usage.
  • Tests are implemented with Zig test blocks and, where present, files under tests/.

Build, Test, and Development Commands

  • 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 build and zig build test and confirm both pass before pushing.

Coding Style & Naming Conventions

  • Follow Zig style and keep code zig fmt clean.
  • Use snake_case for functions/variables/constants where possible.
  • Use PascalCase for public types (struct, enum, union).
  • Prefer explicit error handling with try/catch and early returns.
  • Keep functions focused and add concise comments only where behavior is non-obvious.

Testing Guidelines

  • 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 test before opening or updating a PR.

Commit & Pull Request Guidelines

  • 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.

Branch Protection And Review Gate

  • Direct pushes to main are not allowed.
  • All changes that update main must go through a pull request.
  • A PR must not be merged until chatgpt-codex-connector (including variants like chatgpt-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 review requests 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.

Compatibility Policy

  • Until 1.0.0, backward compatibility is not guaranteed.
  • Breaking changes are allowed during early development, but should be documented in PR notes.