Files
register-referentie/docs/gitea-workflow.md
Edwin van den Houdt 8a72362a8b
Some checks failed
CI / compose-smoke (pull_request) Has been cancelled
CI / lint (pull_request) Has been cancelled
CI / build (pull_request) Has been cancelled
CI / unit (pull_request) Has been cancelled
chore: contributor workflow — issue/PR templates, git-cliff, gitea-workflow doc (refs #31)
Add the Gitea issue templates (slice/bug/adr-proposal) and a PR template
that carry the Definition of Done, a git-cliff config (cliff.toml) with a
`make changelog` target, the generated CHANGELOG.md, and docs/gitea-
workflow.md documenting the issue -> milestone -> PR flow.

Verified: make lint/build/unit green; `make changelog` regenerates the
changelog from Conventional Commits.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-03 14:09:11 +02:00

2.2 KiB

Working with Gitea: issues, milestones, PRs

Gitea is the system of record (CLAUDE.md §7). BACKLOG.md is a human-readable mirror of the active milestone — when they disagree, Gitea wins.

Issues

  • Open issues from the templates in .gitea/ISSUE_TEMPLATE/:
    • Slice — a backlog user story (S-NN · …), encodes the Definition of Done.
    • Bug — a defect.
    • ADR proposal — a decision to record before coding (CLAUDE.md §14).
  • Every issue gets type:* plus the relevant area:* label(s), and is assigned to its iteration milestone (Iteration N — …).
  • Splitting a slice that grew too big: see CLAUDE.md §13 and the "How to split a slice" section of BACKLOG.md.

Branches & commits

  • Trunk-based: short-lived branches off main, squash-merged. Never push to main.
  • Branch name: <type>/<issue-number>-<slug>, e.g. feat/28-bff-health.
  • Conventional Commits, each referencing its issue: feat(bff): … (refs #28).
  • TDD order: the test(...) red commit precedes the feat(...) green commit.

Pull requests

  • Open with tea pr create (the Gitea CLI) or the web UI; the body uses .gitea/PULL_REQUEST_TEMPLATE.md and its DoD checklist.
  • The merging PR closes its issue via closes #NN in the squash-commit body. Work that isn't finished (e.g. CI green pending a runner) uses refs #NN and the issue stays open.
  • A PR needs a linked issue. Don't open one without it.

CI gate

Until a self-hosted respellion-linux runner is registered, make ci is the gate (it runs the same checks the workflow does). See runbooks/ci.md.

CLI cheatsheet (tea)

tea issues list --state open          # backlog
tea issue create --title "S-NN · …" --labels type:slice,area:bff --milestone "Iteration 1 — Walking Skeleton"
tea pr create --base main --head <branch> --title "…" --description "… closes #NN"
tea pr list                           # open PRs
tea pr merge <n> --style squash       # merge (after review)

Changelog & releases

CHANGELOG.md is generated from commits by git-cliff (make changelog), refreshed on tag. Versioning is CalVer YYYY.MM.PATCH; releases are published via Gitea Releases.