Skip to content

chore: add issue forms, SECURITY.md, CODEOWNERS and labels - #68

Open
aryanjasala wants to merge 8 commits into
mainfrom
chore/community-files
Open

aryanjasala wants to merge 8 commits into
mainfrom
chore/community-files

Conversation

@aryanjasala

@aryanjasala aryanjasala commented Nov 5, 2026 •

Copy link
Copy Markdown
Member

What this PR does

Gets the repository ready for outside contributors, as the Q3 plan asks for all five public framework repositories: issue forms instead of blank issues, a security policy, code owners, one shared label set and grouped release notes. Same set of files in wp-primitives, wp-tooling, theme-elementary and plugin-elementary.

Closes

N/A

Changes

  • Issue forms. bug.yml asks for the workflow, the caller's ref (@v1), the runner, a run link, the caller snippet, what happened, what was expected and logs. feature.yml asks for the workflow, the problem, the proposal, alternatives and whether it stays compatible with @v1. config.yml turns off blank issues. Security reports go through GitHub's own "Report a security vulnerability" entry, which the chooser shows because private vulnerability reporting is on, so there is no extra contact link. The internal task.md template is removed; maintainers can still open a blank issue, which only they see.
  • SECURITY.md, modelled on wp-primitives': report through GitHub's "Report a vulnerability" (private vulnerability reporting is on), v1 (@v1 and the v1.x tags) supported, branches and untagged commits not.
  • .github/CODEOWNERS: * @aryanjasala @AnuragVasanwala @Adi-ty @justlevine (David reviews shared workflows, as agreed with Growth Engineering).
  • .github/labels.yml: 31 labels, the shared set (Type: * including a new Type: Feature, Priority: P0-P3, Status: *, BC: *, dependencies, good first issue, help wanted) plus this repository's Scope: * labels, with the live colours and descriptions.
  • No .github/release.yml. release-please writes each release's notes from the merged PR titles, so GitHub's generated-notes config would never be read. The labels are for triage.
  • No CHANGELOG.md entry: release-please writes it from the PR title, and chore cuts no release.
  • Label descriptions use colons instead of dashes (for example Critical: blocks milestone). The live labels still have dashes, so the next label sync updates their descriptions.

How I verified

$ pipx run yamllint .                    # no new warnings
$ actionlint .github/workflows/*.yml examples/*.yml
$ bin/check-workflows.sh
Workflow/example contract check passed.

Every new YAML file parses with yq, and the issue forms were checked against GitHub's form schema by hand (body types, unique ids, validations.required). Every CODEOWNERS handle has write access here.

Acceptance criteria

Runtime behavior

  • New issues offer the two forms and no blank issue
  • Security reports go to private vulnerability reporting
  • Labels synced to the repository (after merge, see reviewer notes)

Code quality

  • Lint: zero errors
  • Static analysis: n/a
  • Tests pass (no workflow changed)

Housekeeping

  • No hand-written CHANGELOG.md entry (release-please owns it)
  • examples/<workflow>.yml added or updated to match any input change (no input changed)
  • yamllint, actionlint and bin/check-workflows.sh pass locally

Reviewer notes

  • labels.yml is data, not settings. Merging it changes no label. I have a small script that applies a labels.yml with gh label create --force; Run it just before merging, so Type: Feature exists when the feature form first applies it; a label-sync workflow could do this later.
  • The feature form sets the org issue type Feature and the new Type: Feature label.
  • The Scope: CD Product and Scope: CD Services descriptions now name the real CD workflows (cd-github-release, cd-wp-org, cd-s3, cd-built-branch) instead of cd-product-* and cd-services-*, and the labels.yml header quotes the label name in its gh label create example (7b25958, 0b5561c).

Bug report and feature request forms replace blank issues for outside contributors; config.yml sends security reports to private vulnerability reporting. The internal task template stays.
labels.yml records the label set shared across the rtCamp framework repositories plus this repository's Scope labels, with live colours and descriptions. release.yml groups generated release notes by those labels.
Feature requests set the org issue type but carried no label, and release notes filed features under BC: Additive only. Add Type: Feature to the shared label set, apply it from the feature form, and list it first under Features in release.yml.
release-please writes each GitHub release's notes from the merged pull
request titles, so .github/release.yml, which only shapes GitHub's
generated notes, is never read here. The labels stay for triage.
Copilot AI balanced review requested due to automatic review settings November 5, 2026 23:47

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Warning

Copilot couldn't run its full agentic review because it didn't start before the timeout. Make sure your repository has a runner available, or add a copilot-code-review.yml file specifying one with the runs-on attribute. See the docs for more details.

Copilot review overview

4 open issues
What changed in this PR

Prepares the repository for outside contributors by adding standardized GitHub community/triage configuration (issue forms, security policy, CODEOWNERS, and a shared label set) aligned with the other rtCamp framework repos.

Changes:

  • Added issue forms for bug reports and feature requests, plus config to disable blank issues.
  • Added SECURITY.md with supported-version policy and private vulnerability reporting instructions.
  • Added .github/CODEOWNERS and a shared .github/labels.yml definition for label sync.
File Description
SECURITY.md Adds security policy, supported versions table, and reporting guidance.
.github/​labels.yml Defines shared + repo-specific label taxonomy for later sync via gh.
.github/​ISSUE_TEMPLATE/​feature.yml Adds structured feature request issue form and default label.
.github/​ISSUE_TEMPLATE/​config.yml Disables blank issues and routes security reports to PV reporting.
.github/​ISSUE_TEMPLATE/​bug.yml Adds structured bug report form requesting actionable workflow/run details.
.github/​CODEOWNERS Establishes default code owners for review routing.

Review effort: Lite

@@ -0,0 +1,98 @@
name: Bug report
description: A reusable workflow fails, misbehaves or rejects a valid caller.
type: Bug
@@ -0,0 +1,69 @@
name: Feature request
description: Suggest a new input, output, workflow or behaviour.
type: Feature
Comment thread SECURITY.md
## Supported versions

| Version | Supported |
|---|---|
Comment thread .github/labels.yml Outdated
Comment on lines +5 to +7
# `gh label create <name> --color <color> --description <description> --force`
# for each entry: missing labels are created and existing ones updated. That
# never deletes a label, so removing an entry here does not remove it on GitHub.
…abel command

The Scope: CD Product and Scope: CD Services descriptions named
cd-product-* and cd-services-* workflows that don't exist here; they now
name cd-github-release, cd-wp-org, cd-s3 and cd-built-branch. The
labels.yml header quotes the name and description in its gh label create
example, since most labels contain spaces or colons.
Copilot AI balanced review requested due to automatic review settings November 6, 2026 00:25

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comment thread SECURITY.md
Comment on lines +5 to +8
| Version | Supported |
|---|---|
| v1 (`@v1`, and the `v1.x` and `v1.x.y` tags) | Yes |
| Branches, untagged commits and other refs | No; pin `@v1` |
Copilot AI balanced review requested due to automatic review settings November 6, 2026 00:41

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comment thread SECURITY.md
Comment on lines +5 to +8
| Version | Supported |
|---|---|
| v1 (`@v1`, and the `v1.x` and `v1.x.y` tags) | Yes |
| Branches, untagged commits and other refs | No; pin `@v1` |
Comment thread .github/labels.yml

# --- Shared: dependencies and outside contributors ---------------------------
- name: "dependencies"
color: "0366d6"
GitHub already lists "Report a security vulnerability" in the issue
chooser because private vulnerability reporting is on, and it links to
SECURITY.md. The contact link added a second entry pointing at the same
advisory form.

task.md was an internal planning template showing to every visitor.
Maintainers can still open a blank issue, which only they see.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants