Skip to content

Add CLAUDE.md: local checks in pinned Docker images - #28

Merged
keyldev merged 4 commits into
masterfrom
docs/claude-md
Oct 17, 2026
Merged

keyldev merged 4 commits into
masterfrom
docs/claude-md

Conversation

@compot-dev

Copy link
Copy Markdown
Collaborator

Closes #27.

Adds CLAUDE.md with the commands agent sessions should use for local checks. Every check runs in a pinned image with --pull never:

  • shellcheck on the scripts: koalaman/shellcheck:v0.10.0;
  • native build with -Werror against Debian bookworm's mbedTLS 2.28, then shellcheck on the init script the binary writes;
  • pointers to tests/run.sh and ci/build.sh.

Documentation only, no code or CI changes.

Tested on master e2d0b56: both shellcheck runs exit 0, and the build succeeds (60672-byte binary).

Records the commands for the CI lint job's checks (shellcheck on the
scripts, native build, shellcheck on the init script the binary writes)
in pinned images with --pull never, so agent sessions stop using the
moving koalaman/shellcheck:stable tag or building on the host.

Closes 27
@compot-dev compot-dev added the documentation Improvements or additions to documentation label Oct 16, 2026
@qodo-free-for-open-source-projects

Copy link
Copy Markdown

Code Review by Qodo

🐞 Bugs (0) 📘 Rule violations (0) 📎 Requirement gaps (0)

Grey Divider

Great, no issues found!

Qodo reviewed your code and found no material issues that require review

Grey Divider

Tip of the day
💡 Did you know, you can pick a display mode instead of tweaking every Display option by hand

More tips ↗ | Customize Qodo ↗ | Qodo docs ↗

Grey Divider

Qodo Logo

@qodo-free-for-open-source-projects

Copy link
Copy Markdown

PR Summary by Qodo

Document containerized local checks for agent sessions

📝 Documentation 🕐 Less than 10 minutes

Grey Divider

AI Description

• Add Docker commands for script linting, native builds, and generated init-script linting.
• Pin local check image tags and disable pulls to avoid unexpected tool changes.
• Point agents to existing containerized tests and release builds, and clarify repository workflow
 rules.
Diagram

graph TD
  A["Agent session"] --> B["Pinned Docker images"] --> C["Native build"] --> D["Init script lint"]
  B --> E["Shell script lint"]
  A --> F["Existing test scripts"]
Loading
High-Level Assessment

Documenting the commands is appropriate for agent guidance without changing CI or application code. Reusing the existing test and build entry points avoids duplicating their workflows.

Files changed (1) +43 / -0

Documentation (1) +43 / -0
CLAUDE.mdDocument Docker-based local checks and agent workflow +43/-0

Document Docker-based local checks and agent workflow

• Adds commands for ShellCheck, a containerized native build, and linting the generated init script using versioned image tags with pulls disabled. Points to existing test and release-build scripts and records rules against host builds or merging directly to master.

CLAUDE.md

@compot-dev
compot-dev requested a review from keyldev October 17, 2026 00:02
@compot-dev

Copy link
Copy Markdown
Collaborator Author

@keyldev, this is a documentation-only PR. It adds CLAUDE.md with the local check commands, so agent sessions use pinned images instead of koalaman/shellcheck:stable or a build on the host.

Test report:

  • Local, on master e2d0b56: shellcheck v0.10.0 on the scripts exits 0, the native build with -Werror succeeds (60672 bytes), and shellcheck on the generated init script exits 0.
  • CI on this branch: shellcheck, 4 builds and 2 test jobs all pass.
  • Qodo found no issues.

Ready for review; merge is your call.

…f the native build

Same layout as vtesse's CLAUDE.md: "Local builds and checks", then Rules.
The equivalent was checked: debian:bookworm-slim with gcc, make, libc6-dev
and libmbedtls-dev builds src/ with -Werror and writes the init script.
@compot-dev

Copy link
Copy Markdown
Collaborator Author

Pushed f03a6da. It notes that compot/cross is not a published image and adds an equivalent native build on plain debian:bookworm-slim, checked locally: the -Werror build succeeds and the init script is written. The layout now matches vtesse's CLAUDE.md.

/review

@keyldev

keyldev commented Oct 17, 2026

Copy link
Copy Markdown
Collaborator

Thanks — two changes before merging:

  1. The Rules section ("PRs are not merged from here, nothing is pushed to master") is read by every session in this repo, including mine. Please drop it or scope it to your setup.
  2. compot/cross isn't published, so the first native-build command fails for everyone else. Please make the plain debian:bookworm-slim command the main one, and either drop the compot variant or put it in a footnote. While you're there: "Releases come from CI on a v* tag" goes stale with Release: one release "latest" titled "Cerberus <version>", published on a version bump #32, and --pull never needs a one-time docker pull note for a fresh machine.

The native build used compot/cross, which is not published, so the
first command failed everywhere but one machine; the debian:bookworm-slim
command is now the only one. The rule against merging from a session
applied to every session in the repository, the maintainer's included,
and is gone. "Releases come from CI on a v* tag" would go stale with #32;
it now says only that release binaries come from CI. --pull never needs
the images once, so the first block pulls them. The version-bump rule
from #33 is named, with check-version.sh for a local run.
@keyldev
keyldev merged commit 01b1fd7 into master Oct 17, 2026
8 checks passed
@compot-dev
compot-dev deleted the docs/claude-md branch October 18, 2026 14:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add CLAUDE.md: local checks in pinned Docker images

2 participants