From 4480e9535b1c2414002d7f951ab5e451b71536ad Mon Sep 17 00:00:00 2001 From: Charlie Holland Date: Sun, 21 Jun 2026 17:41:15 +0100 Subject: [PATCH] chore: standardize contributor docs (enforced DCO + CLA, templates) Signed-off-by: Charlie Holland --- .github/ISSUE_TEMPLATE/bug_report.md | 27 ++++ .github/ISSUE_TEMPLATE/config.yml | 5 + .github/ISSUE_TEMPLATE/documentation.md | 26 ++++ .github/ISSUE_TEMPLATE/feature_request.md | 23 ++++ .github/PULL_REQUEST_TEMPLATE.md | 26 ++++ .github/pull_request_template.md | 156 ---------------------- CONTRIBUTING.md | 10 ++ 7 files changed, 117 insertions(+), 156 deletions(-) create mode 100644 .github/ISSUE_TEMPLATE/bug_report.md create mode 100644 .github/ISSUE_TEMPLATE/config.yml create mode 100644 .github/ISSUE_TEMPLATE/documentation.md create mode 100644 .github/ISSUE_TEMPLATE/feature_request.md create mode 100644 .github/PULL_REQUEST_TEMPLATE.md delete mode 100644 .github/pull_request_template.md diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 0000000..a95e4b7 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,27 @@ +--- +name: Bug report +about: Report a problem +title: '[BUG] ' +labels: ['bug'] +assignees: '' +--- + +## Describe the bug +A clear description of what's wrong. + +## To reproduce +Steps to reproduce the behavior: +1. ... + +## Expected behavior +What you expected to happen. + +## Environment +- Version / commit: +- OS / runtime: + +## Additional context +Logs, screenshots, or config (redact secrets/tokens). + +## Checklist +- [ ] I searched existing issues to avoid duplicates diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 0000000..9efbfe4 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,5 @@ +blank_issues_enabled: false +contact_links: + - name: Security report + url: https://github.com/AltairaLabs/.github/security/policy + about: Please report security vulnerabilities privately, not as a public issue. diff --git a/.github/ISSUE_TEMPLATE/documentation.md b/.github/ISSUE_TEMPLATE/documentation.md new file mode 100644 index 0000000..675f8c2 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/documentation.md @@ -0,0 +1,26 @@ +--- +name: Documentation improvement +about: Suggest improvements to documentation +title: '[DOCS] ' +labels: ['documentation'] +assignees: '' +--- + +## Documentation issue + +**Location** (file / section / URL): + +**What's wrong, unclear, or missing?** + +## Proposed improvement + +Describe how the documentation should be improved. Include suggested wording or examples if you have them. + +## Contribution + +- [ ] I'd like to submit a PR with the fix +- [ ] I'm reporting it for someone else to fix + +## Checklist +- [ ] I searched existing issues to avoid duplicates +- [ ] I identified the specific documentation location diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 0000000..f6afefc --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,23 @@ +--- +name: Feature request +about: Suggest a new feature or improvement +title: '[FEATURE] ' +labels: ['enhancement'] +assignees: '' +--- + +## Feature summary +A one-line summary of the feature. + +## Problem statement +What problem does this solve? Why is it needed? + +## Proposed solution +Describe the solution you'd like. + +## Alternatives considered +Any alternative solutions or workarounds. + +## Checklist +- [ ] I searched existing issues to avoid duplicates +- [ ] I provided a concrete use case diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..7b04cd5 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,26 @@ +## Summary + +**Type of change** +- [ ] Bug fix +- [ ] New feature +- [ ] Breaking change +- [ ] Documentation +- [ ] CI / infrastructure +- [ ] Refactor / tests + +**What & why** +What does this PR do, and why? Link any related issues. + +Fixes #(issue) + +## Testing +- [ ] Tests pass locally +- [ ] Lint / format checks pass locally +- [ ] Added or updated tests covering the change + +## Checklist +- [ ] My commits are signed off (`git commit -s`) โ€” the DCO check is enforced +- [ ] I have signed the CLA (the CLA Assistant bot prompts on your first PR) +- [ ] I have read the [Contributing Guidelines](./CONTRIBUTING.md) and [Code of Conduct](./CODE_OF_CONDUCT.md) +- [ ] Documentation updated if behavior changed +- [ ] PR title follows Conventional Commits diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md deleted file mode 100644 index 9b9cbcd..0000000 --- a/.github/pull_request_template.md +++ /dev/null @@ -1,156 +0,0 @@ -## Pull Request Summary - -**Type of Change** -- [ ] ๐Ÿ› Bug fix (non-breaking change that fixes an issue) -- [ ] โœจ New feature (non-breaking change that adds functionality) -- [ ] ๐Ÿ’ฅ Breaking change (fix or feature that would cause existing functionality to not work as expected) -- [ ] ๐Ÿ“ Documentation update -- [ ] ๐Ÿ”ง Configuration/infrastructure change -- [ ] โ™ป๏ธ Code refactoring (no functional changes) -- [ ] โšก Performance improvement -- [ ] ๐Ÿงช Adding or improving tests - -**Component(s) Affected** -- [ ] Coordinator -- [ ] Worker -- [ ] Sandbox -- [ ] MCP Protocol -- [ ] Examples -- [ ] Documentation -- [ ] CI/CD -- [ ] Other: ___________ - -## Description - -**What does this PR do?** -Provide a clear and concise description of what your changes accomplish. - -**Why is this change needed?** -Explain the motivation for this change. Link to any related issues. - -Fixes #(issue number) -Relates to #(issue number) - -## Changes Made - -**Code Changes** -- Describe the key code changes made -- Highlight any important implementation details -- Mention any new dependencies added - -**Configuration Changes** (if applicable) -- New configuration options added -- Changes to existing configuration -- Migration steps for existing users - -## Testing - -**Test Coverage** -- [ ] I have added unit tests for my changes -- [ ] I have added integration tests for my changes -- [ ] Existing tests pass with my changes -- [ ] I have tested this manually - -**Manual Testing Performed** -Describe how you tested these changes: - -```bash -# Commands used for testing -make test -./bin/coordinator -./bin/worker -``` - -**Test Results** -- [ ] All automated tests pass -- [ ] Manual testing completed successfully -- [ ] No regressions identified - -## Documentation - -**Documentation Updates** -- [ ] I have updated relevant documentation -- [ ] I have added/updated code comments -- [ ] I have updated examples if needed -- [ ] No documentation changes needed - -**Breaking Changes Documentation** (if applicable) -If this is a breaking change, describe: -- What functionality is affected -- How users should migrate their code -- Version compatibility information - -## Code Quality - -**Code Review Checklist** -- [ ] Code follows project style guidelines -- [ ] Self-review completed -- [ ] Code is well-commented where needed -- [ ] No debug/temporary code included -- [ ] Error handling is appropriate - -**Security Considerations** (if applicable) -- [ ] No sensitive information is exposed -- [ ] Input validation is appropriate -- [ ] Security implications have been considered - -## Deployment - -**Deployment Considerations** -- [ ] No special deployment steps required -- [ ] Database migrations needed -- [ ] Configuration updates required -- [ ] Dependencies need to be updated - -**Rollback Plan** (for significant changes) -Describe how to rollback this change if needed. - -## Additional Context - -**Related Work** -- Links to related PRs or issues -- Dependencies on other changes -- Follow-up work planned - -**Screenshots** (if applicable) -Add screenshots for UI changes or CLI output changes. - -**Performance Impact** (if applicable) -- Describe any performance implications -- Include benchmark results if relevant - -## Reviewer Notes - -**Areas of Focus** -Please pay special attention to: -- Specific areas where you'd like focused review -- Complex logic or algorithms -- Security-sensitive code -- Performance-critical sections - -**Questions for Reviewers** -- Any specific questions you have about the implementation -- Alternative approaches you considered -- Areas where you're unsure about the approach - ---- - -## Checklist - -**Before Submitting** -- [ ] I have signed my commits with `git commit -s` -- [ ] I have read the [Contributing Guidelines](./CONTRIBUTING.md) -- [ ] I have followed the [Code of Conduct](./CODE_OF_CONDUCT.md) -- [ ] My code follows the project's coding standards -- [ ] I have performed a self-review of my code -- [ ] I have commented my code where necessary -- [ ] I have made corresponding changes to documentation -- [ ] My changes generate no new warnings -- [ ] I have added tests that prove my fix is effective or my feature works -- [ ] New and existing unit tests pass locally with my changes - -**For Maintainers** -- [ ] PR title follows conventional commit format -- [ ] Appropriate labels have been added -- [ ] Milestone assigned (if applicable) -- [ ] Breaking changes are documented in CHANGELOG.md \ No newline at end of file diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index e0fff36..719afc1 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -28,6 +28,16 @@ This adds a "Signed-off-by" line to your commit message: Signed-off-by: Your Name ``` +> **This is enforced.** A required `DCO` check verifies every commit in your pull request carries a matching `Signed-off-by` line. If you forget, fix it with `git commit --amend -s` (single commit) or `git rebase --signoff main` (multiple commits), then force-push. + +## Contributor License Agreement (CLA) + +Before your first contribution can be merged you must sign our Contributor License Agreement. When you open your first pull request, the **CLA Assistant** bot comments with a link to the CLA; you sign by replying on the PR with: + +> I have read the CLA Document and I hereby sign the CLA + +You sign **once** โ€” the signature then applies to your future contributions across AltairaLabs repositories. The CLA is a **license grant**, not a copyright assignment: you keep ownership of your contribution and grant AltairaLabs a license to use and relicense it. You can read the full text [here](https://gist.github.com/chaholl/acc8f1f6c38376d00a162351f566b93e). + ## How to Contribute ### Reporting Bugs