Skip to content

v0.18.1

Latest

Choose a tag to compare

@github-actions github-actions released this 04 Sep 16:10
· 11 commits to main since this release
8ef6f0e

[v0.18.1] - 2026-09-04

Changed

  • Template headers describe the installed file instead of instructing the
    installer (#163, second half).
    Every shipped template opened with "Copy
    to your project as ..." and the installed copy kept that line, so a target
    repo ended up with files whose first line addressed the person installing
    them. The 27 headers now say where the file lives and what puts it there
    ("Installed as .github/workflows/lint.yml", "Project-root ruff.toml").
    Wording only: no rule, option or path changed, and installed copies stay
    byte-identical to their templates, which cp_safe --force and the doctor's
    drift check rely on.

Fixed

  • install.sh no longer drops a root tsconfig.json into a monorepo
    (#163).
    The root file is the switch that makes the pre-commit hook and
    lint.yml run tsc --noEmit over the whole tree, so in a workspaces repo it
    type-checked every workspace with options written for none of them and
    blocked every JS/TS commit (12,235 errors measured). The frontend install
    now places the file by policy, the same logic as COMPONENTS.md entry 10's
    adopt block: skipped, with the reason named, when package.json has a
    workspaces key or pnpm-workspace.yaml exists, or when per-directory
    tsconfig.json files already exist (node_modules, vendor and build output
    are not counted); an existing root file is left alone as before; a plain
    frontend repo still receives it, now followed by a note saying the hook will
    type-check the tree and how to undo that, so the placement is never silent.
    The catalog's adopt block gained the same per-directory check, and
    scaffold-assess.sh reports the per-directory case by name instead of
    measuring the template project-wide. Case 41 covers all six installer paths
    and was red before the fix; case 39 covers the assess line.
  • The pytest-config probe's node_modules prune was inert. With
    -mindepth 2, find never evaluates the prune on a depth-1 directory, so a
    vendored pyproject.toml under node_modules/ counted as the pytest config
    and suppressed the root pytest.ini with a "pytest config in
    node_modules/x" skip. Found while writing the same probe for
    tsconfig.json; the tsconfig probe was written without it. Case 17 gained
    the assertion, red before the fix.