No description
  • TypeScript 99.4%
  • JavaScript 0.3%
  • CSS 0.2%
Find a file
Denis Sudakov 7fd2756876
Merge pull request #35 from su-underscore/dev
Integrate Pi SDK, Enhance Type Safety, and Expand Documentation
2026-05-05 21:21:10 +03:00
.cursor Initial su-code fork: strip Codex/Claude/Cursor/OpenCode, add integration doc 2026-04-30 18:31:09 +03:00
apps fix(PiDriver): correlate request resolutions, fail on missing sessions, conditional publish, capture turnId 2026-05-05 21:16:29 +03:00
docs fix: clean up docs formatting, prioritize provider instance lookup, and 2026-05-05 19:44:18 +03:00
packages chore: replace codex/gpt-5.4 defaults with pi/deepseek-v4-flash 2026-05-03 16:33:02 +03:00
scripts feat: add dev-runner script and turbo globalEnv for VITE_HTTP_URL 2026-05-03 16:10:09 +03:00
.envrc fix: resolve boot-time ReferenceError and Vite IPv6 binding 2026-04-30 19:45:41 +03:00
.gitattributes Initial su-code fork: strip Codex/Claude/Cursor/OpenCode, add integration doc 2026-04-30 18:31:09 +03:00
.gitignore chore: gitignore temp_logs 2026-05-03 16:11:05 +03:00
.oxfmtrc.json Initial su-code fork: strip Codex/Claude/Cursor/OpenCode, add integration doc 2026-04-30 18:31:09 +03:00
.oxlintrc.json Initial su-code fork: strip Codex/Claude/Cursor/OpenCode, add integration doc 2026-04-30 18:31:09 +03:00
AGENTS.md Pi runtime layer + default baseDir fix + fallback Pi instance 2026-05-05 12:30:10 +03:00
bun.lock chore: add pi-agent-core and pi-ai dependencies to lockfile 2026-05-05 19:36:23 +03:00
flake.lock fix: resolve boot-time ReferenceError and Vite IPv6 binding 2026-04-30 19:45:41 +03:00
flake.nix fix: resolve boot-time ReferenceError and Vite IPv6 binding 2026-04-30 19:45:41 +03:00
LICENSE Initial su-code fork: strip Codex/Claude/Cursor/OpenCode, add integration doc 2026-04-30 18:31:09 +03:00
package.json feat: add dev-runner script and turbo globalEnv for VITE_HTTP_URL 2026-05-03 16:10:09 +03:00
README.md fix: clean up docs formatting, prioritize provider instance lookup, and 2026-05-05 19:44:18 +03:00
tsconfig.base.json Initial su-code fork: strip Codex/Claude/Cursor/OpenCode, add integration doc 2026-04-30 18:31:09 +03:00
turbo.json feat: add dev-runner script and turbo globalEnv for VITE_HTTP_URL 2026-05-03 16:10:09 +03:00
vitest.config.ts Initial su-code fork: strip Codex/Claude/Cursor/OpenCode, add integration doc 2026-04-30 18:31:09 +03:00

su-code

A fork of t3-code — a multiplexer web UI for coding agents — stripped of Codex, Claude, Cursor, and OpenCode integrations, with a Pi Coding Agent engine integrated in-process.

Quick Start

bun install
bun run dev          # server (13773) + web (5733)

Open http://localhost:5733.

Architecture

Browser (React + Vite) ──WebSocket── Server (Effect-TS) ──In-Process── Pi SDK
                                      │
                                      ├── Orchestration Engine (event sourcing, SQLite)
                                      ├── Git integration
                                      ├── Terminal PTY
                                      ├── Auth / Pairing
                                      └── Pi session manager (Map<ThreadId, AgentSession>)

What's Kept

  • Frontend (apps/web/) — React + Vite chat UI, sidebar, diff panel, terminal, settings
  • Server core (apps/server/) — WebSocket, orchestration, git, terminal, auth, persistence
  • Contracts (packages/contracts/) — Shared Effect Schemas for all wire types
  • Shared utilities (packages/shared/, packages/client-runtime/)

What's Stripped

  • Codex, Claude, Cursor, OpenCode provider drivers
  • ACP protocol SDK, Codex app-server SDK
  • Desktop Electron shell, marketing site

What's Next

  • PiDriver — wraps Pi SDK's createAgentSession() as a t3code provider driver
  • PiEventMapper — maps Pi SDK events to canonical ProviderRuntimeEvent stream
  • Pi text generation (commit messages, branch names, PR titles)
  • Pi settings UI
  • Steering / follow-up via Pi SDK message queue

Documentation

See docs/ for full documentation:

See docs/cli-agent-integration-pattern.md for how the original t3-code provider integrations worked.