Skip to content

Releases: PBNZ/repo-kit

v0.7.0 — scaffolding field-report standards

Choose a tag to compare

@PBNZ PBNZ released this 13 Aug 08:18

Added

  • /new-repo offers an early-licence opt-in to promotion-planned private repos (#32, ADR-0011): answer yes to "is a public release already planned?" and LICENSE is stamped at Core from the Public-tier template — plus a minimal NOTICE when 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.ps1 writes 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 configured core.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 real git commit runs.

Fixed

  • repokit-check.ps1 no 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-repo documentation 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

Choose a tag to compare

@PBNZ PBNZ released this 12 Aug 12:31

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.ps1 now 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-repo no longer configures the commit identity from the GitHub profile's real name (#26): the recipe prefers the handle (.login) for user.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-merged is 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, or git log --cherry for no-PR rebases) with an explicit "never -D a branch that fails both checks", and the remote half is closed by the gh repo edit --delete-branch-on-merge + git fetch --prune recipe.

v0.5.0 — board-commissioning standards

Choose a tag to compare

@PBNZ PBNZ released this 20 Jul 05:42

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 #NN and relative links silently fail. Referenced from agent-collaboration.md, enforced by a new links-resolve pre-PR item, and named in the scaffolded AGENTS.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.md status-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

Choose a tag to compare

@PBNZ PBNZ released this 19 Jul 14:25

The retrospective batch (#10, PR #18): nine accepted findings landed in the standard.

Added

  • Five new repo-standard reference 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), and org-migration-checklist.md (six platform landmines, cited).
  • Resume state required at Core: /new-repo stamps docs/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

Choose a tag to compare

@PBNZ PBNZ released this 13 Jul 03:58
c49deb1

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 in docs/STATE.json, README.md/docs/**/*.md render them via marker-delimited state blocks, and a cross-platform scripts/check-docs.ps1 (pwsh 7) enforces consistency — blocks match the state file, no stale/future as_of dates, no superseded-content markers in the runbook, one table-separator style — locally and in a Core-tier docs.yml workflow. Stamps a current-state-only docs/RUNBOOK.md skeleton and adds living-docs ground rules to the scaffolded AGENTS.md (ADR-0006).
  • Two new repo-standard docs: standard/living-docs.md (the pattern, plus an adopt-in-an-existing-repo recipe) and standard/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 on ubuntu-latest.
  • A cross-platform smoke test for the powershell-module templates (scripts/smoke_test_powershell_module.ps1), run by CI with pwsh on ubuntu-latest (ADR-0005).

Changed

  • The {{Guid}} placeholder instruction in /new-repo is 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

Choose a tag to compare

@PBNZ PBNZ released this 06 Jul 02:52
0220ef5

The public-debut release.

Added

  • docker-compose repo type: minimal compose.yaml (named volumes for data, committed config, .env secrets), .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-standard skill now requires checking the remote (CI + reviewer/Copilot feedback) after a push/PR.
  • A where-things-go.md placement guide and a naming-conventions section in the standard.
  • Listed in the PBNZ/pbnz-skills marketplace as an alternative install channel (this repo stays canonical — ADR-0004).

Changed

  • Displays as repo-kit in the /plugin UI; /new-repo defaults to a repo-local GitHub-noreply commit identity and a main default branch.
  • category moved from plugin.json to 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

Choose a tag to compare

@PBNZ PBNZ released this 06 Jul 02:52

Initial RepoKit release (retroactive tag at the commit that declared 0.1.0).

  • The repokit plugin: the /new-repo scaffolder and the repo-standard skill, 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