Rename T3 Code branding to k3code - #1

Merged
IGN-Styly merged 4 commits into
mainfrom
t3code/k3code-branding
May 2, 2026
Merged

Rename T3 Code branding to k3code#1
IGN-Styly merged 4 commits into
mainfrom
t3code/k3code-branding

Conversation

@IGN-Styly

@IGN-StylyIGN-Styly commented May 2, 2026

Copy link
Copy Markdown
Owner
  • Update app, server, web, desktop, and docs copy to use k3code
  • Adjust branded titles, prompts, and tests to match the new name<!--
    ⚠️ READ BEFORE OPENING ⚠️

We are not actively accepting contributions right now.

You can still open a PR, but please do so knowing there is a high chance
we may close it without merging it, or never review it.

  • Small, focused PRs are strongly preferred. Bug fixes are most likely to be merged.
  • New features will most likely just annoy us.
  • 1,000+ line PRs with a bunch of new features will probably get you banned from the repo.
    -->

What Changed

Why

UI Changes

Checklist

  • This PR is small and focused
  • I explained what changed and why
  • I included before/after screenshots for any UI changes
  • I included a video for animation/interaction changes

Summary by CodeRabbit

  • New Features

    • Added Pi provider integration for AI-powered capabilities
    • Added Window Controls toggle setting for desktop users
  • Documentation

    • Updated documentation to reflect k3code branding throughout
  • Style & UI

    • Simplified sidebar branding display
    • Enhanced dialog layouts for improved responsiveness
  • Chores

    • Rebranded project from "T3 Code" to "k3code" across all user interfaces and messaging

IGN-Stylyand others added 4 commits May 1, 2026 23:34
- Update app, server, web, desktop, and docs copy to use k3code
- Adjust branded titles, prompts, and tests to match the new name
- Remove the T3 wordmark from the sidebar header
- Replace the label with the new k3code brand text
@IGN-Styly
IGN-Styly merged commit 41f8fd2 into mainMay 2, 2026
1 check was pending
@IGN-Styly
IGN-Styly deleted the t3code/k3code-branding branch May 2, 2026 11:18
@coderabbitai

coderabbitaiBot commented May 2, 2026

Copy link
Copy Markdown

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: f30423c3-d70d-442d-9ab7-f0be13c0544d

📥 Commits

Reviewing files that changed from the base of the PR and between 5ac63d3 and 124ede0.

⛔ Files ignored due to path filters (1)
  • bun.lock is excluded by !**/*.lock
📒 Files selected for processing (55)
  • AGENTS.md
  • KEYBINDINGS.md
  • README.md
  • REMOTE.md
  • apps/desktop/package.json
  • apps/desktop/scripts/electron-launcher.mjs
  • apps/desktop/src/appBranding.test.ts
  • apps/desktop/src/appBranding.ts
  • apps/desktop/src/clientPersistence.test.ts
  • apps/desktop/src/main.ts
  • apps/marketing/src/layouts/Layout.astro
  • apps/marketing/src/pages/download.astro
  • apps/marketing/src/pages/index.astro
  • apps/server/package.json
  • apps/server/src/cli.ts
  • apps/server/src/git/Layers/OpenCodeTextGeneration.ts
  • apps/server/src/piHarness.ts
  • apps/server/src/piSdkManager.ts
  • apps/server/src/provider/Drivers/PiDriver.ts
  • apps/server/src/provider/Layers/ClaudeProvider.ts
  • apps/server/src/provider/Layers/CodexProvider.ts
  • apps/server/src/provider/Layers/CursorProvider.ts
  • apps/server/src/provider/Layers/OpenCodeAdapter.ts
  • apps/server/src/provider/Layers/OpenCodeProvider.ts
  • apps/server/src/provider/Layers/ProviderRegistry.test.ts
  • apps/server/src/provider/Layers/ProviderService.ts
  • apps/server/src/provider/builtInDrivers.ts
  • apps/server/src/provider/providerStatusCache.test.ts
  • apps/server/src/serverRuntimeStartup.ts
  • apps/server/src/startupAccess.ts
  • apps/web/index.html
  • apps/web/src/authBootstrap.test.ts
  • apps/web/src/branding.test.ts
  • apps/web/src/branding.ts
  • apps/web/src/components/GitActionsControl.tsx
  • apps/web/src/components/KeybindingsToast.browser.tsx
  • apps/web/src/components/Sidebar.tsx
  • apps/web/src/components/SplashScreen.tsx
  • apps/web/src/components/desktopUpdate.logic.test.ts
  • apps/web/src/components/desktopUpdate.logic.ts
  • apps/web/src/components/settings/AddProviderInstanceDialog.tsx
  • apps/web/src/components/settings/ConnectionsSettings.tsx
  • apps/web/src/components/settings/ProviderModelsSection.tsx
  • apps/web/src/components/settings/SettingsPanels.browser.tsx
  • apps/web/src/components/settings/SettingsPanels.tsx
  • apps/web/src/components/settings/providerDriverMeta.ts
  • apps/web/src/components/settings/providerStatus.ts
  • apps/web/src/localApi.test.ts
  • apps/web/src/session-logic.ts
  • docs/observability.md
  • docs/providers/claude.md
  • docs/providers/codex.md
  • packages/contracts/src/model.ts
  • packages/contracts/src/settings.test.ts
  • packages/contracts/src/settings.ts

📝 Walkthrough

Walkthrough

This PR rebrands the project from "T3 Code" to "k3code" across all user-facing strings, configuration, and documentation, while simultaneously integrating a new Pi provider agent driver (@mariozechner/pi-coding-agent) with supporting harness/SDK layers, model configurations, settings schemas, and web/desktop UI components.

Changes

Unified Rebrand & Pi Provider Integration

Layer / File(s)Summary
Settings & Contract Schemas
packages/contracts/src/settings.ts, packages/contracts/src/model.ts, packages/contracts/src/settings.test.ts
Added hideWindowControls boolean to client settings (default false), introduced PiSettings provider schema with enabled and customModels, extended server and patch schemas to include pi provider config. Pi model exports added: PI_DEFAULT_MODEL, PI_THINKING_LEVEL_OPTIONS, and PiThinkingLevel type.
Pi Core Implementation
apps/server/src/piHarness.ts, apps/server/src/piSdkManager.ts
New piHarness.ts module provides Pi catalog snapshots, model slug normalization, settings/resource loaders with disabled Pi features, tool argument summarization, and session event parsing. New piSdkManager.ts implements PiSdkManager class managing embedded Pi agent sessions, turn lifecycle events, approval request gating, and thread inspection/rollback over provider runtime event streams.
Pi Driver & Registration
apps/server/src/provider/Drivers/PiDriver.ts, apps/server/src/provider/builtInDrivers.ts
New Pi provider driver implementation with model capability handling (thinking level support), provider snapshot lifecycle, adapter event publishing, and unsupported git text generation error handling. Driver registered in built-in drivers list with environment wiring.
Desktop Branding & Client Settings
apps/desktop/src/appBranding.ts, apps/desktop/src/appBranding.test.ts, apps/desktop/src/clientPersistence.test.ts, apps/desktop/src/main.ts, apps/desktop/package.json, apps/desktop/scripts/electron-launcher.mjs
APP_BASE_NAME updated to "k3code"; desktop window control visibility now gated by persisted clientSettings.hideWindowControls; in-memory client settings management added to IPC handlers; legacy user data directory name and update dialogs rebranded.
Web Branding & Defaults
apps/web/index.html, apps/web/src/branding.ts, apps/web/src/branding.test.ts, apps/web/src/authBootstrap.test.ts
Document title, splash screen labels, and APP_BASE_NAME fallback changed to "k3code (Alpha)".
Web UI Components & Settings Integration
apps/web/src/components/settings/SettingsPanels.tsx, apps/web/src/components/settings/ProviderModelsSection.tsx, apps/web/src/components/settings/providerDriverMeta.ts, apps/web/src/components/settings/AddProviderInstanceDialog.tsx, apps/web/src/components/Sidebar.tsx, apps/web/src/components/SplashScreen.tsx
Added Pi provider option to settings with icon and no editable fields. Introduced "Window controls" settings row toggling hideWindowControls. Removed Pi Agent from coming-soon list. Sidebar wordmark replaced with plain "k3code" text label. Updated custom model placeholders and OpenCode server URL description.
Web Session & Settings Helpers
apps/web/src/session-logic.ts, apps/web/src/components/KeybindingsToast.browser.tsx, apps/web/src/localApi.test.ts, apps/web/src/components/settings/SettingsPanels.browser.tsx, apps/web/src/components/desktopUpdate.logic.ts, apps/web/src/components/desktopUpdate.logic.test.ts, apps/web/src/components/settings/ConnectionsSettings.tsx
Added Pi provider to PROVIDER_OPTIONS with "new" badge. Pi settings integrated into base server config. Client settings fixtures updated to include hideWindowControls. Update warning and confirmation messages rebranded to "k3code".
Provider Status Messages & Server Messaging
apps/server/src/provider/Layers/ClaudeProvider.ts, apps/server/src/provider/Layers/CodexProvider.ts, apps/server/src/provider/Layers/CursorProvider.ts, apps/server/src/provider/Layers/OpenCodeProvider.ts, apps/server/src/provider/Layers/OpenCodeAdapter.ts, apps/server/src/provider/Layers/ProviderService.ts, apps/server/src/provider/Layers/ProviderRegistry.test.ts, apps/server/src/provider/providerStatusCache.test.ts, apps/server/src/serverRuntimeStartup.ts, apps/server/src/startupAccess.ts, apps/server/src/cli.ts
All disabled provider probe messages updated from "T3 Code settings" to "k3code settings". OpenCode session titles and Codex client info rebranded. CLI command descriptions updated. Server startup messaging and headless output rebranded. Git text generation title updated.
Documentation & Tests
AGENTS.md, KEYBINDINGS.md, README.md, REMOTE.md, docs/observability.md, docs/providers/claude.md, docs/providers/codex.md, apps/server/src/git/Layers/OpenCodeTextGeneration.ts, apps/web/src/components/GitActionsControl.tsx
All references to "T3 Code" rebranded to "k3code" in documentation and test strings. macOS app bundle paths updated. Claude multi-account isolation guidance expanded for k3code. GitActionsControl dialog footer layout refactored for responsive sizing.
Dependencies
apps/server/package.json
Added @mariozechner/pi-coding-agent@0.62.0 dependency.

Sequence Diagram

sequenceDiagram
participant User as User/Editor
participant WebUI as Web UI
participant Server as Server
participant PiSDK as Pi SDK Manager
participant PiAgent as Pi Agent<br/>(External)
User->>WebUI: Enable Pi provider & configure model
WebUI->>Server: POST /api/provider/start-session<br/>(threadId, pi provider, model)
Server->>PiSDK: startSession(threadId, model, runtimeMode)
PiSDK->>PiSDK: createLockedPiSettingsManager()
PiSDK->>PiSDK: createLockedPiResourceLoader()
PiSDK->>PiAgent: createSession(SessionManager)
PiAgent-->>PiSDK: session handle
PiSDK-->>Server: ProviderSession + event stream
Server-->>WebUI: session.started event
WebUI->>User: Show Pi session ready
User->>WebUI: Send turn (input + model options)
WebUI->>Server: POST /api/provider/send-turn<br/>(threadId, input, thinking level)
Server->>PiSDK: sendTurn(input, model, interactionMode)
PiSDK->>PiSDK: Materialize attachments to base64
PiSDK->>PiSDK: Select tool set (plan vs full)
PiSDK->>PiAgent: startPrompt(model, tools, thinking)
PiAgent->>PiAgent: Generate & execute tools<br/>(read/bash/edit/etc)
PiAgent-->>PiSDK: tool.call event
PiSDK->>Server: content.delta event
Server->>WebUI: Stream assistant response
PiAgent-->>PiSDK: turn_end + proposed_plan
PiSDK->>PiSDK: extractProposedPlanMarkdown()
PiSDK-->>Server: turn.completed event
Server-->>WebUI: Show plan or result
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~60 minutes

Poem

A rabbit hops with glee so bright,
k3code shines with fresh rebrand light,
Pi agents join the provider dance,
Window controls now get their chance,
Settings bloom and schemas grow,
This grand refactor steals the show! 🐰✨

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch t3code/k3code-branding

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
Review rate limit: 0/1 reviews remaining, refill in 60 minutes.

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitaicoderabbitaiBot mentioned this pull request May 7, 2026
5 tasks
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@IGN-Styly
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Rename T3 Code branding to k3code - #1

Merged
IGN-Styly merged 4 commits into
mainfrom
t3code/k3code-branding
May 2, 2026
Merged

Rename T3 Code branding to k3code#1
IGN-Styly merged 4 commits into
mainfrom
t3code/k3code-branding

Conversation

@IGN-Styly

@IGN-StylyIGN-Styly commented May 2, 2026

Copy link
Copy Markdown
Owner
  • Update app, server, web, desktop, and docs copy to use k3code
  • Adjust branded titles, prompts, and tests to match the new name<!--
    ⚠️ READ BEFORE OPENING ⚠️

We are not actively accepting contributions right now.

You can still open a PR, but please do so knowing there is a high chance
we may close it without merging it, or never review it.

  • Small, focused PRs are strongly preferred. Bug fixes are most likely to be merged.
  • New features will most likely just annoy us.
  • 1,000+ line PRs with a bunch of new features will probably get you banned from the repo.
    -->

What Changed

Why

UI Changes

Checklist

  • This PR is small and focused
  • I explained what changed and why
  • I included before/after screenshots for any UI changes
  • I included a video for animation/interaction changes

Summary by CodeRabbit

  • New Features

    • Added Pi provider integration for AI-powered capabilities
    • Added Window Controls toggle setting for desktop users
  • Documentation

    • Updated documentation to reflect k3code branding throughout
  • Style & UI

    • Simplified sidebar branding display
    • Enhanced dialog layouts for improved responsiveness
  • Chores

    • Rebranded project from "T3 Code" to "k3code" across all user interfaces and messaging

IGN-Stylyand others added 4 commits May 1, 2026 23:34
- Update app, server, web, desktop, and docs copy to use k3code
- Adjust branded titles, prompts, and tests to match the new name
- Remove the T3 wordmark from the sidebar header
- Replace the label with the new k3code brand text
@IGN-Styly
IGN-Styly merged commit 41f8fd2 into mainMay 2, 2026
1 check was pending
@IGN-Styly
IGN-Styly deleted the t3code/k3code-branding branch May 2, 2026 11:18
@coderabbitai

coderabbitaiBot commented May 2, 2026

Copy link
Copy Markdown

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: f30423c3-d70d-442d-9ab7-f0be13c0544d

📥 Commits

Reviewing files that changed from the base of the PR and between 5ac63d3 and 124ede0.

⛔ Files ignored due to path filters (1)
  • bun.lock is excluded by !**/*.lock
📒 Files selected for processing (55)
  • AGENTS.md
  • KEYBINDINGS.md
  • README.md
  • REMOTE.md
  • apps/desktop/package.json
  • apps/desktop/scripts/electron-launcher.mjs
  • apps/desktop/src/appBranding.test.ts
  • apps/desktop/src/appBranding.ts
  • apps/desktop/src/clientPersistence.test.ts
  • apps/desktop/src/main.ts
  • apps/marketing/src/layouts/Layout.astro
  • apps/marketing/src/pages/download.astro
  • apps/marketing/src/pages/index.astro
  • apps/server/package.json
  • apps/server/src/cli.ts
  • apps/server/src/git/Layers/OpenCodeTextGeneration.ts
  • apps/server/src/piHarness.ts
  • apps/server/src/piSdkManager.ts
  • apps/server/src/provider/Drivers/PiDriver.ts
  • apps/server/src/provider/Layers/ClaudeProvider.ts
  • apps/server/src/provider/Layers/CodexProvider.ts
  • apps/server/src/provider/Layers/CursorProvider.ts
  • apps/server/src/provider/Layers/OpenCodeAdapter.ts
  • apps/server/src/provider/Layers/OpenCodeProvider.ts
  • apps/server/src/provider/Layers/ProviderRegistry.test.ts
  • apps/server/src/provider/Layers/ProviderService.ts
  • apps/server/src/provider/builtInDrivers.ts
  • apps/server/src/provider/providerStatusCache.test.ts
  • apps/server/src/serverRuntimeStartup.ts
  • apps/server/src/startupAccess.ts
  • apps/web/index.html
  • apps/web/src/authBootstrap.test.ts
  • apps/web/src/branding.test.ts
  • apps/web/src/branding.ts
  • apps/web/src/components/GitActionsControl.tsx
  • apps/web/src/components/KeybindingsToast.browser.tsx
  • apps/web/src/components/Sidebar.tsx
  • apps/web/src/components/SplashScreen.tsx
  • apps/web/src/components/desktopUpdate.logic.test.ts
  • apps/web/src/components/desktopUpdate.logic.ts
  • apps/web/src/components/settings/AddProviderInstanceDialog.tsx
  • apps/web/src/components/settings/ConnectionsSettings.tsx
  • apps/web/src/components/settings/ProviderModelsSection.tsx
  • apps/web/src/components/settings/SettingsPanels.browser.tsx
  • apps/web/src/components/settings/SettingsPanels.tsx
  • apps/web/src/components/settings/providerDriverMeta.ts
  • apps/web/src/components/settings/providerStatus.ts
  • apps/web/src/localApi.test.ts
  • apps/web/src/session-logic.ts
  • docs/observability.md
  • docs/providers/claude.md
  • docs/providers/codex.md
  • packages/contracts/src/model.ts
  • packages/contracts/src/settings.test.ts
  • packages/contracts/src/settings.ts

📝 Walkthrough

Walkthrough

This PR rebrands the project from "T3 Code" to "k3code" across all user-facing strings, configuration, and documentation, while simultaneously integrating a new Pi provider agent driver (@mariozechner/pi-coding-agent) with supporting harness/SDK layers, model configurations, settings schemas, and web/desktop UI components.

Changes

Unified Rebrand & Pi Provider Integration

Layer / File(s)Summary
Settings & Contract Schemas
packages/contracts/src/settings.ts, packages/contracts/src/model.ts, packages/contracts/src/settings.test.ts
Added hideWindowControls boolean to client settings (default false), introduced PiSettings provider schema with enabled and customModels, extended server and patch schemas to include pi provider config. Pi model exports added: PI_DEFAULT_MODEL, PI_THINKING_LEVEL_OPTIONS, and PiThinkingLevel type.
Pi Core Implementation
apps/server/src/piHarness.ts, apps/server/src/piSdkManager.ts
New piHarness.ts module provides Pi catalog snapshots, model slug normalization, settings/resource loaders with disabled Pi features, tool argument summarization, and session event parsing. New piSdkManager.ts implements PiSdkManager class managing embedded Pi agent sessions, turn lifecycle events, approval request gating, and thread inspection/rollback over provider runtime event streams.
Pi Driver & Registration
apps/server/src/provider/Drivers/PiDriver.ts, apps/server/src/provider/builtInDrivers.ts
New Pi provider driver implementation with model capability handling (thinking level support), provider snapshot lifecycle, adapter event publishing, and unsupported git text generation error handling. Driver registered in built-in drivers list with environment wiring.
Desktop Branding & Client Settings
apps/desktop/src/appBranding.ts, apps/desktop/src/appBranding.test.ts, apps/desktop/src/clientPersistence.test.ts, apps/desktop/src/main.ts, apps/desktop/package.json, apps/desktop/scripts/electron-launcher.mjs
APP_BASE_NAME updated to "k3code"; desktop window control visibility now gated by persisted clientSettings.hideWindowControls; in-memory client settings management added to IPC handlers; legacy user data directory name and update dialogs rebranded.
Web Branding & Defaults
apps/web/index.html, apps/web/src/branding.ts, apps/web/src/branding.test.ts, apps/web/src/authBootstrap.test.ts
Document title, splash screen labels, and APP_BASE_NAME fallback changed to "k3code (Alpha)".
Web UI Components & Settings Integration
apps/web/src/components/settings/SettingsPanels.tsx, apps/web/src/components/settings/ProviderModelsSection.tsx, apps/web/src/components/settings/providerDriverMeta.ts, apps/web/src/components/settings/AddProviderInstanceDialog.tsx, apps/web/src/components/Sidebar.tsx, apps/web/src/components/SplashScreen.tsx
Added Pi provider option to settings with icon and no editable fields. Introduced "Window controls" settings row toggling hideWindowControls. Removed Pi Agent from coming-soon list. Sidebar wordmark replaced with plain "k3code" text label. Updated custom model placeholders and OpenCode server URL description.
Web Session & Settings Helpers
apps/web/src/session-logic.ts, apps/web/src/components/KeybindingsToast.browser.tsx, apps/web/src/localApi.test.ts, apps/web/src/components/settings/SettingsPanels.browser.tsx, apps/web/src/components/desktopUpdate.logic.ts, apps/web/src/components/desktopUpdate.logic.test.ts, apps/web/src/components/settings/ConnectionsSettings.tsx
Added Pi provider to PROVIDER_OPTIONS with "new" badge. Pi settings integrated into base server config. Client settings fixtures updated to include hideWindowControls. Update warning and confirmation messages rebranded to "k3code".
Provider Status Messages & Server Messaging
apps/server/src/provider/Layers/ClaudeProvider.ts, apps/server/src/provider/Layers/CodexProvider.ts, apps/server/src/provider/Layers/CursorProvider.ts, apps/server/src/provider/Layers/OpenCodeProvider.ts, apps/server/src/provider/Layers/OpenCodeAdapter.ts, apps/server/src/provider/Layers/ProviderService.ts, apps/server/src/provider/Layers/ProviderRegistry.test.ts, apps/server/src/provider/providerStatusCache.test.ts, apps/server/src/serverRuntimeStartup.ts, apps/server/src/startupAccess.ts, apps/server/src/cli.ts
All disabled provider probe messages updated from "T3 Code settings" to "k3code settings". OpenCode session titles and Codex client info rebranded. CLI command descriptions updated. Server startup messaging and headless output rebranded. Git text generation title updated.
Documentation & Tests
AGENTS.md, KEYBINDINGS.md, README.md, REMOTE.md, docs/observability.md, docs/providers/claude.md, docs/providers/codex.md, apps/server/src/git/Layers/OpenCodeTextGeneration.ts, apps/web/src/components/GitActionsControl.tsx
All references to "T3 Code" rebranded to "k3code" in documentation and test strings. macOS app bundle paths updated. Claude multi-account isolation guidance expanded for k3code. GitActionsControl dialog footer layout refactored for responsive sizing.
Dependencies
apps/server/package.json
Added @mariozechner/pi-coding-agent@0.62.0 dependency.

Sequence Diagram

sequenceDiagram
participant User as User/Editor
participant WebUI as Web UI
participant Server as Server
participant PiSDK as Pi SDK Manager
participant PiAgent as Pi Agent<br/>(External)
User->>WebUI: Enable Pi provider & configure model
WebUI->>Server: POST /api/provider/start-session<br/>(threadId, pi provider, model)
Server->>PiSDK: startSession(threadId, model, runtimeMode)
PiSDK->>PiSDK: createLockedPiSettingsManager()
PiSDK->>PiSDK: createLockedPiResourceLoader()
PiSDK->>PiAgent: createSession(SessionManager)
PiAgent-->>PiSDK: session handle
PiSDK-->>Server: ProviderSession + event stream
Server-->>WebUI: session.started event
WebUI->>User: Show Pi session ready
User->>WebUI: Send turn (input + model options)
WebUI->>Server: POST /api/provider/send-turn<br/>(threadId, input, thinking level)
Server->>PiSDK: sendTurn(input, model, interactionMode)
PiSDK->>PiSDK: Materialize attachments to base64
PiSDK->>PiSDK: Select tool set (plan vs full)
PiSDK->>PiAgent: startPrompt(model, tools, thinking)
PiAgent->>PiAgent: Generate & execute tools<br/>(read/bash/edit/etc)
PiAgent-->>PiSDK: tool.call event
PiSDK->>Server: content.delta event
Server->>WebUI: Stream assistant response
PiAgent-->>PiSDK: turn_end + proposed_plan
PiSDK->>PiSDK: extractProposedPlanMarkdown()
PiSDK-->>Server: turn.completed event
Server-->>WebUI: Show plan or result
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~60 minutes

Poem

A rabbit hops with glee so bright,
k3code shines with fresh rebrand light,
Pi agents join the provider dance,
Window controls now get their chance,
Settings bloom and schemas grow,
This grand refactor steals the show! 🐰✨

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch t3code/k3code-branding

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
Review rate limit: 0/1 reviews remaining, refill in 60 minutes.

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitaicoderabbitaiBot mentioned this pull request May 7, 2026
5 tasks
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@IGN-Styly
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Rename T3 Code branding to k3code - #1

Merged
IGN-Styly merged 4 commits into
mainfrom
t3code/k3code-branding
May 2, 2026
Merged

Rename T3 Code branding to k3code#1
IGN-Styly merged 4 commits into
mainfrom
t3code/k3code-branding

Conversation

@IGN-Styly

@IGN-StylyIGN-Styly commented May 2, 2026

Copy link
Copy Markdown
Owner
  • Update app, server, web, desktop, and docs copy to use k3code
  • Adjust branded titles, prompts, and tests to match the new name<!--
    ⚠️ READ BEFORE OPENING ⚠️

We are not actively accepting contributions right now.

You can still open a PR, but please do so knowing there is a high chance
we may close it without merging it, or never review it.

  • Small, focused PRs are strongly preferred. Bug fixes are most likely to be merged.
  • New features will most likely just annoy us.
  • 1,000+ line PRs with a bunch of new features will probably get you banned from the repo.
    -->

What Changed

Why

UI Changes

Checklist

  • This PR is small and focused
  • I explained what changed and why
  • I included before/after screenshots for any UI changes
  • I included a video for animation/interaction changes

Summary by CodeRabbit

  • New Features

    • Added Pi provider integration for AI-powered capabilities
    • Added Window Controls toggle setting for desktop users
  • Documentation

    • Updated documentation to reflect k3code branding throughout
  • Style & UI

    • Simplified sidebar branding display
    • Enhanced dialog layouts for improved responsiveness
  • Chores

    • Rebranded project from "T3 Code" to "k3code" across all user interfaces and messaging

IGN-Stylyand others added 4 commits May 1, 2026 23:34
- Update app, server, web, desktop, and docs copy to use k3code
- Adjust branded titles, prompts, and tests to match the new name
- Remove the T3 wordmark from the sidebar header
- Replace the label with the new k3code brand text
@IGN-Styly
IGN-Styly merged commit 41f8fd2 into mainMay 2, 2026
1 check was pending
@IGN-Styly
IGN-Styly deleted the t3code/k3code-branding branch May 2, 2026 11:18
@coderabbitai

coderabbitaiBot commented May 2, 2026

Copy link
Copy Markdown

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: f30423c3-d70d-442d-9ab7-f0be13c0544d

📥 Commits

Reviewing files that changed from the base of the PR and between 5ac63d3 and 124ede0.

⛔ Files ignored due to path filters (1)
  • bun.lock is excluded by !**/*.lock
📒 Files selected for processing (55)
  • AGENTS.md
  • KEYBINDINGS.md
  • README.md
  • REMOTE.md
  • apps/desktop/package.json
  • apps/desktop/scripts/electron-launcher.mjs
  • apps/desktop/src/appBranding.test.ts
  • apps/desktop/src/appBranding.ts
  • apps/desktop/src/clientPersistence.test.ts
  • apps/desktop/src/main.ts
  • apps/marketing/src/layouts/Layout.astro
  • apps/marketing/src/pages/download.astro
  • apps/marketing/src/pages/index.astro
  • apps/server/package.json
  • apps/server/src/cli.ts
  • apps/server/src/git/Layers/OpenCodeTextGeneration.ts
  • apps/server/src/piHarness.ts
  • apps/server/src/piSdkManager.ts
  • apps/server/src/provider/Drivers/PiDriver.ts
  • apps/server/src/provider/Layers/ClaudeProvider.ts
  • apps/server/src/provider/Layers/CodexProvider.ts
  • apps/server/src/provider/Layers/CursorProvider.ts
  • apps/server/src/provider/Layers/OpenCodeAdapter.ts
  • apps/server/src/provider/Layers/OpenCodeProvider.ts
  • apps/server/src/provider/Layers/ProviderRegistry.test.ts
  • apps/server/src/provider/Layers/ProviderService.ts
  • apps/server/src/provider/builtInDrivers.ts
  • apps/server/src/provider/providerStatusCache.test.ts
  • apps/server/src/serverRuntimeStartup.ts
  • apps/server/src/startupAccess.ts
  • apps/web/index.html
  • apps/web/src/authBootstrap.test.ts
  • apps/web/src/branding.test.ts
  • apps/web/src/branding.ts
  • apps/web/src/components/GitActionsControl.tsx
  • apps/web/src/components/KeybindingsToast.browser.tsx
  • apps/web/src/components/Sidebar.tsx
  • apps/web/src/components/SplashScreen.tsx
  • apps/web/src/components/desktopUpdate.logic.test.ts
  • apps/web/src/components/desktopUpdate.logic.ts
  • apps/web/src/components/settings/AddProviderInstanceDialog.tsx
  • apps/web/src/components/settings/ConnectionsSettings.tsx
  • apps/web/src/components/settings/ProviderModelsSection.tsx
  • apps/web/src/components/settings/SettingsPanels.browser.tsx
  • apps/web/src/components/settings/SettingsPanels.tsx
  • apps/web/src/components/settings/providerDriverMeta.ts
  • apps/web/src/components/settings/providerStatus.ts
  • apps/web/src/localApi.test.ts
  • apps/web/src/session-logic.ts
  • docs/observability.md
  • docs/providers/claude.md
  • docs/providers/codex.md
  • packages/contracts/src/model.ts
  • packages/contracts/src/settings.test.ts
  • packages/contracts/src/settings.ts

📝 Walkthrough

Walkthrough

This PR rebrands the project from "T3 Code" to "k3code" across all user-facing strings, configuration, and documentation, while simultaneously integrating a new Pi provider agent driver (@mariozechner/pi-coding-agent) with supporting harness/SDK layers, model configurations, settings schemas, and web/desktop UI components.

Changes

Unified Rebrand & Pi Provider Integration

Layer / File(s)Summary
Settings & Contract Schemas
packages/contracts/src/settings.ts, packages/contracts/src/model.ts, packages/contracts/src/settings.test.ts
Added hideWindowControls boolean to client settings (default false), introduced PiSettings provider schema with enabled and customModels, extended server and patch schemas to include pi provider config. Pi model exports added: PI_DEFAULT_MODEL, PI_THINKING_LEVEL_OPTIONS, and PiThinkingLevel type.
Pi Core Implementation
apps/server/src/piHarness.ts, apps/server/src/piSdkManager.ts
New piHarness.ts module provides Pi catalog snapshots, model slug normalization, settings/resource loaders with disabled Pi features, tool argument summarization, and session event parsing. New piSdkManager.ts implements PiSdkManager class managing embedded Pi agent sessions, turn lifecycle events, approval request gating, and thread inspection/rollback over provider runtime event streams.
Pi Driver & Registration
apps/server/src/provider/Drivers/PiDriver.ts, apps/server/src/provider/builtInDrivers.ts
New Pi provider driver implementation with model capability handling (thinking level support), provider snapshot lifecycle, adapter event publishing, and unsupported git text generation error handling. Driver registered in built-in drivers list with environment wiring.
Desktop Branding & Client Settings
apps/desktop/src/appBranding.ts, apps/desktop/src/appBranding.test.ts, apps/desktop/src/clientPersistence.test.ts, apps/desktop/src/main.ts, apps/desktop/package.json, apps/desktop/scripts/electron-launcher.mjs
APP_BASE_NAME updated to "k3code"; desktop window control visibility now gated by persisted clientSettings.hideWindowControls; in-memory client settings management added to IPC handlers; legacy user data directory name and update dialogs rebranded.
Web Branding & Defaults
apps/web/index.html, apps/web/src/branding.ts, apps/web/src/branding.test.ts, apps/web/src/authBootstrap.test.ts
Document title, splash screen labels, and APP_BASE_NAME fallback changed to "k3code (Alpha)".
Web UI Components & Settings Integration
apps/web/src/components/settings/SettingsPanels.tsx, apps/web/src/components/settings/ProviderModelsSection.tsx, apps/web/src/components/settings/providerDriverMeta.ts, apps/web/src/components/settings/AddProviderInstanceDialog.tsx, apps/web/src/components/Sidebar.tsx, apps/web/src/components/SplashScreen.tsx
Added Pi provider option to settings with icon and no editable fields. Introduced "Window controls" settings row toggling hideWindowControls. Removed Pi Agent from coming-soon list. Sidebar wordmark replaced with plain "k3code" text label. Updated custom model placeholders and OpenCode server URL description.
Web Session & Settings Helpers
apps/web/src/session-logic.ts, apps/web/src/components/KeybindingsToast.browser.tsx, apps/web/src/localApi.test.ts, apps/web/src/components/settings/SettingsPanels.browser.tsx, apps/web/src/components/desktopUpdate.logic.ts, apps/web/src/components/desktopUpdate.logic.test.ts, apps/web/src/components/settings/ConnectionsSettings.tsx
Added Pi provider to PROVIDER_OPTIONS with "new" badge. Pi settings integrated into base server config. Client settings fixtures updated to include hideWindowControls. Update warning and confirmation messages rebranded to "k3code".
Provider Status Messages & Server Messaging
apps/server/src/provider/Layers/ClaudeProvider.ts, apps/server/src/provider/Layers/CodexProvider.ts, apps/server/src/provider/Layers/CursorProvider.ts, apps/server/src/provider/Layers/OpenCodeProvider.ts, apps/server/src/provider/Layers/OpenCodeAdapter.ts, apps/server/src/provider/Layers/ProviderService.ts, apps/server/src/provider/Layers/ProviderRegistry.test.ts, apps/server/src/provider/providerStatusCache.test.ts, apps/server/src/serverRuntimeStartup.ts, apps/server/src/startupAccess.ts, apps/server/src/cli.ts
All disabled provider probe messages updated from "T3 Code settings" to "k3code settings". OpenCode session titles and Codex client info rebranded. CLI command descriptions updated. Server startup messaging and headless output rebranded. Git text generation title updated.
Documentation & Tests
AGENTS.md, KEYBINDINGS.md, README.md, REMOTE.md, docs/observability.md, docs/providers/claude.md, docs/providers/codex.md, apps/server/src/git/Layers/OpenCodeTextGeneration.ts, apps/web/src/components/GitActionsControl.tsx
All references to "T3 Code" rebranded to "k3code" in documentation and test strings. macOS app bundle paths updated. Claude multi-account isolation guidance expanded for k3code. GitActionsControl dialog footer layout refactored for responsive sizing.
Dependencies
apps/server/package.json
Added @mariozechner/pi-coding-agent@0.62.0 dependency.

Sequence Diagram

sequenceDiagram
participant User as User/Editor
participant WebUI as Web UI
participant Server as Server
participant PiSDK as Pi SDK Manager
participant PiAgent as Pi Agent<br/>(External)
User->>WebUI: Enable Pi provider & configure model
WebUI->>Server: POST /api/provider/start-session<br/>(threadId, pi provider, model)
Server->>PiSDK: startSession(threadId, model, runtimeMode)
PiSDK->>PiSDK: createLockedPiSettingsManager()
PiSDK->>PiSDK: createLockedPiResourceLoader()
PiSDK->>PiAgent: createSession(SessionManager)
PiAgent-->>PiSDK: session handle
PiSDK-->>Server: ProviderSession + event stream
Server-->>WebUI: session.started event
WebUI->>User: Show Pi session ready
User->>WebUI: Send turn (input + model options)
WebUI->>Server: POST /api/provider/send-turn<br/>(threadId, input, thinking level)
Server->>PiSDK: sendTurn(input, model, interactionMode)
PiSDK->>PiSDK: Materialize attachments to base64
PiSDK->>PiSDK: Select tool set (plan vs full)
PiSDK->>PiAgent: startPrompt(model, tools, thinking)
PiAgent->>PiAgent: Generate & execute tools<br/>(read/bash/edit/etc)
PiAgent-->>PiSDK: tool.call event
PiSDK->>Server: content.delta event
Server->>WebUI: Stream assistant response
PiAgent-->>PiSDK: turn_end + proposed_plan
PiSDK->>PiSDK: extractProposedPlanMarkdown()
PiSDK-->>Server: turn.completed event
Server-->>WebUI: Show plan or result
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~60 minutes

Poem

A rabbit hops with glee so bright,
k3code shines with fresh rebrand light,
Pi agents join the provider dance,
Window controls now get their chance,
Settings bloom and schemas grow,
This grand refactor steals the show! 🐰✨

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch t3code/k3code-branding

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
Review rate limit: 0/1 reviews remaining, refill in 60 minutes.

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitaicoderabbitaiBot mentioned this pull request May 7, 2026
5 tasks
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@IGN-Styly
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Rename T3 Code branding to k3code - #1

Merged
IGN-Styly merged 4 commits into
mainfrom
t3code/k3code-branding
May 2, 2026
Merged

Rename T3 Code branding to k3code#1
IGN-Styly merged 4 commits into
mainfrom
t3code/k3code-branding

Conversation

@IGN-Styly

@IGN-StylyIGN-Styly commented May 2, 2026

Copy link
Copy Markdown
Owner
  • Update app, server, web, desktop, and docs copy to use k3code
  • Adjust branded titles, prompts, and tests to match the new name<!--
    ⚠️ READ BEFORE OPENING ⚠️

We are not actively accepting contributions right now.

You can still open a PR, but please do so knowing there is a high chance
we may close it without merging it, or never review it.

  • Small, focused PRs are strongly preferred. Bug fixes are most likely to be merged.
  • New features will most likely just annoy us.
  • 1,000+ line PRs with a bunch of new features will probably get you banned from the repo.
    -->

What Changed

Why

UI Changes

Checklist

  • This PR is small and focused
  • I explained what changed and why
  • I included before/after screenshots for any UI changes
  • I included a video for animation/interaction changes

Summary by CodeRabbit

  • New Features

    • Added Pi provider integration for AI-powered capabilities
    • Added Window Controls toggle setting for desktop users
  • Documentation

    • Updated documentation to reflect k3code branding throughout
  • Style & UI

    • Simplified sidebar branding display
    • Enhanced dialog layouts for improved responsiveness
  • Chores

    • Rebranded project from "T3 Code" to "k3code" across all user interfaces and messaging

IGN-Stylyand others added 4 commits May 1, 2026 23:34
- Update app, server, web, desktop, and docs copy to use k3code
- Adjust branded titles, prompts, and tests to match the new name
- Remove the T3 wordmark from the sidebar header
- Replace the label with the new k3code brand text
@IGN-Styly
IGN-Styly merged commit 41f8fd2 into mainMay 2, 2026
1 check was pending
@IGN-Styly
IGN-Styly deleted the t3code/k3code-branding branch May 2, 2026 11:18
@coderabbitai

coderabbitaiBot commented May 2, 2026

Copy link
Copy Markdown

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: f30423c3-d70d-442d-9ab7-f0be13c0544d

📥 Commits

Reviewing files that changed from the base of the PR and between 5ac63d3 and 124ede0.

⛔ Files ignored due to path filters (1)
  • bun.lock is excluded by !**/*.lock
📒 Files selected for processing (55)
  • AGENTS.md
  • KEYBINDINGS.md
  • README.md
  • REMOTE.md
  • apps/desktop/package.json
  • apps/desktop/scripts/electron-launcher.mjs
  • apps/desktop/src/appBranding.test.ts
  • apps/desktop/src/appBranding.ts
  • apps/desktop/src/clientPersistence.test.ts
  • apps/desktop/src/main.ts
  • apps/marketing/src/layouts/Layout.astro
  • apps/marketing/src/pages/download.astro
  • apps/marketing/src/pages/index.astro
  • apps/server/package.json
  • apps/server/src/cli.ts
  • apps/server/src/git/Layers/OpenCodeTextGeneration.ts
  • apps/server/src/piHarness.ts
  • apps/server/src/piSdkManager.ts
  • apps/server/src/provider/Drivers/PiDriver.ts
  • apps/server/src/provider/Layers/ClaudeProvider.ts
  • apps/server/src/provider/Layers/CodexProvider.ts
  • apps/server/src/provider/Layers/CursorProvider.ts
  • apps/server/src/provider/Layers/OpenCodeAdapter.ts
  • apps/server/src/provider/Layers/OpenCodeProvider.ts
  • apps/server/src/provider/Layers/ProviderRegistry.test.ts
  • apps/server/src/provider/Layers/ProviderService.ts
  • apps/server/src/provider/builtInDrivers.ts
  • apps/server/src/provider/providerStatusCache.test.ts
  • apps/server/src/serverRuntimeStartup.ts
  • apps/server/src/startupAccess.ts
  • apps/web/index.html
  • apps/web/src/authBootstrap.test.ts
  • apps/web/src/branding.test.ts
  • apps/web/src/branding.ts
  • apps/web/src/components/GitActionsControl.tsx
  • apps/web/src/components/KeybindingsToast.browser.tsx
  • apps/web/src/components/Sidebar.tsx
  • apps/web/src/components/SplashScreen.tsx
  • apps/web/src/components/desktopUpdate.logic.test.ts
  • apps/web/src/components/desktopUpdate.logic.ts
  • apps/web/src/components/settings/AddProviderInstanceDialog.tsx
  • apps/web/src/components/settings/ConnectionsSettings.tsx
  • apps/web/src/components/settings/ProviderModelsSection.tsx
  • apps/web/src/components/settings/SettingsPanels.browser.tsx
  • apps/web/src/components/settings/SettingsPanels.tsx
  • apps/web/src/components/settings/providerDriverMeta.ts
  • apps/web/src/components/settings/providerStatus.ts
  • apps/web/src/localApi.test.ts
  • apps/web/src/session-logic.ts
  • docs/observability.md
  • docs/providers/claude.md
  • docs/providers/codex.md
  • packages/contracts/src/model.ts
  • packages/contracts/src/settings.test.ts
  • packages/contracts/src/settings.ts

📝 Walkthrough

Walkthrough

This PR rebrands the project from "T3 Code" to "k3code" across all user-facing strings, configuration, and documentation, while simultaneously integrating a new Pi provider agent driver (@mariozechner/pi-coding-agent) with supporting harness/SDK layers, model configurations, settings schemas, and web/desktop UI components.

Changes

Unified Rebrand & Pi Provider Integration

Layer / File(s)Summary
Settings & Contract Schemas
packages/contracts/src/settings.ts, packages/contracts/src/model.ts, packages/contracts/src/settings.test.ts
Added hideWindowControls boolean to client settings (default false), introduced PiSettings provider schema with enabled and customModels, extended server and patch schemas to include pi provider config. Pi model exports added: PI_DEFAULT_MODEL, PI_THINKING_LEVEL_OPTIONS, and PiThinkingLevel type.
Pi Core Implementation
apps/server/src/piHarness.ts, apps/server/src/piSdkManager.ts
New piHarness.ts module provides Pi catalog snapshots, model slug normalization, settings/resource loaders with disabled Pi features, tool argument summarization, and session event parsing. New piSdkManager.ts implements PiSdkManager class managing embedded Pi agent sessions, turn lifecycle events, approval request gating, and thread inspection/rollback over provider runtime event streams.
Pi Driver & Registration
apps/server/src/provider/Drivers/PiDriver.ts, apps/server/src/provider/builtInDrivers.ts
New Pi provider driver implementation with model capability handling (thinking level support), provider snapshot lifecycle, adapter event publishing, and unsupported git text generation error handling. Driver registered in built-in drivers list with environment wiring.
Desktop Branding & Client Settings
apps/desktop/src/appBranding.ts, apps/desktop/src/appBranding.test.ts, apps/desktop/src/clientPersistence.test.ts, apps/desktop/src/main.ts, apps/desktop/package.json, apps/desktop/scripts/electron-launcher.mjs
APP_BASE_NAME updated to "k3code"; desktop window control visibility now gated by persisted clientSettings.hideWindowControls; in-memory client settings management added to IPC handlers; legacy user data directory name and update dialogs rebranded.
Web Branding & Defaults
apps/web/index.html, apps/web/src/branding.ts, apps/web/src/branding.test.ts, apps/web/src/authBootstrap.test.ts
Document title, splash screen labels, and APP_BASE_NAME fallback changed to "k3code (Alpha)".
Web UI Components & Settings Integration
apps/web/src/components/settings/SettingsPanels.tsx, apps/web/src/components/settings/ProviderModelsSection.tsx, apps/web/src/components/settings/providerDriverMeta.ts, apps/web/src/components/settings/AddProviderInstanceDialog.tsx, apps/web/src/components/Sidebar.tsx, apps/web/src/components/SplashScreen.tsx
Added Pi provider option to settings with icon and no editable fields. Introduced "Window controls" settings row toggling hideWindowControls. Removed Pi Agent from coming-soon list. Sidebar wordmark replaced with plain "k3code" text label. Updated custom model placeholders and OpenCode server URL description.
Web Session & Settings Helpers
apps/web/src/session-logic.ts, apps/web/src/components/KeybindingsToast.browser.tsx, apps/web/src/localApi.test.ts, apps/web/src/components/settings/SettingsPanels.browser.tsx, apps/web/src/components/desktopUpdate.logic.ts, apps/web/src/components/desktopUpdate.logic.test.ts, apps/web/src/components/settings/ConnectionsSettings.tsx
Added Pi provider to PROVIDER_OPTIONS with "new" badge. Pi settings integrated into base server config. Client settings fixtures updated to include hideWindowControls. Update warning and confirmation messages rebranded to "k3code".
Provider Status Messages & Server Messaging
apps/server/src/provider/Layers/ClaudeProvider.ts, apps/server/src/provider/Layers/CodexProvider.ts, apps/server/src/provider/Layers/CursorProvider.ts, apps/server/src/provider/Layers/OpenCodeProvider.ts, apps/server/src/provider/Layers/OpenCodeAdapter.ts, apps/server/src/provider/Layers/ProviderService.ts, apps/server/src/provider/Layers/ProviderRegistry.test.ts, apps/server/src/provider/providerStatusCache.test.ts, apps/server/src/serverRuntimeStartup.ts, apps/server/src/startupAccess.ts, apps/server/src/cli.ts
All disabled provider probe messages updated from "T3 Code settings" to "k3code settings". OpenCode session titles and Codex client info rebranded. CLI command descriptions updated. Server startup messaging and headless output rebranded. Git text generation title updated.
Documentation & Tests
AGENTS.md, KEYBINDINGS.md, README.md, REMOTE.md, docs/observability.md, docs/providers/claude.md, docs/providers/codex.md, apps/server/src/git/Layers/OpenCodeTextGeneration.ts, apps/web/src/components/GitActionsControl.tsx
All references to "T3 Code" rebranded to "k3code" in documentation and test strings. macOS app bundle paths updated. Claude multi-account isolation guidance expanded for k3code. GitActionsControl dialog footer layout refactored for responsive sizing.
Dependencies
apps/server/package.json
Added @mariozechner/pi-coding-agent@0.62.0 dependency.

Sequence Diagram

sequenceDiagram
participant User as User/Editor
participant WebUI as Web UI
participant Server as Server
participant PiSDK as Pi SDK Manager
participant PiAgent as Pi Agent<br/>(External)
User->>WebUI: Enable Pi provider & configure model
WebUI->>Server: POST /api/provider/start-session<br/>(threadId, pi provider, model)
Server->>PiSDK: startSession(threadId, model, runtimeMode)
PiSDK->>PiSDK: createLockedPiSettingsManager()
PiSDK->>PiSDK: createLockedPiResourceLoader()
PiSDK->>PiAgent: createSession(SessionManager)
PiAgent-->>PiSDK: session handle
PiSDK-->>Server: ProviderSession + event stream
Server-->>WebUI: session.started event
WebUI->>User: Show Pi session ready
User->>WebUI: Send turn (input + model options)
WebUI->>Server: POST /api/provider/send-turn<br/>(threadId, input, thinking level)
Server->>PiSDK: sendTurn(input, model, interactionMode)
PiSDK->>PiSDK: Materialize attachments to base64
PiSDK->>PiSDK: Select tool set (plan vs full)
PiSDK->>PiAgent: startPrompt(model, tools, thinking)
PiAgent->>PiAgent: Generate & execute tools<br/>(read/bash/edit/etc)
PiAgent-->>PiSDK: tool.call event
PiSDK->>Server: content.delta event
Server->>WebUI: Stream assistant response
PiAgent-->>PiSDK: turn_end + proposed_plan
PiSDK->>PiSDK: extractProposedPlanMarkdown()
PiSDK-->>Server: turn.completed event
Server-->>WebUI: Show plan or result
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~60 minutes

Poem

A rabbit hops with glee so bright,
k3code shines with fresh rebrand light,
Pi agents join the provider dance,
Window controls now get their chance,
Settings bloom and schemas grow,
This grand refactor steals the show! 🐰✨

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch t3code/k3code-branding

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
Review rate limit: 0/1 reviews remaining, refill in 60 minutes.

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitaicoderabbitaiBot mentioned this pull request May 7, 2026
5 tasks
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@IGN-Styly
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Rename T3 Code branding to k3code - #1

Merged
IGN-Styly merged 4 commits into
mainfrom
t3code/k3code-branding
May 2, 2026
Merged

Rename T3 Code branding to k3code#1
IGN-Styly merged 4 commits into
mainfrom
t3code/k3code-branding

Conversation

@IGN-Styly

@IGN-StylyIGN-Styly commented May 2, 2026

Copy link
Copy Markdown
Owner
  • Update app, server, web, desktop, and docs copy to use k3code
  • Adjust branded titles, prompts, and tests to match the new name<!--
    ⚠️ READ BEFORE OPENING ⚠️

We are not actively accepting contributions right now.

You can still open a PR, but please do so knowing there is a high chance
we may close it without merging it, or never review it.

  • Small, focused PRs are strongly preferred. Bug fixes are most likely to be merged.
  • New features will most likely just annoy us.
  • 1,000+ line PRs with a bunch of new features will probably get you banned from the repo.
    -->

What Changed

Why

UI Changes

Checklist

  • This PR is small and focused
  • I explained what changed and why
  • I included before/after screenshots for any UI changes
  • I included a video for animation/interaction changes

Summary by CodeRabbit

  • New Features

    • Added Pi provider integration for AI-powered capabilities
    • Added Window Controls toggle setting for desktop users
  • Documentation

    • Updated documentation to reflect k3code branding throughout
  • Style & UI

    • Simplified sidebar branding display
    • Enhanced dialog layouts for improved responsiveness
  • Chores

    • Rebranded project from "T3 Code" to "k3code" across all user interfaces and messaging

IGN-Stylyand others added 4 commits May 1, 2026 23:34
- Update app, server, web, desktop, and docs copy to use k3code
- Adjust branded titles, prompts, and tests to match the new name
- Remove the T3 wordmark from the sidebar header
- Replace the label with the new k3code brand text
@IGN-Styly
IGN-Styly merged commit 41f8fd2 into mainMay 2, 2026
1 check was pending
@IGN-Styly
IGN-Styly deleted the t3code/k3code-branding branch May 2, 2026 11:18
@coderabbitai

coderabbitaiBot commented May 2, 2026

Copy link
Copy Markdown

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: f30423c3-d70d-442d-9ab7-f0be13c0544d

📥 Commits

Reviewing files that changed from the base of the PR and between 5ac63d3 and 124ede0.

⛔ Files ignored due to path filters (1)
  • bun.lock is excluded by !**/*.lock
📒 Files selected for processing (55)
  • AGENTS.md
  • KEYBINDINGS.md
  • README.md
  • REMOTE.md
  • apps/desktop/package.json
  • apps/desktop/scripts/electron-launcher.mjs
  • apps/desktop/src/appBranding.test.ts
  • apps/desktop/src/appBranding.ts
  • apps/desktop/src/clientPersistence.test.ts
  • apps/desktop/src/main.ts
  • apps/marketing/src/layouts/Layout.astro
  • apps/marketing/src/pages/download.astro
  • apps/marketing/src/pages/index.astro
  • apps/server/package.json
  • apps/server/src/cli.ts
  • apps/server/src/git/Layers/OpenCodeTextGeneration.ts
  • apps/server/src/piHarness.ts
  • apps/server/src/piSdkManager.ts
  • apps/server/src/provider/Drivers/PiDriver.ts
  • apps/server/src/provider/Layers/ClaudeProvider.ts
  • apps/server/src/provider/Layers/CodexProvider.ts
  • apps/server/src/provider/Layers/CursorProvider.ts
  • apps/server/src/provider/Layers/OpenCodeAdapter.ts
  • apps/server/src/provider/Layers/OpenCodeProvider.ts
  • apps/server/src/provider/Layers/ProviderRegistry.test.ts
  • apps/server/src/provider/Layers/ProviderService.ts
  • apps/server/src/provider/builtInDrivers.ts
  • apps/server/src/provider/providerStatusCache.test.ts
  • apps/server/src/serverRuntimeStartup.ts
  • apps/server/src/startupAccess.ts
  • apps/web/index.html
  • apps/web/src/authBootstrap.test.ts
  • apps/web/src/branding.test.ts
  • apps/web/src/branding.ts
  • apps/web/src/components/GitActionsControl.tsx
  • apps/web/src/components/KeybindingsToast.browser.tsx
  • apps/web/src/components/Sidebar.tsx
  • apps/web/src/components/SplashScreen.tsx
  • apps/web/src/components/desktopUpdate.logic.test.ts
  • apps/web/src/components/desktopUpdate.logic.ts
  • apps/web/src/components/settings/AddProviderInstanceDialog.tsx
  • apps/web/src/components/settings/ConnectionsSettings.tsx
  • apps/web/src/components/settings/ProviderModelsSection.tsx
  • apps/web/src/components/settings/SettingsPanels.browser.tsx
  • apps/web/src/components/settings/SettingsPanels.tsx
  • apps/web/src/components/settings/providerDriverMeta.ts
  • apps/web/src/components/settings/providerStatus.ts
  • apps/web/src/localApi.test.ts
  • apps/web/src/session-logic.ts
  • docs/observability.md
  • docs/providers/claude.md
  • docs/providers/codex.md
  • packages/contracts/src/model.ts
  • packages/contracts/src/settings.test.ts
  • packages/contracts/src/settings.ts

📝 Walkthrough

Walkthrough

This PR rebrands the project from "T3 Code" to "k3code" across all user-facing strings, configuration, and documentation, while simultaneously integrating a new Pi provider agent driver (@mariozechner/pi-coding-agent) with supporting harness/SDK layers, model configurations, settings schemas, and web/desktop UI components.

Changes

Unified Rebrand & Pi Provider Integration

Layer / File(s)Summary
Settings & Contract Schemas
packages/contracts/src/settings.ts, packages/contracts/src/model.ts, packages/contracts/src/settings.test.ts
Added hideWindowControls boolean to client settings (default false), introduced PiSettings provider schema with enabled and customModels, extended server and patch schemas to include pi provider config. Pi model exports added: PI_DEFAULT_MODEL, PI_THINKING_LEVEL_OPTIONS, and PiThinkingLevel type.
Pi Core Implementation
apps/server/src/piHarness.ts, apps/server/src/piSdkManager.ts
New piHarness.ts module provides Pi catalog snapshots, model slug normalization, settings/resource loaders with disabled Pi features, tool argument summarization, and session event parsing. New piSdkManager.ts implements PiSdkManager class managing embedded Pi agent sessions, turn lifecycle events, approval request gating, and thread inspection/rollback over provider runtime event streams.
Pi Driver & Registration
apps/server/src/provider/Drivers/PiDriver.ts, apps/server/src/provider/builtInDrivers.ts
New Pi provider driver implementation with model capability handling (thinking level support), provider snapshot lifecycle, adapter event publishing, and unsupported git text generation error handling. Driver registered in built-in drivers list with environment wiring.
Desktop Branding & Client Settings
apps/desktop/src/appBranding.ts, apps/desktop/src/appBranding.test.ts, apps/desktop/src/clientPersistence.test.ts, apps/desktop/src/main.ts, apps/desktop/package.json, apps/desktop/scripts/electron-launcher.mjs
APP_BASE_NAME updated to "k3code"; desktop window control visibility now gated by persisted clientSettings.hideWindowControls; in-memory client settings management added to IPC handlers; legacy user data directory name and update dialogs rebranded.
Web Branding & Defaults
apps/web/index.html, apps/web/src/branding.ts, apps/web/src/branding.test.ts, apps/web/src/authBootstrap.test.ts
Document title, splash screen labels, and APP_BASE_NAME fallback changed to "k3code (Alpha)".
Web UI Components & Settings Integration
apps/web/src/components/settings/SettingsPanels.tsx, apps/web/src/components/settings/ProviderModelsSection.tsx, apps/web/src/components/settings/providerDriverMeta.ts, apps/web/src/components/settings/AddProviderInstanceDialog.tsx, apps/web/src/components/Sidebar.tsx, apps/web/src/components/SplashScreen.tsx
Added Pi provider option to settings with icon and no editable fields. Introduced "Window controls" settings row toggling hideWindowControls. Removed Pi Agent from coming-soon list. Sidebar wordmark replaced with plain "k3code" text label. Updated custom model placeholders and OpenCode server URL description.
Web Session & Settings Helpers
apps/web/src/session-logic.ts, apps/web/src/components/KeybindingsToast.browser.tsx, apps/web/src/localApi.test.ts, apps/web/src/components/settings/SettingsPanels.browser.tsx, apps/web/src/components/desktopUpdate.logic.ts, apps/web/src/components/desktopUpdate.logic.test.ts, apps/web/src/components/settings/ConnectionsSettings.tsx
Added Pi provider to PROVIDER_OPTIONS with "new" badge. Pi settings integrated into base server config. Client settings fixtures updated to include hideWindowControls. Update warning and confirmation messages rebranded to "k3code".
Provider Status Messages & Server Messaging
apps/server/src/provider/Layers/ClaudeProvider.ts, apps/server/src/provider/Layers/CodexProvider.ts, apps/server/src/provider/Layers/CursorProvider.ts, apps/server/src/provider/Layers/OpenCodeProvider.ts, apps/server/src/provider/Layers/OpenCodeAdapter.ts, apps/server/src/provider/Layers/ProviderService.ts, apps/server/src/provider/Layers/ProviderRegistry.test.ts, apps/server/src/provider/providerStatusCache.test.ts, apps/server/src/serverRuntimeStartup.ts, apps/server/src/startupAccess.ts, apps/server/src/cli.ts
All disabled provider probe messages updated from "T3 Code settings" to "k3code settings". OpenCode session titles and Codex client info rebranded. CLI command descriptions updated. Server startup messaging and headless output rebranded. Git text generation title updated.
Documentation & Tests
AGENTS.md, KEYBINDINGS.md, README.md, REMOTE.md, docs/observability.md, docs/providers/claude.md, docs/providers/codex.md, apps/server/src/git/Layers/OpenCodeTextGeneration.ts, apps/web/src/components/GitActionsControl.tsx
All references to "T3 Code" rebranded to "k3code" in documentation and test strings. macOS app bundle paths updated. Claude multi-account isolation guidance expanded for k3code. GitActionsControl dialog footer layout refactored for responsive sizing.
Dependencies
apps/server/package.json
Added @mariozechner/pi-coding-agent@0.62.0 dependency.

Sequence Diagram

sequenceDiagram
participant User as User/Editor
participant WebUI as Web UI
participant Server as Server
participant PiSDK as Pi SDK Manager
participant PiAgent as Pi Agent<br/>(External)
User->>WebUI: Enable Pi provider & configure model
WebUI->>Server: POST /api/provider/start-session<br/>(threadId, pi provider, model)
Server->>PiSDK: startSession(threadId, model, runtimeMode)
PiSDK->>PiSDK: createLockedPiSettingsManager()
PiSDK->>PiSDK: createLockedPiResourceLoader()
PiSDK->>PiAgent: createSession(SessionManager)
PiAgent-->>PiSDK: session handle
PiSDK-->>Server: ProviderSession + event stream
Server-->>WebUI: session.started event
WebUI->>User: Show Pi session ready
User->>WebUI: Send turn (input + model options)
WebUI->>Server: POST /api/provider/send-turn<br/>(threadId, input, thinking level)
Server->>PiSDK: sendTurn(input, model, interactionMode)
PiSDK->>PiSDK: Materialize attachments to base64
PiSDK->>PiSDK: Select tool set (plan vs full)
PiSDK->>PiAgent: startPrompt(model, tools, thinking)
PiAgent->>PiAgent: Generate & execute tools<br/>(read/bash/edit/etc)
PiAgent-->>PiSDK: tool.call event
PiSDK->>Server: content.delta event
Server->>WebUI: Stream assistant response
PiAgent-->>PiSDK: turn_end + proposed_plan
PiSDK->>PiSDK: extractProposedPlanMarkdown()
PiSDK-->>Server: turn.completed event
Server-->>WebUI: Show plan or result
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~60 minutes

Poem

A rabbit hops with glee so bright,
k3code shines with fresh rebrand light,
Pi agents join the provider dance,
Window controls now get their chance,
Settings bloom and schemas grow,
This grand refactor steals the show! 🐰✨

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch t3code/k3code-branding

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
Review rate limit: 0/1 reviews remaining, refill in 60 minutes.

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitaicoderabbitaiBot mentioned this pull request May 7, 2026
5 tasks
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@IGN-Styly
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Rename T3 Code branding to k3code - #1

Merged
IGN-Styly merged 4 commits into
mainfrom
t3code/k3code-branding
May 2, 2026
Merged

Rename T3 Code branding to k3code#1
IGN-Styly merged 4 commits into
mainfrom
t3code/k3code-branding

Conversation

@IGN-Styly

@IGN-StylyIGN-Styly commented May 2, 2026

Copy link
Copy Markdown
Owner
  • Update app, server, web, desktop, and docs copy to use k3code
  • Adjust branded titles, prompts, and tests to match the new name<!--
    ⚠️ READ BEFORE OPENING ⚠️

We are not actively accepting contributions right now.

You can still open a PR, but please do so knowing there is a high chance
we may close it without merging it, or never review it.

  • Small, focused PRs are strongly preferred. Bug fixes are most likely to be merged.
  • New features will most likely just annoy us.
  • 1,000+ line PRs with a bunch of new features will probably get you banned from the repo.
    -->

What Changed

Why

UI Changes

Checklist

  • This PR is small and focused
  • I explained what changed and why
  • I included before/after screenshots for any UI changes
  • I included a video for animation/interaction changes

Summary by CodeRabbit

  • New Features

    • Added Pi provider integration for AI-powered capabilities
    • Added Window Controls toggle setting for desktop users
  • Documentation

    • Updated documentation to reflect k3code branding throughout
  • Style & UI

    • Simplified sidebar branding display
    • Enhanced dialog layouts for improved responsiveness
  • Chores

    • Rebranded project from "T3 Code" to "k3code" across all user interfaces and messaging

IGN-Stylyand others added 4 commits May 1, 2026 23:34
- Update app, server, web, desktop, and docs copy to use k3code
- Adjust branded titles, prompts, and tests to match the new name
- Remove the T3 wordmark from the sidebar header
- Replace the label with the new k3code brand text
@IGN-Styly
IGN-Styly merged commit 41f8fd2 into mainMay 2, 2026
1 check was pending
@IGN-Styly
IGN-Styly deleted the t3code/k3code-branding branch May 2, 2026 11:18
@coderabbitai

coderabbitaiBot commented May 2, 2026

Copy link
Copy Markdown

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: f30423c3-d70d-442d-9ab7-f0be13c0544d

📥 Commits

Reviewing files that changed from the base of the PR and between 5ac63d3 and 124ede0.

⛔ Files ignored due to path filters (1)
  • bun.lock is excluded by !**/*.lock
📒 Files selected for processing (55)
  • AGENTS.md
  • KEYBINDINGS.md
  • README.md
  • REMOTE.md
  • apps/desktop/package.json
  • apps/desktop/scripts/electron-launcher.mjs
  • apps/desktop/src/appBranding.test.ts
  • apps/desktop/src/appBranding.ts
  • apps/desktop/src/clientPersistence.test.ts
  • apps/desktop/src/main.ts
  • apps/marketing/src/layouts/Layout.astro
  • apps/marketing/src/pages/download.astro
  • apps/marketing/src/pages/index.astro
  • apps/server/package.json
  • apps/server/src/cli.ts
  • apps/server/src/git/Layers/OpenCodeTextGeneration.ts
  • apps/server/src/piHarness.ts
  • apps/server/src/piSdkManager.ts
  • apps/server/src/provider/Drivers/PiDriver.ts
  • apps/server/src/provider/Layers/ClaudeProvider.ts
  • apps/server/src/provider/Layers/CodexProvider.ts
  • apps/server/src/provider/Layers/CursorProvider.ts
  • apps/server/src/provider/Layers/OpenCodeAdapter.ts
  • apps/server/src/provider/Layers/OpenCodeProvider.ts
  • apps/server/src/provider/Layers/ProviderRegistry.test.ts
  • apps/server/src/provider/Layers/ProviderService.ts
  • apps/server/src/provider/builtInDrivers.ts
  • apps/server/src/provider/providerStatusCache.test.ts
  • apps/server/src/serverRuntimeStartup.ts
  • apps/server/src/startupAccess.ts
  • apps/web/index.html
  • apps/web/src/authBootstrap.test.ts
  • apps/web/src/branding.test.ts
  • apps/web/src/branding.ts
  • apps/web/src/components/GitActionsControl.tsx
  • apps/web/src/components/KeybindingsToast.browser.tsx
  • apps/web/src/components/Sidebar.tsx
  • apps/web/src/components/SplashScreen.tsx
  • apps/web/src/components/desktopUpdate.logic.test.ts
  • apps/web/src/components/desktopUpdate.logic.ts
  • apps/web/src/components/settings/AddProviderInstanceDialog.tsx
  • apps/web/src/components/settings/ConnectionsSettings.tsx
  • apps/web/src/components/settings/ProviderModelsSection.tsx
  • apps/web/src/components/settings/SettingsPanels.browser.tsx
  • apps/web/src/components/settings/SettingsPanels.tsx
  • apps/web/src/components/settings/providerDriverMeta.ts
  • apps/web/src/components/settings/providerStatus.ts
  • apps/web/src/localApi.test.ts
  • apps/web/src/session-logic.ts
  • docs/observability.md
  • docs/providers/claude.md
  • docs/providers/codex.md
  • packages/contracts/src/model.ts
  • packages/contracts/src/settings.test.ts
  • packages/contracts/src/settings.ts

📝 Walkthrough

Walkthrough

This PR rebrands the project from "T3 Code" to "k3code" across all user-facing strings, configuration, and documentation, while simultaneously integrating a new Pi provider agent driver (@mariozechner/pi-coding-agent) with supporting harness/SDK layers, model configurations, settings schemas, and web/desktop UI components.

Changes

Unified Rebrand & Pi Provider Integration

Layer / File(s)Summary
Settings & Contract Schemas
packages/contracts/src/settings.ts, packages/contracts/src/model.ts, packages/contracts/src/settings.test.ts
Added hideWindowControls boolean to client settings (default false), introduced PiSettings provider schema with enabled and customModels, extended server and patch schemas to include pi provider config. Pi model exports added: PI_DEFAULT_MODEL, PI_THINKING_LEVEL_OPTIONS, and PiThinkingLevel type.
Pi Core Implementation
apps/server/src/piHarness.ts, apps/server/src/piSdkManager.ts
New piHarness.ts module provides Pi catalog snapshots, model slug normalization, settings/resource loaders with disabled Pi features, tool argument summarization, and session event parsing. New piSdkManager.ts implements PiSdkManager class managing embedded Pi agent sessions, turn lifecycle events, approval request gating, and thread inspection/rollback over provider runtime event streams.
Pi Driver & Registration
apps/server/src/provider/Drivers/PiDriver.ts, apps/server/src/provider/builtInDrivers.ts
New Pi provider driver implementation with model capability handling (thinking level support), provider snapshot lifecycle, adapter event publishing, and unsupported git text generation error handling. Driver registered in built-in drivers list with environment wiring.
Desktop Branding & Client Settings
apps/desktop/src/appBranding.ts, apps/desktop/src/appBranding.test.ts, apps/desktop/src/clientPersistence.test.ts, apps/desktop/src/main.ts, apps/desktop/package.json, apps/desktop/scripts/electron-launcher.mjs
APP_BASE_NAME updated to "k3code"; desktop window control visibility now gated by persisted clientSettings.hideWindowControls; in-memory client settings management added to IPC handlers; legacy user data directory name and update dialogs rebranded.
Web Branding & Defaults
apps/web/index.html, apps/web/src/branding.ts, apps/web/src/branding.test.ts, apps/web/src/authBootstrap.test.ts
Document title, splash screen labels, and APP_BASE_NAME fallback changed to "k3code (Alpha)".
Web UI Components & Settings Integration
apps/web/src/components/settings/SettingsPanels.tsx, apps/web/src/components/settings/ProviderModelsSection.tsx, apps/web/src/components/settings/providerDriverMeta.ts, apps/web/src/components/settings/AddProviderInstanceDialog.tsx, apps/web/src/components/Sidebar.tsx, apps/web/src/components/SplashScreen.tsx
Added Pi provider option to settings with icon and no editable fields. Introduced "Window controls" settings row toggling hideWindowControls. Removed Pi Agent from coming-soon list. Sidebar wordmark replaced with plain "k3code" text label. Updated custom model placeholders and OpenCode server URL description.
Web Session & Settings Helpers
apps/web/src/session-logic.ts, apps/web/src/components/KeybindingsToast.browser.tsx, apps/web/src/localApi.test.ts, apps/web/src/components/settings/SettingsPanels.browser.tsx, apps/web/src/components/desktopUpdate.logic.ts, apps/web/src/components/desktopUpdate.logic.test.ts, apps/web/src/components/settings/ConnectionsSettings.tsx
Added Pi provider to PROVIDER_OPTIONS with "new" badge. Pi settings integrated into base server config. Client settings fixtures updated to include hideWindowControls. Update warning and confirmation messages rebranded to "k3code".
Provider Status Messages & Server Messaging
apps/server/src/provider/Layers/ClaudeProvider.ts, apps/server/src/provider/Layers/CodexProvider.ts, apps/server/src/provider/Layers/CursorProvider.ts, apps/server/src/provider/Layers/OpenCodeProvider.ts, apps/server/src/provider/Layers/OpenCodeAdapter.ts, apps/server/src/provider/Layers/ProviderService.ts, apps/server/src/provider/Layers/ProviderRegistry.test.ts, apps/server/src/provider/providerStatusCache.test.ts, apps/server/src/serverRuntimeStartup.ts, apps/server/src/startupAccess.ts, apps/server/src/cli.ts
All disabled provider probe messages updated from "T3 Code settings" to "k3code settings". OpenCode session titles and Codex client info rebranded. CLI command descriptions updated. Server startup messaging and headless output rebranded. Git text generation title updated.
Documentation & Tests
AGENTS.md, KEYBINDINGS.md, README.md, REMOTE.md, docs/observability.md, docs/providers/claude.md, docs/providers/codex.md, apps/server/src/git/Layers/OpenCodeTextGeneration.ts, apps/web/src/components/GitActionsControl.tsx
All references to "T3 Code" rebranded to "k3code" in documentation and test strings. macOS app bundle paths updated. Claude multi-account isolation guidance expanded for k3code. GitActionsControl dialog footer layout refactored for responsive sizing.
Dependencies
apps/server/package.json
Added @mariozechner/pi-coding-agent@0.62.0 dependency.

Sequence Diagram

sequenceDiagram
participant User as User/Editor
participant WebUI as Web UI
participant Server as Server
participant PiSDK as Pi SDK Manager
participant PiAgent as Pi Agent<br/>(External)
User->>WebUI: Enable Pi provider & configure model
WebUI->>Server: POST /api/provider/start-session<br/>(threadId, pi provider, model)
Server->>PiSDK: startSession(threadId, model, runtimeMode)
PiSDK->>PiSDK: createLockedPiSettingsManager()
PiSDK->>PiSDK: createLockedPiResourceLoader()
PiSDK->>PiAgent: createSession(SessionManager)
PiAgent-->>PiSDK: session handle
PiSDK-->>Server: ProviderSession + event stream
Server-->>WebUI: session.started event
WebUI->>User: Show Pi session ready
User->>WebUI: Send turn (input + model options)
WebUI->>Server: POST /api/provider/send-turn<br/>(threadId, input, thinking level)
Server->>PiSDK: sendTurn(input, model, interactionMode)
PiSDK->>PiSDK: Materialize attachments to base64
PiSDK->>PiSDK: Select tool set (plan vs full)
PiSDK->>PiAgent: startPrompt(model, tools, thinking)
PiAgent->>PiAgent: Generate & execute tools<br/>(read/bash/edit/etc)
PiAgent-->>PiSDK: tool.call event
PiSDK->>Server: content.delta event
Server->>WebUI: Stream assistant response
PiAgent-->>PiSDK: turn_end + proposed_plan
PiSDK->>PiSDK: extractProposedPlanMarkdown()
PiSDK-->>Server: turn.completed event
Server-->>WebUI: Show plan or result
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~60 minutes

Poem

A rabbit hops with glee so bright,
k3code shines with fresh rebrand light,
Pi agents join the provider dance,
Window controls now get their chance,
Settings bloom and schemas grow,
This grand refactor steals the show! 🐰✨

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch t3code/k3code-branding

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
Review rate limit: 0/1 reviews remaining, refill in 60 minutes.

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitaicoderabbitaiBot mentioned this pull request May 7, 2026
5 tasks
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@IGN-Styly
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Rename T3 Code branding to k3code - #1

Merged
IGN-Styly merged 4 commits into
mainfrom
t3code/k3code-branding
May 2, 2026
Merged

Rename T3 Code branding to k3code#1
IGN-Styly merged 4 commits into
mainfrom
t3code/k3code-branding

Conversation

@IGN-Styly

@IGN-StylyIGN-Styly commented May 2, 2026

Copy link
Copy Markdown
Owner
  • Update app, server, web, desktop, and docs copy to use k3code
  • Adjust branded titles, prompts, and tests to match the new name<!--
    ⚠️ READ BEFORE OPENING ⚠️

We are not actively accepting contributions right now.

You can still open a PR, but please do so knowing there is a high chance
we may close it without merging it, or never review it.

  • Small, focused PRs are strongly preferred. Bug fixes are most likely to be merged.
  • New features will most likely just annoy us.
  • 1,000+ line PRs with a bunch of new features will probably get you banned from the repo.
    -->

What Changed

Why

UI Changes

Checklist

  • This PR is small and focused
  • I explained what changed and why
  • I included before/after screenshots for any UI changes
  • I included a video for animation/interaction changes

Summary by CodeRabbit

  • New Features

    • Added Pi provider integration for AI-powered capabilities
    • Added Window Controls toggle setting for desktop users
  • Documentation

    • Updated documentation to reflect k3code branding throughout
  • Style & UI

    • Simplified sidebar branding display
    • Enhanced dialog layouts for improved responsiveness
  • Chores

    • Rebranded project from "T3 Code" to "k3code" across all user interfaces and messaging

IGN-Stylyand others added 4 commits May 1, 2026 23:34
- Update app, server, web, desktop, and docs copy to use k3code
- Adjust branded titles, prompts, and tests to match the new name
- Remove the T3 wordmark from the sidebar header
- Replace the label with the new k3code brand text
@IGN-Styly
IGN-Styly merged commit 41f8fd2 into mainMay 2, 2026
1 check was pending
@IGN-Styly
IGN-Styly deleted the t3code/k3code-branding branch May 2, 2026 11:18
@coderabbitai

coderabbitaiBot commented May 2, 2026

Copy link
Copy Markdown

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: f30423c3-d70d-442d-9ab7-f0be13c0544d

📥 Commits

Reviewing files that changed from the base of the PR and between 5ac63d3 and 124ede0.

⛔ Files ignored due to path filters (1)
  • bun.lock is excluded by !**/*.lock
📒 Files selected for processing (55)
  • AGENTS.md
  • KEYBINDINGS.md
  • README.md
  • REMOTE.md
  • apps/desktop/package.json
  • apps/desktop/scripts/electron-launcher.mjs
  • apps/desktop/src/appBranding.test.ts
  • apps/desktop/src/appBranding.ts
  • apps/desktop/src/clientPersistence.test.ts
  • apps/desktop/src/main.ts
  • apps/marketing/src/layouts/Layout.astro
  • apps/marketing/src/pages/download.astro
  • apps/marketing/src/pages/index.astro
  • apps/server/package.json
  • apps/server/src/cli.ts
  • apps/server/src/git/Layers/OpenCodeTextGeneration.ts
  • apps/server/src/piHarness.ts
  • apps/server/src/piSdkManager.ts
  • apps/server/src/provider/Drivers/PiDriver.ts
  • apps/server/src/provider/Layers/ClaudeProvider.ts
  • apps/server/src/provider/Layers/CodexProvider.ts
  • apps/server/src/provider/Layers/CursorProvider.ts
  • apps/server/src/provider/Layers/OpenCodeAdapter.ts
  • apps/server/src/provider/Layers/OpenCodeProvider.ts
  • apps/server/src/provider/Layers/ProviderRegistry.test.ts
  • apps/server/src/provider/Layers/ProviderService.ts
  • apps/server/src/provider/builtInDrivers.ts
  • apps/server/src/provider/providerStatusCache.test.ts
  • apps/server/src/serverRuntimeStartup.ts
  • apps/server/src/startupAccess.ts
  • apps/web/index.html
  • apps/web/src/authBootstrap.test.ts
  • apps/web/src/branding.test.ts
  • apps/web/src/branding.ts
  • apps/web/src/components/GitActionsControl.tsx
  • apps/web/src/components/KeybindingsToast.browser.tsx
  • apps/web/src/components/Sidebar.tsx
  • apps/web/src/components/SplashScreen.tsx
  • apps/web/src/components/desktopUpdate.logic.test.ts
  • apps/web/src/components/desktopUpdate.logic.ts
  • apps/web/src/components/settings/AddProviderInstanceDialog.tsx
  • apps/web/src/components/settings/ConnectionsSettings.tsx
  • apps/web/src/components/settings/ProviderModelsSection.tsx
  • apps/web/src/components/settings/SettingsPanels.browser.tsx
  • apps/web/src/components/settings/SettingsPanels.tsx
  • apps/web/src/components/settings/providerDriverMeta.ts
  • apps/web/src/components/settings/providerStatus.ts
  • apps/web/src/localApi.test.ts
  • apps/web/src/session-logic.ts
  • docs/observability.md
  • docs/providers/claude.md
  • docs/providers/codex.md
  • packages/contracts/src/model.ts
  • packages/contracts/src/settings.test.ts
  • packages/contracts/src/settings.ts

📝 Walkthrough

Walkthrough

This PR rebrands the project from "T3 Code" to "k3code" across all user-facing strings, configuration, and documentation, while simultaneously integrating a new Pi provider agent driver (@mariozechner/pi-coding-agent) with supporting harness/SDK layers, model configurations, settings schemas, and web/desktop UI components.

Changes

Unified Rebrand & Pi Provider Integration

Layer / File(s)Summary
Settings & Contract Schemas
packages/contracts/src/settings.ts, packages/contracts/src/model.ts, packages/contracts/src/settings.test.ts
Added hideWindowControls boolean to client settings (default false), introduced PiSettings provider schema with enabled and customModels, extended server and patch schemas to include pi provider config. Pi model exports added: PI_DEFAULT_MODEL, PI_THINKING_LEVEL_OPTIONS, and PiThinkingLevel type.
Pi Core Implementation
apps/server/src/piHarness.ts, apps/server/src/piSdkManager.ts
New piHarness.ts module provides Pi catalog snapshots, model slug normalization, settings/resource loaders with disabled Pi features, tool argument summarization, and session event parsing. New piSdkManager.ts implements PiSdkManager class managing embedded Pi agent sessions, turn lifecycle events, approval request gating, and thread inspection/rollback over provider runtime event streams.
Pi Driver & Registration
apps/server/src/provider/Drivers/PiDriver.ts, apps/server/src/provider/builtInDrivers.ts
New Pi provider driver implementation with model capability handling (thinking level support), provider snapshot lifecycle, adapter event publishing, and unsupported git text generation error handling. Driver registered in built-in drivers list with environment wiring.
Desktop Branding & Client Settings
apps/desktop/src/appBranding.ts, apps/desktop/src/appBranding.test.ts, apps/desktop/src/clientPersistence.test.ts, apps/desktop/src/main.ts, apps/desktop/package.json, apps/desktop/scripts/electron-launcher.mjs
APP_BASE_NAME updated to "k3code"; desktop window control visibility now gated by persisted clientSettings.hideWindowControls; in-memory client settings management added to IPC handlers; legacy user data directory name and update dialogs rebranded.
Web Branding & Defaults
apps/web/index.html, apps/web/src/branding.ts, apps/web/src/branding.test.ts, apps/web/src/authBootstrap.test.ts
Document title, splash screen labels, and APP_BASE_NAME fallback changed to "k3code (Alpha)".
Web UI Components & Settings Integration
apps/web/src/components/settings/SettingsPanels.tsx, apps/web/src/components/settings/ProviderModelsSection.tsx, apps/web/src/components/settings/providerDriverMeta.ts, apps/web/src/components/settings/AddProviderInstanceDialog.tsx, apps/web/src/components/Sidebar.tsx, apps/web/src/components/SplashScreen.tsx
Added Pi provider option to settings with icon and no editable fields. Introduced "Window controls" settings row toggling hideWindowControls. Removed Pi Agent from coming-soon list. Sidebar wordmark replaced with plain "k3code" text label. Updated custom model placeholders and OpenCode server URL description.
Web Session & Settings Helpers
apps/web/src/session-logic.ts, apps/web/src/components/KeybindingsToast.browser.tsx, apps/web/src/localApi.test.ts, apps/web/src/components/settings/SettingsPanels.browser.tsx, apps/web/src/components/desktopUpdate.logic.ts, apps/web/src/components/desktopUpdate.logic.test.ts, apps/web/src/components/settings/ConnectionsSettings.tsx
Added Pi provider to PROVIDER_OPTIONS with "new" badge. Pi settings integrated into base server config. Client settings fixtures updated to include hideWindowControls. Update warning and confirmation messages rebranded to "k3code".
Provider Status Messages & Server Messaging
apps/server/src/provider/Layers/ClaudeProvider.ts, apps/server/src/provider/Layers/CodexProvider.ts, apps/server/src/provider/Layers/CursorProvider.ts, apps/server/src/provider/Layers/OpenCodeProvider.ts, apps/server/src/provider/Layers/OpenCodeAdapter.ts, apps/server/src/provider/Layers/ProviderService.ts, apps/server/src/provider/Layers/ProviderRegistry.test.ts, apps/server/src/provider/providerStatusCache.test.ts, apps/server/src/serverRuntimeStartup.ts, apps/server/src/startupAccess.ts, apps/server/src/cli.ts
All disabled provider probe messages updated from "T3 Code settings" to "k3code settings". OpenCode session titles and Codex client info rebranded. CLI command descriptions updated. Server startup messaging and headless output rebranded. Git text generation title updated.
Documentation & Tests
AGENTS.md, KEYBINDINGS.md, README.md, REMOTE.md, docs/observability.md, docs/providers/claude.md, docs/providers/codex.md, apps/server/src/git/Layers/OpenCodeTextGeneration.ts, apps/web/src/components/GitActionsControl.tsx
All references to "T3 Code" rebranded to "k3code" in documentation and test strings. macOS app bundle paths updated. Claude multi-account isolation guidance expanded for k3code. GitActionsControl dialog footer layout refactored for responsive sizing.
Dependencies
apps/server/package.json
Added @mariozechner/pi-coding-agent@0.62.0 dependency.

Sequence Diagram

sequenceDiagram
participant User as User/Editor
participant WebUI as Web UI
participant Server as Server
participant PiSDK as Pi SDK Manager
participant PiAgent as Pi Agent<br/>(External)
User->>WebUI: Enable Pi provider & configure model
WebUI->>Server: POST /api/provider/start-session<br/>(threadId, pi provider, model)
Server->>PiSDK: startSession(threadId, model, runtimeMode)
PiSDK->>PiSDK: createLockedPiSettingsManager()
PiSDK->>PiSDK: createLockedPiResourceLoader()
PiSDK->>PiAgent: createSession(SessionManager)
PiAgent-->>PiSDK: session handle
PiSDK-->>Server: ProviderSession + event stream
Server-->>WebUI: session.started event
WebUI->>User: Show Pi session ready
User->>WebUI: Send turn (input + model options)
WebUI->>Server: POST /api/provider/send-turn<br/>(threadId, input, thinking level)
Server->>PiSDK: sendTurn(input, model, interactionMode)
PiSDK->>PiSDK: Materialize attachments to base64
PiSDK->>PiSDK: Select tool set (plan vs full)
PiSDK->>PiAgent: startPrompt(model, tools, thinking)
PiAgent->>PiAgent: Generate & execute tools<br/>(read/bash/edit/etc)
PiAgent-->>PiSDK: tool.call event
PiSDK->>Server: content.delta event
Server->>WebUI: Stream assistant response
PiAgent-->>PiSDK: turn_end + proposed_plan
PiSDK->>PiSDK: extractProposedPlanMarkdown()
PiSDK-->>Server: turn.completed event
Server-->>WebUI: Show plan or result
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~60 minutes

Poem

A rabbit hops with glee so bright,
k3code shines with fresh rebrand light,
Pi agents join the provider dance,
Window controls now get their chance,
Settings bloom and schemas grow,
This grand refactor steals the show! 🐰✨

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch t3code/k3code-branding

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
Review rate limit: 0/1 reviews remaining, refill in 60 minutes.

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitaicoderabbitaiBot mentioned this pull request May 7, 2026
5 tasks
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@IGN-Styly
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Rename T3 Code branding to k3code - #1

Merged
IGN-Styly merged 4 commits into
mainfrom
t3code/k3code-branding
May 2, 2026
Merged

Rename T3 Code branding to k3code#1
IGN-Styly merged 4 commits into
mainfrom
t3code/k3code-branding

Conversation

@IGN-Styly

@IGN-StylyIGN-Styly commented May 2, 2026

Copy link
Copy Markdown
Owner
  • Update app, server, web, desktop, and docs copy to use k3code
  • Adjust branded titles, prompts, and tests to match the new name<!--
    ⚠️ READ BEFORE OPENING ⚠️

We are not actively accepting contributions right now.

You can still open a PR, but please do so knowing there is a high chance
we may close it without merging it, or never review it.

  • Small, focused PRs are strongly preferred. Bug fixes are most likely to be merged.
  • New features will most likely just annoy us.
  • 1,000+ line PRs with a bunch of new features will probably get you banned from the repo.
    -->

What Changed

Why

UI Changes

Checklist

  • This PR is small and focused
  • I explained what changed and why
  • I included before/after screenshots for any UI changes
  • I included a video for animation/interaction changes

Summary by CodeRabbit

  • New Features

    • Added Pi provider integration for AI-powered capabilities
    • Added Window Controls toggle setting for desktop users
  • Documentation

    • Updated documentation to reflect k3code branding throughout
  • Style & UI

    • Simplified sidebar branding display
    • Enhanced dialog layouts for improved responsiveness
  • Chores

    • Rebranded project from "T3 Code" to "k3code" across all user interfaces and messaging

IGN-Stylyand others added 4 commits May 1, 2026 23:34
- Update app, server, web, desktop, and docs copy to use k3code
- Adjust branded titles, prompts, and tests to match the new name
- Remove the T3 wordmark from the sidebar header
- Replace the label with the new k3code brand text
@IGN-Styly
IGN-Styly merged commit 41f8fd2 into mainMay 2, 2026
1 check was pending
@IGN-Styly
IGN-Styly deleted the t3code/k3code-branding branch May 2, 2026 11:18
@coderabbitai

coderabbitaiBot commented May 2, 2026

Copy link
Copy Markdown

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: f30423c3-d70d-442d-9ab7-f0be13c0544d

📥 Commits

Reviewing files that changed from the base of the PR and between 5ac63d3 and 124ede0.

⛔ Files ignored due to path filters (1)
  • bun.lock is excluded by !**/*.lock
📒 Files selected for processing (55)
  • AGENTS.md
  • KEYBINDINGS.md
  • README.md
  • REMOTE.md
  • apps/desktop/package.json
  • apps/desktop/scripts/electron-launcher.mjs
  • apps/desktop/src/appBranding.test.ts
  • apps/desktop/src/appBranding.ts
  • apps/desktop/src/clientPersistence.test.ts
  • apps/desktop/src/main.ts
  • apps/marketing/src/layouts/Layout.astro
  • apps/marketing/src/pages/download.astro
  • apps/marketing/src/pages/index.astro
  • apps/server/package.json
  • apps/server/src/cli.ts
  • apps/server/src/git/Layers/OpenCodeTextGeneration.ts
  • apps/server/src/piHarness.ts
  • apps/server/src/piSdkManager.ts
  • apps/server/src/provider/Drivers/PiDriver.ts
  • apps/server/src/provider/Layers/ClaudeProvider.ts
  • apps/server/src/provider/Layers/CodexProvider.ts
  • apps/server/src/provider/Layers/CursorProvider.ts
  • apps/server/src/provider/Layers/OpenCodeAdapter.ts
  • apps/server/src/provider/Layers/OpenCodeProvider.ts
  • apps/server/src/provider/Layers/ProviderRegistry.test.ts
  • apps/server/src/provider/Layers/ProviderService.ts
  • apps/server/src/provider/builtInDrivers.ts
  • apps/server/src/provider/providerStatusCache.test.ts
  • apps/server/src/serverRuntimeStartup.ts
  • apps/server/src/startupAccess.ts
  • apps/web/index.html
  • apps/web/src/authBootstrap.test.ts
  • apps/web/src/branding.test.ts
  • apps/web/src/branding.ts
  • apps/web/src/components/GitActionsControl.tsx
  • apps/web/src/components/KeybindingsToast.browser.tsx
  • apps/web/src/components/Sidebar.tsx
  • apps/web/src/components/SplashScreen.tsx
  • apps/web/src/components/desktopUpdate.logic.test.ts
  • apps/web/src/components/desktopUpdate.logic.ts
  • apps/web/src/components/settings/AddProviderInstanceDialog.tsx
  • apps/web/src/components/settings/ConnectionsSettings.tsx
  • apps/web/src/components/settings/ProviderModelsSection.tsx
  • apps/web/src/components/settings/SettingsPanels.browser.tsx
  • apps/web/src/components/settings/SettingsPanels.tsx
  • apps/web/src/components/settings/providerDriverMeta.ts
  • apps/web/src/components/settings/providerStatus.ts
  • apps/web/src/localApi.test.ts
  • apps/web/src/session-logic.ts
  • docs/observability.md
  • docs/providers/claude.md
  • docs/providers/codex.md
  • packages/contracts/src/model.ts
  • packages/contracts/src/settings.test.ts
  • packages/contracts/src/settings.ts

📝 Walkthrough

Walkthrough

This PR rebrands the project from "T3 Code" to "k3code" across all user-facing strings, configuration, and documentation, while simultaneously integrating a new Pi provider agent driver (@mariozechner/pi-coding-agent) with supporting harness/SDK layers, model configurations, settings schemas, and web/desktop UI components.

Changes

Unified Rebrand & Pi Provider Integration

Layer / File(s)Summary
Settings & Contract Schemas
packages/contracts/src/settings.ts, packages/contracts/src/model.ts, packages/contracts/src/settings.test.ts
Added hideWindowControls boolean to client settings (default false), introduced PiSettings provider schema with enabled and customModels, extended server and patch schemas to include pi provider config. Pi model exports added: PI_DEFAULT_MODEL, PI_THINKING_LEVEL_OPTIONS, and PiThinkingLevel type.
Pi Core Implementation
apps/server/src/piHarness.ts, apps/server/src/piSdkManager.ts
New piHarness.ts module provides Pi catalog snapshots, model slug normalization, settings/resource loaders with disabled Pi features, tool argument summarization, and session event parsing. New piSdkManager.ts implements PiSdkManager class managing embedded Pi agent sessions, turn lifecycle events, approval request gating, and thread inspection/rollback over provider runtime event streams.
Pi Driver & Registration
apps/server/src/provider/Drivers/PiDriver.ts, apps/server/src/provider/builtInDrivers.ts
New Pi provider driver implementation with model capability handling (thinking level support), provider snapshot lifecycle, adapter event publishing, and unsupported git text generation error handling. Driver registered in built-in drivers list with environment wiring.
Desktop Branding & Client Settings
apps/desktop/src/appBranding.ts, apps/desktop/src/appBranding.test.ts, apps/desktop/src/clientPersistence.test.ts, apps/desktop/src/main.ts, apps/desktop/package.json, apps/desktop/scripts/electron-launcher.mjs
APP_BASE_NAME updated to "k3code"; desktop window control visibility now gated by persisted clientSettings.hideWindowControls; in-memory client settings management added to IPC handlers; legacy user data directory name and update dialogs rebranded.
Web Branding & Defaults
apps/web/index.html, apps/web/src/branding.ts, apps/web/src/branding.test.ts, apps/web/src/authBootstrap.test.ts
Document title, splash screen labels, and APP_BASE_NAME fallback changed to "k3code (Alpha)".
Web UI Components & Settings Integration
apps/web/src/components/settings/SettingsPanels.tsx, apps/web/src/components/settings/ProviderModelsSection.tsx, apps/web/src/components/settings/providerDriverMeta.ts, apps/web/src/components/settings/AddProviderInstanceDialog.tsx, apps/web/src/components/Sidebar.tsx, apps/web/src/components/SplashScreen.tsx
Added Pi provider option to settings with icon and no editable fields. Introduced "Window controls" settings row toggling hideWindowControls. Removed Pi Agent from coming-soon list. Sidebar wordmark replaced with plain "k3code" text label. Updated custom model placeholders and OpenCode server URL description.
Web Session & Settings Helpers
apps/web/src/session-logic.ts, apps/web/src/components/KeybindingsToast.browser.tsx, apps/web/src/localApi.test.ts, apps/web/src/components/settings/SettingsPanels.browser.tsx, apps/web/src/components/desktopUpdate.logic.ts, apps/web/src/components/desktopUpdate.logic.test.ts, apps/web/src/components/settings/ConnectionsSettings.tsx
Added Pi provider to PROVIDER_OPTIONS with "new" badge. Pi settings integrated into base server config. Client settings fixtures updated to include hideWindowControls. Update warning and confirmation messages rebranded to "k3code".
Provider Status Messages & Server Messaging
apps/server/src/provider/Layers/ClaudeProvider.ts, apps/server/src/provider/Layers/CodexProvider.ts, apps/server/src/provider/Layers/CursorProvider.ts, apps/server/src/provider/Layers/OpenCodeProvider.ts, apps/server/src/provider/Layers/OpenCodeAdapter.ts, apps/server/src/provider/Layers/ProviderService.ts, apps/server/src/provider/Layers/ProviderRegistry.test.ts, apps/server/src/provider/providerStatusCache.test.ts, apps/server/src/serverRuntimeStartup.ts, apps/server/src/startupAccess.ts, apps/server/src/cli.ts
All disabled provider probe messages updated from "T3 Code settings" to "k3code settings". OpenCode session titles and Codex client info rebranded. CLI command descriptions updated. Server startup messaging and headless output rebranded. Git text generation title updated.
Documentation & Tests
AGENTS.md, KEYBINDINGS.md, README.md, REMOTE.md, docs/observability.md, docs/providers/claude.md, docs/providers/codex.md, apps/server/src/git/Layers/OpenCodeTextGeneration.ts, apps/web/src/components/GitActionsControl.tsx
All references to "T3 Code" rebranded to "k3code" in documentation and test strings. macOS app bundle paths updated. Claude multi-account isolation guidance expanded for k3code. GitActionsControl dialog footer layout refactored for responsive sizing.
Dependencies
apps/server/package.json
Added @mariozechner/pi-coding-agent@0.62.0 dependency.

Sequence Diagram

sequenceDiagram
participant User as User/Editor
participant WebUI as Web UI
participant Server as Server
participant PiSDK as Pi SDK Manager
participant PiAgent as Pi Agent<br/>(External)
User->>WebUI: Enable Pi provider & configure model
WebUI->>Server: POST /api/provider/start-session<br/>(threadId, pi provider, model)
Server->>PiSDK: startSession(threadId, model, runtimeMode)
PiSDK->>PiSDK: createLockedPiSettingsManager()
PiSDK->>PiSDK: createLockedPiResourceLoader()
PiSDK->>PiAgent: createSession(SessionManager)
PiAgent-->>PiSDK: session handle
PiSDK-->>Server: ProviderSession + event stream
Server-->>WebUI: session.started event
WebUI->>User: Show Pi session ready
User->>WebUI: Send turn (input + model options)
WebUI->>Server: POST /api/provider/send-turn<br/>(threadId, input, thinking level)
Server->>PiSDK: sendTurn(input, model, interactionMode)
PiSDK->>PiSDK: Materialize attachments to base64
PiSDK->>PiSDK: Select tool set (plan vs full)
PiSDK->>PiAgent: startPrompt(model, tools, thinking)
PiAgent->>PiAgent: Generate & execute tools<br/>(read/bash/edit/etc)
PiAgent-->>PiSDK: tool.call event
PiSDK->>Server: content.delta event
Server->>WebUI: Stream assistant response
PiAgent-->>PiSDK: turn_end + proposed_plan
PiSDK->>PiSDK: extractProposedPlanMarkdown()
PiSDK-->>Server: turn.completed event
Server-->>WebUI: Show plan or result
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~60 minutes

Poem

A rabbit hops with glee so bright,
k3code shines with fresh rebrand light,
Pi agents join the provider dance,
Window controls now get their chance,
Settings bloom and schemas grow,
This grand refactor steals the show! 🐰✨

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch t3code/k3code-branding

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
Review rate limit: 0/1 reviews remaining, refill in 60 minutes.

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitaicoderabbitaiBot mentioned this pull request May 7, 2026
5 tasks
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@IGN-Styly