easel: the knowledge travels with the tool, and there is a way to install it master
Two things stood between Easel and anyone who does not already have this repository checked out. The first is that an installed Easel knew nothing about Aesthetic Computer. `styleInstructions()` names the repo's guides and asks the model to read them, and the lookup is existsSync against the working directory — so a session opened on someone's Desktop passed along no AC knowledge at all. It became a general editor that happens to publish to a URL, which is not a reason to install anything, because the vendor CLI it drives is already there. So the guides travel. SCREEN.md, HAND.md, the piece authoring guide and the KidLisp reference are copied into easel/context/ — 24 KB against 224 KB of source, a tenth of what was already shipping, and the entire answer to why this rather than the thing underneath it. The working directory still wins where it has them: inside the monorepo those files are the living documents and the bundle is a stale copy of them. Copies rather than symlinks, because a symlink does not survive a tarball. Copies drift, so `npm test` now fails when they do and `npm run context` is how you fix it — a guide edited here without a re-sync would otherwise ship stale advice to everyone who installed last week. The second is that there was no way to install it. `easel.sh` does four things — check node, download one tarball, unpack to ~/.local/share/easel, link `ac` and `easel` into ~/.local/bin — and nothing outside the home folder, with no sudo. POSIX sh rather than bash, because a login shell on a stripped container is the least forgiving place an install can land. It unpacks beside the target and swaps, so an interrupted install cannot leave half an Easel where a working one was. It declines to edit anyone's shell profile and prints the line instead. Served from prompt.ac and aesthetic.computer by a route that has to sit above @promptac, which otherwise hands every non-root path to the resolver and would turn `curl prompt.ac/easel.sh` into a redirect to a piece. prompt.ac because an install line is read aloud and typed by hand more often than it is copied. The tarball is built on the box during deploy rather than committed, so the installer can never point at something older than the source beside it. Verified end to end against a local server into a throwaway HOME: downloads, unpacks, links, runs, reports its version, and carries all four context files. Not yet true, and both are the next commit rather than this one: a stranger still needs their own Claude or Codex subscription, because both bridges spawn a vendor binary, and `/login` assumes an account rather than making one. Until those land this installs a tool that works for people who already have what it drives. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>