Skip to content

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

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#5
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, package.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

nix develop -c ./scripts/build, the regression suite (bash ./scripts/test), and luacheck with --std lua51 --no-unused-args src/ are clean locally.

@Unisay Unisay requested a review from Copilot June 14, 2026 16:29
@Unisay Unisay self-assigned this Jun 14, 2026

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

Aligns this fork with the shared “hardened canon” tooling by tightening Nix CI configuration, standardizing Lua linting/test invocation, and centralizing agent instructions in a single AGENTS.md source of truth.

Changes:

  • Hardens CI by removing accept-flake-config = true from the Nix installer config.
  • Updates CI to run tests via bash ./scripts/test and runs luacheck with --std lua51 --no-unused-args.
  • Adds AGENTS.md (canonical agent instructions) and CLAUDE.md (import), and removes legacy JS tooling files (package.json, .eslintrc.json).

Reviewed changes

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

Show a summary per file
File Description
.github/workflows/ci.yml Hardens Nix configuration and aligns test/lint steps with Lua 5.1 + non-exec test script invocation.
AGENTS.md Adds a single canonical set of build/test/lint + Lua 5.1/FFI/toolchain constraints for agents.
CLAUDE.md Imports AGENTS.md so Claude Code reads the same canonical instructions.
package.json Removes leftover JS/Pulp/Eslint toolchain artifacts no longer used by the nix+spago workflow.
.eslintrc.json Removes unused ESLint configuration associated with the retired JS tooling path.

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

@Unisay Unisay marked this pull request as ready for review June 14, 2026 16:40
@Unisay Unisay force-pushed the chore/agents-md-and-canon-ci branch 3 times, most recently from ec051ba to a1cb23a Compare June 14, 2026 17:11
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 a1cb23a to 3ea587c Compare June 14, 2026 17:18
@Unisay Unisay merged commit 72d75f5 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