Skip to content

[Phase 1] Create petry-projects/repo-template as a flagged template repository #965

Description

@github-actions

Story

As a org admin,
I want create an empty petry-projects/repo-template repository and flag it as a GitHub template repository with the standard general settings applied,
so that new repos can be scaffolded with one "Use this template" click instead of a manual copy-from-standards runbook.

Acceptance Criteria

  1. petry-projects/repo-template exists and gh repo view petry-projects/repo-template --json isTemplate returns isTemplate: true.
  2. The repo has a default main branch and the standard general settings applied (squash-only merge with merge/rebase disabled, delete-branch-on-merge, auto-merge enabled) — because a template click copies files only, not settings.
  3. The repo is empty of product scaffold content (the verbatim scaffold lands in the Phase 1 scaffold story); only an initial commit / placeholder README is present.
  4. Repo creation and the is_template flag are set with an org-admin classic PAT (not the Actions GITHUB_TOKEN), and the who/when of the action is recorded for auditability.
  5. No activation label (e.g. initiative:auto) is applied to the repo or this work.

Tasks / Subtasks

Dev Notes

  • Hands-off: creating an org repo and setting is_template requires org-admin and a classic PAT; the Actions GITHUB_TOKEN / dev-lead cannot create org repos or change security_and_analysis. scripts/apply-repo-settings.sh documents that a classic PAT with repo scope is required and OAuth app tokens are rejected by the check-suites API.
  • GitHub template repos copy files + (optionally) branches with UNRELATED history only — they do NOT carry settings, branch protection, rulesets, required checks, labels, secrets, or security config. That non-file gap is closed by the Phase 2 bootstrap, not here.
  • Pick the org default visibility and note it; do not apply initiative:auto or any activation label (apply-plan.sh enforces this for issues, and the same inert-by-default discipline applies to the new repo).

Project Structure Notes

This story operates on a new external repo, not on files in .github-private. Settings are applied by reusing the existing scripts/apply-repo-settings.sh against the new target.

References

Likely target surface

  • scripts/apply-repo-settings.sh

Story prepared by the BMAD Scrum Master (Bob) for epic #964. Status: ready-for-dev.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    dev-lead:hands-offExclude from dev-lead agent automationinitiativeEpic / initiative tracking issueinitiative:holdInitiative driver must not release this issue (human hold)

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions