Skip to content

Commit 311fa52

Browse files
authored
feat(synthos): merge GCH Night Riders platform (#1)
feat(synthos): add GCH Night Riders workspace and scoped agent workflows
2 parents 29f33af + 00f7972 commit 311fa52

295 files changed

Lines changed: 119747 additions & 1465 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎.agents/skills/typesafe-ai/LICENSE‎

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2026 TypeSafe AI
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

‎.agents/skills/typesafe-ai/SKILL.md‎

Lines changed: 288 additions & 0 deletions
Large diffs are not rendered by default.

‎.gitattributes‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,6 @@
77
packages/source-control-github/schema/** linguist-generated
88
apps/server/schema/** linguist-generated
99
**/*.graphql.ts linguist-generated
10+
# Preserve the audited upstream bytes of bundled third-party code and licenses.
11+
apps/web/public/synthos/vendor/** linguist-vendored -whitespace
12+
apps/web/public/synthos/fonts/*-OFL.txt linguist-vendored -whitespace
Lines changed: 133 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,133 @@
1+
name: SynthOS macOS Apple silicon
2+
3+
on:
4+
workflow_dispatch:
5+
push:
6+
branches:
7+
- feat/synthos-platform
8+
paths:
9+
- .github/workflows/synthos-macos.yml
10+
- .github/actions/setup-ci-deps/**
11+
- apps/desktop/**
12+
- apps/server/**
13+
- apps/web/**
14+
- packages/**
15+
- scripts/**
16+
- patches/**
17+
- package.json
18+
- pnpm-lock.yaml
19+
- pnpm-workspace.yaml
20+
- .node-version
21+
- vite.config.*
22+
23+
permissions:
24+
contents: read
25+
26+
concurrency:
27+
group: synthos-macos-${{ github.ref }}
28+
cancel-in-progress: false
29+
30+
jobs:
31+
desktop:
32+
runs-on: macos-15
33+
timeout-minutes: 60
34+
env:
35+
T3CODE_DESKTOP_SIGNED: "false"
36+
CSC_IDENTITY_AUTO_DISCOVERY: "false"
37+
T3CODE_TELEMETRY_ENABLED: "false"
38+
steps:
39+
- name: Check out the selected source
40+
# checkout's auth cleanup fails on orphan gitlinks in .repos, even when sparse-excluded.
41+
shell: bash
42+
env:
43+
CHECKOUT_TOKEN: ${{ github.token }}
44+
GIT_TERMINAL_PROMPT: "0"
45+
run: |
46+
set -euo pipefail
47+
askpass="$(mktemp "$RUNNER_TEMP/synthos-git-askpass.XXXXXX")"
48+
trap 'rm -f "$askpass"' EXIT
49+
cat > "$askpass" <<'SH'
50+
#!/bin/sh
51+
case "$1" in
52+
*Username*) printf '%s\n' x-access-token ;;
53+
*Password*) printf '%s\n' "$CHECKOUT_TOKEN" ;;
54+
*) exit 1 ;;
55+
esac
56+
SH
57+
chmod 700 "$askpass"
58+
git init .
59+
git remote add origin "${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}.git"
60+
GIT_ASKPASS="$askpass" git -c credential.helper= fetch --no-tags --depth=1 origin "$GITHUB_SHA"
61+
git sparse-checkout set --no-cone '/*' '!/.repos/'
62+
git checkout --detach FETCH_HEAD
63+
test "$(git rev-parse HEAD)" = "$GITHUB_SHA"
64+
65+
- name: Verify native Apple silicon tools
66+
shell: bash
67+
run: |
68+
set -euo pipefail
69+
test "$(uname -s)" = Darwin
70+
test "$(uname -m)" = arm64
71+
xcode-select -p
72+
xcrun --find clang
73+
xcrun --find iconutil
74+
command -v sips
75+
command -v hdiutil
76+
77+
- name: Install the pinned JavaScript toolchain
78+
uses: ./.github/actions/setup-ci-deps
79+
with:
80+
install-args: --frozen-lockfile --filter=@t3tools/desktop... --filter=t3... --filter=@t3tools/scripts...
81+
82+
- name: Install native Rust target
83+
uses: dtolnay/rust-toolchain@6bed0761d98439e5a578e2877258200ad565ba87 # stable
84+
with:
85+
toolchain: stable
86+
targets: aarch64-apple-darwin
87+
88+
- name: Build unsigned SynthOS DMG and ZIP
89+
run: vp run dist:desktop:artifact --platform mac --target dmg --arch arm64 --output-dir release/synthos-macos --verbose
90+
91+
- name: Verify packaged app identity and architecture
92+
shell: bash
93+
run: |
94+
set -euo pipefail
95+
images=(release/synthos-macos/*.dmg)
96+
test "${#images[@]}" -eq 1 && test -f "${images[0]}"
97+
mount="$RUNNER_TEMP/synthos-dmg"
98+
hdiutil attach -nobrowse -readonly -mountpoint "$mount" "${images[0]}"
99+
trap 'hdiutil detach "$mount" >/dev/null || true' EXIT
100+
apps=("$mount"/*.app)
101+
test "${#apps[@]}" -eq 1 && test -d "${apps[0]}"
102+
plist="${apps[0]}/Contents/Info.plist"
103+
test "$(/usr/libexec/PlistBuddy -c 'Print :CFBundleIdentifier' "$plist")" = com.synthminds.synthos
104+
executable=$(/usr/libexec/PlistBuddy -c 'Print :CFBundleExecutable' "$plist")
105+
test "$(lipo -archs "${apps[0]}/Contents/MacOS/$executable")" = arm64
106+
107+
- name: Record source identity and checksums
108+
shell: bash
109+
run: |
110+
set -euo pipefail
111+
node --input-type=module - <<'JS'
112+
import { writeFileSync } from 'node:fs';
113+
writeFileSync('release/synthos-macos/build-info.json', JSON.stringify({
114+
product: 'SynthOS', repository: process.env.GITHUB_REPOSITORY,
115+
commit: process.env.GITHUB_SHA, run: process.env.GITHUB_RUN_ID,
116+
platform: 'darwin', architecture: 'arm64',
117+
developerIdSigned: false, notarized: false, launchTested: false,
118+
}, null, 2) + '\n');
119+
JS
120+
cd release/synthos-macos
121+
shasum -a 256 ./*.dmg ./*.zip ./build-info.json > SHA256SUMS
122+
123+
- name: Upload build artifacts
124+
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
125+
with:
126+
name: SynthOS-macos-arm64-${{ github.sha }}
127+
path: |
128+
release/synthos-macos/*.dmg
129+
release/synthos-macos/*.zip
130+
release/synthos-macos/build-info.json
131+
release/synthos-macos/SHA256SUMS
132+
if-no-files-found: error
133+
retention-days: 14

‎AGENTS.md‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -182,6 +182,8 @@ Architecture and its constraints: `docs/internals/overview.md`. Glossary: `docs/
182182

183183
## Where code lives
184184

185+
Start task-specific exploration with [ROUTING.md](ROUTING.md), then read the matching authoritative documents and any local `CONTEXT.md` named there. Follow dependencies beyond the initial route when the evidence requires it. Keep routing and local boundary notes current when ownership or constraints change; do not maintain exhaustive file catalogs.
186+
185187
- `apps/server` - WebSocket, orchestration, providers, checkpointing. Effect-heavy: read [Effect services](docs/internals/effect-services.md) before adding server code, and `.repos/effect-smol/LLMS.md` for the Effect library itself.
186188
- `apps/web` - React/Vite UI. `apps/desktop` wraps it, `apps/mobile` is React Native, `apps/marketing` is the site.
187189
- `packages/contracts` - Effect/Schema contracts plus small derived helpers. No heavy runtime logic.

‎README.md‎

Lines changed: 26 additions & 122 deletions
Original file line numberDiff line numberDiff line change
@@ -1,142 +1,46 @@
1-
# T3 Code
1+
# SynthOS · Night Riders
22

3-
T3 Code is an "agent harness control surface". It enables control of the agents on your machine with a best-in-class mobile app ([iOS](https://apps.apple.com/us/app/t3-code-remote-claude-more/id6787819824), [Android](https://play.google.com/store/apps/details?id=com.t3tools.t3code)), [web app](https://app.t3.codes) and [Electron-based desktop app](https://t3.codes).
3+
SynthOS brings the GCH multi-model workflow and Night Riders cockpit into a customized [T3 Code](https://github.com/pingdotgg/t3code) workspace. T3 owns agent execution, terminals, projects and checkpoints. SynthOS adds durable missions, knowledge and memory connections, reviewed mail, and device intake.
44

5-
Works with your subscriptions on Claude Code, Codex, Cursor, Grok Build, OpenCode, and Google Antigravity. If they're set up on your computer, T3 Code can control them.
5+
The lead car stays at the top of the cockpit. Search, grep and documentation motorcycles represent their assigned roles; activity lights follow observed work. Midnight Protocol extends the synthwave palette across the editor, terminal and settings.
66

7-
## "Wait, what are you selling me?"
7+
## Run this fork
88

9-
Nothing. We built T3 Code because we wanted the best possible development experience with agents. We were inspired by existing solutions like the Codex desktop app, Conductor, Claude Desktop and Cursor Glass, but none met our bar.
9+
Install [Vite+](https://viteplus.dev/guide/) and use the Node and package-manager versions pinned in `package.json`.
1010

11-
We wanted something performant, remote-ready, and truly open. If we ever go the wrong direction, we want you to have everything you need to fork and build the editor that you want.
12-
13-
## Installation
14-
15-
> [!WARNING]
16-
> T3 Code currently supports Codex, Claude, Cursor, Grok Build, OpenCode, and Antigravity. Install and authenticate at least one provider before use:
17-
>
18-
> - Codex: install [Codex CLI](https://developers.openai.com/codex/cli) and run `codex login`
19-
> - Claude: install [Claude Code](https://claude.com/product/claude-code) and run `claude auth login`
20-
> - Cursor: install [Cursor CLI](https://cursor.com/cli) and run `agent login`
21-
> - Grok Build: install [Grok Build CLI](https://x.ai/cli) and run `grok login`
22-
> - OpenCode: install [OpenCode](https://opencode.ai) and run `opencode auth login`
23-
> - Antigravity: enable it in Settings, then use **Install Antigravity** and **Sign in with Google**. No CLI is required.
24-
25-
### Command line
26-
27-
```bash
28-
curl -fsSL https://t3.codes/install.sh | sh
29-
```
30-
31-
On Windows, in PowerShell:
32-
33-
```powershell
34-
irm https://t3.codes/install.ps1 | iex
35-
```
36-
37-
Then run `t3` to start the server and open the local web app. `t3 service install` keeps it running in the background, `t3 update` moves to a newer release, and `t3 --help` has the full reference.
38-
39-
To try it once without installing, run `npx t3@latest` instead.
40-
41-
### Desktop app
42-
43-
Install the latest version of the desktop app from [GitHub Releases](https://github.com/pingdotgg/t3code/releases), or from your favorite package registry:
44-
45-
#### Windows (`winget`)
46-
47-
```bash
48-
winget install T3Tools.T3Code
49-
```
50-
51-
#### Windows (`scoop`)
52-
53-
```bash
54-
scoop install extras/t3code
55-
```
56-
57-
#### macOS (Homebrew)
58-
59-
```bash
60-
brew install --cask t3-code
61-
```
62-
63-
#### Debian, Ubuntu (`.deb`)
64-
65-
Download the `.deb` from [GitHub Releases](https://github.com/pingdotgg/t3code/releases), then:
66-
67-
```bash
68-
sudo apt install ./T3-Code-*.deb
11+
```sh
12+
vp i
13+
vp run dev
6914
```
7015

71-
#### Arch Linux (AUR)
72-
73-
Stable:
74-
75-
```bash
76-
yay -S t3code-bin
77-
```
16+
Open the URL printed by the runner, complete pairing, then choose **SynthOS** in the sidebar or visit `/synthos` on that origin. Provider logins belong to the host running the server.
7817

79-
Nightly:
18+
To build and run the local CLI with the bundled web app:
8019

81-
```bash
82-
yay -S t3code-nightly-bin
20+
```sh
21+
vp run --filter t3 build
22+
node apps/server/dist/bin.mjs --no-browser
8323
```
8424

85-
The AUR packaging is maintained in this repository under [`packaging/aur`](./packaging/aur).
86-
87-
## Some notes
88-
89-
We are very very early in this project. Expect bugs.
90-
91-
We are (mostly) not accepting contributions yet. Small fixes may be considered. Big features will not be.
92-
93-
## Documentation
94-
95-
Full docs live in [docs/](./docs). There's no docs site yet.
25+
The CLI is named `gch`; this checkout runs it directly through the entrypoint above. Upstream T3 installers and automatic release updates do not install this fork. SynthOS uses its own `.synthos` data directory and desktop identity. Upstream telemetry is disabled by default.
9626

97-
- [FAQ](./docs/user/faq.md)
98-
- [Install and first run](./docs/user/install.md)
99-
- [Permission modes](./docs/user/permission-modes.md)
100-
- [Keyboard shortcuts](./docs/user/keybindings.md)
101-
- [Project settings](./docs/user/project-settings.md)
102-
- [Appearance preferences](./docs/user/appearance.md)
103-
- [Remote access from a phone or another machine](./docs/user/remote-access.md)
104-
- [Connect Claude Code, Codex, ChatGPT and other agents over MCP](./docs/user/outside-agents.md)
105-
- [Keeping app and server in sync](./docs/user/updating.md)
106-
- [Source control integrations](./docs/user/source-control.md)
107-
- Multiple accounts: [Codex](./docs/user/providers-codex.md) · [Claude](./docs/user/providers-claude.md)
108-
- [Run T3 Code as a background service](./docs/user/background-service.md)
27+
## Use the platform
10928

110-
Building from source? Start at [docs/internals/overview.md](./docs/internals/overview.md).
29+
- [Cockpit, model roles, tools, knowledge and AgentMail](docs/user/synthos.md)
30+
- [Fieldy, Harness and G2 companion setup](docs/user/synthos-devices.md)
31+
- [Always-on Linux service from this checkout](scripts/synthos-service/README.md)
32+
- [T3 workspace and provider documentation](docs/README.md)
11133

112-
## If you REALLY want to contribute still.... read this first
34+
Workflows use configured provider IDs, frozen GCH task packets, persistent budgets, candidate checkpoints and explicit human decisions. Model availability and tool installation remain separate from authentication and observed activity. The supply deck includes the original 41 tools; terminal handoffs use the existing T3 terminal.
11335

114-
### Install `vp`
36+
## Qualification boundaries
11537

116-
T3 Code uses Vite+ so you'll need to install the global `vp` command-line tool.
38+
A prepared workflow does not start a provider call. Starting it can consume a subscription or API allowance. Missing usage or authoritative check receipts holds the workflow. Native provider APIs do not provide a universal hard spend cap or physically read-only role sandbox. Production publishing and automatic merge are not enabled by approving a local evidence package.
11739

118-
#### macOS / Linux
119-
120-
```bash
121-
curl -fsSL https://vite.plus | bash
122-
```
123-
124-
#### Windows
125-
126-
```bash
127-
irm https://vite.plus/ps1 | iex
128-
```
129-
130-
Checkout their getting started guide for more information: https://viteplus.dev/guide/
131-
132-
### Install dependencies
133-
134-
```bash
135-
vp i
136-
```
40+
Connection adapters and companion transports require the intended credentials and hardware for live qualification. The browser cockpit also serves phone-sized screens; a customized native mobile release is not included. No account credentials or production device pairing are bundled.
13741

138-
Read [CONTRIBUTING.md](./CONTRIBUTING.md) before reporting a bug or opening a PR.
42+
## Provenance
13943

140-
Have a feature request? Start an [Ideas discussion](https://github.com/pingdotgg/t3code/discussions/categories/ideas).
44+
GCH source is pinned to [Synthminds/GCH at a11ebfb](https://github.com/Synthminds/GCH/tree/a11ebfb89bbc7fcf9cb47df54454b66412ddeedc). The policy snapshot retains the canonical rules 1.9 text, source hashes for prior editions, and the 3.0 factory lineage. Workers receive the current kernel, not a concatenation of conflicting historical rules. Host limits and current human instructions retain precedence.
14145

142-
Need support? Join the [Discord](https://discord.gg/jn4EGJjrvv).
46+
T3 Code remains the upstream foundation at commit `9e09926d97824179d97311d1a810c6b5bb60d2d1`. Its [MIT license](LICENSE) and third-party notices remain intact. The [upstream README](https://github.com/pingdotgg/t3code/blob/9e09926d97824179d97311d1a810c6b5bb60d2d1/README.md) describes the original product and its public releases.

0 commit comments

Comments
 (0)