diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index 01438c7f5..d95a5826d 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -9,6 +9,14 @@ body: value: | Please search existing issues first. Include the smallest reproducible example you can. + - type: checkboxes + id: checks + attributes: + label: Pre-flight checks + options: + - label: I have checked the Troubleshooting section in the README + required: true + - type: textarea id: description attributes: @@ -39,14 +47,49 @@ body: id: version attributes: label: Graphify version - placeholder: "0.9.64" + placeholder: "e.g. 0.9.68" - - type: input + - type: dropdown + id: os + attributes: + label: Operating System + options: + - macOS + - Linux + - Windows + - WSL + validations: + required: true + + - type: dropdown + id: python + attributes: + label: Python Version + options: + - 3.10 + - 3.11 + - 3.12 + - 3.13 + validations: + required: true + + - type: dropdown + id: install_method + attributes: + label: Installation Method + options: + - uv tool install (recommended) + - pipx + - pip + - built from source (git clone) + validations: + required: true + + - type: textarea id: environment attributes: - label: Environment - description: Include operating system, Python version, and installation method. - placeholder: "macOS 15, Python 3.12, uv tool install" + label: Additional Environment Details + description: List any provider environment variables set (e.g., OPENAI_API_KEY) and whether a clean checkout reproduced the issue. - type: textarea id: additional diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index ac603f552..b8e663c62 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -7,5 +7,5 @@ contact_links: url: https://github.com/Graphify-Labs/graphify/blob/v8/README.md about: Check the README and docs before opening an issue. - name: 🤝 Contributing guide - url: https://github.com/Graphify-Labs/graphify/blob/v8/README.md#development-setup + url: https://github.com/Graphify-Labs/graphify/blob/v8/CONTRIBUTING.md about: Read the development and contribution guidelines before opening a pull request. diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml index 668a84a48..9f59a4d85 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.yml +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -47,6 +47,25 @@ body: validations: required: true + - type: dropdown + id: pr + attributes: + label: Are you willing to submit a PR? + options: + - Yes, I can work on this + - Yes, but I will need guidance + - No, I just wanted to request it + validations: + required: true + + - type: textarea + id: compatibility + attributes: + label: Compatibility / behavior impact + description: Does this affect node/edge IDs, cache semantics, graph.json schema, generated skills, MCP output, or incremental updates? + validations: + required: true + - type: textarea id: context attributes: diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 57e09327e..df8239430 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -2,7 +2,6 @@ - ## Type of change - [ ] Bug fix @@ -12,9 +11,20 @@ - [ ] Refactor - [ ] Security fix +## Verification & Invariants + + + +- [ ] **Read** the [CONTRIBUTING.md](../CONTRIBUTING.md) guide. +- [ ] **Reproduced** the issue and identified the invariant. +- [ ] Made the **smallest fix** necessary. +- [ ] Added a **regression test** (if bug fix) or isolated boundary test. +- [ ] Kept the PR description **synchronized** with the final implementation. +- [ ] Documented any **limitations / unsupported cases** explicitly. + ## How was this tested? - + ```text @@ -22,8 +32,8 @@ ## Graphify-specific checklist -- [ ] I added or updated tests for behavior changes. -- [ ] I updated documentation or confirmed that no documentation is needed. -- [ ] I updated generated skill artifacts when changing their source fragments. -- [ ] I considered compatibility across supported Python versions. -- [ ] I confirmed that no API keys, generated graph data, or local-only files are included. +- [ ] I updated generated skill artifacts (`uv run python -m tools.skillgen --bless`) when changing their source fragments. +- [ ] I confirmed that AST/structural extraction remains deterministic (no ambient state dependencies like ENV variables). +- [ ] I reviewed changes for security implications (no unsafe interpolation into shell/Python). +- [ ] I confirmed no API keys or local-only graph data are included. +- [ ] (If applicable) I disclosed AI authorship in my commit messages.