Skip to content

Commit 1645f41

Browse files
committed
Update packaging plan to TurtleTerm product surfaces
1 parent 2e76192 commit 1645f41

1 file changed

Lines changed: 17 additions & 36 deletions

File tree

docs/sourceos/PACKAGING.md

Lines changed: 17 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
Make TurtleTerm installable with Homebrew on macOS and Linux first.
66

7-
TurtleTerm is the SourceOS policy-aware, agent-addressable terminal workbench product built on the WezTerm engine. We preserve upstream WezTerm attribution and licensing while exposing the SourceOS product as TurtleTerm.
7+
TurtleTerm is the SourceOS policy-aware, agent-addressable terminal workbench product. Public package, command, profile, icon, and documentation surfaces should say TurtleTerm. Required third-party notices are preserved in license and notice files.
88

99
Windows packaging is intentionally postponed until the macOS and Linux Homebrew path is stable.
1010

@@ -63,32 +63,25 @@ After tagged releases exist:
6363
brew install turtle-term
6464
```
6565

66-
### v2: Bottles
67-
68-
Once CI is stable, publish bottles for macOS Apple Silicon, macOS Intel if needed, Linux x86_64, and Linux ARM64 if supported by CI and build dependencies.
69-
7066
## What the formula should install
7167

72-
The Homebrew package should install:
73-
74-
- `wezterm`
75-
- `wezterm-gui`
76-
- `wezterm-mux-server`
77-
- `turtle-term`
78-
- `sourceos-term` compatibility command
79-
- TurtleTerm / SourceOS WezTerm profile pack
80-
- TurtleTerm / SourceOS terminal docs
68+
The Homebrew package should install TurtleTerm launchers, TurtleTerm command tools, the TurtleTerm profile, TurtleTerm skill manifests, TurtleTerm brand assets, SourceOS terminal docs, and private terminal runtime files under `libexec/turtle-term`.
8169

8270
Expected installed paths:
8371

8472
```text
85-
$(brew --prefix)/bin/wezterm
86-
$(brew --prefix)/bin/wezterm-gui
87-
$(brew --prefix)/bin/wezterm-mux-server
73+
$(brew --prefix)/bin/turtleterm
74+
$(brew --prefix)/bin/turtleterm-mux-server
8875
$(brew --prefix)/bin/turtle-term
76+
$(brew --prefix)/bin/turtle-agentd
77+
$(brew --prefix)/bin/turtle-agentctl
78+
$(brew --prefix)/bin/turtle-tmux
8979
$(brew --prefix)/bin/sourceos-term
90-
$(brew --prefix)/etc/turtle-term/wezterm.lua
80+
$(brew --prefix)/etc/turtle-term/turtleterm.lua
81+
$(brew --prefix)/share/turtle-term/brand/
82+
$(brew --prefix)/share/turtle-term/skills/
9183
$(brew --prefix)/share/turtle-term/sourceos/
84+
$(brew --prefix)/libexec/turtle-term/
9285
```
9386

9487
## Build posture
@@ -99,30 +92,18 @@ The current formula is experimental and source-build oriented. It should remain
9992

10093
Homebrew works across macOS and Linux with one install vocabulary. It gives TurtleTerm one near-term package lane for developer workstations before we split into distro-native packages, Flatpak, AppImage, Windows packaging, or OS image integration.
10194

102-
## Linux notes
103-
104-
Linux Homebrew is not the final SourceOS OS packaging strategy. It is the developer bootstrap strategy. The eventual SourceOS Linux image/package lane should still support native packaging overlays and immutable OS integration.
105-
106-
## macOS notes
107-
108-
macOS support is important because current development workstations may be macOS while the target OS remains Linux-first. The Homebrew formula should not require users to replace their existing terminal. It should install TurtleTerm as an additional toolchain surface.
109-
110-
## Windows postponed lane
111-
112-
Windows package candidates are postponed until the macOS/Linux Homebrew path is stable.
113-
11495
## Acceptance criteria
11596

11697
v0 is complete when:
11798

11899
1. A local developer can run `brew install --HEAD ./packaging/homebrew/Formula/turtle-term.rb`.
119-
2. `turtle-term paths` works after installation.
120-
3. `turtle-term run -- echo hello` emits events and receipts.
121-
4. `sourceos-term paths` still works as a compatibility command.
122-
5. `wezterm --version` works after installation.
123-
6. `wezterm-gui --version` works after installation where GUI dependencies are available.
100+
2. `turtleterm` launches TurtleTerm.
101+
3. `turtle-term paths` works after installation.
102+
4. `turtle-term run -- echo hello` emits events and receipts.
103+
5. `turtle-agentctl --stdio ping` works.
104+
6. `sourceos-term paths` still works as a compatibility command.
124105
7. Formula has clear caveats for profile installation.
125-
8. The packaging lane does not modify WezTerm Rust internals.
106+
8. Private runtime binaries are not exposed as public product commands.
126107

127108
v1 is complete when `SourceOS-Linux/homebrew-tap` exists, the formula is copied into `Formula/turtle-term.rb`, macOS and Linux CI test `brew install --HEAD turtle-term`, and README documents install, upgrade, uninstall, and profile activation.
128109

0 commit comments

Comments
 (0)