codeden 0.6.0 → 0.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -7
- package/dist/cli.js +1 -1
- package/dist/drizzle/20261111152627_session_plan_mode/migration.sql +1 -0
- package/dist/drizzle/20261111152627_session_plan_mode/snapshot.json +3494 -0
- package/dist/drizzle/20261112083233_session_forked_from/migration.sql +1 -0
- package/dist/drizzle/20261112083233_session_forked_from/snapshot.json +3504 -0
- package/dist/{main-DC-Gug_o.js → main-BTA6NERX.js} +2050 -452
- package/dist/main-BTA6NERX.js.map +1 -0
- package/dist/{main-WrV5I8Jo.js → main-DgIYOEGD.js} +7 -3
- package/dist/main-DgIYOEGD.js.map +1 -0
- package/dist/{runner-CYnMuxur.js → runner-C59QJvYP.js} +5279 -909
- package/dist/runner-C59QJvYP.js.map +1 -0
- package/dist/runner.js +1 -1
- package/dist/web/assets/{core-CDpYIzHw.js → core-BE80EdZx.js} +1 -1
- package/dist/web/assets/engine-oniguruma-CYbHTBkj.js +1 -0
- package/dist/web/assets/{highlighted-body-JLMTFACH-C9dm2CW4.js → highlighted-body-JLMTFACH-DKf-ZukU.js} +1 -1
- package/dist/web/assets/{highlights-o_P8SnvL.js → highlights-CXgTTgn7.js} +1 -1
- package/dist/web/assets/index-Bq-TWYoS.css +1 -0
- package/dist/web/assets/index-Cr_5sx1k.js +937 -0
- package/dist/web/assets/langs-2fbnR5VK.js +1 -0
- package/dist/web/assets/mermaid-WFAXDIZX-VZd02gKu.js +1 -0
- package/dist/web/assets/{shiki-BYseDnLo.js → shiki-BoVdalr2.js} +2 -2
- package/dist/web/assets/{stream-tokenizer-D8_JNbSS.js → stream-tokenizer-Ccxf5ToF.js} +1 -1
- package/dist/web/assets/{themes-BtxdY48G.js → themes-C9K67wea.js} +2 -2
- package/dist/web/index.html +2 -2
- package/package.json +3 -2
- package/dist/main-DC-Gug_o.js.map +0 -1
- package/dist/main-WrV5I8Jo.js.map +0 -1
- package/dist/runner-CYnMuxur.js.map +0 -1
- package/dist/web/assets/engine-oniguruma-CJg_T4jE.js +0 -1
- package/dist/web/assets/index-BELktH7l.css +0 -1
- package/dist/web/assets/index-Cc7xqhCW.js +0 -917
- package/dist/web/assets/langs-3J89AXIt.js +0 -1
- package/dist/web/assets/mermaid-WFAXDIZX-s7S3p3wW.js +0 -1
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# CodeDen
|
|
4
4
|
|
|
5
|
-
**A local-first harness for coding agents.** Run Claude Code and
|
|
5
|
+
**A local-first harness for coding agents.** Run Claude Code, Codex and OpenCode side by side in a calm, focused workspace, and when you're ready, let a small software factory work through your backlog while every step stays visible in GitHub.
|
|
6
6
|
|
|
7
7
|
[](https://www.codeden.app)
|
|
8
8
|
[](https://www.npmjs.com/package/codeden)
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
npx codeden
|
|
19
19
|
```
|
|
20
20
|
|
|
21
|
-
That's the whole install. CodeDen starts a local server, opens your browser on an already signed-in URL, and reuses the Claude Code, Codex, GitHub and git setup you already have. No accounts, no license keys, no hosted backend, no telemetry.
|
|
21
|
+
That's the whole install. CodeDen starts a local server, opens your browser on an already signed-in URL, and reuses the Claude Code, Codex, OpenCode, GitHub and git setup you already have. No accounts, no license keys, no hosted backend, no telemetry.
|
|
22
22
|
|
|
23
23
|
Prefer an app? **[Download the desktop app](https://github.com/leonvanzyl/codeden/releases/latest)** for Windows, macOS or Linux: the same CodeDen in its own window, with a tray icon, notifications and automatic updates, and no Node.js needed. See [The desktop app](https://github.com/leonvanzyl/codeden/blob/main/docs/desktop.md).
|
|
24
24
|
|
|
@@ -45,7 +45,7 @@ Prefer an app? **[Download the desktop app](https://github.com/leonvanzyl/codede
|
|
|
45
45
|
|---|---|
|
|
46
46
|
| **Node.js 24+** | `node --version` |
|
|
47
47
|
| **git** | with `user.name` and `user.email` set |
|
|
48
|
-
| **An agent CLI, signed in** | [Claude Code](https://docs.claude.com/en/docs/claude-code) (`claude`)
|
|
48
|
+
| **An agent CLI, signed in** | [Claude Code](https://docs.claude.com/en/docs/claude-code) (`claude`), [Codex CLI](https://developers.openai.com/codex/cli) (`codex`) and/or [OpenCode](https://opencode.ai) 2.2+ (`opencode`). At least one is required |
|
|
49
49
|
| **GitHub CLI** *(optional)* | `gh auth login` unlocks issues, pull requests, evidence and the factory. Local-only folders work without it |
|
|
50
50
|
| **Edge or Chrome** *(optional)* | for the browser panel and the agents' browser tools |
|
|
51
51
|
|
|
@@ -57,7 +57,7 @@ npx codeden # or: npm i -g codeden && codeden
|
|
|
57
57
|
|
|
58
58
|
Or install the **desktop app** from the [latest release](https://github.com/leonvanzyl/codeden/releases/latest) (`CodeDen-Setup-<version>.exe` on Windows, a `.dmg` on macOS, an AppImage or `.deb` on Linux). It needs no Node.js, uses the same data as `npx codeden` (`~/.codeden`), lives in the tray and updates itself. Builds without a publisher signature show a warning the first time you open them: on Windows choose **More info › Run anyway**; on macOS open CodeDen once, then choose **Open Anyway** under **System Settings › Privacy & Security**. If macOS says the app is "damaged", see [Unsigned builds](https://github.com/leonvanzyl/codeden/blob/main/docs/desktop.md#unsigned-builds).
|
|
59
59
|
|
|
60
|
-
1. The **setup checklist** detects Claude Code, Codex, GitHub, your git identity and a browser, and only asks about what's missing. Each failed check has one fix: an install command, or a **Sign in** button that runs the tool's own login in an embedded terminal.
|
|
60
|
+
1. The **setup checklist** detects Claude Code, Codex, OpenCode, GitHub, your git identity and a browser, and only asks about what's missing. Each failed check has one fix: an install command, or a **Sign in** button that runs the tool's own login in an embedded terminal.
|
|
61
61
|
2. **Add a project:** pick a local folder (a server-side folder picker) or paste a GitHub URL to clone.
|
|
62
62
|
3. **Start a session.** The agent works in its own git worktree and branch, so your checkout is never touched.
|
|
63
63
|
|
|
@@ -152,13 +152,13 @@ When an agent finishes, CodeDen suggests two to four next prompts as one-click c
|
|
|
152
152
|
│ runner protocol over WebSocket │ events + acks
|
|
153
153
|
┌───────────────▼──────────────────────────────────────┴──────────────┐
|
|
154
154
|
│ RUNNER (separate process, next to the code) │
|
|
155
|
-
│ Claude Agent SDK · codex app-server ·
|
|
155
|
+
│ Claude Agent SDK · codex app-server · opencode serve · node-pty │
|
|
156
156
|
│ Chromium over CDP · worktrees, checkpoints, git · MCP proxy │
|
|
157
157
|
└──────────────────────────────────────────────────────────────────────┘
|
|
158
158
|
```
|
|
159
159
|
|
|
160
160
|
- **Two processes.** The **server** owns the database, orchestration, the inbox, automations and GitHub sync, and serves the UI. The **runner** hosts the agent processes, terminals, the browser and git. If the server restarts (an update, a crash), running agents keep going; the runner journals their events until the server is back.
|
|
161
|
-
- **Real SDKs and protocols.** Claude Code runs through the Claude Agent SDK using your installed `claude` binary; Codex runs through `codex app-server` over JSON-RPC. No scraped terminal output.
|
|
161
|
+
- **Real SDKs and protocols.** Claude Code runs through the Claude Agent SDK using your installed `claude` binary; Codex runs through `codex app-server` over JSON-RPC; OpenCode runs as a private `opencode serve` per session, over its HTTP API and event stream. No scraped terminal output.
|
|
162
162
|
- **Everything is an event.** Agent activity is an append-only event log in SQLite, so every action can be seen, replayed and traced to an issue, branch or PR.
|
|
163
163
|
- **Agents reach CodeDen through MCP.** Each session gets a role-scoped token for CodeDen's internal MCP server (`report_progress`, `ask_user`, `create_pull_request`, `attach_evidence`, the browser tools, `generate_image`, ...). Tools outside a role are never listed.
|
|
164
164
|
|
|
@@ -201,6 +201,7 @@ Inside the data directory:
|
|
|
201
201
|
artifacts/ screenshots and files shared in chat
|
|
202
202
|
orchestrator/ the orchestrator's working directory
|
|
203
203
|
backups/ copies of config files taken before CodeDen overwrote them
|
|
204
|
+
agent-config/ hooks you switched off on the Agents page (until you enable them)
|
|
204
205
|
logs/runner.log runner output
|
|
205
206
|
deps/ Claude Code support, installed on demand
|
|
206
207
|
app/<version>/ CodeDen versions installed by one-click updates
|
|
@@ -260,7 +261,7 @@ CodeDen checks npm for a new version when it starts and every 6 hours (only the
|
|
|
260
261
|
## FAQ
|
|
261
262
|
|
|
262
263
|
**Do I need API keys?**
|
|
263
|
-
No. CodeDen runs your installed `claude` and `
|
|
264
|
+
No. CodeDen runs your installed `claude`, `codex` and `opencode` CLIs, which use their own logins, including claude.ai and ChatGPT subscriptions. CodeDen never implements a login of its own and never asks for a credential it can already use. API keys are an optional extra for Gemini or OpenAI image generation and cloud voice. Check your provider's terms for how your plan may be used.
|
|
264
265
|
|
|
265
266
|
**Where does my data go?**
|
|
266
267
|
It stays on your machine, in `~/.codeden/`. CodeDen has no account system and no hosted backend. The only network traffic is what you set up: your agents talking to their providers, GitHub (through your `gh` login), and the optional image and voice engines you enable.
|
package/dist/cli.js
CHANGED
|
@@ -242,7 +242,7 @@ async function run() {
|
|
|
242
242
|
console.log(selfVersion);
|
|
243
243
|
process.exit(0);
|
|
244
244
|
}
|
|
245
|
-
await import("./main-
|
|
245
|
+
await import("./main-BTA6NERX.js");
|
|
246
246
|
}
|
|
247
247
|
/** Settles once this copy's CLI has loaded (an older launcher that switched here awaits it). */
|
|
248
248
|
const started = run();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
ALTER TABLE `sessions` ADD `plan_mode` integer DEFAULT false NOT NULL;
|