Skip to content

Commit d91a66e

Browse files
authored
chore(rebrand): rename workspace scope @t3tools/* → @bcode/* (#8)
* chore(rebrand): rename workspace package names @t3tools/* → @bcode/* * chore(rebrand): update workspace dependency refs to @bcode/* * chore(rebrand): point turbo filters at @bcode/* packages * chore(rebrand): rewrite @t3tools/* imports and turbo refs to @bcode/* * docs(rebrand): update package-scope references to @bcode/* * chore(rebrand): regenerate bun.lock for @bcode/* workspace rename * chore(rebrand): reformat imports after @bcode/* rename * docs: apply PR review fixes + switch CI to github-hosted runner - ci.yml: blacksmith-4vcpu-ubuntu-2404 → ubuntu-24.04 (fork can't claim a Blacksmith runner; all main runs since 01:04 UTC were stuck queued). - .docs/provider-architecture.md: reflect Claude-first (default provider is claudeAgent, Codex is secondary) and drop the stale NativeApi-in-@bcode/contracts claim; point at the actual environmentApi.ts / localApi.ts consumers. - docs/perf-benchmarks.md: "builds t3" → "builds @berkayorhan/bcode". - AGENTS.md: drop duplicate legacy-dir bullet now covered by the "kept as-is" block above it.
1 parent db5fe75 commit d91a66e

386 files changed

Lines changed: 615 additions & 645 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.

.docs/provider-architecture.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,13 @@ The web app communicates with the server via WebSocket using a simple JSON-RPC-s
77

88
Push channels: `server.welcome`, `server.configUpdated`, `terminal.event`, `orchestration.domainEvent`. Payloads are schema-validated at the transport boundary (`wsTransport.ts`). Decode failures produce structured `WsDecodeDiagnostic` with `code`, `reason`, and path info.
99

10-
Methods mirror the `NativeApi` interface defined in `@t3tools/contracts`:
10+
The WS RPC surface exposes provider, shell, and server methods, consumed from the web client in `apps/web/src/environmentApi.ts` and `apps/web/src/localApi.ts`:
1111

1212
- `providers.startSession`, `providers.sendTurn`, `providers.interruptTurn`
1313
- `providers.respondToRequest`, `providers.stopSession`
1414
- `shell.openInEditor`, `server.getConfig`
1515

16-
Codex is the only implemented provider. `claudeCode` is reserved in contracts/UI.
16+
BCode is Claude-first. The default provider is `claudeAgent` (configured in `packages/contracts/src/orchestration.ts`); Codex is available as a secondary option via the provider picker.
1717

1818
## Client transport
1919

.docs/workspace-layout.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,4 @@
44
- `/apps/web`: React + Vite UI. Session control, conversation, and provider event rendering. Connects to the server via WebSocket.
55
- `/apps/desktop`: Electron shell. Spawns a desktop-scoped `t3` backend process and loads the shared web app.
66
- `/packages/contracts`: Shared effect/Schema schemas and TypeScript contracts for provider events, WebSocket protocol, and model/session types.
7-
- `/packages/shared`: Shared runtime utilities consumed by both server and web. Uses explicit subpath exports (e.g. `@t3tools/shared/git`, `@t3tools/shared/DrainableWorker`) — no barrel index.
7+
- `/packages/shared`: Shared runtime utilities consumed by both server and web. Uses explicit subpath exports (e.g. `@bcode/shared/git`, `@bcode/shared/DrainableWorker`) — no barrel index.

.github/workflows/ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ on:
1010
jobs:
1111
quality:
1212
name: Format, Lint, Typecheck, Test, Browser Test, Build
13-
runs-on: blacksmith-4vcpu-ubuntu-2404
13+
runs-on: ubuntu-24.04
1414
timeout-minutes: 10
1515
steps:
1616
- name: Checkout

.github/workflows/release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -280,7 +280,7 @@ jobs:
280280
run: node scripts/update-release-package-versions.ts "${{ needs.preflight.outputs.version }}"
281281

282282
- name: Build CLI package
283-
run: bun run build --filter=@t3tools/web --filter=@berkayorhan/bcode
283+
run: bun run build --filter=@bcode/web --filter=@berkayorhan/bcode
284284

285285
- name: Publish CLI package
286286
run: node apps/server/scripts/cli.ts publish --tag "${{ needs.preflight.outputs.cli_dist_tag }}" --app-version "${{ needs.preflight.outputs.version }}" --verbose

AGENTS.md

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -12,17 +12,18 @@ BCode is a minimal web GUI for using coding agents. Claude is the default and pr
1212
This is a fork of T3 Code (pingdotgg/t3code). The rebrand is progressive:
1313

1414
- **User-facing strings** (UI labels, dialog text, window titles, error messages, docs, release names): Use **"BCode"**. Never introduce new "T3 Code" references.
15-
- **Internal identifiers — do NOT rename** (upstream compatibility):
16-
- Environment variables: `T3CODE_*` prefix
17-
- Protocol scheme: `t3://`
18-
- Home directory: `~/.t3`
19-
- Package scopes: `@t3tools/*`
20-
- npm package `t3`, `npx t3` commands
21-
- COM identifiers: `com.t3tools.t3code`
22-
- Linux desktop entries: `t3code.desktop`
23-
- localStorage keys: `t3code:theme`
24-
- TypeScript types, internal constants
25-
- **Legacy directory names** (e.g. `LEGACY_USER_DATA_DIR_NAME`): Keep as "T3 Code" — they reference old on-disk paths for migration.
15+
- **Internal identifiers — renamed in v0.0.19:**
16+
- Environment variables: `T3CODE_*``BCODE_*` (`T3CODE_*` still read with a deprecation warning through v0.0.19; removed in v0.0.20).
17+
- Home directory: `~/.t3``~/.bcode` (auto-migrated on first launch).
18+
- Package scopes: `@t3tools/*``@bcode/*`.
19+
- COM identifier: `com.t3tools.t3code``com.berkayorhan.bcode`.
20+
- Linux desktop entry: `t3code.desktop``bcode.desktop`.
21+
- localStorage keys: `t3code:*``bcode:*` (auto-migrated on first launch).
22+
- Desktop internal protocol scheme: `t3://``bcode://`.
23+
- **Internal identifiers kept as-is** (upstream compatibility or legacy migration):
24+
- `LEGACY_USER_DATA_DIR_NAME = "T3 Code (Alpha)"` / `"T3 Code (Dev)"` — pre-T3 electron userData path.
25+
- `USER_DATA_DIR_NAME = "t3code"` / `"t3code-dev"` — electron's current userData subdir; a deliberate non-rename to preserve existing installs' window state, cookies, and renderer cache. May be renamed in a later cleanup.
26+
- `LEGACY_T3_HOME_DIR_NAME = ".t3"` — read by the migration module only.
2627
- **Icons/logos**: Reuse existing assets for now.
2728

2829
When writing new code, use "BCode" in anything a user would see and the existing internal identifiers for everything else.
@@ -44,7 +45,7 @@ Long term maintainability is a core priority. If you add new functionality, firs
4445
- `apps/server`: Node.js WebSocket server. Manages provider sessions for Claude (via agent SDK) and Codex (via JSON-RPC over stdio app-server), serves the React web app, and streams structured events to the browser through WebSocket push.
4546
- `apps/web`: React/Vite UI. Owns session UX, conversation/event rendering, and client-side state. Connects to the server via WebSocket.
4647
- `packages/contracts`: Shared effect/Schema schemas and TypeScript contracts for provider events, WebSocket protocol, and model/session types. Keep this package schema-only — no runtime logic.
47-
- `packages/shared`: Shared runtime utilities consumed by both server and web. Uses explicit subpath exports (e.g. `@t3tools/shared/git`) — no barrel index.
48+
- `packages/shared`: Shared runtime utilities consumed by both server and web. Uses explicit subpath exports (e.g. `@bcode/shared/git`) — no barrel index.
4849

4950
## Provider Architecture
5051

CLAUDE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ For PRs, follow the template in `@.github/pull_request_template.md` — keep PRs
5353
## Naming Convention (Rebrand Rules)
5454

5555
- **User-facing** (UI labels, dialogs, error messages): use **"BCode"**
56-
- **Internal identifiers** (env vars `T3CODE_*`, protocol `t3://`, home `~/.t3`, packages `@t3tools/*`, npm `t3`/`npx t3`, COM `com.t3tools.t3code`, localStorage `t3code:*`): keep as-is for upstream compatibility
56+
- **Internal identifiers** (`BCODE_*` env vars, `bcode://` internal scheme, `~/.bcode` home, `@bcode/*` packages, `npx @berkayorhan/bcode` CLI, `com.berkayorhan.bcode` COM, `bcode:*` localStorage): post-rebrand state. `T3CODE_*` env is still accepted with a deprecation warning through v0.0.19; `~/.t3` and `t3code:*` localStorage are auto-migrated on first launch of v0.0.19.
5757

5858
## Architecture & Detailed Guidelines
5959

apps/desktop/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"name": "@t3tools/desktop",
2+
"name": "@bcode/desktop",
33
"version": "0.0.18",
44
"private": true,
55
"main": "dist-electron/main.js",
@@ -19,8 +19,8 @@
1919
"electron-updater": "^6.6.2"
2020
},
2121
"devDependencies": {
22-
"@t3tools/contracts": "workspace:*",
23-
"@t3tools/shared": "workspace:*",
22+
"@bcode/contracts": "workspace:*",
23+
"@bcode/shared": "workspace:*",
2424
"@types/node": "catalog:",
2525
"tsdown": "catalog:",
2626
"typescript": "catalog:",

apps/desktop/src/appBranding.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import type { DesktopAppBranding, DesktopAppStageLabel } from "@t3tools/contracts";
1+
import type { DesktopAppBranding, DesktopAppStageLabel } from "@bcode/contracts";
22

33
import { isNightlyDesktopVersion } from "./updateChannels";
44

apps/desktop/src/backendPort.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import * as Effect from "effect/Effect";
2-
import { NetService } from "@t3tools/shared/Net";
2+
import { NetService } from "@bcode/shared/Net";
33

44
export const DEFAULT_DESKTOP_BACKEND_PORT = 3773;
55
const MAX_TCP_PORT = 65_535;

apps/desktop/src/clientPersistence.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import {
66
EnvironmentId,
77
type ClientSettings,
88
type PersistedSavedEnvironmentRecord,
9-
} from "@t3tools/contracts";
9+
} from "@bcode/contracts";
1010
import { afterEach, describe, expect, it } from "vitest";
1111

1212
import {

0 commit comments

Comments
 (0)