Files
2026-08-20 15:13:46 +03:00

891 B

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.