From fa6bc6c13446e10a61c606407459082e26e2ef59 Mon Sep 17 00:00:00 2001 From: SGavrl <277843151+SGavrl@users.noreply.github.com> Date: Wed, 24 Jun 2026 23:15:45 +0000 Subject: [PATCH] docs: add issue templates (bug report, feature request) GitHub issue forms that enforce the fields needed to triage: obscura version, OS and architecture, how it is being used, stealth mode, a reproduction, expected vs actual, and whether headless Chrome behaves the same. config.yml routes questions and API proposals to Discussions and security reports to the private advisory flow. --- .github/ISSUE_TEMPLATE/bug_report.yml | 94 ++++++++++++++++++++++ .github/ISSUE_TEMPLATE/config.yml | 8 ++ .github/ISSUE_TEMPLATE/feature_request.yml | 37 +++++++++ 3 files changed, 139 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/bug_report.yml create mode 100644 .github/ISSUE_TEMPLATE/config.yml create mode 100644 .github/ISSUE_TEMPLATE/feature_request.yml diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml new file mode 100644 index 0000000..1ab4e07 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -0,0 +1,94 @@ +name: Bug report +description: Report a problem with obscura +labels: ["bug"] +body: + - type: markdown + attributes: + value: | + Thanks for filing a bug. Please fill in the fields below so we can reproduce it quickly. + - type: checkboxes + id: preflight + attributes: + label: Before you start + options: + - label: I searched existing issues and this is not a duplicate. + required: true + - label: I tested against the latest release or `main`. + required: true + - label: This is not a security vulnerability (those go through SECURITY.md, not a public issue). + required: true + - type: input + id: version + attributes: + label: obscura version or commit + placeholder: "e.g. v0.1.3 or commit a8358cc" + validations: + required: true + - type: input + id: platform + attributes: + label: OS and architecture + placeholder: "e.g. Ubuntu 22.04 x86_64, macOS 15 arm64, Windows 11 x64" + validations: + required: true + - type: dropdown + id: surface + attributes: + label: How are you using obscura? + options: + - CLI (fetch / serve / scrape / mcp) + - CDP server with Puppeteer or Playwright + - Embedded Rust library (obscura crate) + - Other + validations: + required: true + - type: dropdown + id: stealth + attributes: + label: Stealth mode + options: + - "Off (default build)" + - "On (--stealth, default build)" + - "On (--stealth, --features stealth build)" + validations: + required: false + - type: textarea + id: repro + attributes: + label: Reproduction + description: A URL, an `--eval` snippet, or a short CDP sequence. Multi-statement `--eval` that starts with `const` returns null, so wrap it in an IIFE. + placeholder: | + obscura fetch https://example.com --eval "(function(){ return document.title; })()" + validations: + required: true + - type: textarea + id: expected + attributes: + label: Expected behavior + validations: + required: true + - type: textarea + id: actual + attributes: + label: Actual behavior + validations: + required: true + - type: dropdown + id: chrome + attributes: + label: Does headless Chrome behave the same? + description: Anti-bot, CAPTCHA, and login walls block headless Chrome too from a datacenter IP, so those are not engine bugs. + options: + - "No: headless Chrome renders or behaves correctly and obscura does not" + - "Yes: headless Chrome has the same problem" + - "I did not check" + validations: + required: true + - type: textarea + id: logs + attributes: + label: Logs + description: Output with `--verbose` if relevant. + render: shell + validations: + required: false diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 0000000..3128836 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,8 @@ +blank_issues_enabled: false +contact_links: + - name: Questions and API proposals + url: https://github.com/h4ckf0r0day/obscura/discussions + about: Ask questions or propose larger API designs in Discussions. + - name: Report a security vulnerability + url: https://github.com/h4ckf0r0day/obscura/security/advisories/new + about: Report security issues privately, not as a public issue. See SECURITY.md. diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml new file mode 100644 index 0000000..037f49d --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -0,0 +1,37 @@ +name: Feature request +description: Suggest a capability or API for obscura +labels: ["enhancement"] +body: + - type: markdown + attributes: + value: | + For larger API proposals, consider opening a Discussion first so the design can be talked through before you build it. + - type: textarea + id: problem + attributes: + label: Problem + description: What are you trying to do that obscura does not support today? + validations: + required: true + - type: textarea + id: solution + attributes: + label: Proposed solution + validations: + required: true + - type: textarea + id: alternatives + attributes: + label: Alternatives considered + validations: + required: false + - type: checkboxes + id: scope + attributes: + label: Scope + description: Obscura targets web scraping and AI-agent automation, with performance and stability as hard constraints. + options: + - label: This should not regress performance (obscura's speed and memory footprint are a hard constraint). + required: false + - label: This is not detection-evasion for abusive purposes. + required: false