nook

command
v0.17.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 24, 2026 License: MIT Imports: 42 Imported by: 0

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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL