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, bower.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

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 updates repository tooling/docs to match the shared “hardened canon”: CI is tightened and made more robust, JS-era config is removed, and agent-facing contributor instructions are consolidated into a single authoritative AGENTS.md.

Changes:

  • Harden Nix CI configuration and make the test invocation independent of executable bits.
  • Update luacheck invocation to Lua 5.1 semantics and tolerate intentionally-unused FFI stub arguments.
  • Add AGENTS.md as the single agent instruction source (and make CLAUDE.md import it), while removing legacy JS tooling files.

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
.github/workflows/ci.yml Hardens Nix config and updates test/luacheck invocations.
AGENTS.md Adds consolidated build/test/lint + Lua 5.1 + FFI rules + toolchain pins for coding agents.
CLAUDE.md Imports AGENTS.md so Claude Code reads the same instructions.
package.json Removes legacy JS/Pulp tooling manifest.
bower.json Removes legacy Bower manifest.
.eslintrc.json Removes legacy ESLint configuration.
Comments suppressed due to low confidence (1)

.eslintrc.json:1

  • Since .eslintrc.json is being removed, .gitignore still contains !/.eslintrc.json, which is now a stale exception and can be confusing for future maintenance. Consider removing that line from .gitignore as part of this cleanup.

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

Comment thread AGENTS.md
@Unisay Unisay self-assigned this Jun 14, 2026
@Unisay Unisay force-pushed the chore/agents-md-and-canon-ci branch 3 times, most recently from 7d2b1d8 to 6f8c080 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 6f8c080 to 1ed1c0d Compare June 14, 2026 17:18
@Unisay Unisay merged commit 9123e57 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