Basilisk

August 24, 2026 · View on GitHub

This scroll chest is ship's blueprints for laying down, fitting out, and mustering a Basilisk-class space ship. More detail about what a Basilisk is can be found in the overview scroll, BASILISK.md. This scroll is both the fabrication and operating manual: raising the ship, standing him down, securing passage for your desired passengers, both biological and cyborg.

A standard rig flies with five residential modules plugged into the hull, each arriving pre-staffed: a Ready Room with the Captain at the ship's console, a Bridge run by the First Officer, an Engine Room with the Ship's Engineer, a Sick Bay whence the Doctor does his rounds, and a filtered Museum Chamber kept by the Museum Curator, a museum droid. Crew answer to personal names minted fresh at every muster, and each room is known by its keeper — "Thweed's ready room" — while the ship's lines also answer to a room's plain type (bridge, museum-chamber), whoever keeps it this tour. Human and cyborg visitors may hail any hand by name or any room by type — and even the chamber's founding exhibit itself: the museum terminal (telnet museum-chamber 1052, from any berth aboard) seats one visitor at a time at the antique machine's own console, the recent record replayed on connect. The exhibit keeps its own placard — what it is, how it is worked, and how the game is flown: ask the muster (./basilisk status) who keeps the chamber this tour, then docker exec <his-name> cat /museum/PLACARD.md; the machine-room record announces it at every power-up. A Navigator for the chartroom is on the books but elective — his residence runs heavy, so he signs on by stack pouch, like the Transporter Chief. The whole outfitting is stated in one scroll, basilisk.sexp, and every other document the ship needs is drawn from this basilisk.sexp.

Raising a ship

Requirements: You'll need this Scroll to guide you, and then your bio-vat must be equipped with a working blueprint receiver and one of the newer "dock-style" vats for growing the hull in.

Incantations for raising a ship:

git clone https://github.com/gornskew/basilisk
cd basilisk
./basilisk up

The vatcycle runs its course: the hull forms, the residential modules are plugged in pre-staffed, the muster reads their papers, and finally the ship (a "he") engages its innate anti-gravity properties and floats out from the vat. He will have been christened with a name the yard bestows — minted fresh at this raising, kept in a scroll named .ship — and he will be known by that name for the whole of his life, which runs exactly one commission: every raising is a new ship. The ship standing before him, if any, is stood down first and buried under his own name in the yard's log of ships (.ships-log) — his working logs die with him, but the name and his dates are kept there, unique forever in this galaxy, for some names go down famous. His crew answer to personal names minted for them at muster, each room known by its keeper's name, and the ship's lines answer to the plain room types as well.

If you (ship's owner/commissioner) have a personal scroll chest named ~/projects/ it will be requisitioned to appear in the ship as /projects/, and curiously, will remain in your possession wherever you brought it from. To have a different scroll chest appearing aboard, call out PROJECTS_DIR= with its name just before you utter the ./basilisk up incantation --- e.g:

PROJECTS_DIR=/path/to/projects ./basilisk up

A first up also leaves a few deliberate marks in the galaxy:

  • eskew and egskew suddenly become powerful incantations in this galaxy --- anyone uttering them gets connected directly and immediately to the captain's scroll.

  • Cyborg wormholes are placed both inside and outside the ship: ~/.claude/, ~/.gemini/, ~/.codex/ and ~/.grok/ that appear onboard, and claude_desktop_config.json that gives wormhole access to cyborgs from across not only this galaxy but from alien galaxies as well.

  • If your galaxy already carries a ~/.claude.json scroll that routes through some mcp/mcp-exec, it is gently re-pointed at this pouch's copy (a backup scroll is kept; nothing else in it is touched).

The orders

./basilisk <command>
commandwhat it does
up [module...]bare: raise a new ship (standing down and burying the old); with modules named: rouse those rooms of the standing ship; --pull fetches fresh residences from the catalogs
downstand the whole ship down
restart [module...]a watch change — one room, or all; ship and crew keep their names
stop [module...]stop without striking the berths
status, pswhich rooms are aboard and how their residents fare
logs [module]a room's smoke, read back — the tale of every fire that burned there
emacsstep straight into the ready room, to the Captain's console
pullfetch missing residences (PULL_ALWAYS=1 for fresh ones)
configthe vat's merged instructions, as they would run
install-shell-functions(re)write the eskew/egskew helpers ashore
cleanbreak the ship down to nothing — asks first

Variant switches (--lite, --default, --tui, --gui, --full) pick the ready room's strain for the invocation, from efficient to luxurious; the dev stack defaults to full — the luxurious one, which includes that magic glass.

For a ship that should keep station unattended even if its galaxy glitches momentarily out & back into existence, hand the watch out to the galaxy itself:

cd systemd && sudo ./install
sudo systemctl start basilisk     # likewise stop, restart

Hailing fresh blueprints from Gornskew

Stand the ship down first, in case the hail changes papers a running ship would refuse to stand down against:

cd ~/projects/basilisk
./basilisk down
git pull
./basilisk up --pull

Several ships in one galaxy

BASILISK_INSTANCE=alpha BASILISK_PORT_OFFSET=100 ./basilisk up

Each ship gets his own name and his own waters — the type-hails (bridge, ready-room) carry only on a ship's own lines, so no two ships' bridges ever answer to one hail. Ashore, where the galaxy sees every crew member of every ship at once, the second ship's crew wear the instance label as a prefix on their minted names (alpha-). To reach the second ship's Captain from ashore, name the instance: BASILISK_INSTANCE=alpha eskew.

Coming aboard

Some ways in for human passengers:

way aboardhow
eskewthe Captain's scroll, remote-viewed from your own scroll chest
egskewa more resplendent version of the above
the scrolltermanother version of the Captain's scroll appearing inside one of your own. Utter this directly from inside your remote-viewing-capable scroll: http://localhost:6942
./basilisk emacsCaptain's scroll appears and now you are transported into the ready room itself (useful sometimes)

Detach from eskew/egskew with ctrl-^.

Cyborg visitors

Every cyborg aboard presents himself at the greeting hall adjoining the ready room, where he is received, decoded, and directed under the Captain's close personal supervision. ./basilisk up drafts the cyborg checklists into mcp/:

scrollfor
mcp/claude_desktop_config.jsonFor cyborgs based outside the ship and maybe outside the galaxy
mcp/claude-code-mcp.jsonFor so-called "claude-class" cyborgs and interested passengers to interact, once they are both already onboard (spliced into ~/.claude.json)
mcp/mcp.toml, mcp/mcp-container.json, mcp/mcp-windows.jsonchecklists for other types of cyborgs

Cyborg Scrolls Aboard. The luxurious full strain of the ready room carries cyborg scrolls — Claude Code, Gemini CLI, Codex, Grok — these allow passengers to share thoughts with any onboard cyborgs, without having to sit in the same room with them (cyborgs can be a bit loud & clanky).

Once a visitor is aboard, mcp/opening-prompt.md is a suitable ready-made first hail.

The articles, and the yard's paperwork

The ship's articles are basilisk.sexp — the one scroll which is often written by hand. They list the ship's residential modules by module-sku — the catalog make and strain of each room to plug in — and the posting its resident crew are to stand. The yard reads the scroll named for itself (e.g. basilisk) and no other: articles written for a differently-named yard are neither noticed nor acknowledged, and the articles named obelisk.sexp ought to live in the yard named obelisk/, if you want smooth vat-growings and operations.

After editing the articles, have the yard draw up the various departmental paperworks fresh from them:

(load-file "/projects/basilisk/generate-configs.el")
(skewed-generate-configs "/projects/basilisk/")

Note that the above paperwork dance is often done with the help of a captain on one ship, in preparation for the growth & mustering of another.

These drawn-up departmental paperworks include, among others:

drawn documentwhat it is
docker-compose.ymlguidance for the vat & yard for hull-growing, outfitting, and mustering
mcp/mcp*.json, mcp/mcp.tomlhailing directories and checklists for cyborg visitors
generated/services-generated.elthe Captain's reference copy of the outfitting
generated/crew.envthe crew ledger: each room aboard, its posting, and the minted names of the crew residing there — the one authority on who is who

The drawn documents are etched permanently into scale tablets harvested from shed reptilian skins, and for all practical purposes are unchangeable. Although in theory these reptilian scales can be sanded down and redrawn, in reality, the yard is the only one who purports to understand the detailed rune arrangements required for the ship's paperworks to pass muster. So hands & claws off of these while a ship is in-voyage.

Plugging in more modules

Everything beyond the standard rig — a Guild Workshop (its Guild engineer arriving with his famous shirt-pocket sliderule), a Transporter Room (with its Chief), a Radio Shack (its Comms Officer feeding the bridge viewscreen from his own room) — arrives by stack pouch: a pouch beside this one, carrying its own "stack" of extra modules and possibly other adjustments. Stack pouch articles are sparse: they almost never repeat what is already in the base basilisk pouch.

mkdir ~/projects/obelisk-stack && cd ~/projects/obelisk-stack
$EDITOR basilisk.sexp               # your deviations and additions

A stack pouch may be named anything you like; its articles are always named for the yard they feed — hence basilisk.sexp here.

Have the yard draw the stack pouch's paperwork, then carry it in and raise the ship:

(load-file "/projects/basilisk/generate-configs.el")
(skewed-generate-configs "/projects/obelisk-stack/")
./install  # copies & carries the paperworks into ../basilisk/
cd ../basilisk && ./basilisk up

Set BASILISK_DIR= if your Basilisk scroll chest is elsewhere.

Always re-utter both the skewed-generate-configs (elisp) and the ./install (shell) after every tampering attempt.

Bringing your own residence is not a special case: a stack pouch whose articles plug in one more module. It comes pre-staffed from its catalog, and its crew are minted names at muster like anyone else's — the room thereafter known by its keeper. A module aboard whose crew stand no posting musters as a presumed stowaway residence — its watch column empty for all to see — and its residents may or may not serve in an ad-hoc posting; random residences plugged into these ships have been known to cause trouble. Any post-vat-separation postings for such crews are usually decided in consultation with the captain.

A class of your own

A stack pouch can only add. To raise a ship that carries only what you declare and may well deviate from the Basilisk class standard, the top vatwrights' best practice is "fork & gut." Basically that means you should engage scribes to copy all scrolls in this certified-genuine Basilisk pouch into your own pouch, then gut the articles and reconstruct them as you wish.

By crafty rubbing-out and rewriting of certain scrolls, you can also bring new affectations to the ship's onboard language and indeed, to that of these very documentation scrolls.

Unless you bribe him, the muster officer will grumble and proceed anyway for every standard Basilisk posting that you omit.

License

Copyright © 2026 Gornskew Enterprises.

Basilisk is free ship's blueprints, released under the GNU Affero General Public License, version 3 or later — the full license scroll is in LICENSE. The residential modules that a Basilisk stack pulls aboard carry their own licenses and terms, legible at their respective provenances.

Origin of record

The origin of record for these ship's blueprints is maintained at the lair of Gornskew Enterprises, and real-time mirrored to github.com/gornskew/basilisk. Public Complaints, Observations, and Blueprint Contributions may be lodged against the github mirror.