fix: address review issues in contribution infrastructure

- CODEOWNERS: use @snapotter-hq username instead of non-existent team
- PR template: use absolute URLs (relative links break in PR body)
- CLA: strengthen entity definition with successor/assignee clause
- CLA workflow: store signatures on dedicated branch, add owner to allowlist
- CONTRIBUTING: clarify approval means the "approved" label, reword CCLA
- Bug template: allow "running from source" for developer contributors
This commit is contained in:
SnapOtter
2026-05-16 16:08:16 +08:00
parent 29d959e7c1
commit fa50266ea4
6 changed files with 21 additions and 21 deletions
+1 -1
View File
@@ -41,7 +41,7 @@ body:
id: docker-setup
attributes:
label: Docker setup
description: Paste your `docker run` command or `docker-compose.yml` (remove any sensitive values).
description: Paste your `docker run` command or `docker-compose.yml` (remove any sensitive values). If running from source, write "running from source via pnpm dev".
render: shell
validations:
required: true
+2 -2
View File
@@ -15,8 +15,8 @@ Fixes #
## Checklist
- [ ] I have read [CONTRIBUTING.md](../CONTRIBUTING.md)
- [ ] I have signed the [CLA](../CLA.md) (the bot will prompt you if not)
- [ ] I have read [CONTRIBUTING.md](https://github.com/snapotter-hq/snapotter/blob/main/CONTRIBUTING.md)
- [ ] I have signed the [CLA](https://github.com/snapotter-hq/snapotter/blob/main/CLA.md) (the bot will prompt you if not)
- [ ] My changes follow the project's code style (Biome passes)
- [ ] I have added or updated tests for my changes
- [ ] All existing tests pass locally (`pnpm test`)
+2 -2
View File
@@ -27,8 +27,8 @@ jobs:
with:
path-to-signatures: "signatures/cla.json"
path-to-document: "https://github.com/snapotter-hq/snapotter/blob/main/CLA.md"
branch: "main"
allowlist: "dependabot[bot],renovate[bot],github-actions[bot],snapotter-bot"
branch: "cla-signatures"
allowlist: "snapotter-hq,dependabot[bot],renovate[bot],github-actions[bot],snapotter-bot"
custom-notsigned-prcomment: |
Thank you for your contribution! Before we can merge this PR, you need to sign our [Contributor License Agreement](https://github.com/snapotter-hq/snapotter/blob/main/CLA.md).
+1 -1
View File
@@ -23,7 +23,7 @@ By signing this Contributor License Agreement ("Agreement"), you accept and agre
**"Contribution"** means any original work of authorship, including any modifications or additions to existing work, that you intentionally submit to SnapOtter for inclusion in the project. "Submit" means any form of electronic or written communication sent to SnapOtter or its representatives, including pull requests, patches, issues, comments, and messages on project communication channels.
**"SnapOtter"** means the SnapOtter project and its maintainers, operating under snapotter-hq on GitHub.
**"SnapOtter"** means the SnapOtter project, owned and maintained by the snapotter-hq GitHub account holder, including any successor entity or assignee.
### 2. Grant of Copyright License
+12 -12
View File
@@ -1,23 +1,23 @@
# Default owner for everything
* @snapotter-hq/maintainers
* @snapotter-hq
# CI/CD and release (restricted, no external PRs accepted)
.github/workflows/ @snapotter-hq/maintainers
.releaserc.json @snapotter-hq/maintainers
scripts/ @snapotter-hq/maintainers
.github/workflows/ @snapotter-hq
.releaserc.json @snapotter-hq
scripts/ @snapotter-hq
# Config files (protected by hooks, no external changes)
biome.json @snapotter-hq/maintainers
tsconfig*.json @snapotter-hq/maintainers
biome.json @snapotter-hq
tsconfig*.json @snapotter-hq
# AI sidecar (requires prior discussion)
packages/ai/ @snapotter-hq/maintainers
packages/ai/ @snapotter-hq
# Auth and permissions (security-sensitive)
apps/api/src/routes/auth*.ts @snapotter-hq/maintainers
apps/api/src/lib/auth*.ts @snapotter-hq/maintainers
packages/shared/src/permissions.ts @snapotter-hq/maintainers
apps/api/src/routes/auth*.ts @snapotter-hq
apps/api/src/lib/auth*.ts @snapotter-hq
packages/shared/src/permissions.ts @snapotter-hq
# Database schema and migrations
apps/api/src/db/schema.ts @snapotter-hq/maintainers
apps/api/drizzle/ @snapotter-hq/maintainers
apps/api/src/db/schema.ts @snapotter-hq
apps/api/drizzle/ @snapotter-hq
+3 -3
View File
@@ -19,8 +19,8 @@ We accept pull requests for:
| New translations | Open a PR directly (see [Translation Guide](https://docs.snapotter.com/guide/translations)) |
| Documentation improvements | Open a PR directly |
| Test coverage improvements | Open a PR directly |
| New tools or features | Open an issue first, wait for approval before writing code |
| Refactors or architecture changes | Open an issue first, wait for approval before writing code |
| New tools or features | Open an issue first, wait for a maintainer to add the `approved` label before writing code |
| Refactors or architecture changes | Open an issue first, wait for a maintainer to add the `approved` label before writing code |
### What We Will Not Accept
@@ -38,7 +38,7 @@ Before we can merge your first PR, you must sign our [Individual CLA](CLA.md). T
**How:** When you open your first PR, the CLA Assistant bot will comment with a link. Click it, review the agreement, and sign with your GitHub account. Takes 30 seconds.
If you are contributing on behalf of your employer, your employer must sign the Corporate CLA. Contact contact@snapotter.com for details.
If you are contributing on behalf of your employer and your employer retains IP rights over your work, contact contact@snapotter.com to arrange a Corporate CLA before submitting.
## Development Setup