diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 0000000..0b51d4e --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,50 @@ +--- +name: Bug report +about: Something in TRAWL is broken +title: "[bug] " +labels: bug +assignees: '' +--- + +## Describe the bug + +A clear and concise description of what went wrong. + +## Reproduction + +```bash +# Minimal command(s) to reproduce. Example: +curl -X POST http://localhost:8191/v1 \ + -H 'Content-Type: application/json' \ + -d '{"cmd":"request.get","url":"https://nowsecure.nl","maxTimeout":60000}' +``` + +## Expected behavior + +What you expected to happen. + +## Actual behavior + +What actually happened — paste the API response, error message, or log excerpt here. + +## Environment + +- **TRAWL version:** (e.g. `0.1.0`, `sha-abc1234`, or `latest`) +- **Deployment:** `docker compose` / `docker compose.prod` / bare metal +- **OS:** (e.g. Ubuntu 24.04, macOS 15) +- **Architecture:** `amd64` / `arm64` / `arm/v7` +- **Browser pool size:** (env `BROWSER_POOL_SIZE`) +- **Redis:** version + reachable from the container? (yes/no) +- **Tier the bug appears in:** Tier 1 / 2 / 3 / 4 (see `README.md`) + +## Logs + +If available, paste relevant logs from `docker compose logs trawl` (redact any session cookies or tokens before posting). + +```text +PASTE LOGS HERE +``` + +## Additional context + +Anything else — rate limits hit, network conditions, similar issues that worked before, etc. \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 0000000..5e2d9c3 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,39 @@ +--- +name: Feature request +about: Propose a new TRAWL feature +title: "[feat] " +labels: enhancement +assignees: '' +--- + +## Problem + +What are you trying to do that TRAWL doesn't support today? What's the use case? + +## Proposed solution + +How would you like this to work? Be specific — request shape, response shape, env vars, config keys. + +## Alternatives considered + +What other approaches did you consider, and why isn't one of them good enough already? + +## Tier impact + +TRAWL has a 4-tier escalation ladder (HTTP → cached session → fresh CF solve → residential proxy). Does your feature: + +- [ ] Fit inside an existing tier? +- [ ] Require a new tier or solver? +- [ ] Apply cross-cutting (caching, observability, config)? + +If you checked the second box, mention which tier slot it would occupy and roughly where in `packages/tiers/` it would live. + +## Willingness to contribute + +- [ ] I'd like to implement this myself and open a PR +- [ ] I'd be happy with a maintainer implementing it +- [ ] Just a discussion for now + +## Additional context + +Screenshots, examples from other tools, references — anything that helps frame the proposal. \ No newline at end of file diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..0a747fa --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,26 @@ +## Summary + + + +## Linked issues + + + +## Type of change + +- [ ] Bug fix (non-breaking change that fixes an issue) +- [ ] New feature (non-breaking change that adds functionality) +- [ ] Breaking change (fix or feature that would cause existing behavior to change) +- [ ] Documentation only + +## Checklist + +- [ ] I opened or commented on an issue before starting this PR (non-trivial changes only) +- [ ] I ran `bun run check` and it passes locally +- [ ] I added or updated tests for the behavior change (if applicable) +- [ ] I updated `CHANGELOG.md` under `## [Unreleased]` for user-visible changes +- [ ] I read [CONTRIBUTING.md](CONTRIBUTING.md) and [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md) + +## AGPL notice + +By submitting this PR, I confirm my contribution is my own work and I agree to license it under [AGPL-3.0](LICENSE). \ No newline at end of file