This repository is GitHub-first. Agents and contributors must follow these rules for every change.
- Start with a GitHub issue. If no issue exists yet, create one before making code changes.
Issue titles must be written in natural language, not in Conventional Commit format.
Do not add category prefixes such as
[Feature]:,[Fix]:, or similar tags to issue titles. - Create a working branch from
dev. Branch names must followcodex/issue-<number>-<slug>. - Open a pull request for every change. Direct pushes to
devandmainare not allowed. Pull request titles must follow the Conventional Commit pattern. - Pull requests for normal work must target
dev. Pull requests merged intodevmust always use Squash Merge. - Only the
devbranch may be merged intomain, and that PR is the promotion path for official releases.
devis the pre-release branch.semantic-releasepublishes-dev.Npre-releases from this branch.mainis the official release branch.semantic-releasepublishes stable releases from this branch.- Do not manually edit the package version for releases.
semantic-releaseowns release versioning, tags, changelog updates, and GitHub releases.
- Every commit must follow Conventional Commits with no exceptions.
- Preferred types are
feat,fix,perf,refactor,docs,test,build,ci,style, andchore. - Use clear scopes when they help, for example
feat(cli): add json output. - Release commits are created automatically by
semantic-release.
- Use Biome for linting and formatting. Do not introduce ESLint or Prettier.
- This repository uses
pnpm, declared via thepackageManagerfield inpackage.json. - Run
pnpm run checkbefore opening or updating a pull request. - Keep automation and documentation in sync when workflow rules change.
- If a task arrives outside GitHub, create or identify the matching issue first, then continue.
- If a requested change would bypass the branching or release model, stop and explain the conflict.
- When opening a PR, include an issue reference such as
Closes #123in the PR body.