Skip to content

Commit 50fa57c

Browse files
committed
chore(github): add issue/PR templates and PR governance workflow
1 parent f177f28 commit 50fa57c

7 files changed

Lines changed: 448 additions & 0 deletions

File tree

.github/CONTRIBUTING.md

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
# Contributing to LiveAgent
2+
3+
This guide covers the contribution process only. Technical details live in the project docs and stay authoritative there — this file should rarely need updates.
4+
5+
## Getting started
6+
7+
- Toolchain: run `mise install` in the repository root to install every version pinned in `mise.toml`.
8+
- Local development, build, test commands, ports: see [docs/operations/development.md](../docs/operations/development.md), or run `make help` for the full command list.
9+
- Architecture and module boundaries: start from the [docs index](../docs/README.md).
10+
- Locating source code by feature: see [docs/reference/source-map.md](../docs/reference/source-map.md).
11+
12+
Note: project docs and code comments are primarily written in Chinese.
13+
14+
## Verify before submitting
15+
16+
Run the checks for the modules you touched. The CI definition in [`.github/workflows/ci.yml`](workflows/ci.yml) is the source of truth for what must pass; [docs/operations/development.md](../docs/operations/development.md) explains how to run the equivalents locally.
17+
18+
## Code requirements
19+
20+
- **Stay focused**: one PR does one thing. No unrelated refactors or reformatting.
21+
- **Keep comments and docs in sync**: match the comment language of the surrounding code; update affected comments and docs when you change code — stale comments are worse than none.
22+
- **Never hand-edit generated code**: proto-generated Go code, WebUI build output, etc. must be regenerated via their commands (CI verifies they are in sync).
23+
- **No secrets**: API keys, tokens, personal data, `.env` files, and local configuration must never be committed.
24+
25+
## Pull request process
26+
27+
Open an issue first (feature request / bug report), wait for it to be confirmed, then open a PR that references it with `Closes #N`. The following rules are enforced automatically — a PR failing any of them is **converted to draft**; fix it and click "Ready for review" to re-run the checks:
28+
29+
| Check | Requirement |
30+
| --- | --- |
31+
| Linked issue | Body contains `Closes #N` / `Fixes #N` / `Resolves #N` |
32+
| Screenshots / preview | UI changes must include screenshots or a recording; backend / CLI changes should include request-response examples or logs as text |
33+
| No merge conflicts | Resolve conflicts with the target branch on your own branch before requesting review |
34+
35+
Trivial fixes (typos, comments) may state an exemption reason in the PR description, at the maintainers' discretion. Do **not** report security vulnerabilities in public issues — use [Security Advisories](https://github.com/Stack-Cairn/LiveAgent/security/advisories/new) instead.
36+
37+
## License
38+
39+
By contributing, you agree that your code is licensed under this repository's [MIT License](../LICENSE).
Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
name: Bug report
2+
description: Report a defect in LiveAgent. Reports missing key details may be asked to supplement before triage.
3+
title: "[Bug] "
4+
labels:
5+
- bug
6+
body:
7+
- type: markdown
8+
attributes:
9+
value: |
10+
Do not report security vulnerabilities here — submit them privately via [Security Advisories](https://github.com/Stack-Cairn/LiveAgent/security/advisories/new).
11+
- type: dropdown
12+
id: area
13+
attributes:
14+
label: Affected area
15+
description: Choose the module this issue mainly affects.
16+
options:
17+
- Desktop UI (agent-gui / React)
18+
- Desktop core (Tauri / Rust)
19+
- Gateway (agent-gateway / Go)
20+
- Agent sessions / streaming
21+
- Tool execution / MCP / Skills
22+
- Model providers
23+
- Packaging / release / installation
24+
- Documentation
25+
- Other
26+
validations:
27+
required: true
28+
- type: input
29+
id: version
30+
attributes:
31+
label: Version or commit
32+
description: Release version, Docker image tag, branch, or commit SHA.
33+
placeholder: v0.3.2 / main@f69f24dc
34+
validations:
35+
required: true
36+
- type: textarea
37+
id: environment
38+
attributes:
39+
label: Environment
40+
description: OS and version, deployment mode (desktop app / self-hosted gateway), model provider, etc.
41+
placeholder: |
42+
OS: macOS 15.2 (Apple Silicon)
43+
Deployment: desktop app
44+
Model provider: Anthropic API
45+
validations:
46+
required: true
47+
- type: textarea
48+
id: reproduce
49+
attributes:
50+
label: Steps to reproduce
51+
description: The smallest sequence of steps that reliably reproduces the problem.
52+
placeholder: |
53+
1. Open the settings page...
54+
2. Click...
55+
3. Observe...
56+
validations:
57+
required: true
58+
- type: textarea
59+
id: expected
60+
attributes:
61+
label: Expected behavior
62+
validations:
63+
required: true
64+
- type: textarea
65+
id: actual
66+
attributes:
67+
label: Actual behavior
68+
validations:
69+
required: true
70+
- type: textarea
71+
id: logs
72+
attributes:
73+
label: Logs / screenshots
74+
description: Relevant logs, error messages, or screenshots (drag and drop to upload). Remove secrets such as API keys and tokens first.
75+
validations:
76+
required: false
77+
- type: checkboxes
78+
id: checklist
79+
attributes:
80+
label: Pre-submit checklist
81+
options:
82+
- label: I searched existing issues and pull requests and found no duplicates.
83+
required: true
84+
- label: This is not a security vulnerability (report those privately via Security Advisories).
85+
required: true

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
blank_issues_enabled: false
2+
contact_links:
3+
- name: Security vulnerability report
4+
url: https://github.com/Stack-Cairn/LiveAgent/security/advisories/new
5+
about: Please do not report security vulnerabilities through public GitHub issues. Submit them privately via Security Advisories.
6+
- name: Contribution guidelines
7+
url: https://github.com/Stack-Cairn/LiveAgent/blob/main/.github/CONTRIBUTING.md
8+
about: Read the contribution guidelines before opening an issue or pull request.
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
name: Documentation
2+
description: Report incorrect, outdated, missing, or unclear documentation.
3+
title: "[Docs] "
4+
labels:
5+
- documentation
6+
body:
7+
- type: dropdown
8+
id: type
9+
attributes:
10+
label: Problem type
11+
options:
12+
- Incorrect (does not match actual behavior)
13+
- Outdated (behavior changed but docs did not)
14+
- Missing (should be documented but is not)
15+
- Unclear / misleading
16+
- Other
17+
validations:
18+
required: true
19+
- type: input
20+
id: location
21+
attributes:
22+
label: Location
23+
description: Link or file path of the affected documentation.
24+
placeholder: docs/xxx.md or a section of README.md
25+
validations:
26+
required: true
27+
- type: textarea
28+
id: problem
29+
attributes:
30+
label: Problem description
31+
description: Explain what is wrong. For incorrect content, also describe the actual correct behavior.
32+
validations:
33+
required: true
34+
- type: textarea
35+
id: suggestion
36+
attributes:
37+
label: Suggested fix
38+
description: Your suggested wording, if any. Mention if you are willing to submit a PR for it.
39+
validations:
40+
required: false
41+
- type: checkboxes
42+
id: checklist
43+
attributes:
44+
label: Pre-submit checklist
45+
options:
46+
- label: I searched existing issues and found no duplicates.
47+
required: true
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
name: Feature request
2+
description: Propose a new feature or improvement. Every feature PR must reference a confirmed feature issue — describe the requirement here first.
3+
title: "[Feature] "
4+
labels:
5+
- enhancement
6+
body:
7+
- type: dropdown
8+
id: area
9+
attributes:
10+
label: Affected area
11+
description: Choose the module this proposal mainly involves.
12+
options:
13+
- Desktop UI (agent-gui / React)
14+
- Desktop core (Tauri / Rust)
15+
- Gateway (agent-gateway / Go)
16+
- Agent sessions / streaming
17+
- Tool execution / MCP / Skills
18+
- Model providers
19+
- Packaging / release / installation
20+
- Documentation
21+
- Other
22+
validations:
23+
required: true
24+
- type: textarea
25+
id: problem
26+
attributes:
27+
label: Problem statement (what should this solve)
28+
description: Describe the current pain point or limitation and the affected user scenarios. This is the core input for review — be specific.
29+
placeholder: Currently ... which causes ... and affects the ... scenario.
30+
validations:
31+
required: true
32+
- type: textarea
33+
id: proposal
34+
attributes:
35+
label: Proposed behavior
36+
description: Describe the desired interaction, API, configuration, or behavior change. For UI proposals, sketches or reference screenshots are encouraged.
37+
validations:
38+
required: true
39+
- type: textarea
40+
id: scope
41+
attributes:
42+
label: Estimated change scope
43+
description: If you plan to implement this yourself, list the modules / directories / files you expect to touch, to help assess complexity.
44+
placeholder: |
45+
crates/agent-gui/src/...
46+
crates/agent-gateway/internal/...
47+
validations:
48+
required: false
49+
- type: textarea
50+
id: alternatives
51+
attributes:
52+
label: Alternatives considered
53+
description: Other designs or existing workarounds you considered.
54+
validations:
55+
required: false
56+
- type: checkboxes
57+
id: checklist
58+
attributes:
59+
label: Pre-submit checklist
60+
options:
61+
- label: I searched existing issues and pull requests and found no duplicates.
62+
required: true
63+
- label: This proposal is focused on a single feature or improvement.
64+
required: true
65+
- label: I understand a PR should come after this issue is confirmed by maintainers, otherwise it will be converted to draft.
66+
required: true

.github/pull_request_template.md

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
<!--
2+
Read .github/CONTRIBUTING.md before submitting.
3+
A PR failing any of the following is automatically converted to draft:
4+
1. The body references an issue via Closes/Fixes/Resolves #123;
5+
2. UI / feature / backend behavior changes include screenshots or a runtime preview;
6+
3. No merge conflicts with the target branch.
7+
-->
8+
9+
## Linked issue
10+
11+
<!-- Required. Feature and bug-fix PRs must reference an issue; use a closing keyword so it closes automatically on merge. -->
12+
13+
Closes #
14+
15+
## Summary
16+
17+
<!-- What problem does this solve and how. Keep the PR focused; no unrelated refactors. -->
18+
19+
## Change scope
20+
21+
<!-- List the affected modules and key files/directories so reviewers can locate the change quickly. -->
22+
23+
- Modules: <!-- e.g. agent-gui / agent-gateway / src-tauri -->
24+
- Key paths:
25+
26+
## Screenshots / preview
27+
28+
<!-- Evidence of the change in action:
29+
- UI changes: before/after screenshots or a recording (required);
30+
- Backend/CLI changes: request-response examples or run logs (secrets removed);
31+
- Performance changes: before/after numbers (benchmark, latency, memory).
32+
For pure refactors/docs, write "N/A" with a reason. -->
33+
34+
## Verification
35+
36+
<!-- How you verified this change:
37+
- Checks you ran, e.g. cd crates/agent-gateway && go test ./...
38+
- Tests added or updated for behavior changes (or why none were needed).
39+
-->
40+
41+
## Pre-submit checklist
42+
43+
- [ ] A requirement issue is linked (or this is a trivial fix that needs no issue, as explained in the summary).
44+
- [ ] Synced with the target branch; no merge conflicts.
45+
- [ ] The change is focused, with no unrelated modifications.
46+
- [ ] No secrets, tokens, or personal data included.
47+
- [ ] Docs are updated for changes affecting user behavior, deployment, or configuration.

0 commit comments

Comments
 (0)