feat(ci): lint skills, refs and installer drift #15
Reference in New Issue
Block a user
Delete Branch "linter"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Adds
bin/lint.sh(everything CI runs) andbin/lint-repo.py(the checks specific to this repo, stdlib only). Two Gitea workflows: lint +nix flake checkon every PR,check-vendored.shweekly on its own.Generic: shellcheck, ruff,
compileall, jq,node --check,nix flake check. Baseline was already clean apart from two ruff findings inme-api.py, fixed here.Repo-specific, because nothing else catches these:
<skills-root>/…refs, repo-relative paths and relative links resolve.bin/link.shandnix/home.nixinstall the same files by two independent mechanisms.@~/.claude/x.mdis something both installers create.ExecStarttargets exist.The drift check found two bugs, fixed in the same commit:
link.shnever linkedscripts/into~/.claude/scripts(hook commands insettings.jsoncall it by absolute path), and never created~/.claude/machine.md, whichentry/CLAUDE.md@importsunconditionally — so every non-Nix machine started sessions with a failed import.No shfmt: it rewrites the deliberate compact style in
check-vendored.shandhourlog-session.sh. Noruff formatcheck: it would reformat 7 files.Verification
Negative-tested: renaming a skill's
name, adding a dead path reference, a broken relative link, and deleting themachine.mdlink line each produce one finding.