Asi libghostty-embed
libghostty terminal embedding for per-vat REPLs with Goblins integration
install
source · Clone the upstream repo
git clone https://github.com/plurigrid/asi
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/plurigrid/asi "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/libghostty-embed" ~/.claude/skills/plurigrid-asi-libghostty-embed && rm -rf "$T"
manifest:
skills/libghostty-embed/SKILL.mdsource content
libghostty-embed Skill
Trit: +1 (PLUS - terminal output producer) Level: 4 (EXPERT) Header:
~/worlds/b/bmorphism/trittty/include/ghostty.h
Core Types
typedef void* ghostty_app_t; typedef void* ghostty_surface_t; typedef void* ghostty_config_t;
Per-Vat Terminal
Each Goblins vat gets its own
ghostty_surface_t:
pub const VatTerminal = struct { surface: c.ghostty_surface_t, vat_id: []const u8, trit: i8, // GF(3) phase };
GF(3) Triplet
vat-minus (⊖ -1) × vat-zero (⊙ 0) × vat-plus (⊕ +1) = 0 ✓
Canonical Triads
move-contract (-1) ⊗ qualia-bank (0) ⊗ libghostty-embed (+1) = 0 ✓ zig-programming (-1) ⊗ nickel (0) ⊗ libghostty-embed (+1) = 0 ✓
Interaction Modes
| Mode | Goblins Syntax | Terminal |
|---|---|---|
| inside_sync | | Same surface |
| outside_async | | Route between surfaces |
| outside_remote | sturdyref | CapTP network |
Autopoietic Marginalia
The interaction IS the skill improving itself.
Every use of this skill is an opportunity for worlding:
- MEMORY (-1): Record what was learned
- REMEMBERING (0): Connect patterns to other skills
- WORLDING (+1): Evolve the skill based on use
Add Interaction Exemplars here as the skill is used.