From ebeac0da6a17ced19f21cf513ae064ee85784fc8 Mon Sep 17 00:00:00 2001 From: Levi Neely Date: Fri, 20 Feb 2026 00:25:27 +0100 Subject: [PATCH] Add 'Why 9P?' section Explains design rationale: orchestration as file manipulation Benefits: simplicity, universal access, composability Placement: after Architecture, before Requirements Addresses the 'why this obscure protocol' question upfront --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index 53af321..2d24481 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,10 @@ **Clients:** Assist (Acme), anvillm.el (Emacs), anvillm (TUI), anvilweb (web) **Benefits:** Shared sessions, crash-resilient, scriptable via 9P, service integration, MCP support +## Why 9P? + +AnviLLM uses 9P because orchestration becomes file manipulation (`read`, `write`, `ls`, `stat`). Benefits: simplicity, universal access (shell, C, Go, Python, `cat`, `echo`), and composability (Unix pipes, `grep`, `awk`, `jq`). The only requirement is a 9P client (plan9port's `9p` or compatible). + ## Requirements Go 1.21+, plan9port, tmux, [landrun](https://github.com/zouuup/landrun) (kernel 5.13+), backend ([Claude Code](https://github.com/anthropics/claude-code) or [Kiro](https://kiro.dev))