build(image): install Prettier in every image #33

Merged
claudiomaradonna merged 1 commit from feat/image-prettier into master 2026-10-07 17:54:02 +02:00
Collaborator

Why

Agent Foundry's source maintenance checks Markdown with
prettier --check '**/*.md' against its .prettierrc, checked with
Prettier 3.9.9, and the azkaban images ship no Prettier to run it.

What changed

  • The base stage installs Prettier 3.9.9 from npm, after Node.js, so
    every client image (Codex, Claude, OpenCode) has prettier on its
    path. npm checks the package against the registry's integrity hash;
    Prettier has no runtime dependencies.
  • The smoke gate has each image's client user format a Markdown heading
    with prettier, and fails an image that lacks it.
  • The README names Prettier beside ShellCheck; the version lives only in
    the Dockerfile.

Verification

  • The new structural and smoke stub tests failed before the change and
    pass after it.
  • make lint && .agents/hooks/shellcheck.sh repo && make test: 33
    shell files clean, 322 tests, 0 failures.
  • The smoke probe's script passes against a real Prettier 3.9.9 and
    fails without it.
  • Not run: make smoke-images, which builds the three images and needs
    rootless Podman with network access.
## Why Agent Foundry's source maintenance checks Markdown with `prettier --check '**/*.md'` against its `.prettierrc`, checked with Prettier 3.9.9, and the azkaban images ship no Prettier to run it. ## What changed - The base stage installs Prettier 3.9.9 from npm, after Node.js, so every client image (Codex, Claude, OpenCode) has `prettier` on its path. npm checks the package against the registry's integrity hash; Prettier has no runtime dependencies. - The smoke gate has each image's client user format a Markdown heading with `prettier`, and fails an image that lacks it. - The README names Prettier beside ShellCheck; the version lives only in the Dockerfile. ## Verification - The new structural and smoke stub tests failed before the change and pass after it. - `make lint && .agents/hooks/shellcheck.sh repo && make test`: 33 shell files clean, 322 tests, 0 failures. - The smoke probe's script passes against a real Prettier 3.9.9 and fails without it. - Not run: `make smoke-images`, which builds the three images and needs rootless Podman with network access.
The base stage installs Prettier 3.9.9 from npm, after Node.js, so the
Codex, Claude, and OpenCode images can format Markdown and check it
against a repository's .prettierrc, as Agent Foundry's source
maintenance does with prettier --check '**/*.md'. npm checks the
package against the registry's integrity hash, and a published version
never changes, so the exact pin fixes what the image holds; Prettier
has no runtime dependencies.

A structural test pins the version. The smoke gate has each image's
client user format a Markdown heading with prettier, and a stub test
covers an image that lacks it. The README names Prettier beside
ShellCheck.
claudiomaradonna deleted branch feat/image-prettier 2026-10-07 17:54:05 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
claudiomaradonna/azkaban!33
No description provided.