summaryrefslogtreecommitdiff
path: root/agent/README.md
diff options
context:
space:
mode:
authorT <t@tjp.lol>2026-05-27 16:34:32 -0600
committerT <t@tjp.lol>2026-05-27 16:35:09 -0600
commitf72b5793a5c7e7891e4904be73c0bc6bc038fa18 (patch)
tree5201aa7c6648d96b401dcbcb5343d4510b1c34e5 /agent/README.md
parent6545cdfd8f2bc865aa06a2b5515056daf58ba111 (diff)
system agent definition scaffolding
Diffstat (limited to 'agent/README.md')
-rw-r--r--agent/README.md28
1 files changed, 28 insertions, 0 deletions
diff --git a/agent/README.md b/agent/README.md
new file mode 100644
index 0000000..00e6e60
--- /dev/null
+++ b/agent/README.md
@@ -0,0 +1,28 @@
+# panto system agent tree
+
+Contents of this directory are embedded into the `panto` binary at
+build time and staged onto disk at bootstrap into
+`$PANTO_HOME/agent/` (i.e. `$XDG_DATA_HOME/panto/agent/`, or
+`~/.local/share/panto/agent/` if `XDG_DATA_HOME` is unset).
+
+The staged tree is the "system" layer of panto's extension/tool
+search path — sitting underneath the user layer
+(`$XDG_CONFIG_HOME/panto/`) and the project layer
+(`./.panto/`). Project shadows user shadows system.
+
+Files are written with `writeIfDifferent` semantics: on each
+bootstrap, embedded contents are compared against what's on disk and
+only rewritten when they differ. This keeps mtimes stable across
+reruns.
+
+The staged tree is **panto's territory** — local edits will be
+overwritten on the next bootstrap. To customize a system tool,
+override it at the user or project layer (a file with the same
+basename under `$XDG_CONFIG_HOME/panto/tools/` or `./.panto/tools/`
+shadows the system copy).
+
+## Layout
+
+ agent/
+ tools/ single-file tools, one per `.lua`
+ extensions/ (future) multi-tool extensions