Add AGENTS.md
This commit is contained in:
@@ -0,0 +1,26 @@
|
|||||||
|
# AGENTS.md
|
||||||
|
|
||||||
|
## Project
|
||||||
|
|
||||||
|
A sidecar for Home Assistant that runs automations using arrowized functional
|
||||||
|
reactive programming (AFRP). Haskell, built with cabal.
|
||||||
|
|
||||||
|
## Code style
|
||||||
|
|
||||||
|
- Vertical modules: split by feature/concept, not by layer.
|
||||||
|
- Comments are minimal. They describe the contract, not the implementation,
|
||||||
|
and should stay stable as the implementation changes.
|
||||||
|
|
||||||
|
## Build
|
||||||
|
|
||||||
|
- Nix-backed project: `flake.nix` provides the devShell, `default.nix` is the
|
||||||
|
generated cabal derivation.
|
||||||
|
- Always run cabal through the devShell: `nix develop -c cabal build`.
|
||||||
|
- After adding dependencies to the .cabal file, regenerate the derivation:
|
||||||
|
`nix run nixpkgs#cabal2nix -- ./. > default.nix`. Do not edit it by hand.
|
||||||
|
- `secrets.yaml` is sops-encrypted. Never read, print, or commit its contents.
|
||||||
|
|
||||||
|
## Tests
|
||||||
|
|
||||||
|
- hspec for unit tests, hedgehog for property tests.
|
||||||
|
- Run with `nix develop -c cabal test`.
|
||||||
Reference in New Issue
Block a user