Skip to content

chore: align CI to the hardened canon, add AGENTS.md#2

Merged
Unisay merged 1 commit into
masterfrom
chore/agents-md-and-canon-ci
Jun 14, 2026
Merged

chore: align CI to the hardened canon, add AGENTS.md#2
Unisay merged 1 commit into
masterfrom
chore/agents-md-and-canon-ci

Conversation

@Unisay

@Unisay Unisay commented Jun 14, 2026

Copy link
Copy Markdown
Collaborator

Brings this fork in line with the shared tooling canon and gives the AI coding agents a single source of truth.

CI (.github/workflows/ci.yml):

  • Drop accept-flake-config = true. It let a PR's own flake nixConfig inject extra substituters and keys, which is a supply-chain risk; the caches are already pinned in extra_nix_config, so nothing is lost.
  • luacheck now runs --std lua51 --no-unused-args instead of --std min. lua51 matches the actual target (it knows math.pow/math.atan2, which min flags), and --no-unused-args tolerates the curried fallback args the native FFI stubs ignore.
  • Run the test step as bash ./scripts/test so it no longer depends on the file's execute bit.

AGENTS.md + CLAUDE.md:

  • AGENTS.md is the one instruction file the coding agents read natively (Codex, Cursor, Copilot, Gemini CLI, Aider): the build/test/lint commands, the Lua 5.1 constraints, the FFI parenthesisation rule, and the toolchain pins.
  • CLAUDE.md is a one-line @AGENTS.md import so Claude Code reads the same file instead of a second copy that drifts out of sync.

It also drops the dead .eslintrc.json left over from the JavaScript build; the toolchain is spago plus nix now.

Tooling and docs only, no src/ change, so there is no tag or package-set bump.

Verification

luacheck passes locally with --std lua51 --no-unused-args src/; the build runs green in CI.

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

This PR aligns repository tooling with the shared “hardened canon” by tightening CI’s Nix configuration, standardizing Lua linting to the project’s Lua 5.1 target, and consolidating AI agent instructions into a single authoritative document.

Changes:

  • Harden CI by removing accept-flake-config = true, and run the optional test script via bash (no execute-bit dependency).
  • Update luacheck invocation to --std lua51 --no-unused-args to match the Lua 5.1 runtime and tolerate curried FFI stubs.
  • Add AGENTS.md as the canonical agent instruction file and make CLAUDE.md delegate to it; remove the unused .eslintrc.json.

Reviewed changes

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

File Description
CLAUDE.md Delegates Claude Code instructions to AGENTS.md to avoid drift.
AGENTS.md Adds a single source of truth for build/test/lint commands and Lua 5.1 + FFI conventions.
.github/workflows/ci.yml Hardens Nix config handling and aligns lint/test execution with the documented toolchain.
.eslintrc.json Removes unused legacy ESLint configuration.

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

@Unisay Unisay force-pushed the chore/agents-md-and-canon-ci branch 3 times, most recently from 69782e5 to 2cc7541 Compare June 14, 2026 17:11
@Unisay Unisay marked this pull request as ready for review June 14, 2026 17:12
CI: drop accept-flake-config (supply-chain risk; caches already pinned),
run luacheck with --std lua51 --no-unused-args (matches the Lua 5.1 target
and the curried-FFI idiom), invoke the test step via bash so it no longer
needs the execute bit.

AGENTS.md is the single instruction file the coding agents read natively;
CLAUDE.md is a one-line @AGENTS.md import so Claude Code shares it. Also
removes dead JavaScript-era package files. Tooling and docs only, no src/.
@Unisay Unisay force-pushed the chore/agents-md-and-canon-ci branch from 2cc7541 to b30dd00 Compare June 14, 2026 17:18
@Unisay Unisay merged commit 44a6754 into master Jun 14, 2026
1 check passed
@Unisay Unisay deleted the chore/agents-md-and-canon-ci branch June 14, 2026 17:43
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.

2 participants