1.9 KiB
Feature documentation
One file per capability. Each records what the feature does, how it is wired, the protocol facts it depends on, and the traps found while building it.
| Feature | Status | Code |
|---|---|---|
| Launching sessions | Implemented | Scripts/launch.js |
| Sessions sidebar | Implemented | Scripts/sidebar.js, Scripts/sessions-store.js |
| Authentication | Implemented | Scripts/auth.js, Scripts/cli.js |
| IDE bridge | Next — not built | — |
Architecture
Chat happens in a terminal running claude. The extension does not own a
session and does not proxy the conversation; it prepares launch commands, tracks
the project's sessions, and manages the account behind them.
Nova sidebar ──copy command──> clipboard ──you paste──> terminal running claude
│ │
└── reads ~/.claude/projects/<slug>/*.jsonl ───────────────────┘
(the same store the CLI uses)
Because a launched session is an ordinary CLI session, it is resumable from any
terminal and eligible for --remote-control — nothing about it is specific to
this extension.
History
The extension previously drove claude --print over its stream-json protocol
and rendered the conversation into a Markdown tab, with approvals, plan review
and question answering in Nova panels. That was removed: modal panels truncated
long questions and lost their input whenever you clicked away to check
something. The terminal TUI handles those interactions properly.
That implementation — including the stream-json transport, the editable-proposal
flow, and the change reconstruction in Scripts/diff.js — is preserved in commit
89d1a06 and is the starting point for the IDE bridge.