Skip to content

P3.2: ZellijBackend basic implementation (multiplexer Phase 3) #412

@takemo101

Description

@takemo101

Phase 3, issue P3.2 — part of the multiplexer backend abstraction implementation plan.

Design: docs/designs/cuekit-multiplexer-backend-design.md

Prerequisites: P3.0 spike closed (cite its findings); P3.1 merged.

Outcome

A working ZellijBackend implements MultiplexerBackend that mirrors tmux's per-task-session model: 1 task → 1 cuekit-task-<id> zellij session. No team awareness in this issue — that's Phase 4.

Files

  • Create: packages/adapters/src/zellij-backend.ts
  • Create: packages/adapters/__tests__/zellij-backend.test.ts

Steps

  • Use the spike output (P3.0) for exact CLI forms.
  • Implement spawnPane, isAlive, sendKeys, capturePane, killPane, attachCommand. All session-name patterns: cuekit-task-<task_id>.
  • Use a FakeZellijRunner in tests to assert exact argv shapes.
  • Real-zellij integration test gated on a hasZellij() helper (analogous to hasTmux()).

Acceptance

Unit tests pin argv shapes; integration test (when zellij present) submits a one-shot task and round-trips spawn → capture → kill.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions