mirror of
https://github.com/snapotter-hq/SnapOtter.git
synced 2026-08-03 07:46:42 +02:00
docs: open project to public contributions with CLA
Add full contribution infrastructure: CLA with broad sublicensing rights for dual-licensing, CONTRIBUTING.md with scope rules and dev setup, CLA Assistant workflow, CODEOWNERS, SUPPORT.md, PR template, updated issue templates with contribution prompts, and declarative label config.
This commit is contained in:
@@ -51,7 +51,7 @@ body:
|
||||
attributes:
|
||||
label: Image tag
|
||||
description: Which Docker image tag are you using?
|
||||
placeholder: "e.g. latest, 1.11.0"
|
||||
placeholder: "e.g. latest, 1.17.0"
|
||||
validations:
|
||||
required: true
|
||||
|
||||
@@ -83,3 +83,12 @@ body:
|
||||
attributes:
|
||||
label: Screenshots
|
||||
description: If applicable, add screenshots to help explain the problem.
|
||||
|
||||
- type: dropdown
|
||||
id: willing-to-fix
|
||||
attributes:
|
||||
label: Would you like to contribute a fix?
|
||||
description: If yes, we can assign this issue to you. See CONTRIBUTING.md for the PR process.
|
||||
options:
|
||||
- "Yes, I'd like to submit a PR"
|
||||
- "No, just reporting"
|
||||
|
||||
@@ -3,6 +3,9 @@ contact_links:
|
||||
- name: Documentation
|
||||
url: https://docs.snapotter.com/
|
||||
about: Check the docs for setup guides, configuration, and API reference.
|
||||
- name: Discord
|
||||
url: https://discord.gg/hr3s7HPUsr
|
||||
about: Ask questions, get help, and chat with the community.
|
||||
- name: Security vulnerability
|
||||
url: https://github.com/snapotter-hq/snapotter/security/advisories/new
|
||||
about: Report security issues privately through GitHub Security Advisories.
|
||||
|
||||
@@ -43,3 +43,12 @@ body:
|
||||
attributes:
|
||||
label: Additional context
|
||||
description: Screenshots, links, examples, or anything else that helps explain the request.
|
||||
|
||||
- type: dropdown
|
||||
id: willing-to-implement
|
||||
attributes:
|
||||
label: Would you like to implement this?
|
||||
description: Feature PRs require issue approval first. If approved, we can assign this to you.
|
||||
options:
|
||||
- "Yes, I'd like to submit a PR if approved"
|
||||
- "No, just suggesting"
|
||||
|
||||
@@ -0,0 +1,97 @@
|
||||
# Bug & Issue Types
|
||||
- name: bug
|
||||
color: "d73a4a"
|
||||
description: Something isn't working
|
||||
|
||||
- name: enhancement
|
||||
color: "a2eeef"
|
||||
description: New feature or improvement
|
||||
|
||||
- name: documentation
|
||||
color: "0075ca"
|
||||
description: Documentation improvements
|
||||
|
||||
- name: translation
|
||||
color: "7057ff"
|
||||
description: New or updated translation
|
||||
|
||||
# Contribution Flow
|
||||
- name: good first issue
|
||||
color: "7057ff"
|
||||
description: Good for newcomers
|
||||
|
||||
- name: help wanted
|
||||
color: "008672"
|
||||
description: Extra attention is needed
|
||||
|
||||
- name: approved
|
||||
color: "0e8a16"
|
||||
description: Feature approved for implementation
|
||||
|
||||
- name: needs discussion
|
||||
color: "fbca04"
|
||||
description: Requires maintainer input before proceeding
|
||||
|
||||
# PR Status
|
||||
- name: awaiting review
|
||||
color: "f9d0c4"
|
||||
description: PR is ready for maintainer review
|
||||
|
||||
- name: changes requested
|
||||
color: "e11d48"
|
||||
description: PR needs changes before merge
|
||||
|
||||
- name: cla-signed
|
||||
color: "0e8a16"
|
||||
description: Contributor has signed the CLA
|
||||
|
||||
- name: cla-needed
|
||||
color: "b60205"
|
||||
description: CLA signature required
|
||||
|
||||
# Scope
|
||||
- name: "area: frontend"
|
||||
color: "bfdadc"
|
||||
description: Changes to apps/web
|
||||
|
||||
- name: "area: backend"
|
||||
color: "c5def5"
|
||||
description: Changes to apps/api
|
||||
|
||||
- name: "area: image-engine"
|
||||
color: "d4c5f9"
|
||||
description: Changes to packages/image-engine
|
||||
|
||||
- name: "area: i18n"
|
||||
color: "e99695"
|
||||
description: Changes to packages/shared/src/i18n
|
||||
|
||||
- name: "area: docs"
|
||||
color: "0075ca"
|
||||
description: Changes to apps/docs
|
||||
|
||||
# Priority
|
||||
- name: "priority: critical"
|
||||
color: "b60205"
|
||||
description: Must be fixed immediately
|
||||
|
||||
- name: "priority: high"
|
||||
color: "d93f0b"
|
||||
description: Important, fix soon
|
||||
|
||||
- name: "priority: low"
|
||||
color: "c2e0c6"
|
||||
description: Nice to have, no rush
|
||||
|
||||
# Meta
|
||||
- name: duplicate
|
||||
color: "cfd3d7"
|
||||
description: This issue or PR already exists
|
||||
|
||||
- name: wontfix
|
||||
color: "ffffff"
|
||||
description: This will not be worked on
|
||||
|
||||
- name: invalid
|
||||
color: "e4e669"
|
||||
description: Not a valid issue or doesn't apply
|
||||
@@ -1,12 +1,29 @@
|
||||
<!--
|
||||
Thanks for your interest in SnapOtter.
|
||||
## What does this PR do?
|
||||
|
||||
We don't accept pull requests. All development is handled internally to maintain architectural consistency and code quality.
|
||||
<!-- 1-2 sentences. Link to the related issue if applicable. -->
|
||||
|
||||
If you've found a bug or have a feature idea, please open an issue instead:
|
||||
https://github.com/snapotter-hq/snapotter/issues
|
||||
Fixes #
|
||||
|
||||
Your feedback is valuable and directly shapes the project.
|
||||
-->
|
||||
## Type of change
|
||||
|
||||
**This project does not accept pull requests.** Please close this PR and [open an issue](https://github.com/snapotter-hq/snapotter/issues/new/choose) instead. See [CONTRIBUTING.md](CONTRIBUTING.md) for details.
|
||||
- [ ] Bug fix (non-breaking change that fixes an issue)
|
||||
- [ ] New feature (non-breaking change that adds functionality)
|
||||
- [ ] New translation or i18n update
|
||||
- [ ] Documentation update
|
||||
- [ ] Test improvement
|
||||
- [ ] Refactor (no functional change)
|
||||
|
||||
## Checklist
|
||||
|
||||
- [ ] I have read [CONTRIBUTING.md](../CONTRIBUTING.md)
|
||||
- [ ] I have signed the [CLA](../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`)
|
||||
- [ ] TypeScript compiles without errors (`pnpm typecheck`)
|
||||
- [ ] My PR is focused on a single concern (under 400 lines of change)
|
||||
- [ ] I have not modified CI, release, or linter configuration files
|
||||
|
||||
## Screenshots (if applicable)
|
||||
|
||||
<!-- For UI changes, include before/after screenshots. -->
|
||||
|
||||
@@ -0,0 +1,45 @@
|
||||
name: CLA Assistant
|
||||
|
||||
on:
|
||||
issue_comment:
|
||||
types: [created]
|
||||
pull_request_target:
|
||||
types: [opened, synchronize, reopened]
|
||||
|
||||
permissions:
|
||||
actions: write
|
||||
contents: read
|
||||
pull-requests: write
|
||||
statuses: write
|
||||
|
||||
jobs:
|
||||
cla:
|
||||
if: |
|
||||
(github.event_name == 'pull_request_target') ||
|
||||
(github.event_name == 'issue_comment' && github.event.comment.body == 'recheck')
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: CLA Assistant
|
||||
uses: contributor-assistant/github-action@ca4a40a7d1004f18d9960b404b97e5f30a505a08 # v2.6.1
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
PERSONAL_ACCESS_TOKEN: ${{ secrets.CLA_TOKEN }}
|
||||
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"
|
||||
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).
|
||||
|
||||
**What the CLA does:** You keep ownership of your code. You grant SnapOtter a license to use your contribution under any license (including our commercial license). [Read the plain-language summary](https://github.com/snapotter-hq/snapotter/blob/main/CLA.md#plain-language-summary).
|
||||
|
||||
**How to sign:** Comment on this PR with the following text:
|
||||
|
||||
> I have read the CLA Document and I hereby sign the CLA
|
||||
|
||||
You only need to do this once. It applies to all future contributions.
|
||||
custom-pr-sign-comment: "I have read the CLA Document and I hereby sign the CLA"
|
||||
custom-allsigned-prcomment: "All contributors have signed the CLA. Thank you!"
|
||||
lock-pullrequest-aftermerge: false
|
||||
use-dco-flag: false
|
||||
Reference in New Issue
Block a user