Skip to content

Latest commit

 

History

History
27 lines (17 loc) · 1.59 KB

File metadata and controls

27 lines (17 loc) · 1.59 KB

Claude Code Guidelines

About

zig-config is a zero-dependency configuration loader for Zig 0.16+ inspired by bunfig. It loads configuration from multiple sources (environment variables, local project files, home directory, defaults) with automatic priority-based merging. Define your config schema as a Zig struct for compile-time type safety and IDE autocomplete. Features include type-aware environment variable parsing (booleans, numbers, arrays, JSON), deep merging with three strategies (replace, concat, smart), circular reference detection, and support for JSON and Zig file formats.

Linting

  • Use pickier for linting — never use eslint directly
  • Run bunx --bun pickier . to lint, bunx --bun pickier . --fix to auto-fix
  • When fixing unused variable warnings, prefer // eslint-disable-next-line comments over prefixing with _

Frontend

  • Use stx for templating — never write vanilla JS (var, document.*, window.*) in stx templates
  • Use crosswind as the default CSS framework which enables standard Tailwind-like utility classes
  • stx <script> tags should only contain stx-compatible code (signals, composables, directives)

Dependencies

  • buddy-bot handles dependency updates — not renovatebot
  • better-dx provides shared dev tooling as peer dependencies — do not install its peers (e.g., typescript, pickier, bun-plugin-dtsx) separately if better-dx is already in package.json
  • If better-dx is in package.json, ensure bunfig.toml includes linker = "hoisted"

Commits

  • Use conventional commit messages (e.g., fix:, feat:, chore:)