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.
This commit is contained in:
SGavrl committed 2026-06-24 23:22:16 +00:00
1 parent ae3fca3366
commit fa6bc6c134
3 files changed
+139

No files matched your search

+94
View File
@@ -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
+8
View File
@@ -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.
@@ -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