From 9092e6d18dd5fa1ed793bed0274ba20c770f5fb0 Mon Sep 17 00:00:00 2001
From: m3tm3re
Date: Sat, 27 Dec 2025 10:16:52 +0100
Subject: [PATCH] +AGENTS.md
---
AGENTS.md | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)
create mode 100644 AGENTS.md
diff --git a/AGENTS.md b/AGENTS.md
new file mode 100644
index 0000000..67670b6
--- /dev/null
+++ b/AGENTS.md
@@ -0,0 +1,26 @@
+# Agent Guidelines for m3ta-nixpkgs
+
+## Build/Lint/Test Commands
+- `nix flake check` - Validate flake and run checks
+- `nix fmt` - Format all Nix files (uses nixpkgs-fmt)
+- `nix build .#` - Build a specific package
+- `nix flake show` - List all available outputs
+- `statix check .` - Lint Nix files (run in `nix develop` shell)
+- `deadnix .` - Find dead/unused Nix code (run in `nix develop` shell)
+
+## Code Style
+- **Formatter**: Always run `nix fmt` before committing
+- **Naming**: Package names use lowercase-hyphen (`my-package`), variables use camelCase
+- **Imports**: Multi-line with trailing commas: `{ lib, stdenv, fetchFromGitHub, }:`
+- **Modules**: Use `with lib; let cfg = config.namespace.module; in { ... }` pattern
+- **Options**: Use `mkEnableOption` for enable flags, namespace under `m3ta.*`
+- **Meta**: Always include description, homepage, license, platforms, mainProgram
+- **Comments**: Explain "why" not "what"; document non-obvious logic
+
+## File Organization
+- One package per directory under `pkgs/`, entry point is `default.nix`
+- Register packages in `pkgs/default.nix` using `callPackage`
+- Modules go in `modules/nixos/` or `modules/home-manager/` by category
+
+## Commit Format
+`type: brief description` where type is: feat, fix, docs, style, refactor, chore