Add contributor onboarding kit

This commit is contained in:
Rustem Kamalov
2026-06-10 14:54:45 +03:00
parent ffd3d4250c
commit b31e84316c
11 changed files with 396 additions and 8 deletions

76
.github/ISSUE_TEMPLATE/bug_report.yml vendored Normal file
View File

@@ -0,0 +1,76 @@
name: Bug report
description: Report a reproducible OpenSERP bug.
title: "bug: "
labels: ["bug"]
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to report a bug. Reproducible reports are the fastest to fix.
- type: textarea
id: summary
attributes:
label: What happened?
description: Describe the unexpected behavior and what you expected instead.
placeholder: "Google search returns empty results for ..."
validations:
required: true
- type: textarea
id: reproduce
attributes:
label: How do we reproduce it?
description: Include the exact command, request, config, and minimal input.
placeholder: |
1. Run `openserp serve ...`
2. Request `curl "..."`
3. See ...
validations:
required: true
- type: dropdown
id: mode
attributes:
label: Retrieval mode
options:
- browser
- raw
- both
- not sure
validations:
required: true
- type: dropdown
id: engine
attributes:
label: Engine
options:
- google
- yandex
- baidu
- bing
- duckduckgo
- ecosia
- megasearch
- not engine-specific
validations:
required: true
- type: input
id: version
attributes:
label: OpenSERP version
description: Paste `openserp --version`, the Docker tag, or the commit SHA.
placeholder: "0.8.0 / v0.7.15 / commit SHA"
validations:
required: true
- type: textarea
id: environment
attributes:
label: Environment
description: OS, Go version, Docker/browser version, proxy/captcha setup if relevant.
placeholder: "Windows 11, Go 1.24, Docker, Chromium ..."
validations:
required: true
- type: textarea
id: logs
attributes:
label: Logs or response body
description: Paste relevant logs, stack traces, or API responses. Remove secrets and proxy credentials.
render: shell

8
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View File

@@ -0,0 +1,8 @@
blank_issues_enabled: true
contact_links:
- name: Contributing guide
url: https://github.com/karust/openserp/blob/main/docs/CONTRIBUTING.md
about: Start here before opening a pull request.
- name: Add a new engine guide
url: https://github.com/karust/openserp/blob/main/docs/ADDING_AN_ENGINE.md
about: Implementation checklist for new search engines.

View File

@@ -0,0 +1,47 @@
name: Engine request
description: Request support for a new search engine or engine vertical.
title: "engine: "
labels: ["enhancement"]
body:
- type: input
id: engine
attributes:
label: Engine name
placeholder: "Brave Search"
validations:
required: true
- type: input
id: search_url
attributes:
label: Public search URL
placeholder: "https://search.brave.com/search?q=openserp"
validations:
required: true
- type: dropdown
id: vertical
attributes:
label: Result type
options:
- web
- images
- web and images
- other
validations:
required: true
- type: textarea
id: selectors
attributes:
label: Known stable selectors or sample HTML
description: If you inspected the page, mention stable data attributes or attach a sanitized fixture.
- type: textarea
id: notes
attributes:
label: Notes
description: Region/language quirks, captcha behavior, pagination, or API constraints.
- type: checkboxes
id: contribution
attributes:
label: Contribution
options:
- label: I can help test this engine.
- label: I am willing to implement this engine.

View File

@@ -0,0 +1,47 @@
name: Feature request
description: Suggest an OpenSERP improvement that is not engine-specific.
title: "feat: "
labels: ["enhancement"]
body:
- type: textarea
id: problem
attributes:
label: Problem
description: What user problem does this solve?
placeholder: "It is hard to ..."
validations:
required: true
- type: textarea
id: proposal
attributes:
label: Proposed solution
description: Describe the behavior, API, CLI, or documentation change you want.
validations:
required: true
- type: textarea
id: alternatives
attributes:
label: Alternatives considered
description: What workarounds or smaller versions have you considered?
- type: dropdown
id: area
attributes:
label: Area
options:
- CLI
- API
- docs
- parser
- proxy
- captcha
- resilience
- tests
- other
validations:
required: true
- type: checkboxes
id: contribution
attributes:
label: Contribution
options:
- label: I am willing to open a PR for this.

20
.github/PULL_REQUEST_TEMPLATE.md vendored Normal file
View File

@@ -0,0 +1,20 @@
## Summary
-
## Why
-
## Testing
- [ ] `make test`
- [ ] `make lint`
- [ ] `make test-integration` (only for browser, proxy, captcha, or live-engine changes)
## Checklist
- [ ] I linked the related issue or explained why there is none.
- [ ] I updated docs or examples for changed user-facing behavior.
- [ ] I kept unit tests deterministic and free of browser/network dependencies.
- [ ] I removed secrets, proxy credentials, and private logs from examples.

View File

@@ -42,3 +42,6 @@ jobs:
- name: Run golangci-lint
uses: golangci/golangci-lint-action@v6
with:
version: v1.64.8
args: --config .golangci.yml