Skip to content

Releases: yahyabedirhan/shipyard

shipyard 0.8.1

Choose a tag to compare

@yahyabedirhan yahyabedirhan released this 22 Oct 13:13
15cc3b4

shipyard's logo: a white folded-paper sailboat on a dark graphite tile

shipyard 0.8.1

shipyard is a macOS menu bar app for keeping up with your projects while your agents work: your pull requests, issues, workflow runs, pings from your agents and notes, grouped by project, in one list in the menu bar. 0.8.1 brings back the colours of the state icons in the default theme, and stops ntn runs on Linux from holding each other's pipes.

Highlights

  • State icons in colour again. The Shipyard theme draws an open pull request or issue green, a merged pull request or a closed issue purple and a closed pull request red, in light and dark, as before 0.8.0; a draft stays grey. Graphite does the same in its own green, violet and red, and Harbor follows Shipyard. If you wrote a theme file only to colour the state icons, you can delete it.
  • ntn runs no longer hold each other's pipes. On Linux, one ntn run's output pipe could leak into a program another run started at the same moment, so a run could wait until that program ended. The pipes are now closed in new programs, and a stopped run stops the programs it started.
  • Easier-to-scan docs. The README is split into short sections with plain titles, and the website's code has its own design document.

Install

You need macOS 14 or later and a GitHub account, connected either way:

  • Sign in with GitHub from the panel. After an update, macOS may ask once whether the new copy may use shipyard's Keychain item for the GitHub token; choose Always Allow.
  • Or the GitHub CLI, signed in; shipyard picks up its token on its own.
  1. Download Shipyard-0.8.1-macos.zip below and unzip it.
  2. Move Shipyard.app to /Applications, replacing the old copy if you have one (quit it first).
  3. Open it. shipyard lives in the menu bar; it has no Dock icon.

The app is ad-hoc signed and not notarized, so macOS Gatekeeper blocks the first open. To get past it:

  • macOS 14: right-click Shipyard.app and choose Open, then Open again.
  • macOS 15 and later: open it once and dismiss the warning, then go to System Settings → Privacy & Security and click Open Anyway.
  • Or, from Terminal: xattr -dr com.apple.quarantine /Applications/Shipyard.app, then open it as usual.

Then update the shipyard skill (npx skills update shipyard -g). On a Linux machine, reinstall the herdr-shipyard plugin (herdr plugin install yahyabedirhan/herdr-shipyard -y) for the 0.8.1 shipyard.

Known limitations

  • Not notarized, macOS only for the app, with one GitHub.com account, and read-only on GitHub.
  • shipyard notes check prints text only.
  • A notice sent over the tailnet can't carry a Herdr click, and the poll route drops a notice's image.
  • App control can't click, hover or capture the real menu bar strip, and only steers the app on this Mac.

The full history is in CHANGELOG.md.

Full change list: #324, #325, #328, #329, #330

shipyard 0.8.0

Choose a tag to compare

@yahyabedirhan yahyabedirhan released this 22 Oct 09:39
cf4b3d8

shipyard's logo: a white folded-paper sailboat on a dark graphite tile

shipyard 0.8.0

shipyard is a macOS menu bar app for keeping up with your projects while your agents work: your pull requests, issues, workflow runs, pings from your agents and notes, grouped by project, in one list in the menu bar. 0.8.0 gives the panel a new look and themes, lets you write your own theme files, and tries GitHub's timeouts again. shipyard also has a website now: shipyard.yahyapak.dev.

Highlights

  • A new look. Every view of the panel is redrawn: quieter state icons and check dots, plain counts, and one accent for what needs you. The list layout sits on tighter rows, and the tabs layout matches it.
  • Themes. The top-level theme key picks the panel's look: Shipyard, Native, Graphite, Paper, Midnight or Harbor. A save applies at once.
  • Your own themes. A theme file in themes/ beside config.toml names its colours by what they mean, can extend a built-in theme, and sets the font, density, corners and material. shipyard config check checks each one.
  • GitHub's timeouts are tried again. A 502 or 504 answer is sent again after a short wait, up to twice, before the refresh shows an error.
  • The Set up Notion view finishes its check, also when shipyard panel show-view notion opens it on a closed panel.
  • Steadier tabs. Switching tabs keeps the strip still, the panel stays where it opened, and the summary line no longer says All caught up before the first refresh.
  • A new profile picture shows within a day, and a ping row's age stays readable next to its ✕.
  • Apache 2.0. The code is now under the Apache License 2.0, with a NOTICE.
  • The old config.toml forms are gone. hide-authors, closed-window-days, finished-window-hours, refresh-interval-seconds, [banners] snooze and a project's name are now unknown settings. The CHANGELOG gives each one's replacement, and shipyard config check points at any you still have.

Install

You need macOS 14 or later and a GitHub account, connected either way:

  • Sign in with GitHub from the panel. After an update, macOS may ask once whether the new copy may use shipyard's Keychain item for the GitHub token; choose Always Allow.
  • Or the GitHub CLI, signed in; shipyard picks up its token on its own.
  1. Download Shipyard-0.8.0-macos.zip below and unzip it.
  2. Move Shipyard.app to /Applications, replacing the old copy if you have one (quit it first).
  3. Open it. shipyard lives in the menu bar; it has no Dock icon.

The app is ad-hoc signed and not notarized, so macOS Gatekeeper blocks the first open. To get past it:

  • macOS 14: right-click Shipyard.app and choose Open, then Open again.
  • macOS 15 and later: open it once and dismiss the warning, then go to System Settings → Privacy & Security and click Open Anyway.
  • Or, from Terminal: xattr -dr com.apple.quarantine /Applications/Shipyard.app, then open it as usual.

Then update the shipyard skill (npx skills update shipyard -g). On a Linux machine, reinstall the herdr-shipyard plugin (herdr plugin install yahyabedirhan/herdr-shipyard -y) for the 0.8.0 shipyard.

Known limitations

  • Not notarized, macOS only for the app, with one GitHub.com account, and read-only on GitHub.
  • shipyard notes check prints text only.
  • A notice sent over the tailnet can't carry a Herdr click, and the poll route drops a notice's image.
  • App control can't click, hover or capture the real menu bar strip, and only steers the app on this Mac.

The full history is in CHANGELOG.md.

Full change list: #275, #276, #277, #279, #280, #281, #304, #305, #306, #307, #308, #309, #310, #311, #312, #314, #315, #317, #318, #319, #320, #321

shipyard 0.7.1

Choose a tag to compare

@yahyabedirhan yahyabedirhan released this 14 Oct 21:14
40e21f7

shipyard's logo: a white folded-paper sailboat on a dark graphite tile

shipyard 0.7.1

Shipyard is a macOS menu bar app for seeing and reviewing the pull requests your agents open on your behalf, plus issues, workflow runs, pings and your notes if you turn them on. 0.7.1 is a patch release: the skill install output shows each line once, and the code drops comments that repeated it, with nothing you see changed.

Highlights

  • One line per line in the skill install output. The Shipyard Skill view and the onboarding skill card show the last frame of each npx spinner line, as a terminal would, instead of every frame side by side. Lines that end in a carriage return keep their text, on macOS and Linux.
  • Fewer comments, the same behaviour. What the deleted comments covered now lives in the code: the configuration watch cancels its sources through a lock, state.json skips one entry a build can't read and keeps its neighbours, and make-icon --help prints its usage.

Install

You need macOS 14 or later and a GitHub account, connected either way:

  • Sign in with GitHub from the panel. After an update, macOS may ask once whether the new copy may use shipyard's Keychain item for the GitHub token; choose Always Allow.
  • Or the GitHub CLI, signed in; shipyard picks up its token on its own.
  1. Download Shipyard-0.7.1-macos.zip below and unzip it.
  2. Move Shipyard.app to /Applications, replacing the old copy if you have one (quit it first).
  3. Open it. Shipyard lives in the menu bar; it has no Dock icon.

The app is ad-hoc signed and not notarized, so macOS Gatekeeper blocks the first open. To get past it:

  • macOS 14: right-click Shipyard.app and choose Open, then Open again.
  • macOS 15 and later: open it once and dismiss the warning, then go to System Settings → Privacy & Security and click Open Anyway.
  • Or, from Terminal: xattr -dr com.apple.quarantine /Applications/Shipyard.app, then open it as usual.

Then update the shipyard skill (npx skills update shipyard -g). On a Linux machine, reinstall the herdr-shipyard plugin (herdr plugin install yahyabedirhan/herdr-shipyard -y) for the 0.7.1 shipyard.

Known limitations

  • Not notarized, macOS only for the app, with one GitHub.com account, and read-only on GitHub.
  • shipyard notes check has no --json yet.
  • A notice sent over the tailnet can't carry a Herdr click, and the poll route drops a notice's image.
  • App control can't click, hover or capture the real menu bar strip, and only steers the app on this Mac.

The full history is in CHANGELOG.md.

Full change list: #262, #273, #274

shipyard 0.7.0

Choose a tag to compare

@yahyabedirhan yahyabedirhan released this 13 Oct 20:10
ff3153a

shipyard's logo: a white folded-paper sailboat on a dark graphite tile

shipyard 0.7.0

Shipyard is a macOS menu bar app for seeing and reviewing the pull requests your agents open on your behalf, plus issues, workflow runs, pings and your notes if you turn them on. 0.7.0 regroups the shipyard command as shipyard <group> <verb>, with help made from one command table. The old command forms are gone, so update every script and agent instruction that calls shipyard together with it. The tabs layout stays fast with many projects, and the logo is the folded sailboat on graphite.

Highlights

  • The shipyard command, by noun and verb. ping send, notice send, app capture, lease take and lease release, panel show-tab and panel show-view replace ping "<title>", notify, screenshot, control, panel tab and panel view. An old form is refused in one line that names the new one or the help.
  • Help made from the command list. shipyard --help lists every command on one line, by job. shipyard help <group> prints a group's help, shipyard help --json lists every command for agents, and a mistyped command suggests the closest one.
  • shipyard ping list for people. Without --json it prints the machine's live pings, one per line. --json is unchanged.
  • A fast tabs layout. A tab builds only the rows in view, and hover no longer redraws the whole list, so switching to All with many projects takes about a tenth of the time it did.
  • The graphite logo. The app icon and badges are a white folded sailboat on a dark graphite tile, and notifications show the installed app's icon.

Install

You need macOS 14 or later and a GitHub account, connected either way:

  • Sign in with GitHub from the panel. After an update, macOS may ask once whether the new copy may use shipyard's Keychain item for the GitHub token; choose Always Allow.
  • Or the GitHub CLI, signed in; shipyard picks up its token on its own.
  1. Download Shipyard-0.7.0-macos.zip below and unzip it.
  2. Move Shipyard.app to /Applications, replacing the old copy if you have one (quit it first).
  3. Open it. Shipyard lives in the menu bar; it has no Dock icon.

The app is ad-hoc signed and not notarized, so macOS Gatekeeper blocks the first open. To get past it:

  • macOS 14: right-click Shipyard.app and choose Open, then Open again.
  • macOS 15 and later: open it once and dismiss the warning, then go to System Settings → Privacy & Security and click Open Anyway.
  • Or, from Terminal: xattr -dr com.apple.quarantine /Applications/Shipyard.app, then open it as usual.

Then update the shipyard skill (npx skills update shipyard -g), and change any script or agent instruction that runs an old form: shipyard notify is now shipyard notice send, and shipyard ping "<title>" is now shipyard ping send "<title>". On a Linux machine, reinstall the herdr-shipyard plugin (herdr plugin install yahyabedirhan/herdr-shipyard -y) for the 0.7.0 shipyard.

Known limitations

  • Not notarized, macOS only for the app, with one GitHub.com account, and read-only on GitHub.
  • A machine still on an older shipyard doesn't know the new command forms, and 0.7.0 refuses the old ones: update every machine together.
  • shipyard notes check has no --json yet.
  • A notice sent over the tailnet can't carry a Herdr click, and the poll route drops a notice's image.
  • App control can't click, hover or capture the real menu bar strip, and only steers the app on this Mac.

The full history is in CHANGELOG.md.

Full change list: #263, #266, #267, #268, #270, #271, #272

shipyard 0.6.0

Choose a tag to compare

@yahyabedirhan yahyabedirhan released this 07 Oct 17:11
d2a967a

shipyard's logo: a cream sailboat on a khaki green tile

shipyard 0.6.0

Shipyard is a macOS menu bar app for seeing and reviewing the pull requests your agents open on your behalf, plus issues, workflow runs, pings and your notes if you turn them on. 0.6.0 moves config.toml to the shared configuration convention: its keys take their shared names, each project has a slug and a title, and shipyard config check checks the file without the app. cli.toml gets a version and a schema of its own. Every existing configuration file still works, with warnings that give each key's new form.

Highlights

  • Shared config.toml names. refresh-interval = "2m" replaces refresh-interval-seconds, and [banners] snooze-duration replaces snooze. A project's slug, its required ID, and its optional title, the name the menu shows, replace name. The old keys still read, each with a warning; an old key beside its new one is an error.
  • shipyard config check. It reads config.toml as the app reads it, and cli.toml when there is one, without the app. It prints each problem and warning with its line, exits 1 on a problem, and --json gives the app's record fields.
  • A version and a schema for cli.toml. cli.toml takes version = 1 and a #:schema line of its own for Taplo. A file without version reads as version 1.
  • Older machines keep working. --project, shipyard panel fold and shipyard panel tab take a slug or else a title, so an older shipyard on another machine still files its pings and notices.

Install

You need macOS 14 or later and a GitHub account, connected either way:

  • Sign in with GitHub from the panel. After an update, macOS may ask once whether the new copy may use shipyard's Keychain item for the GitHub token; choose Always Allow.
  • Or the GitHub CLI, signed in; shipyard picks up its token on its own.
  1. Download Shipyard-0.6.0-macos.zip below and unzip it.
  2. Move Shipyard.app to /Applications, replacing the old copy if you have one (quit it first).
  3. Open it. Shipyard lives in the menu bar; it has no Dock icon.

The app is ad-hoc signed and not notarized, so macOS Gatekeeper blocks the first open. To get past it:

  • macOS 14: right-click Shipyard.app and choose Open, then Open again.
  • macOS 15 and later: open it once and dismiss the warning, then go to System Settings → Privacy & Security and click Open Anyway.
  • Or, from Terminal: xattr -dr com.apple.quarantine /Applications/Shipyard.app, then open it as usual.

Then run shipyard config check and replace each key it warns about. On a Linux machine, reinstall the herdr-shipyard plugin (herdr plugin install yahyabedirhan/herdr-shipyard -y) for the 0.6.0 shipyard. Update shipyard on a machine before you add version = 1 to its cli.toml: an older shipyard rejects it.

Known limitations

  • Not notarized, macOS only for the app, with one GitHub.com account, and read-only on GitHub.
  • A project whose old name isn't already a slug ("My Shop" becomes my-shop) starts its folded sections, ping numbers and first-sight state again once.
  • Notes use ntn's default workspace; to read another workspace, change ntn's login.
  • A notice sent over the tailnet can't carry a Herdr click, and the poll route drops a notice's image.
  • App control can't click, hover or capture the real menu bar strip, and only steers the app on this Mac.

The full history is in CHANGELOG.md.

Full change list: #259, #260

shipyard 0.5.0

Choose a tag to compare

@yahyabedirhan yahyabedirhan released this 07 Oct 12:53
fc364a7

shipyard's logo: a cream sailboat on a khaki green tile

shipyard 0.5.0

Shipyard is a macOS menu bar app for seeing and reviewing the pull requests your agents open on your behalf, plus issues, workflow runs, pings and your notes if you turn them on. 0.5.0 gives each part of shipyard a status view of its own (GitHub, Notion, the shipyard skill and the shipyard CLI), opened from the settings menu, with the steps that set it up or sign it out. Notes now go through ntn, Notion's CLI, and are opt-in: shipyard keeps no Notion token, so macOS stops asking for Keychain access after an update. Every configuration file still works; notes need one step (see Install).

Highlights

  • A status view for each part. The settings menu lists Set up GitHub, Set up Notion, Set up /shipyard skill and Set up shipyard CLI, with a check mark on each part that is set up. Each opens a view in place of the projects, with ‹ Back at the top. shipyard panel view <name> opens one from the command line.
  • The GitHub and Notion views. The GitHub view shows the account and whether its token comes from gh or Sign in with GitHub, with a sign-out step; the Notion view walks you through installing and logging in to ntn. Both show their logos.
  • The Shipyard Skill and Shipyard CLI views. One shows whether the shipyard skill is installed, with Install or Update; the other shows where the shipyard command is linked, or links it.
  • Notes through ntn, and opt-in. The app reads and writes notes with ntn's own login and keeps no Notion token. Connect Notion… is gone, and the first launch removes the token earlier builds kept in your Keychain.
  • Smaller fixes. A header count that needs attention is plain blue, without a capsule; note titles in a group line up when their numbers differ in width; the rejected-token banner drops its Open… button.

Install

You need macOS 14 or later and a GitHub account, connected either way:

  • Sign in with GitHub from the panel. After an update, macOS may ask once whether the new copy may use shipyard's Keychain item for the GitHub token; choose Always Allow.
  • Or the GitHub CLI, signed in; shipyard picks up its token on its own.
  1. Download Shipyard-0.5.0-macos.zip below and unzip it.
  2. Move Shipyard.app to /Applications, replacing the old copy if you have one (quit it first).
  3. Open it. Shipyard lives in the menu bar; it has no Dock icon.

The app is ad-hoc signed and not notarized, so macOS Gatekeeper blocks the first open. To get past it:

  • macOS 14: right-click Shipyard.app and choose Open, then Open again.
  • macOS 15 and later: open it once and dismiss the warning, then go to System Settings → Privacy & Security and click Open Anyway.
  • Or, from Terminal: xattr -dr com.apple.quarantine /Applications/Shipyard.app, then open it as usual.

If you use notes, install ntn (curl -fsSL https://ntn.dev | bash), run ntn login and choose your notes workspace, then press Connect with ntn in the Notion view (settings menu → Set up Notion). Until then shipyard lists no notes. On a Linux machine, reinstall the herdr-shipyard plugin (herdr plugin install yahyabedirhan/herdr-shipyard -y) for the 0.5.0 shipyard.

Known limitations

  • Not notarized, macOS only for the app, with one GitHub.com account, and read-only on GitHub.
  • Notes use ntn's default workspace; to read another workspace, change ntn's login.
  • Notion's public API can't make database views, so the new-note icon's databases start with Notion's default view; notes check doesn't check views or icons.
  • A notice sent over the tailnet can't carry a Herdr click, and the poll route drops a notice's image.
  • App control can't click, hover or capture the real menu bar strip, and only steers the app on this Mac.

The full history is in CHANGELOG.md.

Full change list: #233, #235, #245, #248, #251, #252

shipyard 0.4.0

Choose a tag to compare

@yahyabedirhan yahyabedirhan released this 07 Oct 05:07
20ec30c

shipyard's logo: a cream sailboat on a khaki green tile

shipyard 0.4.0

Shipyard is a macOS menu bar app for seeing and reviewing the pull requests your agents open on your behalf, plus issues, workflow runs, pings and your notes if you turn them on. 0.4.0 makes each project's header in the list layout count what it holds and open its GitHub pages, lets you dismiss every panel banner, shows what an agent is doing while it holds shipyard, and moves notes under a Projects page that the new shipyard notes check checks. It also stops a partial answer from GitHub from emptying the panel. Every configuration file still works; a notes workspace set up with 0.3.0 needs one move (see Install).

Highlights

  • Count chips in project headers. In the list layout, each project's header shows a chip per kind it holds (pull requests, issues, runs, pings, notes), highlighted where something needs you. [menu] header-counts picks the kinds. Clicking a chip opens that kind's GitHub page, or the notes database in Notion; an icon beside the name opens the repository.
  • Dismiss any banner. Each banner above the projects has a ✕ that hides it for an hour, across restarts too; [banners] snooze changes the hour. The normal stretched refresh interval no longer shows a banner at all.
  • A two-line lease banner. While an agent holds shipyard, its banner says why (shipyard control take --for "<purpose>") and what it's doing right now, with the time left and Stop at the right.
  • Notes under a Projects page. Each project's notes database now lives under a "Projects" page inside Shipyard Notes, beside an Agent guide. The panel says why no notes list (no Notion token, or a token that can't see Shipyard Notes), and the Connect Notion card walks you through making the connection.
  • shipyard notes check. Reads your notes workspace as the menu does and lists every problem: a database outside Projects, missing properties, a repeated prefix. It exits 1 on an error.
  • Fixes. A query GitHub cuts short for using too many resources no longer empties every project, and the app reads the Notion token from the Keychain once per launch, not on every refresh.

Install

You need macOS 14 or later and a GitHub account, connected either way:

  • Sign in with GitHub from the panel. After an update, macOS may ask once whether the new copy may use shipyard's Keychain items (the GitHub and Notion tokens); choose Always Allow.
  • Or the GitHub CLI, signed in; shipyard picks up its token on its own.
  1. Download Shipyard-0.4.0-macos.zip below and unzip it.
  2. Move Shipyard.app to /Applications, replacing the old copy if you have one (quit it first).
  3. Open it. Shipyard lives in the menu bar; it has no Dock icon.

The app is ad-hoc signed and not notarized, so macOS Gatekeeper blocks the first open. To get past it:

  • macOS 14: right-click Shipyard.app and choose Open, then Open again.
  • macOS 15 and later: open it once and dismiss the warning, then go to System Settings → Privacy & Security and click Open Anyway.
  • Or, from Terminal: xattr -dr com.apple.quarantine /Applications/Shipyard.app, then open it as usual.

If you set up notes with 0.3.0, make a page titled "Projects" under Shipyard Notes and move each project's database under it; every note keeps its number. Until then those projects list no notes, and shipyard notes check names each database left outside. On a Linux machine, reinstall the herdr-shipyard plugin (herdr plugin install yahyabedirhan/herdr-shipyard -y) for the 0.4.0 shipyard.

Known limitations

  • Not notarized, macOS only for the app, with one GitHub.com account, and read-only on GitHub.
  • While macOS asks for Keychain access, the app doesn't answer until you choose (#231).
  • Notion's public API can't make database views, so the new-note icon's databases start with Notion's default view; notes check doesn't check views or icons.
  • A notice sent over the tailnet can't carry a Herdr click, and the poll route drops a notice's image.
  • App control can't click, hover or capture the real menu bar strip, and only steers the app on this Mac.

The full history is in CHANGELOG.md.

Full change list: #208, #214, #215, #217, #223, #226, #228, #230, #232

shipyard 0.3.0

Choose a tag to compare

@yahyabedirhan yahyabedirhan released this 04 Oct 10:46
1f23a79

shipyard's logo: a cream sailboat on a khaki green tile

shipyard 0.3.0

Shipyard is a macOS menu bar app for seeing and reviewing the pull requests your agents open on your behalf, plus issues, workflow runs and pings if you turn them on. 0.3.0 adds two things: your own notes from Notion, listed under each project with a new-note icon on its header, and notices, status messages agents post with shipyard notify from the Mac, over your tailnet, or through Herdr, following your notification rules. Every configuration file still works.

Highlights

  • Notes in the menu. Keep notes in Notion, one database per project under a "Shipyard Notes" page, and each project lists its open ones in a Notes group, newest first. Connect Notion… in the gear menu takes the token of a Notion internal connection and keeps it in the Keychain. Notes never count toward attention; notes = { show = false } turns them off.
  • The new-note icon. A pencil on each project's header creates an empty note in its database (the database too, the first time) and opens it in Notion.
  • Notices with shipyard notify. An agent posts a status notice ("tests running", "deployed"): a notification only, never listed or kept, filed under a project like a ping. It takes a subtitle, body, sender, image, sound, buttons, a click action, and an --id to replace or withdraw it. The new event agent.notice is on by default.
  • Notices from your other machines. On a VPS with the herdr-shipyard plugin, a notice is queued for the Mac's poll, shown within about 30 seconds. Or, with [notices] listen = true on the Mac and tailscale serve, a machine whose cli.toml names the Mac sends it straight over your tailnet, within a second. The app listens on 127.0.0.1 only and takes notices only from your own Tailscale login.
  • cli.toml. Each machine's shipyard command has its own settings file, beside config.toml on the Mac and in ~/.config/shipyard/ elsewhere.

Install

You need macOS 14 or later and a GitHub account, connected either way:

  • Sign in with GitHub from the panel. After an update, macOS may ask once whether the new copy may use shipyard's Keychain item; choose Always Allow.
  • Or the GitHub CLI, signed in; shipyard picks up its token on its own.
  1. Download Shipyard-0.3.0-macos.zip below and unzip it.
  2. Move Shipyard.app to /Applications, replacing the old copy if you have one (quit it first).
  3. Open it. Shipyard lives in the menu bar; it has no Dock icon.

The app is ad-hoc signed and not notarized, so macOS Gatekeeper blocks the first open. To get past it:

  • macOS 14: right-click Shipyard.app and choose Open, then Open again.
  • macOS 15 and later: open it once and dismiss the warning, then go to System Settings → Privacy & Security and click Open Anyway.
  • Or, from Terminal: xattr -dr com.apple.quarantine /Applications/Shipyard.app, then open it as usual.

If your configuration writes its own notifications lists, add { event = "agent.notice" } where you want notices: a project whose rules leave it out refuses them. On a Linux machine, reinstall the herdr-shipyard plugin (herdr plugin install yahyabedirhan/herdr-shipyard -y) for the notices poll and the 0.3.0 shipyard.

Known limitations

  • Not notarized, macOS only for the app, with one GitHub.com account, and read-only on GitHub.
  • A notice sent over the tailnet can't carry a Herdr click (the Mac can't tell which machine's Herdr it means); the poll route can.
  • The poll route drops a notice's image, and doesn't yet know which projects refuse notices, so it can report queued for one the Mac then refuses.
  • Clicking a remote ping focuses its pane on that machine, but the Mac's Herdr window only moves there when it already shows that machine.
  • App control can't click, hover or capture the real menu bar strip, and only steers the app on this Mac.

The full history is in CHANGELOG.md.

Full change list: #206, #207

shipyard 0.2.0

Choose a tag to compare

@yahyabedirhan yahyabedirhan released this 03 Oct 20:36
4176166

shipyard's logo: a cream sailboat on a khaki green tile

shipyard 0.2.0

Shipyard is a macOS menu bar app for seeing and reviewing the pull requests your agents open on your behalf, plus issues, workflow runs and pings if you turn them on. 0.2.0 makes app control one agent at a time: a lease the app enforces, a yellow dot and a banner that show which agent holds shipyard, agents waiting their turn on purpose, Stop to take it back, and a notification when an agent starts and stops. Every configuration file still works.

Highlights

  • The agent lease. Only one agent at a time can drive the app. Its first shipyard app, panel or screenshot command takes the lease, and each later one renews it, until a minute after its last command (five minutes at most). Another agent is refused with exit 1, naming who holds shipyard and until when. shipyard app status reports the lease, and relaunches into a demo and back keep it.
  • See who holds shipyard. While an agent holds the lease, the menu bar icon gets a yellow dot. The panel opens with a banner: the agent's logo, "Claude Code uses shipyard", and under it where the agent runs (its folder or Herdr pane), a countdown and how many are waiting. Screenshots leave both out unless --with-indicator keeps them.
  • Taking turns. shipyard control take holds shipyard for a longer run and shipyard control release gives it up. With --wait <seconds>, an agent waits in line, first come, first served.
  • Stop takes shipyard back. Stop in the banner ends the agent's lease and keeps it out for five minutes. Allow lets it back early.
  • Notifications. The new events control.started and control.ended say when an agent starts and stops using shipyard. Clicking either opens the panel.

Install

You need macOS 14 or later and a GitHub account, connected either way:

  • Sign in with GitHub from the panel. After an update, macOS may ask once whether the new copy may use shipyard's Keychain item; choose Always Allow.
  • Or the GitHub CLI, signed in; shipyard picks up its token on its own.
  1. Download Shipyard-0.2.0-macos.zip below and unzip it.
  2. Move Shipyard.app to /Applications, replacing the old copy if you have one (quit it first).
  3. Open it. Shipyard lives in the menu bar; it has no Dock icon.

The app is ad-hoc signed and not notarized, so macOS Gatekeeper blocks the first open. To get past it:

  • macOS 14: right-click Shipyard.app and choose Open, then Open again.
  • macOS 15 and later: open it once and dismiss the warning, then go to System Settings → Privacy & Security and click Open Anyway.
  • Or, from Terminal: xattr -dr com.apple.quarantine /Applications/Shipyard.app, then open it as usual.

If your configuration lists its own [[defaults.notifications]], add control.started and control.ended rules to be told when agents use shipyard. The shipyard command and the app must come from the same build: an older command is told to update.

Known limitations

  • Not notarized, macOS only for the app, with one GitHub.com account, and read-only on GitHub.
  • Clicking a notification to open the panel is best effort on macOS 27.
  • Clicking a remote ping focuses its pane on that machine, but the Mac's Herdr window only moves there when it already shows that machine (Herdr 0.9.3 has no command to switch it).
  • App control can't click, hover or capture the real menu bar strip, and only steers the app on this Mac.

The full history is in CHANGELOG.md.

Full change list: #175, #186, #200

shipyard 0.1.0

Choose a tag to compare

@yahyabedirhan yahyabedirhan released this 03 Oct 18:18
2f86d1e

shipyard's logo: a cream sailboat on a khaki green tile

shipyard 0.1.0

Shipyard is a macOS menu bar app for seeing and reviewing the pull requests your agents open on your behalf, plus issues, workflow runs and pings if you turn them on. 0.1.0 is the first release since 0.0.3. It brings pings from agents, on this Mac and on your other machines through Herdr, app control so agents can open, steer and screenshot shipyard, and Linux builds of the shipyard command. Every configuration file still works.

Highlights

  • Pings from agents. An agent runs shipyard ping "<title>" and its news shows in the menu under the projects watching its repository, with a notification, the agent's logo, a number per project, and a click that opens a link, an app or the agent's Herdr pane. A ping from a named Herdr session focuses that session. Replacing a ping by its --id starts its age again. A ping no project shows is refused, so the agent knows you didn't see it.
  • Pings from your other machines. Name machines saved in Herdr under [remote] machines and shipyard lists their agents' pings too, through Herdr. On a Linux machine, the herdr-shipyard plugin installs the shipyard command from this release's Linux builds.
  • App control. shipyard app open | quit | status, shipyard panel open | close | fold | unfold | show-more | tab and shipyard screenshot <file.png> let agents drive and capture the app without Accessibility or Screen Recording. shipyard app open --demo <folder> runs it on example data and leaves your configuration and state untouched. The shipyard skill teaches agents how.
  • Linux builds of the shipyard command, shipyard-linux-x86_64 and shipyard-linux-aarch64 with their .sha256 files, attached below. They carry only what a machine without the app needs.
  • Smaller fixes. The shipyard command reads the same config.toml as the app, the app re-reads pings only when a ping changes, and a remote ping filed late notifies once.

Install

You need macOS 14 or later and a GitHub account, connected either way:

  • Sign in with GitHub from the panel. After an update, macOS may ask once whether the new copy may use shipyard's Keychain item; choose Always Allow.
  • Or the GitHub CLI, signed in; shipyard picks up its token on its own.
  1. Download Shipyard-0.1.0-macos.zip below and unzip it.
  2. Move Shipyard.app to /Applications, replacing the old copy if you have one (quit it first).
  3. Open it. Shipyard lives in the menu bar; it has no Dock icon.

The app is ad-hoc signed and not notarized, so macOS Gatekeeper blocks the first open. To get past it:

  • macOS 14: right-click Shipyard.app and choose Open, then Open again.
  • macOS 15 and later: open it once and dismiss the warning, then go to System Settings → Privacy & Security and click Open Anyway.
  • Or, from Terminal: xattr -dr com.apple.quarantine /Applications/Shipyard.app, then open it as usual.

Your configuration lists its own notification rules, so add "ping.sent" to their events to be notified of pings.

Known limitations

  • Not notarized, macOS only for the app, with one GitHub.com account, and read-only on GitHub.
  • Clicking a remote ping focuses its pane on that machine, but the Mac's Herdr window only moves there when it already shows that machine (Herdr 0.9.3 has no command to switch it).
  • App control can't click, hover or capture the real menu bar strip, and only steers the app on this Mac.

The full history is in CHANGELOG.md.

Full change list: #90, #91, #92, #93, #95, #106, #142, #143, #148, #149, #155, #157, #158, #159, #172