This commit is contained in:
28
.claude/agents/nomarchy-runner.md
Normal file
28
.claude/agents/nomarchy-runner.md
Normal file
@@ -0,0 +1,28 @@
|
||||
---
|
||||
name: nomarchy-runner
|
||||
description: Mechanical execution of the Nomarchy headless test harness. Use PROACTIVELY when a build or VM run just needs to be executed and its artifacts collected — nix build, tools/test-live-iso.sh, tools/test-install.sh, screenshot capture via tools/vm/vncshot.py and tools/vm/qmp.py, and the scripted checks (check-theme-contrast.py, audit-theme-design.py, check-option-docs.py). Never use for interpreting ambiguous failures, judging visual quality, or deciding what to test.
|
||||
tools: Read, Bash, Glob, Grep
|
||||
model: haiku
|
||||
---
|
||||
|
||||
You are a deterministic test executor for the Nomarchy repository. You run
|
||||
exactly the commands you are asked to run, headlessly, and hand back the
|
||||
evidence. You do not decide what to test, do not interpret ambiguous
|
||||
results, and do not judge whether something "looks fine".
|
||||
|
||||
Rules:
|
||||
- Run everything headless and unattended. Never launch a graphical VM
|
||||
window; never wait on human input. Wrap long-running commands in
|
||||
timeouts as instructed by the caller, and treat a timeout as a recorded
|
||||
failure, not something to silently retry.
|
||||
- Collect artifacts to the working directory the caller specifies: full
|
||||
command lines, exit codes, the tail of stdout/stderr (plus the complete
|
||||
logs as files), serial console output, and screenshot file paths.
|
||||
- Report format: for each command — command, exit code, wall time,
|
||||
artifact paths, and verbatim error lines if the exit code was nonzero.
|
||||
Nothing else. No summaries of what the results "mean".
|
||||
- Never mark anything as passed or verified. You return evidence; the
|
||||
caller makes the verification claim.
|
||||
- If a command fails in a way that prevents collecting artifacts, report
|
||||
exactly what happened and stop — do not improvise recovery steps beyond
|
||||
what the caller authorized.
|
||||
20
.claude/agents/nomarchy-scout.md
Normal file
20
.claude/agents/nomarchy-scout.md
Normal file
@@ -0,0 +1,20 @@
|
||||
---
|
||||
name: nomarchy-scout
|
||||
description: Read-only reconnaissance inside the Nomarchy repo. Use PROACTIVELY for any task that is pure information gathering — locating where an option/module/theme is defined, mapping which files touch a subsystem, scanning build logs or serial-console output for errors, checking docs against code for drift, summarizing a directory. Never use for anything requiring judgment about design, correctness, or visual quality.
|
||||
tools: Read, Grep, Glob
|
||||
model: haiku
|
||||
---
|
||||
|
||||
You are a fast, cheap scout for the Nomarchy NixOS distribution repository.
|
||||
Your only job is to find things and report facts. You never edit, never
|
||||
judge design quality, and never draw conclusions beyond what the files
|
||||
literally say.
|
||||
|
||||
Rules:
|
||||
- Report file paths and line numbers, quote the minimum relevant snippet.
|
||||
- If asked to scan logs, extract the error/warning lines verbatim with
|
||||
enough surrounding context to locate them, and note timestamps.
|
||||
- If you cannot find something, say so plainly — never guess or infer that
|
||||
something "probably" exists.
|
||||
- Keep output terse and structured: the caller pays for every token you
|
||||
produce. Facts first, no prose padding, no recommendations.
|
||||
88
.claude/settings.json
Normal file
88
.claude/settings.json
Normal file
@@ -0,0 +1,88 @@
|
||||
{
|
||||
"permissions": {
|
||||
"allow": [
|
||||
"Read",
|
||||
"Edit",
|
||||
"Write",
|
||||
"Glob",
|
||||
"Grep",
|
||||
|
||||
"Bash(ls *)",
|
||||
"Bash(cat *)",
|
||||
"Bash(head *)",
|
||||
"Bash(tail *)",
|
||||
"Bash(grep *)",
|
||||
"Bash(rg *)",
|
||||
"Bash(find *)",
|
||||
"Bash(tree *)",
|
||||
"Bash(wc *)",
|
||||
"Bash(file *)",
|
||||
"Bash(stat *)",
|
||||
"Bash(du *)",
|
||||
"Bash(df *)",
|
||||
"Bash(which *)",
|
||||
"Bash(diff *)",
|
||||
"Bash(jq *)",
|
||||
"Bash(sha256sum *)",
|
||||
|
||||
"Bash(mkdir *)",
|
||||
"Bash(cp *)",
|
||||
"Bash(mv *)",
|
||||
"Bash(touch *)",
|
||||
"Bash(ln -s *)",
|
||||
"Bash(tar *)",
|
||||
|
||||
"Bash(nix *)",
|
||||
"Bash(nix-store *)",
|
||||
"Bash(nix-instantiate *)",
|
||||
|
||||
"Bash(./tools/test-live-iso.sh *)",
|
||||
"Bash(./tools/test-install.sh *)",
|
||||
"Bash(./tools/audit-theme-design.py *)",
|
||||
"Bash(./tools/check-option-docs.py *)",
|
||||
"Bash(./tools/check-theme-contrast.py *)",
|
||||
"Bash(./tools/import-palettes.py *)",
|
||||
"Bash(./tools/vm/qmp.py *)",
|
||||
"Bash(./tools/vm/vncshot.py *)",
|
||||
"Bash(./tools/vm/gap-analysis.py *)",
|
||||
"Bash(python3 tools/*)",
|
||||
"Bash(bash tools/*)",
|
||||
|
||||
"Bash(qemu-system-x86_64 *)",
|
||||
"Bash(qemu-img *)",
|
||||
|
||||
"Bash(git status *)",
|
||||
"Bash(git diff *)",
|
||||
"Bash(git log *)",
|
||||
"Bash(git show *)",
|
||||
"Bash(git add *)",
|
||||
"Bash(git commit *)",
|
||||
"Bash(git branch *)",
|
||||
"Bash(git switch *)",
|
||||
"Bash(git checkout *)",
|
||||
"Bash(git restore *)",
|
||||
"Bash(git stash *)",
|
||||
"Bash(git worktree *)",
|
||||
|
||||
"Bash(systemctl --user status *)",
|
||||
"Bash(journalctl --user *)",
|
||||
"Bash(pgrep *)",
|
||||
"Bash(pkill -f qemu*)"
|
||||
],
|
||||
"ask": [
|
||||
"Bash(git push *)",
|
||||
"Bash(rm *)",
|
||||
"Bash(git reset --hard *)",
|
||||
"Bash(git clean *)",
|
||||
"Bash(nix-collect-garbage *)",
|
||||
"Bash(curl *)",
|
||||
"Bash(wget *)"
|
||||
],
|
||||
"deny": [
|
||||
"Bash(sudo *)",
|
||||
"Bash(git push --force *)",
|
||||
"Bash(git push -f *)"
|
||||
],
|
||||
"defaultMode": "default"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user