One-off, idempotent script that splits issue S-00 (#1) into sub-slices S-00-a..e per CLAUDE.md §13: creates the five sub-slice issues under the Iteration 0 milestone, then closes #1 with a comment listing the replacements. Driven by curl/jq; reads GITEA_TOKEN from the environment. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
tools/
Repo bootstrap and maintenance scripts. Not part of the application runtime.
seed-gitea.sh — bootstrap the Gitea backlog
One-time (idempotent) script that creates the project's backlog in Gitea from the
contents of BACKLOG.md: the label taxonomy, the iteration
milestones, and all 26 slice issues (S-00…S-25). Gitea is the system of record
(see CLAUDE.md §7); this script just gets the empty repo to that starting state.
It overlaps part of S-00's acceptance ("milestones, labels … exist in Gitea").
The authoritative operational write-up will move to docs/runbooks/ and
docs/gitea-workflow.md when S-00 is implemented.
Prerequisites
curlandjqonPATH.- A Gitea personal access token with scopes
write:issueandwrite:repository(Gitea → Settings → Applications → Generate New Token).
Usage
GITEA_TOKEN=<your-pat> bash tools/seed-gitea.sh
The token is read from the environment only — it is never written to disk or
committed. The target repo (eho/register-referentie on
git.labs.respellion.tech) is hard-coded near the top of the script; edit the
BASE/OWNER/REPO variables to point elsewhere.
What it creates
| Step | Items |
|---|---|
| Labels | type:{slice,bug,adr-proposal,chore} + 12 area:* labels (16 total) |
| Milestones | Iteration 0 — Foundations … Iteration 6 — Production Posture (7 total) |
| Issues | S-00…S-25 (26 total), each with body, milestone, and area labels |
Idempotency
Every item is matched by name (labels), title (milestones), or issue title prefix
(S-NN · …) before creation, and skipped if it already exists. A partial or failed
run can be re-run safely — the second run reports every item as skip.
Verify (no token needed — reads are anonymous)
B=https://git.labs.respellion.tech/api/v1/repos/eho/register-referentie
curl -s "$B/labels?limit=100" | jq length # expect 16
curl -s "$B/milestones?state=all&limit=100" | jq length # expect 7
curl -s "$B/issues?state=all&type=issues&limit=100" | jq length # expect 26