chore: align CI to the hardened canon, add AGENTS.md#11
Merged
Conversation
CI: drop accept-flake-config, luacheck --std lua51 --no-unused-args, test via bash. Add AGENTS.md (single agent instruction file) + CLAUDE.md @-import. Clean dead JS-era files and .gitignore entries. Bump pslua pin to current main. Tooling and docs only, no src/ change.
There was a problem hiding this comment.
Pull request overview
Aligns this fork’s CI and agent-facing documentation with the shared “hardened canon”, reducing Nix supply-chain risk and centralizing AI agent instructions.
Changes:
- Harden Nix CI by removing
accept-flake-config = trueand make the test step independent of the executable bit. - Update luacheck invocation to match the Lua 5.1 target and tolerate intentionally-unused stub arguments.
- Add
AGENTS.mdas the single source of truth for coding-agent guidance, withCLAUDE.mdimporting it; remove dead ESLint config and trim stale JS ignores.
Reviewed changes
Copilot reviewed 4 out of 6 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
flake.lock |
Bumps the pslua (Unisay/purescript-lua) pin to a newer revision. |
CLAUDE.md |
Imports AGENTS.md so Claude Code reads the same unified agent instructions. |
AGENTS.md |
Adds consolidated dev commands + Lua 5.1/FFI/toolchain/release guidance for coding agents. |
.gitignore |
Removes now-stale JS-related ignore entries and the unignore for the deleted .eslintrc.json. |
.github/workflows/ci.yml |
Hardens Nix config handling and adjusts test + luacheck commands to match documented workflow. |
.eslintrc.json |
Removes an unused ESLint configuration file. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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):accept-flake-config = true. It let a PR's own flakenixConfiginject extra substituters and keys, which is a supply-chain risk; the caches are already pinned inextra_nix_config, so nothing is lost.--std lua51 --no-unused-argsinstead of--std min.lua51matches the actual target (it knowsmath.pow/math.atan2, whichminflags), and--no-unused-argstolerates the curried fallback args the native FFI stubs ignore.bash ./scripts/testso it no longer depends on the file's execute bit.AGENTS.md+CLAUDE.md:AGENTS.mdis the one instruction file the coding agents read natively (Codex, Cursor, Copilot, Gemini CLI, Aider): the commands, the Lua 5.1 constraints, the FFI parenthesisation rule, the toolchain pins, and a pointer to the package-set ADRs.CLAUDE.mdis a one-line@AGENTS.mdimport so Claude Code reads the same file instead of a second copy that drifts out of sync.It also drops the dead
.eslintrc.json, trims the stale JavaScript entries from.gitignore, and bumps the pslua pin to current main (the purescript#56/purescript#49/purescript#61 fixes).Tooling and docs only, no
src/change, so there is no tag or package-set bump.Verification
nix develop -c ./scripts/buildcompiles the fork on the overlay shell and luacheck with--std lua51 --no-unused-args src/is clean locally (17 files).