41 lines
1.9 KiB
Markdown
41 lines
1.9 KiB
Markdown
# 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](launching.md) | Implemented | `Scripts/launch.js` |
|
|
| [Sessions sidebar](sessions.md) | Implemented | `Scripts/sidebar.js`, `Scripts/sessions-store.js` |
|
|
| [Authentication](authentication.md) | Implemented | `Scripts/auth.js`, `Scripts/cli.js` |
|
|
| [IDE bridge](ide-bridge.md) | **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](ide-bridge.md).
|