- Apply these instructions only within this repository.
- Prefer small, focused changes.
- Check git status before and after changes.
- Avoid modifying unrelated files.
- Do not edit generated files unless explicitly requested.
- For issue work: pull latest
main, add a repro test first, then fix the issue, run tests to confirm, regenerateparsetabas needed, and push to an issue-named branch onorigin. - When adding support for new statements, dialect features, or output fields, update user-facing docs (
README.md) and the activeCHANGELOG.mdentry in the same change.
- Keep edits minimal and consistent with nearby code.
- Use ASCII only unless the file already uses Unicode and it is required.
- Add brief comments only when logic is non-obvious.
- If changes affect behavior, run targeted tests when practical.
- Before reporting results, always run tests via
tox; all tests must be green. - Report test commands and results; do not fabricate.
- Always run linters before committing (ruff and black).
- Make clear, imperative commit messages when asked to commit.
- Do not amend or rewrite history unless explicitly requested.
- Do not commit changes to
AGENTS.mdunless the user explicitly requested anAGENTS.mdupdate. - Always run the code before committing so
parsetabis refreshed, and include its updates in the commit. - Always update the changelog for the current version if it is greater than the latest tag. If the current version equals the latest tag, bump the version first, then add changelog entries.
- Ignore legacy git tags that start with
vwhen deciding changelog/version workflow. - Treat
v*tags as older than plain numeric release tags and do not use them to decide whether the current version is newer than the latest release. - For changelog decisions, prefer the active release line in
CHANGELOG.mdover legacyv*tags.