chore(community): rewards program, issue templates, and triage workflow (#176)

* chore(community): rewards program, issue templates, and triage workflow

Adds the public-facing community engagement infrastructure.

CONTRIBUTING.md introduces a three-tier rewards program (sticker / t-shirt /
hoodie) gated on merged PRs, with explicit eligibility rules to keep the
program sustainable. Fulfillment is handled by emailing support@kaelio.com.

The .github/ISSUE_TEMPLATE/ forms give structure to bug reports and feature
requests, and config.yml routes questions to the KTX Slack instead of GitHub
Discussions (matching the routing established in docs-site/.../support.mdx).

The triage-issues workflow applies a needs-triage label only when the issue
author isn't OWNER, MEMBER, or COLLABORATOR — so internal issues stay clean
while external contributions get queued for maintainer review.

The first 14 connector contribution issues (#161-174) have been filed using
these labels and reward tiers.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* chore(community): add SECURITY.md

Documents the private reporting channel (GitHub Security Advisories with
support@kaelio.com as fallback), what reporters should include, and the
supported-version policy.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Luca Martial 2026-05-19 19:42:06 -04:00 committed by GitHub
parent 6dbb0c8b3a
commit 14626c294b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 262 additions and 0 deletions

56
.github/ISSUE_TEMPLATE/bug_report.yml vendored Normal file
View file

@ -0,0 +1,56 @@
name: Bug report
description: Report something that isn't working
title: "[bug] "
labels: ["bug"]
body:
- type: markdown
attributes:
value: |
For questions or general discussion, use the
[KTX Slack](https://join.slack.com/t/ktxcommunity/shared_invite/zt-3y9b44m1x-LVyNNJD5nwaZHq4XS29LMQ).
- type: textarea
id: bug
attributes:
label: What's the bug?
description: What happened, and what did you expect?
placeholder: When I run `ktx ingest --all`, the Postgres connector fails with X. I expected Y.
validations:
required: true
- type: textarea
id: reproduction
attributes:
label: How can we reproduce it?
description: Commands or steps. A minimal example helps.
render: shell
validations:
required: true
- type: input
id: version
attributes:
label: KTX version
placeholder: "0.x.x"
validations:
required: true
- type: dropdown
id: area
attributes:
label: Which area?
options:
- CLI / setup
- Connector (Postgres)
- Connector (Snowflake)
- Connector (BigQuery)
- Connector (MySQL)
- Connector (SQL Server)
- Connector (SQLite)
- Python semantic layer
- Python daemon
- Docs
- Other
validations:
required: true
- type: textarea
id: extra
attributes:
label: Anything else?
description: OS, Node/Python versions, logs, screenshots. Redact secrets.

14
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View file

@ -0,0 +1,14 @@
blank_issues_enabled: false
contact_links:
- name: KTX Slack — questions and chat
url: https://join.slack.com/t/ktxcommunity/shared_invite/zt-3y9b44m1x-LVyNNJD5nwaZHq4XS29LMQ
about: Ask a question, share what you're building, or get help from maintainers and other users. Faster than filing an issue.
- name: Documentation
url: https://docs.kaelio.com/ktx/docs/
about: Many setup, configuration, and integration questions are answered here.
- name: Community & Support guide
url: https://docs.kaelio.com/ktx/docs/community/support
about: Full guide on where to ask what — Slack vs. GitHub Issues vs. docs.
- name: Security issues
url: https://github.com/Kaelio/ktx/security/advisories/new
about: Report security vulnerabilities privately via GitHub Security Advisories. Please do not file security issues publicly.

View file

@ -0,0 +1,39 @@
name: Feature request
description: Propose a new feature or improvement
title: "[feature] "
labels: ["enhancement"]
body:
- type: markdown
attributes:
value: |
For bug reports, use the bug template. For questions, use the
[KTX Slack](https://join.slack.com/t/ktxcommunity/shared_invite/zt-3y9b44m1x-LVyNNJD5nwaZHq4XS29LMQ).
- type: textarea
id: request
attributes:
label: What do you want, and why?
description: Describe the problem and your proposed solution.
validations:
required: true
- type: dropdown
id: area
attributes:
label: Which area?
options:
- CLI / setup
- Connectors
- Context engine
- Python semantic layer
- Python daemon
- Docs
- Other
validations:
required: true
- type: checkboxes
id: contribute
attributes:
label: Want to contribute this?
options:
- label: Yes, I'd like to open a PR
- label: I'd like guidance, then I'll open a PR
- label: No, just reporting the idea

28
.github/workflows/triage-issues.yml vendored Normal file
View file

@ -0,0 +1,28 @@
name: Triage new issues
on:
issues:
types: [opened]
permissions:
issues: write
jobs:
label-external:
name: Add needs-triage to external issues
runs-on: ubuntu-latest
if: |
github.event.issue.author_association != 'OWNER' &&
github.event.issue.author_association != 'MEMBER' &&
github.event.issue.author_association != 'COLLABORATOR'
steps:
- name: Apply needs-triage label
uses: actions/github-script@v7
with:
script: |
await github.rest.issues.addLabels({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.issue.number,
labels: ['needs-triage'],
});