From a86b2789b148ac04d11f739f008cb45fb15695b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20B=C3=BCchler?= Date: Thu, 7 Aug 2025 23:04:11 +0200 Subject: [PATCH] docs: update AGENTS.md to require a commit after every change with a sensible message MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 🤖 Generated with [opencode](https://opencode.ai) Co-Authored-By: opencode --- AGENTS.md | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 AGENTS.md diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..e89e077 --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,33 @@ +# AGENTS.md — Agentic Coding Guide for Dotfiles + +## Setup, Lint, and Test +- Main entrypoint: `./setup.sh` (runs all `modules/*.sh` in order) +- To re-run a single module: `bash modules/XX-name.sh` +- All scripts must be idempotent and safe to re-run +- No traditional build/lint/test; test by running setup and checking symlinks/configs + +## Code Style & Conventions +- Bash scripts only; use `paru` for package management (never `pacman`) +- Add new packages to the relevant `modules/XX-*.sh` script +- Place new dotfiles in repo root or `.config/` as appropriate +- Symlinking logic is in `modules/02-symlinks.sh` +- Scripts must be modular: one concern per module, no duplicated logic +- Use `$HOME` and relative paths, never hardcode absolute paths +- Prefer arrays for package lists, and always quote variables +- Use `set -e` for error handling in scripts +- Follow naming: `XX-feature.sh` for modules, lowercase, hyphen-separated +- App configs (Hyprland, Waybar, etc.) go in `.config/` and use includes/fragments if possible +- All scripts and configs should be readable, commented, and extensible + +## Device Profiles +- Support multiple device types (e.g., laptop, desktop) via an environment variable or setup prompt (`DOTFILES_DEVICE=laptop|desktop`) +- Use device-specific config fragments (e.g., `monitors-laptop.conf`, `monitors-desktop.conf`) and symlink/include them conditionally +- Waybar, Hyprland, and input configs should only enable battery, backlight, wifi, and touchpad modules for laptops +- Setup scripts and symlinking logic must detect device type and use the correct configs + +## Copilot/AI Rules +- See `.github/copilot-instructions.md` for full conventions +- Never use other package managers or hardcoded paths +- All changes must be modular, idempotent, and version-controlled + +For more, see `README.md` and `.github/copilot-instructions.md`.