Repository navigation
Releases: PBNZ/repo-kit
Releases · PBNZ/repo-kit
Release list
v0.7.0 — scaffolding field-report standards
Added
/new-repooffers an early-licence opt-in to promotion-planned private repos (#32, ADR-0011): answer yes to "is a public release already planned?" andLICENSEis stamped at Core from the Public-tier template — plus a minimalNOTICEwhen third-party licensed material is expected while still private. Recorded in ADR-0001, no variance row needed: the standard's Promotion path now states an early licence is the promotion path, not a deviation. Default stays no; forever-private repos keep zero ceremony.- Core ships a tested privacy-guard pre-commit hook (#34, ADR-0012):
scripts/install-privacy-guard.ps1writes an untracked.git/hooks/guard that blocks staged additions, staged filenames, and non-noreply commit identities matching locally-entered patterns (case-insensitive literals, not regexes — the hand-rolled guard this replaces died on a BRE quoting subtlety), refuses a configuredcore.hooksPath, and finishes every install with an automatic negative test that removes the hook on failure. Documented in the standard's Author identity and the pre-commit checklist ("a guard that has never failed a negative test is not yet a guard"); CI smoke-tests the template end-to-end through realgit commitruns.
Fixed
repokit-check.ps1no longer fails START-HERE rows that declare planned-but-not-yet-created paths (#31, ADR-0010): a backticked token suffixed(planned)skips the existence assertion — the standard prescribes not pre-creating empty directories — while the marker covers only the token it follows, so an unmarked broken path in the same row still fails. Documented in the standard's Variance declarations (Planned paths) and covered by two smoke cases.- Two
/new-repodocumentation gaps observed in a scaffolding session (#33): the skill now documents adopting a directory that already has content (inventory first, pre-existing content wins collisions, two commits with the import before the scaffold, recorded in ADR-0001), and the naming conventions state that a deliberate branding name is an allowed exception to the kebab-case default — the user's own product name is accepted and recorded in ADR-0001, not argued with.
v0.6.0 — author-identity and branch-hygiene standards
Added
- The standard states the author-identity convention (#25, ADR-0009): the GitHub handle identifies the author everywhere an author/owner/copyright value is written; a real personal name is a per-repo opt-in recorded as an ADR plus a START-HERE variance row.
repokit-check.ps1now fails on a non-anonymous repo-local git identity or commit history (bounded by the adoption marker, switched off by the variance row), and the standard documents an optional bracketed-grep CI tree guard with its trade-off stated.
Fixed
/new-repono longer configures the commit identity from the GitHub profile's real name (#26): the recipe prefers the handle (.login) foruser.name, the{{author}}interview default is the handle instead of a personal name, and the licence template's copyright line is stamped from{{year}}/{{author}}rather than hardcoded.- The session-end checklist's branch item no longer strands rebase/squash-merged branches (#28):
git branch -a --no-mergedis named as an ancestry test that over-reports on those merge methods, the item prescribes content-based confirmation before force-deleting (gh pr list --state merged --head, orgit log --cherryfor no-PR rebases) with an explicit "never-Da branch that fails both checks", and the remote half is closed by thegh repo edit --delete-branch-on-merge+git fetch --prunerecipe.
v0.5.0 — board-commissioning standards
Field reports from an agent-run project-board commissioning, adopted into the standard (ADR-0008, PR #24, issues #21–#23):
Added
- Links section in
doc-style.md(#22): code formatting means "paste this", a link means "go here" — scope explicitly includes the agent's own chat output, with a construction table for the chat and cross-repo cases where#NNand relative links silently fail. Referenced fromagent-collaboration.md, enforced by a new links-resolve pre-PR item, and named in the scaffoldedAGENTS.md. - Commissioning handoff rule in
agent-collaboration.md(#21): when an agent commissions shared infrastructure, one assigned, checkboxed issue in the review column owns the manual residue — each step naming why it is manual — instead of end-of-session chat prose. Matching session-end tripwire; the org-migration board-rebuild checklist routes views/auto-add click-through to the handoff issue.
Fixed
org-migration-checklist.mdstatus-options landmine corrected (#23): a Project's status options can be edited via API without breaking the built-in workflows by echoing existing option ids (ProjectV2SingleSelectFieldOptionInput.id, verified against the live schema); only a full id-less replacement dangles workflows and item values.
Full changelog: v0.4.0...v0.5.0
v0.4.0 — retrospective workflow standards
The retrospective batch (#10, PR #18): nine accepted findings landed in the standard.
Added
- Five new
repo-standardreference docs:labels.md(layered opt-in label scheme + gh bootstrap),agent-collaboration.md(real-time board rule, pickup/handoff loop, closing-force gestures, signatures, session preflight),session-end-checklist.md,fleet.md(hub-and-spoke conventions for multi-repo projects), andorg-migration-checklist.md(six platform landmines, cited). - Resume state required at Core:
/new-repostampsdocs/CHECKPOINT.md, the START-HERE map carries a mandatory resume-state row, and the pre-commit checklist gains the tripwire. - Compliance self-check: core-tier
scripts/repokit-check.ps1(shim imports canonical file, START-HERE paths resolve, changelog/ADR/resume-state present or declared) + the variance-declaration rule and adoption marker. Dogfooded in this repo's CI with a drift-case smoke test. - Release-cutting triggers (
[Unreleased]is not a terminal state) and an issue-traceability convention (Refs #NN, auto-close keywords defused with a CI guard).
Full details in the changelog and ADR-0007.
v0.3.0 — living-docs add-on
Doc consistency made structural instead of judgment-based.
Added
- A living-docs add-on for
/new-repo(opt-in, orthogonal to type and tier): volatile shared facts live once indocs/STATE.json,README.md/docs/**/*.mdrender them via marker-delimited state blocks, and a cross-platformscripts/check-docs.ps1(pwsh 7) enforces consistency — blocks match the state file, no stale/futureas_ofdates, no superseded-content markers in the runbook, one table-separator style — locally and in a Core-tierdocs.ymlworkflow. Stamps a current-state-onlydocs/RUNBOOK.mdskeleton and adds living-docs ground rules to the scaffoldedAGENTS.md(ADR-0006). - Two new
repo-standarddocs:standard/living-docs.md(the pattern, plus an adopt-in-an-existing-repo recipe) andstandard/doc-style.md(deterministic doc formatting — one table style, ISO dates, fixed status words — so many sessions/models write like one author). The pre-commit / pre-PR checklists gain matching doc-consistency steps. - A smoke test for the add-on (
scripts/smoke_test_living_docs.ps1): stamps the templates, renders the state blocks, and proves the check fails on each enforced problem class (drifted block, stale date, superseded marker, malformed table separator). CI runs it onubuntu-latest. - A cross-platform smoke test for the
powershell-moduletemplates (scripts/smoke_test_powershell_module.ps1), run by CI with pwsh onubuntu-latest(ADR-0005).
Changed
- The
{{Guid}}placeholder instruction in/new-repois now shell-agnostic. - GitHub Actions pinned in CI and the bundled workflow templates bumped off the deprecated Node 20 runtime (
actions/checkout@v7,actions/setup-python@v6,googleapis/release-please-action@v5).
Full changelog: v0.2.0...v0.3.0
v0.2.0 — public debut
The public-debut release.
Added
- docker-compose repo type: minimal
compose.yaml(named volumes for data, committed config,.envsecrets),.env.example,.dockerignore, validation CI. - power-platform-connectors repo type: committed Postman collection → OpenAPI 2.0 custom-connector definitions via a pinned-Docker generator, with self-validation and a scheduled upstream-sync workflow.
- The
repo-standardskill now requires checking the remote (CI + reviewer/Copilot feedback) after a push/PR. - A
where-things-go.mdplacement guide and a naming-conventions section in the standard. - Listed in the
PBNZ/pbnz-skillsmarketplace as an alternative install channel (this repo stays canonical — ADR-0004).
Changed
- Displays as
repo-kitin the/pluginUI;/new-repodefaults to a repo-local GitHub-noreply commit identity and amaindefault branch. categorymoved fromplugin.jsonto the marketplace entry.
Fixed
- Two bundled template files a global gitignore had silently kept out of git (
powershell-module/core/Private/.gitkeep#2,docker-compose/core/.env.example) are now tracked, with a repo-level guard. - powershell-module manifest template modernised:
PowerShellVersion = '7.0',CompatiblePSEditions = @('Core'), Gallery tag hints (#3).
Full changelog: v0.1.0...v0.2.0
v0.1.0 — initial standard + /new-repo scaffolder
Initial RepoKit release (retroactive tag at the commit that declared 0.1.0).
- The
repokitplugin: the/new-reposcaffolder and therepo-standardskill, in a self-contained marketplace. - The repo standard (
the-standard.md) with commit conventions, pre-commit / pre-PR checklists, and the testing matrix. - Templates for the Core, Public, and Published tiers, plus the powershell-module type overlay (other types as stubs).
Full changelog: https://github.com/PBNZ/repo-kit/blob/main/CHANGELOG.md