- Pre-flight checklist
- Local validation
- Linting policy
- Python invocation
- Tooling requirement
- Merge strategy override
- Temporary tooling workaround
- Before modifying any files, check the current branch with
git status -sb. - If on
develop, create a short-livedfeature/*branch or ask for explicit approval to proceed ondevelop. - If approval is granted to work on
develop, call it out in the response and proceed only for that user-approved scope. - Enable repository git hooks before committing:
git config core.hooksPath scripts/git-hooks.
vrg-docker-run -- vrg-validate
- Ruff linting uses
select = ["ALL"]with scoped, documented ignores inpyproject.toml. - Ruff formatting is enforced in CI and local validation (
ruff format --check).
- All Python invocations must run inside the
uvenvironment; useuv run python3 ....
Required for daily workflow:
uv0.10.4(install withpython3 -m pip install uv==0.10.4)markdownlint(required for docs validation and PR pre-submission)
Required for integration testing:
- Docker (for local MQ container environment)
- Feature, bugfix, and chore PRs targeting
developuse squash merges (--squash). - Release PRs targeting
mainuse regular merges (--merge) to preserve shared ancestry betweenmainanddevelop. - Auto-merge commands:
- Feature PRs:
gh pr merge --auto --squash --delete-branch - Release PRs:
gh pr merge --auto --merge --delete-branch
- Feature PRs:
AI agents must use the wrapper scripts for commits and PR submission. Do not construct commit messages or PR bodies manually.
vrg-commit \
--type TYPE --message MESSAGE --agent AGENT \
[--scope SCOPE] [--body BODY]--type(required): one offeat|fix|docs|style|refactor|test|chore|ci|build--message(required): commit description--agent(required):claudeorcodex--scope(optional): conventional commit scope--body(optional): detailed commit body
The script resolves the correct Co-Authored-By identity from
vergil.toml and the git hooks validate the result.
vrg-submit-pr \
--issue NUMBER --summary TEXT \
[--linkage KEYWORD] [--title TEXT] \
[--notes TEXT] [--docs-only] [--dry-run]--issue(required): GitHub issue number (just the number)--summary(required): one-line PR summary--linkage(optional, default:Fixes):Fixes|Closes|Resolves|Ref--title(optional): PR title (default: most recent commit subject)--notes(optional): additional notes--docs-only(optional): applies docs-only testing exception--dry-run(optional): print generated PR without executing
The script detects the target branch and merge strategy automatically.
- The Codex execution harness may reject
git branch -deven withsandbox_mode = "danger-full-access". - Workaround: avoid local branch deletion or use
git update-ref -d refs/heads/<branch>when cleanup is required. - Treat this as temporary until a Codex update restores command parity.