Skip to content

docs: add ADR log and fork-maintenance canon#1

Merged
Unisay merged 1 commit into
masterfrom
docs/adr-and-conventions
Jun 14, 2026
Merged

docs: add ADR log and fork-maintenance canon#1
Unisay merged 1 commit into
masterfrom
docs/adr-and-conventions

Conversation

@Unisay

@Unisay Unisay commented Jun 14, 2026

Copy link
Copy Markdown
Collaborator

Sets up a home for decisions that span the whole package set, plus the practical canon they back.

  • docs/adr/ holds Architecture Decision Records in the MADR style (status, context, decision, consequences) with a README index. Seven records backfill the decisions already in force: the purescript-overlay toolchain, the hardened CI workflow, the Lua 5.1 target and the FFI parenthesisation rule, unit = {}, the AGENTS.md single-source pattern, the annotated-tag release process, and the treefmt formatting setup (purs-tidy plus lua-format, and why StyLua is out).
  • CONTRIBUTING.md is the do-this summary for maintaining a fork: toolchain, commands, the Lua 5.1 and FFI rules, CI, agent instructions, releasing. Each section links to the ADR that explains it. This is the page the forks' AGENTS.md point at.

Both the README and CONTRIBUTING.md spell out the process going forward: read the ADRs before a cross-cutting decision, add one after, and supersede rather than rewrite. Decisions about the pslua compiler itself stay in the pslua repository.

Docs only.

docs/adr/ records cross-cutting decisions for the set in MADR style, with a
README index and seven backfilled records (overlay toolchain, hardened CI,
Lua 5.1 + FFI parens, unit = {}, AGENTS.md single source, annotated-tag
releases, treefmt formatting). CONTRIBUTING.md is the practical canon the
forks' AGENTS.md link to. Both state the read-before / write-after ADR
process. Docs only.
@Unisay Unisay requested a review from Copilot June 14, 2026 17:10
@Unisay Unisay self-assigned this Jun 14, 2026
@Unisay Unisay marked this pull request as ready for review June 14, 2026 17:11
@Unisay Unisay merged commit 7541dfb into master Jun 14, 2026
1 check passed
@Unisay Unisay deleted the docs/adr-and-conventions branch June 14, 2026 17:12

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 introduces an ADR (Architecture Decision Record) log under docs/adr/ (MADR-style) and adds a root CONTRIBUTING.md that serves as the practical, cross-fork maintenance “canon” linking back to the ADR rationale.

Changes:

  • Add docs/adr/README.md and seven initial ADRs documenting existing, cross-cutting decisions (toolchain, CI, Lua 5.1/FFI rules, unit representation, agent instructions, release process, formatting).
  • Add CONTRIBUTING.md as a concise, action-oriented maintenance guide for forks, with links to the ADRs.

Reviewed changes

Copilot reviewed 9 out of 9 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
docs/adr/README.md Introduces the ADR directory, scope, maintenance rules, and ADR index.
docs/adr/0001-overlay-flake-toolchain.md Documents the pinned toolchain approach via purescript-overlay.
docs/adr/0002-hardened-ci-canon.md Documents the shared hardened CI workflow decisions and rationale.
docs/adr/0003-lua-51-target-and-ffi-parens.md Documents Lua 5.1 target constraints and the FFI parenthesization requirement.
docs/adr/0004-unit-is-empty-table.md Documents representing unit as {} rather than nil.
docs/adr/0005-agents-md-single-source.md Documents the single-source agent-instructions file pattern.
docs/adr/0006-fork-release-by-annotated-tag.md Documents the fork release process via annotated tags and set bump steps.
docs/adr/0007-formatting-treefmt-purs-tidy-lua-format.md Documents formatter choices and treefmt-based formatting workflow.
CONTRIBUTING.md Adds a practical fork-maintenance guide linking to ADR rationale.

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

Comment on lines +9 to +10
there. The existing fork tags (for example effect v4.1.0) are bare annotated
tags with no GitHub Release attached.
Comment thread CONTRIBUTING.md
## Commands

- Build: `nix develop -c ./scripts/build`
- Test: `nix develop -c bash ./scripts/test` (forks that ship Lua regression tests)
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