ShioriCode is a desktop and web interface for running coding agents in real projects.
It is built for long-running agent sessions, visible work history, predictable reconnects, project-aware threads, and reviewable changes. The goal is simple: keep powerful coding agents usable when the work takes more than one prompt.
ShioriCode is early, changing quickly, and currently best suited for people who are comfortable running a Bun monorepo locally.
|
|
- Runs coding-agent sessions from a local desktop or browser UI.
- Keeps chats tied to projects, branches, and local workspaces.
- Streams agent activity into a readable timeline.
- Shows generated diffs and changed files without leaving the app.
- Supports local provider CLIs and a hosted Shiori provider.
- Includes desktop, web, CLI, terminal-agent, and marketing surfaces in one repo.
ShioriCode is not a polished public platform yet. It is source-available, actively evolving, and maintainer-directed.
Expect sharp edges around setup, provider support, release packaging, and hosted Shiori configuration. Bug fixes, reliability improvements, documentation fixes, and focused polish are welcome.
You only need one working provider to use the app.
| Provider | Requirement | Authentication |
|---|---|---|
| Codex | Codex CLI | codex login |
| Claude | Claude Code | claude auth login |
| Kimi | Kimi Code CLI (kimi) |
kimi login |
| Shiori | Convex-backed hosted provider setup | Sign in from Settings |
- Bun
^1.3.9 - Node.js
^24.13.1 - Optional: a
NUCLEO_LICENSE_KEYfrom nucleoapp.com for the full Nucleo icon set - At least one authenticated provider CLI, unless you are only working on non-provider surfaces
If no Nucleo license key is available, ShioriCode falls back to Lucide icons so local development still works.
Create a local environment file first:
cp .env.example .envIf you have a Nucleo license key, set it before starting the app:
NUCLEO_LICENSE_KEY=your-license-keyInstall dependencies and start the app:
bun install
bun run devThe default dev command starts the server and web app together.
Use these commands for the common local workflows:
| Command | Description |
|---|---|
bun run dev |
Start server and web app together |
bun run dev:web |
Start only the web app |
bun run dev:server |
Start only the server |
bun run dev:desktop |
Start the desktop development workflow |
For remote access from another device, see REMOTE.md.
| Command | Description |
|---|---|
bun run fmt |
Format the repo |
bun run lint |
Run Oxlint |
bun run typecheck |
Type-check all packages |
bun run test |
Run Vitest and browser tests |
bun run build |
Build all packages |
bun run build:desktop |
Build the desktop pipeline |
bun run convex:dev |
Start Convex development server |
Do not use bun test in this repo. Use bun run test.
Before considering a change complete, run:
bun run fmt
bun run lint
bun run typecheckFor tests, always run:
bun run testThis is a Bun monorepo managed with Turborepo.
apps/
agent/ Terminal agent UI
cli/ CLI tooling
desktop/ Electron desktop shell
marketing/ Astro marketing site
server/ Node.js WebSocket server and provider broker
web/ React/Vite app
convex/ Hosted Shiori backend schema and functions
packages/
contracts/ Effect schemas and TypeScript contracts
effect-acp/ ACP protocol helpers
shared/ Runtime utilities with explicit subpath exports
scripts/ Build, release, and development tooling
ShioriCode is currently Codex-first. The server starts codex app-server for provider sessions, speaks JSON-RPC over stdio, and projects provider runtime activity into orchestration events consumed by the web client.
Good starting points:
apps/server/src/codexAppServerManager.tsapps/server/src/providerManager.tsapps/server/src/wsServer.tsapps/web/src/store.tspackages/contracts/srcpackages/shared/src
Reference docs:
Read CONTRIBUTING.md before opening a pull request. Small, focused PRs are much more likely to be reviewed and merged than broad rewrites or speculative features.
ShioriCode launches local tools, brokers coding-agent sessions, and handles provider credentials. Please read SECURITY.md before reporting security issues or publishing details.
ShioriCode is a fork of t3code. We are grateful to the t3code project for serving as an excellent base for ShioriCode.
ShioriCode is source-available under the Elastic License 2.0.
You may use ShioriCode for personal, internal, professional, and commercial work. You may not sell, resell, white-label, rebrand, or offer ShioriCode as a hosted or managed service without a separate commercial license from the maintainers.
Because this license restricts some commercial redistribution and hosted-service use, ShioriCode should be described as source-available rather than OSI open source.

