Skip to content

Commit 9f6d17b

Browse files
authored
feat: complete Forkara runtime identity break (#187)
* feat: complete Forkara runtime identity break Move runtime, packaging, protocol, and release identities to Forkara and add a verified copy-only legacy profile import boundary. * chore: format identity guard * test: keep MCP header fixture Forkara-only * fix(brand): keep rebased runtime references canonical
1 parent 1fabc20 commit 9f6d17b

838 files changed

Lines changed: 5799 additions & 5358 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.

.claude/skills/verify/SKILL.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
1-
# Verify: run Synara locally for runtime verification
1+
# Verify: run Forkara locally for runtime verification
22

3-
How to launch an isolated Synara instance (server + web) to observe UI changes, without touching `~/.synara` or the default dev ports.
3+
How to launch an isolated Forkara instance (server + web) to observe UI changes, without touching `~/.forkara` or the default dev ports.
44

55
## Launch
66

77
```bash
88
# 1. Server (from the directory you want as the workspace/project cwd):
9-
SYNARA_HOME=<scratch>/synara-home \
10-
SYNARA_PORT=3899 SYNARA_MODE=web SYNARA_NO_BROWSER=1 \
9+
FORKARA_HOME=<scratch>/forkara-home \
10+
FORKARA_PORT=3899 FORKARA_MODE=web FORKARA_NO_BROWSER=1 \
1111
VITE_DEV_SERVER_URL=http://localhost:5899 \
1212
bun <repo>/apps/server/src/index.ts &
1313

.docs/ci.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
`Format, Lint, Typecheck, Test, Browser Test, Build` runs on Ubuntu and blocks on:
88

9-
- Synara identity/brand validation;
9+
- Forkara identity/brand validation;
1010
- `bun run fmt:check`;
1111
- `bun run lint`;
1212
- `bun run typecheck`;

.docs/codex-prerequisites.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# Codex prerequisites
22

33
- Install Codex CLI so `codex` is on your PATH.
4-
- Authenticate Codex before running Synara (for example via API key or ChatGPT auth supported by Codex).
5-
- Synara starts the server via `codex app-server` per session.
4+
- Authenticate Codex before running Forkara (for example via API key or ChatGPT auth supported by Codex).
5+
- Forkara starts the server via `codex app-server` per session.

.docs/encyclopedia.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Encyclopedia
22

3-
This is a living glossary for Synara. It explains what common terms mean in this codebase.
3+
This is a living glossary for Forkara. It explains what common terms mean in this codebase.
44

55
## Table of contents
66

.docs/provider-architecture.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
This document expands the provider boundary in the [canonical architecture](./architecture.md); it does not define a second ownership model. Current registry/adapters and their deterministic tests are the inventory authority.
44

5-
Synara treats provider integrations as adapters behind server-owned orchestration and discovery boundaries. The web app does not talk to Codex, Claude, Cursor, or another coding-agent runtime directly: provider operations enter the server through the typed contracts in `@forkara/contracts`. Session and turn lifecycle calls route through `ProviderService`; model, agent, skill, command, and plugin discovery routes through `ProviderDiscoveryService`; both ultimately resolve concrete `ProviderAdapter` implementations from the registry. Voice operations may access the registry directly where the provider capability is itself the boundary.
5+
Forkara treats provider integrations as adapters behind server-owned orchestration and discovery boundaries. The web app does not talk to Codex, Claude, Cursor, or another coding-agent runtime directly: provider operations enter the server through the typed contracts in `@forkara/contracts`. Session and turn lifecycle calls route through `ProviderService`; model, agent, skill, command, and plugin discovery routes through `ProviderDiscoveryService`; both ultimately resolve concrete `ProviderAdapter` implementations from the registry. Voice operations may access the registry directly where the provider capability is itself the boundary.
66

77
## Implemented providers
88

.docs/quick-start.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ bun run dev
1212
bun run dev:desktop
1313

1414
# Desktop development on an isolated port set
15-
SYNARA_DEV_INSTANCE=feature-xyz bun run dev:desktop
15+
FORKARA_DEV_INSTANCE=feature-xyz bun run dev:desktop
1616
```
1717

1818
## Production-style local run
@@ -37,10 +37,10 @@ bun run dist:desktop:win
3737

3838
## Published CLI package
3939

40-
The server package is published as `@forkara/cli` and exposes the `synara` executable. To run an npm-published version without installing it globally:
40+
The server package is published as `@forkara/cli` and exposes the `forkara` executable. To run an npm-published version without installing it globally:
4141

4242
```bash
43-
npx --yes --package=@forkara/cli synara --help
43+
npx --yes --package=@forkara/cli forkara --help
4444
```
4545

4646
For repository scripts, release packaging, and multi-instance development details, see [scripts.md](./scripts.md).

.docs/runtime-modes.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Runtime modes
22

3-
Synara exposes three runtime modes in the permission picker:
3+
Forkara exposes three runtime modes in the permission picker:
44

55
- **Supervised**: asks the user before protected actions. Codex uses
66
`approvalPolicy: untrusted`, `sandbox: read-only`, and

.docs/scripts.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33
- `bun run dev` — Starts contracts, server, and web in `turbo watch` mode.
44
- `bun run dev:server` — Starts just the WebSocket server (uses Bun TypeScript execution).
55
- `bun run dev:web` — Starts just the Vite dev server for the web app.
6-
- Dev commands default `SYNARA_HOME` to `~/.synara`, which keeps dev state under `~/.synara/dev`.
6+
- Dev commands default `FORKARA_HOME` to `~/.forkara`, which keeps dev state under `~/.forkara/dev`.
77
- Override server CLI-equivalent flags from root dev commands with `--`, for example:
8-
`bun run dev -- --home-dir ~/.synara-2`
8+
`bun run dev -- --home-dir ~/.forkara-2`
99
- `bun run start` — Runs the production server (serves built web app as static files).
1010
- `bun run build` — Builds contracts, web app, and server through Turbo.
1111
- `bun run typecheck` — Strict TypeScript checks for all packages.
@@ -20,8 +20,8 @@
2020

2121
- Default local builds are unsigned/not notarized unless `--signed` is supplied with the required platform credentials.
2222
- Production icon sources are centralized in `scripts/lib/brand-assets.ts`. The current macOS source is `assets/prod/black-macos-1024.png` (with the legacy macOS variant alongside it); do not hard-code a separate packaging icon path in docs or scripts.
23-
- Desktop production windows load the bundled UI from `synara://app/index.html` (not a `127.0.0.1` document URL).
24-
- Desktop packaging includes `apps/server/dist` (the `synara` backend) and starts it on loopback with an auth token for WebSocket/API traffic.
23+
- Desktop production windows load the bundled UI from `forkara://app/index.html` (not a `127.0.0.1` document URL).
24+
- Desktop packaging includes `apps/server/dist` (the `forkara` backend) and starts it on loopback with an auth token for WebSocket/API traffic.
2525
- Your tester can still open an unsigned local macOS build by right-clicking the app and choosing **Open** on first launch.
2626
- To keep staging files for debugging package contents, run: `bun run dist:desktop:dmg -- --keep-stage`.
2727
- To enable code-signing/notarization when the required credentials are configured, add `--signed`.
@@ -35,10 +35,10 @@
3535

3636
## Running multiple dev instances
3737

38-
Set `SYNARA_DEV_INSTANCE` to any value to deterministically shift all dev ports together.
38+
Set `FORKARA_DEV_INSTANCE` to any value to deterministically shift all dev ports together.
3939

4040
- Default ports: server `3773`, web `5733`
41-
- Shifted ports: `base + offset` (offset is hashed from `SYNARA_DEV_INSTANCE`)
42-
- Example: `SYNARA_DEV_INSTANCE=branch-a bun run dev:desktop`
41+
- Shifted ports: `base + offset` (offset is hashed from `FORKARA_DEV_INSTANCE`)
42+
- Example: `FORKARA_DEV_INSTANCE=branch-a bun run dev:desktop`
4343

44-
If you want full control instead of hashing, set `SYNARA_PORT_OFFSET` to a numeric offset.
44+
If you want full control instead of hashing, set `FORKARA_PORT_OFFSET` to a numeric offset.

.docs/transport.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
How the browser and server talk: connect negotiation, WebSocket compression, and static asset delivery.
44

5-
Synara's transport was originally built for localhost, where bandwidth is free and latency is negligible. The mechanisms below exist because neither holds over a real network — they are also what makes running a session against a remote host practical.
5+
Forkara's transport was originally built for localhost, where bandwidth is free and latency is negligible. The mechanisms below exist because neither holds over a real network — they are also what makes running a session against a remote host practical.
66

77
## Connect negotiation
88

.docs/workspace-layout.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
# Workspace layout
22

3-
Synara is a Bun/Turbo monorepo. Runtime ownership is split across the app workspaces, while shared schemas and cross-runtime helpers live under `packages`.
3+
Forkara is a Bun/Turbo monorepo. Runtime ownership is split across the app workspaces, while shared schemas and cross-runtime helpers live under `packages`.
44

5-
- `/apps/server` — The authoritative Synara backend and published `@forkara/cli` package. Owns orchestration/persistence, provider adapters and health/discovery, Git/worktrees, terminals, automation, workspace files, HTTP/WebSocket RPC, and the bundled web client used outside Vite development.
5+
- `/apps/server` — The authoritative Forkara backend and published `@forkara/cli` package. Owns orchestration/persistence, provider adapters and health/discovery, Git/worktrees, terminals, automation, workspace files, HTTP/WebSocket RPC, and the bundled web client used outside Vite development.
66
- `/apps/web` — React + Vite application. Owns presentation, client transport/state coordination, chat/composer/editor/dock surfaces, and subscription-driven projection of server-authoritative state.
7-
- `/apps/desktop` — Electron host for the shared web client. Supervises a desktop-scoped Synara server process and provides native window, update, IPC, browser-automation, and other OS/Electron integrations.
7+
- `/apps/desktop` — Electron host for the shared web client. Supervises a desktop-scoped Forkara server process and provides native window, update, IPC, browser-automation, and other OS/Electron integrations.
88
- `/apps/marketing` — Public marketing/download site. Kept separate from the product runtime and desktop/web application bundles.
99
- `/packages/contracts` — Shared Effect Schema and TypeScript contracts for orchestration, provider/session/model data, RPC methods, settings, keybindings, automation, device/browser surfaces, and other cross-process payloads.
1010
- `/packages/shared` — Shared runtime utilities consumed by multiple apps/packages, including pure helpers as well as intentionally cross-runtime logging, worker, filesystem/network, and platform-boundary utilities. Uses explicit subpath exports (for example `@forkara/shared/git` and `@forkara/shared/threadWorkspace`) rather than one catch-all barrel.

0 commit comments

Comments
 (0)