Documentation
¶
Overview ¶
Command nook is a terminal-native AI IDE built from glyph components.
Usage:
nook [project-root]
If project-root is omitted, nook opens the current working directory.
Keymap:
ctrl+p file picker ctrl+f find in current buffer ctrl+h find and replace in current buffer alt+f project search ctrl+b file tree (left side) ctrl+g git pane ctrl+k inline AI edit on current line (Haiku) ctrl+l composer multi-file AI edit (Sonnet) ctrl+` terminal pane ctrl+s save current buffer alt+i LSP hover info for symbol under cursor alt+y toggle gopls inlay hints (type annotations, parameter names) ctrl+] LSP go to definition ctrl+space LSP completion popup (↑/↓ to navigate, enter to accept) alt+enter LSP code actions at the cursor f2 LSP rename symbol under cursor alt+, reload ~/.config/nook/config.toml alt+p workspace-wide diagnostics panel tab accept ghost-text completion (when present) ctrl+q quit esc close overlay / blur / dismiss ghost-text
LSP diagnostics: opening a .go file starts gopls under the project root and surfaces publishDiagnostics as colored ● markers in the gutter (red for errors, yellow for warnings, blue for info/hint). The status bar shows the per-file E/W count.
Directories
¶
| Path | Synopsis |
|---|---|
|
internal
|
|
|
ai
Package ai drives the AI wedges in nook by spawning the user's existing Claude Code CLI as a subprocess.
|
Package ai drives the AI wedges in nook by spawning the user's existing Claude Code CLI as a subprocess. |
|
bufman
Package bufman owns the open-buffer collection.
|
Package bufman owns the open-buffer collection. |
|
codeaction
Package codeaction renders nook's LSP code-action picker — a small bordered menu listing the actions the language server proposed at the cursor.
|
Package codeaction renders nook's LSP code-action picker — a small bordered menu listing the actions the language server proposed at the cursor. |
|
complete
Package complete renders nook's LSP completion popup — a small menu that lists labeled completion items, lets the user move through them with the arrow keys, and surfaces the chosen item on Enter.
|
Package complete renders nook's LSP completion popup — a small menu that lists labeled completion items, lets the user move through them with the arrow keys, and surfaces the chosen item on Enter. |
|
composer
Package composer is the multi-file Cursor-Composer-style side panel.
|
Package composer is the multi-file Cursor-Composer-style side panel. |
|
config
Package config loads nook's user configuration from ~/.config/nook/config.toml.
|
Package config loads nook's user configuration from ~/.config/nook/config.toml. |
|
diagnostics
Package diagnostics renders nook's workspace-wide problems panel.
|
Package diagnostics renders nook's workspace-wide problems panel. |
|
edit
Package edit implements Cmd-K-style inline AI edits.
|
Package edit implements Cmd-K-style inline AI edits. |
|
editor
Package editor is nook's minimal file viewer/editor pane.
|
Package editor is nook's minimal file viewer/editor pane. |
|
filetree
Package filetree is nook's left-side file-tree pane.
|
Package filetree is nook's left-side file-tree pane. |
|
finder
Package finder is nook's in-file find/replace overlay.
|
Package finder is nook's in-file find/replace overlay. |
|
ghost
Package ghost owns nook's inline autocomplete state: idle-trigger debouncing, AI request lifecycle, and the rendered "ghost" text that floats after the cursor until accepted or dismissed.
|
Package ghost owns nook's inline autocomplete state: idle-trigger debouncing, AI request lifecycle, and the rendered "ghost" text that floats after the cursor until accepted or dismissed. |
|
git
Package git wraps the local git CLI for nook's git pane.
|
Package git wraps the local git CLI for nook's git pane. |
|
gitgutter
Package gitgutter computes per-line diff markers (added / modified / deleted) for a file by shelling out to `git diff` against the index.
|
Package gitgutter computes per-line diff markers (added / modified / deleted) for a file by shelling out to `git diff` against the index. |
|
help
Package help renders nook's full-keymap overlay.
|
Package help renders nook's full-keymap overlay. |
|
highlight
Package highlight tokenizes source files into per-row styled spans for the editor pane.
|
Package highlight tokenizes source files into per-row styled spans for the editor pane. |
|
hover
Package hover renders nook's LSP hover overlay — a small rounded-border box that displays whatever the language server returned for the symbol under the cursor.
|
Package hover renders nook's LSP hover overlay — a small rounded-border box that displays whatever the language server returned for the symbol under the cursor. |
|
inlayhint
Package inlayhint defines the on-the-wire representation of LSP inlay hints and the message types the host uses to ferry hint results to the editor pane.
|
Package inlayhint defines the on-the-wire representation of LSP inlay hints and the message types the host uses to ferry hint results to the editor pane. |
|
lookup
Package lookup turns LSP textDocument lookups (hover, definition) into async tea.Cmd factories.
|
Package lookup turns LSP textDocument lookups (hover, definition) into async tea.Cmd factories. |
|
lsp
Package lsp drives a language-server subprocess (gopls by default) over stdio and surfaces textDocument/publishDiagnostics notifications as events the host can render.
|
Package lsp drives a language-server subprocess (gopls by default) over stdio and surfaces textDocument/publishDiagnostics notifications as events the host can render. |
|
mdpreview
Package mdpreview is the nook side of the markdown preview pane.
|
Package mdpreview is the nook side of the markdown preview pane. |
|
multibuffer
Package multibuffer renders fragments stitched from multiple files into one scrollable surface.
|
Package multibuffer renders fragments stitched from multiple files into one scrollable surface. |
|
picker
Package picker is a fuzzy-filtered selection overlay for nook.
|
Package picker is a fuzzy-filtered selection overlay for nook. |
|
rename
Package rename renders nook's symbol-rename prompt — a small modal that asks for the new identifier name and emits the value back to the host on Enter.
|
Package rename renders nook's symbol-rename prompt — a small modal that asks for the new identifier name and emits the value back to the host on Enter. |
|
search
Package search runs ripgrep as a subprocess and streams matches back to the host model.
|
Package search runs ripgrep as a subprocess and streams matches back to the host model. |
|
tabbar
Package tabbar renders the open-buffer strip above the editor surface.
|
Package tabbar renders the open-buffer strip above the editor surface. |
|
term
Package term embeds a PTY-backed shell pane inside nook.
|
Package term embeds a PTY-backed shell pane inside nook. |
|
welcome
Package welcome renders nook's first-run / empty-editor surface.
|
Package welcome renders nook's first-run / empty-editor surface. |
Click to show internal directories.
Click to hide internal directories.