codeden 0.5.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.
Files changed (33) hide show
  1. package/README.md +14 -13
  2. package/dist/cli.js +1 -1
  3. package/dist/drizzle/20261111152627_session_plan_mode/migration.sql +1 -0
  4. package/dist/drizzle/20261111152627_session_plan_mode/snapshot.json +3494 -0
  5. package/dist/drizzle/20261112083233_session_forked_from/migration.sql +1 -0
  6. package/dist/drizzle/20261112083233_session_forked_from/snapshot.json +3504 -0
  7. package/dist/{main-BQwSt6Az.js → main-BTA6NERX.js} +4386 -1396
  8. package/dist/main-BTA6NERX.js.map +1 -0
  9. package/dist/{main-Drh58zq6.js → main-DgIYOEGD.js} +7 -3
  10. package/dist/main-DgIYOEGD.js.map +1 -0
  11. package/dist/{runner-WAbCC8k2.js → runner-C59QJvYP.js} +5641 -976
  12. package/dist/runner-C59QJvYP.js.map +1 -0
  13. package/dist/runner.js +1 -1
  14. package/dist/web/assets/{core-aeJ3srYS.js → core-BE80EdZx.js} +1 -1
  15. package/dist/web/assets/engine-oniguruma-CYbHTBkj.js +1 -0
  16. package/dist/web/assets/{highlighted-body-JLMTFACH-NhDHKomc.js → highlighted-body-JLMTFACH-DKf-ZukU.js} +1 -1
  17. package/dist/web/assets/{highlights-af6Fohu4.js → highlights-CXgTTgn7.js} +1 -1
  18. package/dist/web/assets/index-Bq-TWYoS.css +1 -0
  19. package/dist/web/assets/{index-iad71iug.js → index-Cr_5sx1k.js} +238 -215
  20. package/dist/web/assets/langs-2fbnR5VK.js +1 -0
  21. package/dist/web/assets/mermaid-WFAXDIZX-VZd02gKu.js +1 -0
  22. package/dist/web/assets/{shiki-Do52T6bJ.js → shiki-BoVdalr2.js} +2 -2
  23. package/dist/web/assets/{stream-tokenizer-DFPcXHG7.js → stream-tokenizer-Ccxf5ToF.js} +1 -1
  24. package/dist/web/assets/{themes-B76yFk4c.js → themes-C9K67wea.js} +2 -2
  25. package/dist/web/index.html +2 -2
  26. package/package.json +3 -2
  27. package/dist/main-BQwSt6Az.js.map +0 -1
  28. package/dist/main-Drh58zq6.js.map +0 -1
  29. package/dist/runner-WAbCC8k2.js.map +0 -1
  30. package/dist/web/assets/engine-oniguruma-CyGcXvAw.js +0 -1
  31. package/dist/web/assets/index-BlGTOYYh.css +0 -1
  32. package/dist/web/assets/langs-DEIJuibn.js +0 -1
  33. package/dist/web/assets/mermaid-WFAXDIZX-RdnNjs5C.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 Codex 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.
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
  [![Website](https://img.shields.io/badge/website-codeden.app-e8a33d)](https://www.codeden.app)
8
8
  [![npm](https://img.shields.io/npm/v/codeden?color=e8a33d&label=npm)](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`) and/or [Codex CLI](https://developers.openai.com/codex/cli) (`codex`). At least one is required |
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
 
@@ -95,11 +95,11 @@ Background work you switch on per project: **security audit**, **refactor sweep*
95
95
 
96
96
  ![A project's automations with their schedules and the next runs](https://raw.githubusercontent.com/leonvanzyl/codeden/main/docs/images/automations.png)
97
97
 
98
- ### Autonomy modes, including an experimental dark factory
98
+ ### A software factory, and an experimental dark factory
99
99
 
100
- Each project climbs a ladder: **Manual** → **Assisted** (the default) → **Autopilot** → **Dark factory**. In the last two (both **experimental**), a factory loop takes in work from issues, failed checks and improvement finders, builds it in agent sessions, and merges a PR automatically only when every merge check passes: green CI, tests, an independent review by a separate agent session, a security scan, UI evidence, a size limit and no protected areas touched. Limits you set (concurrent sessions, merges per day, a daily budget, pause after repeated failures) are enforced by the server, and a kill switch stops everything with one click. [Autonomy and the dark factory](https://github.com/leonvanzyl/codeden/blob/main/docs/autonomy-and-dark-factory.md).
100
+ Each project climbs a ladder: **Manual** → **Assisted** (the default) → **Software factory** → **Dark factory**. In a **software factory**, the GitHub issues you and the people you trust file are classified as a bug, a feature or a docs change, and a pool of agents runs each through its pipeline: reproduce, fix and review a bug; analyze, implement and review a feature; change the docs. Every pull request carries its test results, and screenshots for UI changes; you merge it, or turn on auto-merge. Issues from anyone else (on a public repository, anyone at all) are ignored until you let one in, and what you let in is never merged automatically. A **dark factory** adds a scheduled scout that reviews the app against your vision with a few long-lived reviewer agents and files the issues itself. The project page draws the pipelines live: click an issue to open the agent working on it. Limits (agents at once, a daily budget, pause after repeated failures) are enforced by the server, and a kill switch stops everything with one click. Both are **experimental**. [The software factory and the dark factory](https://github.com/leonvanzyl/codeden/blob/main/docs/software-factory.md).
101
101
 
102
- ![The factory panel: loop stages, budget meters, backlog, merge checks and recent merges](https://raw.githubusercontent.com/leonvanzyl/codeden/main/docs/images/factory-panel.png)
102
+ ![The factory panel: the live Bug, Feature and Docs pipelines, the agent pool, budget, merge checks and ignored issues](https://raw.githubusercontent.com/leonvanzyl/codeden/main/docs/images/factory-panel.png)
103
103
 
104
104
  ### Workbench
105
105
 
@@ -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 · terminals (node-pty) │
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
 
@@ -186,7 +186,7 @@ Details and how to report a vulnerability: [docs/security.md](https://github.com
186
186
  | API keys | Settings, stored in the OS keychain |
187
187
  | Per-project setup | `.codeden/project.json` in the repo: worktree setup commands and the dev server |
188
188
  | Automations | `~/.codeden/automations/*.md` (all projects) and `<repo>/.codeden/automations/*.md` |
189
- | Project vision | `<repo>/.codeden/VISION.md` (autopilot and dark factory) |
189
+ | Project vision | `<repo>/.codeden/VISION.md` (software and dark factory) |
190
190
 
191
191
  Inside the data directory:
192
192
 
@@ -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 `codex` 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
+ 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.
@@ -284,7 +285,7 @@ Windows, macOS and Linux. Windows is tested first.
284
285
  Yes. Turn on **Settings › Network access**, set a password, and scan the QR code with your phone on the same Wi-Fi (or over your own VPN such as Tailscale). The UI adapts to phones and tablets, and **Add to Home Screen** opens it full screen. Plain http addresses mean no notifications or microphone on the phone. See [Phones, tablets and network access](https://github.com/leonvanzyl/codeden/blob/main/docs/remote-access.md).
285
286
 
286
287
  **Is the dark factory safe to leave running?**
287
- It's experimental. Read [Autonomy and the dark factory](https://github.com/leonvanzyl/codeden/blob/main/docs/autonomy-and-dark-factory.md) first, start with Autopilot on a sandbox repository, set a budget and protected areas, and keep the kill switch in reach.
288
+ It's experimental. Read [The software factory and the dark factory](https://github.com/leonvanzyl/codeden/blob/main/docs/software-factory.md) first, start with the software factory on a sandbox repository with auto-merge off, set a budget, trusted authors and protected areas, and keep the kill switch in reach.
288
289
 
289
290
  ## Documentation
290
291
 
@@ -295,7 +296,7 @@ It's experimental. Read [Autonomy and the dark factory](https://github.com/leonv
295
296
  | [Orchestration](https://github.com/leonvanzyl/codeden/blob/main/docs/orchestration.md) | Orchestrator, PMs, agents, work keys, conflicts and notices |
296
297
  | [GitHub](https://github.com/leonvanzyl/codeden/blob/main/docs/github.md) | Issues, PRs, checks, reviews and the evidence branch |
297
298
  | [Automations](https://github.com/leonvanzyl/codeden/blob/main/docs/automations.md) | Triggers, guards, templates and writing your own |
298
- | [Autonomy and the dark factory](https://github.com/leonvanzyl/codeden/blob/main/docs/autonomy-and-dark-factory.md) | Modes, the vision file, merge checks, limits and the kill switch |
299
+ | [The software factory and the dark factory](https://github.com/leonvanzyl/codeden/blob/main/docs/software-factory.md) | Modes, pipelines, trusted authors, the scout, the vision file, merge checks, limits and the kill switch |
299
300
  | [Workbench](https://github.com/leonvanzyl/codeden/blob/main/docs/workbench.md) | Diffs, checkpoints, files, terminal, browser, composer, shortcuts |
300
301
  | [Agent configuration](https://github.com/leonvanzyl/codeden/blob/main/docs/agent-config.md) | Memory, skills, subagents and MCP servers |
301
302
  | [Voice and images](https://github.com/leonvanzyl/codeden/blob/main/docs/voice-and-images.md) | Dictation, read-aloud and image generation |
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-BQwSt6Az.js");
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;