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 id: docker-setup
attributes: attributes:
label: Docker setup 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 render: shell
validations: validations:
required: true required: true
+2 -2
View File
@@ -15,8 +15,8 @@ Fixes #
## Checklist ## Checklist
- [ ] I have read [CONTRIBUTING.md](../CONTRIBUTING.md) - [ ] I have read [CONTRIBUTING.md](https://github.com/snapotter-hq/snapotter/blob/main/CONTRIBUTING.md)
- [ ] I have signed the [CLA](../CLA.md) (the bot will prompt you if not) - [ ] 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) - [ ] My changes follow the project's code style (Biome passes)
- [ ] I have added or updated tests for my changes - [ ] I have added or updated tests for my changes
- [ ] All existing tests pass locally (`pnpm test`) - [ ] All existing tests pass locally (`pnpm test`)
+2 -2
View File
@@ -27,8 +27,8 @@ jobs:
with: with:
path-to-signatures: "signatures/cla.json" path-to-signatures: "signatures/cla.json"
path-to-document: "https://github.com/snapotter-hq/snapotter/blob/main/CLA.md" path-to-document: "https://github.com/snapotter-hq/snapotter/blob/main/CLA.md"
branch: "main" branch: "cla-signatures"
allowlist: "dependabot[bot],renovate[bot],github-actions[bot],snapotter-bot" allowlist: "snapotter-hq,dependabot[bot],renovate[bot],github-actions[bot],snapotter-bot"
custom-notsigned-prcomment: | 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). 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. **"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 ### 2. Grant of Copyright License
+12 -12
View File
@@ -1,23 +1,23 @@
# Default owner for everything # Default owner for everything
* @snapotter-hq/maintainers * @snapotter-hq
# CI/CD and release (restricted, no external PRs accepted) # CI/CD and release (restricted, no external PRs accepted)
.github/workflows/ @snapotter-hq/maintainers .github/workflows/ @snapotter-hq
.releaserc.json @snapotter-hq/maintainers .releaserc.json @snapotter-hq
scripts/ @snapotter-hq/maintainers scripts/ @snapotter-hq
# Config files (protected by hooks, no external changes) # Config files (protected by hooks, no external changes)
biome.json @snapotter-hq/maintainers biome.json @snapotter-hq
tsconfig*.json @snapotter-hq/maintainers tsconfig*.json @snapotter-hq
# AI sidecar (requires prior discussion) # AI sidecar (requires prior discussion)
packages/ai/ @snapotter-hq/maintainers packages/ai/ @snapotter-hq
# Auth and permissions (security-sensitive) # Auth and permissions (security-sensitive)
apps/api/src/routes/auth*.ts @snapotter-hq/maintainers apps/api/src/routes/auth*.ts @snapotter-hq
apps/api/src/lib/auth*.ts @snapotter-hq/maintainers apps/api/src/lib/auth*.ts @snapotter-hq
packages/shared/src/permissions.ts @snapotter-hq/maintainers packages/shared/src/permissions.ts @snapotter-hq
# Database schema and migrations # Database schema and migrations
apps/api/src/db/schema.ts @snapotter-hq/maintainers apps/api/src/db/schema.ts @snapotter-hq
apps/api/drizzle/ @snapotter-hq/maintainers 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)) | | New translations | Open a PR directly (see [Translation Guide](https://docs.snapotter.com/guide/translations)) |
| Documentation improvements | Open a PR directly | | Documentation improvements | Open a PR directly |
| Test coverage 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 | | 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 approval 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 ### 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. **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 ## Development Setup