Changelog
2026-07-24v0.34.1— CLI Modular Refactor
- Fixed: Web UI no longer opens to the project picker — running
kandowninside a project directory now auto-opens both the TUI and the Web UI directly into that project again. The regression was a missingwindow.__KANDOWN_ROOT__injection into the served HTML (lost during an earlier partial refactor); the web app now correctly detects server mode and skips the manual folder-picker screen. - Added: "Create project" confirmation screen in the TUI — launching
kandowninside a directory with no.kandown/project now shows an inline confirmation prompt (Enter to create, Esc to quit) instead of failing silently. Confirming scaffolds the project, starts the local web daemon, and opens the browser automatically. - Fixed: Daemon spawn using the wrong entrypoint when launched from the TUI —
startProjectDaemonresolved its own CLI path fromprocess.argv[1], which pointed at the TUI's own entrypoint when called from inside the Ink process (e.g. the "create project" flow, or pressingdon the board). It now resolves the CLI entrypoint from the package root instead, fixing daemon start failures triggered from within the TUI. - Changed: Large source files split into focused modules — five files that had grown past 1500–3500 lines during a previous rushed refactor were mechanically split into smaller, single-purpose modules with no behavior change (verified via
tsc, full builds, and byte-level diffs against the pre-split code):src/lib/theme.ts(1525 → 267 lines): 38 built-in theme presets extracted to individual files undersrc/lib/themes/.src/lib/store.ts(1774 → 120 lines): the Zustand store split into six slices (project,board,drawer,ui,agentSearch,watcher) undersrc/lib/store/.src/cli/screens/board.tsx(1647 → 1203 lines): pure layout helpers and presentational components extracted tosrc/cli/screens/board/helpers.tsandboard/components.tsx.src/components/SettingsPage.tsx(2038 → 347 lines): setting schema/metadata, the language dropdown, search results, setting rows, thekandown workoutput configurator, and the About/version card each moved to their own file undersrc/components/settings/.src/cli/cli.ts(905 → ~160 lines): argument-parsing and path-resolution helpers moved tosrc/cli/lib/cli-shared.ts; command handlers grouped intosrc/cli/commands/project.ts,commands/tasks.ts, andcommands/daemon.ts.