TL-M0-12 · Private GitHub repository
Why: The repository goes to GitHub as private, with squash merges only, so main gets one commit per pull request and that commit carries the pull request title CI checks (D6).
ID TL-M0-12 · Level L0 · Run order row 12
The repository is on GitHub, private, with main pushed and squash merges only.
Before
Section titled “Before”- TL-M0-11 is Done.
- You have decided the owner: the company's GitHub organization or your own account, written <GITHUB_OWNER> below.
- gh works: gh auth status shows “Logged in to github.com”. If gh is missing, run brew install gh, then gh auth login (GitHub.com, HTTPS, log in with a browser).
1 · Create the private repository from this folder and push main
Section titled “1 · Create the private repository from this folder and push main”gh repo create <GITHUB_OWNER>/opleet --private --source . --remote origin --push2 · Squash merges only, and delete branches after merging
Section titled “2 · Squash merges only, and delete branches after merging”gh repo edit <GITHUB_OWNER>/opleet --enable-squash-merge --enable-merge-commit=false --enable-rebase-merge=false --delete-branch-on-merge3 · In the browser, under Settings › General › Pull Requests › Allow squash merging, set Default commit message to Pull request title
Section titled “3 · In the browser, under Settings › General › Pull Requests › Allow squash merging, set Default commit message to Pull request title”gh repo view <GITHUB_OWNER>/opleet --webExpect
Section titled “Expect”- Block 1: “✓ Created repository <GITHUB_OWNER>/opleet on GitHub”, “✓ Added remote …” and “✓ Pushed commits to …”.
- Block 2: “✓ Edited repository <GITHUB_OWNER>/opleet”.
gh repo view <GITHUB_OWNER>/opleet --json visibility,squashMergeAllowed,mergeCommitAllowed,rebaseMergeAllowed,deleteBranchOnMergevisibility PRIVATE; squashMergeAllowed true; mergeCommitAllowed false; rebaseMergeAllowed false; deleteBranchOnMerge true.
If it fails
Section titled “If it fails”- “Name already exists”: a repository called opleet is already there. Stop and decide the name.
- “Resource not accessible” for an organization: run gh auth refresh -s repo,read:org, then block 1 again.
Not reversible once someone else has cloned it: ask first. Before that:
gh repo delete <GITHUB_OWNER>/opleetgit remote remove originDone 2026-10-05 (zuki)