You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: .docs/architecture.md
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,12 +1,12 @@
1
1
# Architecture
2
2
3
-
Synara is a local-first orchestration application with three main runtime surfaces:
3
+
Forkara is a local-first orchestration application with three main runtime surfaces:
4
4
5
5
- the React web client in `apps/web`;
6
6
- the server/runtime in `apps/server`;
7
7
- the Electron desktop shell in `apps/desktop`.
8
8
9
-
The server owns durable orchestration, provider sessions, Git/worktree state, terminals, automation, device/browser integrations, and the typed HTTP/WebSocket RPC surface. Provider-native protocols stay behind adapter boundaries; the web app consumes Synara contracts rather than talking to coding-agent CLIs directly.
9
+
The server owns durable orchestration, provider sessions, Git/worktree state, terminals, automation, device/browser integrations, and the typed HTTP/WebSocket RPC surface. Provider-native protocols stay behind adapter boundaries; the web app consumes Forkara contracts rather than talking to coding-agent CLIs directly.
10
10
11
11
```text
12
12
┌──────────────────────────────────────────────┐
@@ -124,7 +124,7 @@ Provider-specific session ids, process lifecycle, wire formats, model discovery,
124
124
125
125
## Persistence and local resources
126
126
127
-
Synara's server owns the local durable state and resource lifecycles:
127
+
Forkara's server owns the local durable state and resource lifecycles:
128
128
129
129
- SQLite persistence and projections under `apps/server/src/persistence`;
130
130
- managed Git/worktree operations under `apps/server/src/git` and checkpointing/orchestration services;
@@ -136,7 +136,7 @@ This ownership is why the web client can reload or reconnect without becoming th
136
136
137
137
## Desktop shell
138
138
139
-
`apps/desktop` is a native host, not a second orchestration implementation. It supervises a desktop-scoped Synara backend, loads the shared web UI, and provides OS/Electron integrations such as window lifecycle, native menus/shortcuts, updates, and platform-specific bridges.
139
+
`apps/desktop` is a native host, not a second orchestration implementation. It supervises a desktop-scoped Forkara backend, loads the shared web UI, and provides OS/Electron integrations such as window lifecycle, native menus/shortcuts, updates, and platform-specific bridges.
140
140
141
141
Browser/web mode and desktop mode therefore share the same server contracts and most UI code.
142
142
@@ -149,7 +149,7 @@ For orchestration state, the client uses two principal subscription shapes:
149
149
- a lightweight shell stream for projects/thread summaries and application-level navigation state;
150
150
- scoped thread-detail streams for full conversation/activity state.
151
151
152
-
Streams support snapshot/replay recovery and client-side sequence fences. A late query or replay must not roll the client behind a newer live sequence; when recovery cannot be proven safe, Synara prefers a fresh snapshot.
152
+
Streams support snapshot/replay recovery and client-side sequence fences. A late query or replay must not roll the client behind a newer live sequence; when recovery cannot be proven safe, Forkara prefers a fresh snapshot.
Copy file name to clipboardExpand all lines: .docs/provider-architecture.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
# Provider architecture
2
2
3
-
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.
3
+
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.
Copy file name to clipboardExpand all lines: .docs/quick-start.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,7 +12,7 @@ bun run dev
12
12
bun run dev:desktop
13
13
14
14
# 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
16
16
```
17
17
18
18
## Production-style local run
@@ -37,10 +37,10 @@ bun run dist:desktop:win
37
37
38
38
## Published CLI package
39
39
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:
41
41
42
42
```bash
43
-
npx --yes --package=@forkara/cli synara --help
43
+
npx --yes --package=@forkara/cli forkara --help
44
44
```
45
45
46
46
For repository scripts, release packaging, and multi-instance development details, see [scripts.md](./scripts.md).
Copy file name to clipboardExpand all lines: .docs/scripts.md
+8-8Lines changed: 8 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,9 +3,9 @@
3
3
-`bun run dev` — Starts contracts, server, and web in `turbo watch` mode.
4
4
-`bun run dev:server` — Starts just the WebSocket server (uses Bun TypeScript execution).
5
5
-`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`.
7
7
- 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`
9
9
-`bun run start` — Runs the production server (serves built web app as static files).
10
10
-`bun run build` — Builds contracts, web app, and server through Turbo.
11
11
-`bun run typecheck` — Strict TypeScript checks for all packages.
@@ -20,8 +20,8 @@
20
20
21
21
- Default local builds are unsigned/not notarized unless `--signed` is supplied with the required platform credentials.
22
22
- 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.
25
25
- Your tester can still open an unsigned local macOS build by right-clicking the app and choosing **Open** on first launch.
26
26
- To keep staging files for debugging package contents, run: `bun run dist:desktop:dmg -- --keep-stage`.
27
27
- To enable code-signing/notarization when the required credentials are configured, add `--signed`.
@@ -35,10 +35,10 @@
35
35
36
36
## Running multiple dev instances
37
37
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.
39
39
40
40
- 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`
43
43
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.
Copy file name to clipboardExpand all lines: .docs/transport.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@
2
2
3
3
How the browser and server talk: connect negotiation, WebSocket compression, and static asset delivery.
4
4
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.
0 commit comments