Skip to content

Releases: i098/Crewship

v0.4.2

Choose a tag to compare

@i098 i098 released this 11 Oct 12:47
Immutable release. Only release title and notes can be modified.
e83df36

Added

  • npx crewship update installs the newest release over a host, keeping its .local/ files, and migrates a v0.4.0 host's tool links and removed host.yml keys first; the README says so (#284) (#284).
  • The crewship.si harbor plays positional ambient sound after the first click or tap: sea and surf, the fountain, wind in the trees, the ship's creaking timbers, fire in the rooms, and distant gulls, each fading with distance, with a speaker button that mutes it and remembers the choice (#287).

Changed

  • The harbor island now rises into gentle, slope-shaded hills with curving dirt roads, and its grass, sand and roads blend without square patches (#203).
  • The harbor ship's deck stairs are now a steep companionway ladder with thick handrails on posts, and the ship's wheel stands on the cabin roof with eight handled spokes, a hub, and a pedestal.
    The upright wheel now runs across the ship, with its axle along the keel and its handles and hub cap pointing aft toward the helmsman.
    Keyboard and touch movement now use short segments so slow frames do not skip the ladder treads.
    The exterior now reduces glyph detail during slow rendering or missed frames to keep the stern scene responsive.
    The CI checks now cover exterior and interior detail adaptation and use fixed grids for browser geometry checks (#222).
  • CI runs the Python tests in parallel with pytest-xdist, splits the slow harbor scene test into six parts, overlaps the shared Postgres smoke with the tests, and runs only the iMessage tests, plus a short core, for a pull request that changes only imessage/ (#269).
  • README setup is one line to paste into your AI, and Opus 5.5 falls back to Fable 5.1 at medium thinking (#274).
  • The harbor scene now starts zoomed out like Cmd-minus once and stays that way while you walk: glyphs are 0.9 times as tall up to 2560 by 1440 stages (larger stages get taller glyphs to cap the cell count) and drawn on whole device pixels, and a slow outdoor frame casts every other row instead of growing the glyphs (only a touch device whose fields and shadows are already off may grow them, up to 1.5 times, and they shrink back when frames are fast) (#278).
  • The README puts How it works below Quick start, and its Show all features and Default config lists moved to docs/features.md and docs/default-config.md (#280).
  • The daily sponsors workflow and its script are removed, because the README has no Sponsors section for them to fill (#282) (#282).
  • The harbor's house windows, ship cabin windows and gun ports are now openings you see through both ways: the outside from inside each room, and the lit room from outside (#291).
  • The README and the crewship.si landing page link each feature and section to its docs page again, and the Architecture page is linked from both (#293) (#293).
  • README tagline is now "This makes it super easy to start using agents in the cloud, enjoy!", and the landing page and npm package descriptions match it (#296).
  • The pr-preview skill renders every board in GitHub dark mode only (#304).
  • The harbor's how page now leads with a plain explanation that the scene is drawn natively by a ray caster on a 2D canvas, with a step diagram, the shapes used and measured frame costs (#311).
  • On a desktop, the harbor on crewship.si now casts and draws its rows in web workers on the other cores, so slow frames never cost rows, shadows or glyph size; only a slow phone turns shadows off and then grows glyphs, never past 1.5 times (#314).
  • Sync the recipe with the current host: the home model runs Opus 5.5 at high thinking, OpenAI requests use the priority tier, ordinary crew work goes to Sonnet 5.5 first and to Sol 6.1 only when the Anthropic quota is exhausted, and secondmates run Opus 5.5 at medium thinking (#334).

Fixed

  • The night clouds now use soft, wind-stretched noise with holes, tapered cumulus sides, cached moon-side light, and dim stars through thin cloud (#223).
  • The installer installs GitHub's source archive of the tag, after checking its commit against the tag, when a release has no install artifact; releases are immutable, so the release steps now attach the artifact to the draft before publishing (#265).
  • Pushes to main no longer cancel each other's CI runs, so the README badge reflects the latest run (#276).
  • The pre-rename migration no longer stops crewship update on a v0.4.0 host: the share directory the installer already created (releases, tools, lock file) no longer counts as a clash, and the old directory is merged into it (#284) (#284).
  • Fence posts and signs in the harbor scene keep level ground under them again: trees no longer build the ground-seating grid before the rest of the scenery stands (#288).
  • The harbor page footer keeps its Architecture link, and the code-quality gate no longer reports a coupling regression for it (#298).
  • The harbor page now gives every scene object a doc sign, so the iPhone WebKit check passes again, and a sign with no entry no longer throws (#300).
  • Inside the ship's cabin on crewship.si, the ambient sound now comes from the right place: the listener and the cabin lantern use the world position and heading, not the room's own turned frame (#322).
  • CI no longer starts two runs for one PR head when a label is added; the changelog check now runs as its own workflow (#330).

v0.4.1

Choose a tag to compare

@i098 i098 released this 11 Oct 04:02
Immutable release. Only release title and notes can be modified.
f6a867c

Added

  • The iMessage bridge can use self-hosted BlueBubbles relays on Macs, alone or as the fallback line when Photon fails, with relay failover, no double sends, and de-duplicated inbound messages (#62).
  • Firstmate briefs add optional crew board instructions, and supervisor start output adds a read-only subscription step while the status file remains the durable ledger (#120).
  • The harbor plaza has a stone fountain with flowing water, a solid basin, and a mini map marker (#134).
  • Visitors can enter the harbor house, explore a warmly lit ASCII room, and walk back outside with keyboard or touch controls.
    See the house guidance for controls and the frame loop for adaptive detail (#153).
  • fm-imessage --reply N checks ordered history across BlueBubbles relays; plain sends never thread, and --no-thread forces plain (#156).
  • The harbor hides the initial page text and adds a skippable ASCII noise intro that fades in from black and respects reduced motion (#158).
  • Add opt-in shared Postgres with Docker access checks, TCP readiness, per-project databases and roles, and private environment files for serialized worktree seeding (#164).
  • The harbor ship's cabin is detailed and opens onto a furnished room, and its deck stairs have real treads, risers, and hand rails (#194).
  • Visitors can climb down a lantern-lit hatch on the pirate ship to a gun deck with a cannon on a wheeled carriage at every gun port, racks of round shot, dark cross-beams, and the moonlit sea outside the ports, and climb back up with keyboard or touch controls (#196).
  • The crewship.si night sky has three layers of moonlit clouds that move with the wind and pass in front of the moon and the stars (#198).
  • Links to https://crewship.si show a link preview: the title, the tagline, and a 1200x630 image of the ship, the house, and the moon drawn by the landing page's own renderer, with a new favicon and an apple-touch-icon (#200).
  • The harbor island has tufts of tall grass that sway in the wind, densest along path edges and on the beach slopes, and still with reduced motion (#204).
  • The harbor house shows four framed public-domain paintings by Hokusai, Vernet, Aivazovsky, and Turner, drawn as glyphs with brass name plaques (#226).
  • Crewship installs checksum-verified Pyrefly musl releases on every host for Python type checks and language-server support (#231).
  • Every host gets verified Neovim, compiler prerequisites, and a LazyVim/Pyrefly starter for missing or empty configuration directories, while other paths remain unchanged (#232).
  • A public skill, code-clarity (MIT, by Lakr233), for readable code: naming, early return, abstraction levels and class design. Vendored unchanged from Lakr233/code-clarity at commit a0d5802 (#233).
  • A public skill, pr-preview, that builds a Lavish board recreating the GitHub PR, issue or comment page before it is posted: the header with "wants to merge N commits into base from fork:branch", the body rendered by GitHub's Markdown API with the Primer Markdown CSS (vendored from github-markdown-css, MIT), and Commits and Files changed tabs from the real branch (#236).
  • Add an optional --rules contribution rules cross-reference table to the pr-preview skill (#247).

Changed

  • Breaking: renamed the config keys and variables to Crewship names, with no aliases. ship.sh rewrites an old host config once, keeps a private backup beside it, and prints a notice. Update these names by hand: Compose, devcontainer, and image FACTORY_USER, FACTORY_UID, FACTORY_GID, FACTORY_HOME, FACTORY_WORKSPACE, CODE_FACTORY_TAG, CODE_FACTORY_SECRET_DIR, CODE_FACTORY_ROOT, CODE_FACTORY_CONFIG, CODE_FACTORY_IMAGE are now CREWSHIP_USER, CREWSHIP_UID, CREWSHIP_GID, CREWSHIP_HOME, CREWSHIP_WORKSPACE, CREWSHIP_TAG, CREWSHIP_SECRET_DIR, CREWSHIP_ROOT, CREWSHIP_CONFIG, CREWSHIP_IMAGE; the Docker build argument FACTORY_CONFIG is now CREWSHIP_CONFIG_FILE; direct ansible-playbook -e factory_* overrides are now crewship_*, and code_factory_repo is now crewship_repo (#97).
  • Breaking: renamed the on-host paths and unit names from code-factory to crewship, with no aliases: for example ~/.local/share/crewship, ~/.cache/crewship, ~/.local/state/crewship, /usr/local/lib/crewship, crewship-vnc.service, crewship-novnc.service, the omp extensions crewship-herdr-sidebar.ts and crewship-quality-gate.ts, the Compose project and image crewship/worker, /opt/crewship in the image, and the Firstmate patch trailer Crewship-Patch. The playbook migrates an existing install once: it stops and removes the old units, moves the old paths to the new names, and then installs and enables the new units; a second apply changes nothing. Compose and devcontainer volumes get new names; copy their data by hand (#98).
  • The CI runner label is now crewship (#99).
  • Crewship adds tiered crewmate models, verified Pi-only gate selection, and Codex long-context overrides that preserve user configuration across YAML and legacy JSONC formats (#110).
  • The harbor house now has roof and wall trim, framed warm windows with sills, and a framed door with a step.
    The house trim preserves Releases targeting, the feature anchor, collision bounds, and map cells (#135).
  • The harbor island has varied paving, stones and grass tufts, textured trees, and a clearer shoreline with foam and rocks (#136).
  • Document the release version policy: patch bumps only, with minor or major bumps requiring owner approval (#137).
  • Crewmates use per-task model tiers with Sonnet 5.5 or GPT-6.1 Sol as the default, and the README checks these tiers against config/crew-dispatch.json (#138).
  • The harbor ship has a larger tapered hull, two square-rigged masts with pale sails, a pirate flag, cannons, railings, and warm lanterns.
    Map walks from the dock and ship use supported gangway and stair connections and avoid deck obstacles in both directions.
    Ship cloth shading uses a separate path to keep the structural complexity gate clean (#154).
  • The mobile harbor joystick now sits at the bottom-left with safe-area spacing, while touch look remains available on the right (#155).
  • Harbor pop-ups now use short ASCII signs with clickable grid links and off-screen keyboard and screen reader access.
    The docs link opens the feature index.
    Signs reflow on narrow phones and use compact scene placement when no clear rectangle fits.
    Compact signs keep their links clear of the touch move pad.
    Keyboard link focus closes the map and cancels pending automatic selection (#159).
  • Replace architecture prose with six diagrams and preserve the detailed reference for agents with updated section links (#160).
  • The crewship.si scene runs at a higher frame rate: it tests only the objects each part of the screen can see and redraws only changed cells (#161).
  • The README features section now uses a distinct label for its collapsed list (#186).
  • One scene wind fills the harbor ship's sails into gently moving curved bellies with taut sheets. A black skull-and-crossbones flag and the pennants stream with it (#195).
  • The harbor house room now has a fireplace with a fire, a bookcase, chairs, an armchair, sea charts, crates, a sea chest, potted plants, and a rug (#197).
  • The README footer now lists documentation links with short, readable labels (#199).
  • The iMessage desk now requests Luna 6 for memory compaction with thinking off and the priority service tier, without changing the desk model (#218).
  • The harbor's oak, lime, and birch trees have tapered trunks that branch into ragged clumps of leaves, with gaps that show the sky.
    The palms have curved, ringed trunks and drooping fronds of many leaflets, and all trees sway in the scene's wind (#227).
  • Skip heavy CI jobs on documentation-only pull requests while required checks still report.
    Keep classification and changelog failures blocking through an existing required check, and keep the quality gate PR-only (#250).
  • The installer downloads and verifies a release tarb...
Read more

v0.4.0

Choose a tag to compare

@i098 i098 released this 10 Oct 01:32
Immutable release. Only release title and notes can be modified.
4f42543

Added

  • Default omp rules: rules/public/ (committed) and rules/private/ (git-ignored) rule files, installed to omp's global rules folder by the agents profile with the skills installer; skills.private_source also fills rules/private/ from the rules/ folder of that source, a private rule wins over a public one of the same name, and rules added by hand are never touched.
    The browser rules install only when fleet_browsers or fleet_guards enables the ladder; disabling it removes only manifest-owned copies (#89).
  • Opt-in crew board configuration now exports CREWBOARD_SOCKET to new shells and Herdr agents (#119).

Changed

  • Renamed the repository-only names that still said factory: containers/factory.container.yml is containers/crewship.container.yml, schemas/factory.schema.json is schemas/crewship.schema.json (with its $id), the Python project is crewship, and the docs say Crewship; host config keys, paths and unit names do not change (#96).
  • README: the Features list shows each opt-in feature with an "(opt-in)" tag, and a new collapsed Default config part lists what a fresh host gets; tests/test_readme.py checks both against the host config schema, config/default.yml, and config/omp.yml (#100).
  • The README puts documentation links in the Features list and links issue forms from its footer (#108).

Fixed

  • harbor/: the island ground has no square patches of bare earth, moss or flowers; the grass mixes its greens blade by blade and the flowers are small dots (#81).
  • The npm publish workflow no longer fails when the release PR already set npm/package.json to the release version; it checks that the version matches the tag and stops with an error before the publish when they differ (#122).
  • Fixed Python test collection by loading the renamed Crewship schema in the README checks (#129).

v0.3.0

Choose a tag to compare

@i098 i098 released this 10 Oct 00:44
Immutable release. Only release title and notes can be modified.
63df5c5

Added

  • Optional skills.private_source host setting (a local directory or a git URL, with an optional skills.private_ref) that fills skills/private/ before the skills install; git uses the account's own sign-in, without the setting nothing is fetched, and removing it removes the skills an earlier fill added (#57).
  • README: a Built with section that lists each third-party project Crewship installs or builds on, with a link and its license (#73).
  • Eleven public skills in skills/public/ with general working rules: code navigation, engineering standards, git and PR habits, IEEE documentation, operating rules, Opus speed, process safety, progress bars, quality gates, talk style, and tooling conventions; a test fails when a public skill holds a private detail such as a home path, an email or a host address (#85).
  • Generic global instructions in config/AGENTS.md, installed by the agents profile as ~/.claude/CLAUDE.md, ~/.omp/agent/AGENTS.md and ~/.codex/AGENTS.md; a file changed on the host is moved to a timestamped backup first, and an unchanged apply changes nothing (#86).
  • Optional crew board (factory.board, ./ship.sh dock --board, or a new-host question): apply builds crewboard/ with cargo and runs it as the user service crewboard.service with a memory limit; without the key, apply stops and removes the service and the binary (#95).

Changed

  • Each pull request adds its changelog entry as its own file, changelog.d/<issue>.<type>.md, and no longer edits CHANGELOG.md, so pull requests that run at the same time do not conflict; the release step assembles the files into CHANGELOG.md with towncrier build, and CI fails a pull request without a fragment unless it has the no changelog label (#90).
  • README: the install part is labeled command blocks, and host sizing is one sentence (#91).
  • Deployments link each GHCR image push to the package page and each landing page deploy to https://crewship.si instead of its workers.dev address (#102).
  • The README tagline, the landing page description, and the npm package description are now "Orchestrate hundreds of agents effortlessly - hardware is the limit." (#105).
  • The README now links to CREDITS.md for the full third-party list (#115).

Fixed

  • npx crewship --help and install.sh --help print the usage and change nothing; a bad option prints the usage and exits with an error (#94).

v0.2.0

Choose a tag to compare

@i098 i098 released this 09 Oct 23:26
Immutable release. Only release title and notes can be modified.
13707a3

Added

  • README screenshot of a finished host, captured from demo repositories (#35).
  • Git conventions and branch rules in CONTRIBUTING.md, issue forms, a pull request template, SUPPORT.md, and CODEOWNERS for .github/ (#47).
  • Sponsor button on the repository page, from .github/FUNDING.yml, that opens the i098 GitHub Sponsors profile (#59).
  • Optional GitHub board (factory.github_board): a user timer mirrors Firstmate work items to issues in a repository you choose, keeps a Project Status field in step (queued, in progress, in review, done), and posts new status lines as batched issue comments. The new-host questions ask whether to turn it on; without the key the host makes no GitHub calls for it (#45).
  • README: a centered header with a badge row and short links, a Why Crewship list, a collapsed Features list, a Get a machine part with sizing, a Sponsors section, and a star-history chart; SECURITY.md, CODE_OF_CONDUCT.md, and a 1280x640 social preview image (#39).
  • skills/public/ (committed) and skills/private/ (git-ignored) skill folders, installed for omp and Claude Code by the agents profile; a private skill wins over a public one of the same name, and skills added by hand are never touched (#56).
  • Each release publishes the worker container image to the GitHub Container Registry as ghcr.io/i098/crewship:X.Y.Z and :latest, so the repository page lists it under Packages (#54).
  • README sponsor list: a daily sponsors workflow writes the GitHub Sponsors of i098 into the Sponsors section and opens one pull request when the list changes; while there are no sponsors, the "be the first" line stays (#68).
  • One-command install for a fresh Ubuntu machine: install.sh (curl … | bash) and the crewship npm package (npx crewship), published from each release with npm trusted publishing (#40).

Changed

  • The license is now FSL-1.1-Apache-2.0 (SPDX FSL-1.1-ALv2), not MIT: each version becomes Apache 2.0 two years after its release, and releases up to and including v0.1.0 stay MIT (#50).
  • Breaking: the fleet guard units are now crewship-*, not flotilla-*; apply stops and deletes the old units, except that the old shared Supabase unit is deleted without being stopped, so the shared stack keeps running through the rename. The Docker guard is general and runs every hour: it removes stopped containers 24 h after they exit and reports running ones 48 h old (fixed), and it never touches a container with the crewship.keep label or a restart policy, volumes or images. It no longer removes second Supabase stacks; docker-guard-allow.txt is deleted. Tune the stopped age with fleet.docker_guard.stopped_hours (#43).
  • Breaking: renamed the entry points and scripts to nautical names, and the old names no longer exist: bootstrap.sh is onboard.sh; factory is ship.sh, with init, validate, plan, apply, doctor now dock, inspect, chart, launch, survey; scripts/factory.py, install_tools.py, push-super-env.sh, fetch-super-env.sh are now ship.py, provisions.py, stow-secrets.sh, fetch-secrets.sh. Update notes and scripts that use the old commands (#44).
  • Renamed the project to Crewship; the repository is now i098/Crewship (#38).
  • README screenshot now shows a real Herdr session with Firstmate, with the other project names and agent text changed to generic examples (#35).

Fixed

  • scripts/stow-secrets.sh no longer fails with maximum_secrets_exceeded once super.env has more than 100 variables: it stores the whole file in a few chunks instead of one secret per variable, and it deletes the per-variable secrets the chunks replace. On a full store it deletes just enough of them before creating the chunks, so fetches can fail for a few seconds during that one push (#58).
  • The worker image and the compose backing services pull from mirror.gcr.io, Google's Docker Hub mirror, so the CI image build no longer fails on Docker Hub's anonymous pull limit (429 Too Many Requests); the images are the same official ones (#63).
  • The iMessage bridge no longer loses messages when the Photon service is down: every send and tapback, including the desk's and the "firstmate did not get that" reply, goes to a durable outbox that retries transient errors with backoff and keeps the order, failed attachment downloads are retried and their note is filed again with the saved path, an item that can never pass moves to a dead-letter folder instead of blocking the queue, typing errors never fail a send, and an UNAVAILABLE reply is logged as one line (#61).
  • The iMessage bridge no longer drops the owner's edited texts: each edit becomes a new inbox note, [edited] <new text> (was: <old text>), that wakes Firstmate; when the bridge does not know the old text, the note says so (#80).

v0.1.0

Choose a tag to compare

@i098 i098 released this 09 Oct 18:51
6a05ae9

Added

  • Ansible recipe and factory CLI (init, validate, plan, apply, doctor) that turn a fresh Ubuntu host into an AI-agent coding host: Herdr, Firstmate, the omp agent fleet, fleet guards, Docker, and the Concord and slk chat clients, from latest checksum-verified releases.
  • herdr-patch command that removes Herdr's opaque background fill over mosh and restores mosh images (#2, #9).
  • Fleet-browser VNC tier packages (#7).
  • Optional data disk for the Docker data root and the npm and pip caches (#14).
  • gws install and multi-account Google sign-in docs (#15).
  • Self-hosted CI pool of just-in-time GitHub Actions runners (#16).
  • dia-debug: keeps Dia running on a Mac with a prompt-free CDP port (#18).
  • Optional iMessage bridge to Firstmate over Photon Spectrum, with a persistent compressed chat memory for the front desk (#22, #26).
  • sentrux and fallow quality gate for omp agents and CI (#32).

Changed

  • Recipe synced with the running host: chat profile, inotify limit, omp and Herdr settings (#10).
  • README shows Concord and slk in the default install (#21).

Fixed

  • herdr-mosh is installed from herdr-patch and linked into /usr/local/bin (#4).
  • iMessage front desk waits a 4-second quiet period, sends multi-bubble replies, and keeps the full intake (#25, #28).
  • Firstmate inbox wake patches apply on top of upstream main (#30).