Skip to content

feat: port issue templates to GitHub Issue Forms - #335

Merged
rubenvdlinde merged 1 commit into
developmentfrom
feat/port-issue-templates-to-github
Aug 24, 2026
Merged

feat: port issue templates to GitHub Issue Forms#335
rubenvdlinde merged 1 commit into
developmentfrom
feat/port-issue-templates-to-github

Conversation

@rubenvdlinde

Copy link
Copy Markdown
Contributor

Why

This repository's only issue forms live under .forgejo/issue_template/. There is no .github/ISSUE_TEMPLATE/, so on GitHub — the fleet's only host — contributors get a blank issue box today.

This is a prerequisite for two approved fleet changes:

  1. .forgejo/ is being removed fleet-wide. Without this port, that removal deletes the only issue forms this repo has.
  2. DEFAULT_FORGE moves from codeberg to github. The in-product "Request a feature" deep-link then targets a GitHub Issue Form named exactly feature-request.yml. If that file does not exist, GitHub silently drops the pre-filled fields rather than erroring — the app/page/surface/object/spec-ref context would be lost with no visible failure.

What changed

Copied all four templates to .github/ISSUE_TEMPLATE/, filenames unchanged:

File Form
bug-report.yml 🐛 Bug Report
feature-request.yml ✨ Feature request
technical-task.yml ⚙️ Technische Taak
user-story.yml ✨ User Story

.forgejo/ is untouched — no file under it is modified or deleted. Its removal is a separate later change.

Dropped in conversion: nothing

Forgejo's issue-template schema is derived from GitHub's, and every construct these files use is valid GitHub issue-form syntax. The ported files are byte-identical to their .forgejo/ originals — this is a location change, not a rewrite. Specifically verified as supported:

  • Block types used: markdown, input, textarea, dropdown — all with the attributes their type requires.
  • textarea with render: shell (the Logs field).
  • validations.required booleans, labels arrays, assignees: [], title prefixes, emoji in name and in dropdown options.
  • Top-level type: "Feature" in feature-request.ymlchecked against the ConductionNL org issue types, where an enabled type named Feature exists, so this resolves rather than breaking the form.

No config.yml was added: .forgejo/issue_template/ has no equivalent, and inventing one is out of scope.

Validation

  • All four files parse as YAML (yaml.safe_load).
  • Each has top-level name, description, body; every body block has a valid type plus the attributes that type requires; every id is unique within its file; every validations.required is a boolean.
  • .github/ISSUE_TEMPLATE/feature-request.yml exists under exactly that name — the deep-link depends on it.
  • git status shows only additions under .github/ISSUE_TEMPLATE/; nothing under .forgejo/ changed.

This repository's only issue forms lived under `.forgejo/issue_template/`.
GitHub is the fleet's only host, so those forms are invisible to everyone
filing an issue here.

Two approved fleet changes make this urgent:

1. `.forgejo/` is being removed fleet-wide. Without this port that removal
   would delete the only issue forms this repo has, leaving contributors
   with a blank issue box.
2. The shared library's `DEFAULT_FORGE` moves from `codeberg` to `github`.
   The in-product "Request a feature" deep-link then targets a GitHub Issue
   Form named exactly `feature-request.yml`. If that file is absent GitHub
   silently drops every pre-filled field instead of erroring, so the app
   context (app, page, surface, object, spec-ref) would be lost without a
   single visible failure.

Copies all four templates to `.github/ISSUE_TEMPLATE/`, keeping the
filenames identical. `.forgejo/` is deliberately left untouched; its removal
is a separate later change.

Conversion is lossless: Forgejo's issue-template schema is derived from
GitHub's, and every construct used here (markdown/input/textarea/dropdown
blocks, `render: shell`, `validations.required`, `labels`, `assignees`,
`title`) is valid GitHub issue-form syntax. Nothing was dropped or reworded.
The top-level `type: "Feature"` in feature-request.yml was verified against
the ConductionNL org issue types, where "Feature" exists and is enabled.

No `config.yml` was added: `.forgejo/issue_template/` has no equivalent.
@github-actions

Copy link
Copy Markdown
Contributor

Quality Report — ConductionNL/launchpad @ 17d230a

Check PHP Vue Security License Tests
lint ⏭️
phpcs ⏭️
phpmd ⏭️
psalm ⏭️
phpstan ⏭️
phpmetrics ⏭️
eslint ⏭️
stylelint ⏭️
build ⏭️
composer ⏭️ ⏭️
npm ⏭️ ⏭️
app:check-code ⏭️
info.xml ⏭️
REUSE ⏭️
PHPUnit
Newman
Playwright
Hydra gates

Quality workflow — 2026-08-24 17:36 UTC

Download the full PDF report from the workflow artifacts.

@rubenvdlinde
rubenvdlinde merged commit 03c0698 into development Aug 24, 2026
42 of 99 checks passed
@rubenvdlinde
rubenvdlinde deleted the feat/port-issue-templates-to-github branch August 24, 2026 18:22
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.

1 participant