Skip to content

docs(onboarding): rewrite as a complete new-repo fleet runbook - #69

Merged
laurenhitchon merged 1 commit into
mainfrom
docs/onboarding-runbook
Jul 30, 2026
Merged

docs(onboarding): rewrite as a complete new-repo fleet runbook#69
laurenhitchon merged 1 commit into
mainfrom
docs/onboarding-runbook

Conversation

@laurenhitchon

Copy link
Copy Markdown
Contributor

Brings the operating docs to current state and answers "I have a brand-new repo/local folder — what are all the steps to full fleet membership?" end to end.

ONBOARDING.md — rewritten as a two-path runbook. Path A (brand-new repo): create with branch auto-delete on merge, package.json baseline (fleet engines range, gate + helper scripts), toolchain install with the ESLint entry-point decision (. vs ./base) and both Prettier consumption shapes, prettierignore policy, sync group selection with the group rules, deploy-key setup, "Protect main" ruleset recipe (all 7 required contexts incl. format + the two Snyk gates, strict, DeployKey-only bypass, with the require-only-what-posts rule), Snyk console import, Renovate app selection, CI_SKIP variables, npm trusted publishing for publishers, and a verification PR listing the exact expected checks. Path B: the existing-repo pre-flight (lockfile, stale ruleset names, bespoke release, superseded tooling).

README.md — the shared-checks table now includes the ci.yml merge gate (it listed six stubs and omitted the most important one), group table includes the config packages, layout shows promote-v1/drift-canary.

linting-and-formatting.md — replaced the per-repo .prettierrc house-style and 80-column-constraint narratives with the current model: @nswds/prettier-config + @nswds/eslint-config packages, the format/Snyk gates, and the prettierignore policy.

config-single-source-of-truth.md — fleet count and prettier-key consumer list corrected.

ONBOARDING.md: full path from repo creation to fleet membership — repo
creation with branch auto-delete, package.json baseline (engines, gate
scripts), toolchain install (prettier/eslint packages with entry-point
choice), sync group selection, deploy key, Protect main ruleset recipe
(7 contexts, DeployKey bypass), Snyk import, Renovate selection, CI_SKIP
variables, npm trusted publishing, verification PR. Existing-repo
pre-flight retained as Path B.
README: seven stubs (ci.yml merge gate was missing from the checks table),
group table includes the config packages, repo-local automation in layout.
linting-and-formatting: fleet packages replace the per-repo-config and
80-column narratives; gate table includes format + Snyk.
config-single-source-of-truth: fleet count and prettier-key consumers.
Copilot AI review requested due to automatic review settings July 30, 2026 03:44
@DFSIdigital

DFSIdigital commented Jul 30, 2026

Copy link
Copy Markdown

Snyk checks have passed. No issues have been found so far.

Status Scan Engine Critical High Medium Low Total (0)
Open Source Security 0 0 0 0 0 issues
Licenses 0 0 0 0 0 issues
Code Security 0 0 0 0 0 issues

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

@laurenhitchon
laurenhitchon merged commit ba1fe80 into main Jul 30, 2026
10 checks passed
@laurenhitchon
laurenhitchon deleted the docs/onboarding-runbook branch July 30, 2026 03:45

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates fleet documentation to provide an end-to-end “new repo → full fleet member” runbook and align formatting/linting guidance with the current shared-config model.

Changes:

  • Rewrites ONBOARDING.md into a structured Path A/Path B onboarding runbook (repo creation → tooling → sync → rulesets → Snyk/Renovate → verification).
  • Refreshes README.md to reflect the current workflow set (7 reusables / 7 stubs) and sync-group nuances (including shared-ci.yml collisions).
  • Updates formatting/linting and config SSoT docs to describe consumption via @nswds/* config packages and current gate behavior.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 5 comments.

File Description
README.md Updates repo layout + sync-group table and enumerates the seven shared CI stubs (including ci.yml as the merge gate).
ONBOARDING.md Complete onboarding runbook (new repo + existing repo pre-flight), including sync groups, ruleset recipe, and verification checklist.
docs/config-single-source-of-truth.md Corrects fleet sizing and updates the “base-only” Prettier consumer list to include the config package repos.
docs/best-practices/linting-and-formatting.md Reframes lint/format guidance around gates + centralized @nswds/* configs and updates the narrative for current enforcement.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread ONBOARDING.md
Comment on lines +68 to +71
and a real `"test"` script if the repo has a suite. The shared CI jobs run
`lint`/`test` with `--if-present` and the format job only runs when a
Prettier config exists — a missing script means a silently green gate, so
wire up every one the repo can honestly run.
Comment thread ONBOARDING.md
Comment on lines +253 to +257
Import the repo into the `digitalnsw` Snyk organisation (Snyk console → Add
project → GitHub). Snyk then posts three commit statuses on every PR head —
`code/snyk`, `security/snyk`, `license/snyk (DigitalNSW)` — and retests
`main` against new advisories between PRs. The fleet requires `security` and
`code` as merge gates; `license` stays advisory.
| prettier | Formatting | Per-repo config; see constraint below |
| eslint | JS/TS source | `install / lint` (required check; runs `npm run lint --if-present`) |
| prettier | Formatting | `install / format` (required check; runs `prettier --check .` when the repo has a Prettier config) |
| Snyk | Dependencies + code | `security/snyk` and `code/snyk (DigitalNSW)` (required checks; posted by the Snyk console integration) |
Comment thread ONBOARDING.md
Comment on lines +236 to +240
{"context": "install / lint"},
{"context": "install / test"},
{"context": "install / format"},
{"context": "security/snyk (DigitalNSW)"},
{"context": "code/snyk (DigitalNSW)"}
Comment thread ONBOARDING.md
Comment on lines +248 to +249
Bypass policy: **DeployKey only** — no admin or role bypass actors (the
rationale is in MAINTENANCE.md's bypass policy section).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants