Skip to content

feat(daemon): parallel worktrees #41

@cniska

Description

@cniska

What would you like?

Make parallel isolated workspaces a first-class workflow — one Acolyte daemon orchestrating multiple concurrent feature branches with shared project memory, tabbed TUI, and zero git knowledge required.

Motivation

Developers working on multiple features context-switch between branches constantly. Each switch means stashing, rebuilding mental context, and losing flow. Acolyte's daemon architecture already supports multi-client concurrency — this unlocks it as a deliberate product experience.

No other AI coding tool offers coordinated parallel workspaces with shared intelligence.

UX

Chat commands

  • /new fix auth flow — creates an isolated workspace (git worktree), opens it in a new TUI tab
  • /done — merges workspace back to main, cleans up, closes tab
  • /switch fix-auth — switch to an existing workspace tab
  • /list — show active workspaces

TUI

  • Tabbed interface: [main] [fix-auth] [refactor-di]
  • Ctrl+1/2/3 — direct tab switching
  • Ctrl+T — new workspace
  • Ctrl+W — close/merge workspace
  • Inactive tabs show thinking indicator when working in background

Mental model

  • acolyte opens in the project dir — casual mode, no isolation
  • /new creates a real workspace — git worktree, scoped session, full isolation
  • The user thinks in tasks, not branches. Git worktrees, branch management, and session scoping are invisible.

Architecture

Per-project storage

~/.acolyte/
  projects/
    proj_<hash>/
      memory.db      — shared across all workspaces
      tool.db        — file cache, shared for base branch
      trace.db       — unified trace, filterable by workspace

Uses existing proj_* resource IDs from projectResourceIdFromWorkspace.

Memory scoping

  • Project memory: shared across all workspaces (conventions, architecture facts)
  • Session memory: isolated per workspace (current task context)
  • Tool cache: base-branch reads reusable across workspaces

Daemon

  • One daemon per project, routes tasks to the right workspace
  • Each workspace has its own task queue
  • Verify runs independently per workspace

Concerns

  • Disk/build cost: each worktree copies source files, needs own node_modules
  • Verify contention: concurrent test runs may conflict on ports
  • Merge friction: multiple diverging branches need rebasing
  • Complexity: big feature touching daemon, TUI, memory, tools, trace, git

Prerequisites

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requesticeboxNot planned for 1.0 — revisit later

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions