Directories
¶
| Path | Synopsis |
|---|---|
|
cmd
|
|
|
glyph
command
Package main is the glyph CLI entry point.
|
Package main is the glyph CLI entry point. |
|
nook
command
Command nook is a terminal-native AI IDE built from glyph components.
|
Command nook is a terminal-native AI IDE built from glyph components. |
|
nook/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. |
|
nook/internal/aihistory
Package aihistory keeps a small per-file conversation buffer for the composer wedge.
|
Package aihistory keeps a small per-file conversation buffer for the composer wedge. |
|
nook/internal/airules
Package airules loads repo-level AI instructions from a conventional dotfile at the workspace root.
|
Package airules loads repo-level AI instructions from a conventional dotfile at the workspace root. |
|
nook/internal/breakpoints
Package breakpoints stores per-file breakpoint state — a set of 0-based line indices keyed by absolute file path.
|
Package breakpoints stores per-file breakpoint state — a set of 0-based line indices keyed by absolute file path. |
|
nook/internal/bufman
Package bufman owns the open-buffer collection.
|
Package bufman owns the open-buffer collection. |
|
nook/internal/clip
Package clip is nook's minimal clipboard.
|
Package clip is nook's minimal clipboard. |
|
nook/internal/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. |
|
nook/internal/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. |
|
nook/internal/completedoc
Package completedoc renders nook's LSP completion documentation side-panel — a small bordered box that sits beside the completion popup and shows the resolved documentation for whichever item is highlighted.
|
Package completedoc renders nook's LSP completion documentation side-panel — a small bordered box that sits beside the completion popup and shows the resolved documentation for whichever item is highlighted. |
|
nook/internal/composer
Package composer is the multi-file Cursor-Composer-style side panel.
|
Package composer is the multi-file Cursor-Composer-style side panel. |
|
nook/internal/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. |
|
nook/internal/dap
Package dap drives a debug-adapter subprocess (delve via `dlv dap` by default) over stdio using the Debug Adapter Protocol.
|
Package dap drives a debug-adapter subprocess (delve via `dlv dap` by default) over stdio using the Debug Adapter Protocol. |
|
nook/internal/diagnostics
Package diagnostics renders nook's workspace-wide problems panel.
|
Package diagnostics renders nook's workspace-wide problems panel. |
|
nook/internal/dochi
Package dochi turns LSP textDocument/documentHighlight responses into a shape the editor can paint without re-importing the protocol package.
|
Package dochi turns LSP textDocument/documentHighlight responses into a shape the editor can paint without re-importing the protocol package. |
|
nook/internal/edit
Package edit implements Cmd-K-style inline AI edits.
|
Package edit implements Cmd-K-style inline AI edits. |
|
nook/internal/editor
Package editor is nook's minimal file viewer/editor pane.
|
Package editor is nook's minimal file viewer/editor pane. |
|
nook/internal/filetree
Package filetree is nook's left-side file-tree pane.
|
Package filetree is nook's left-side file-tree pane. |
|
nook/internal/finder
Package finder is nook's in-file find/replace overlay.
|
Package finder is nook's in-file find/replace overlay. |
|
nook/internal/findrefs
Package findrefs maps LSP textDocument/references results into a multibuffer fragment list.
|
Package findrefs maps LSP textDocument/references results into a multibuffer fragment list. |
|
nook/internal/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. |
|
nook/internal/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. |
|
nook/internal/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. |
|
nook/internal/help
Package help renders nook's full-keymap overlay.
|
Package help renders nook's full-keymap overlay. |
|
nook/internal/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. |
|
nook/internal/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. |
|
nook/internal/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. |
|
nook/internal/inlineblame
Package inlineblame computes per-line git blame for a file by shelling out to `git blame --porcelain`.
|
Package inlineblame computes per-line git blame for a file by shelling out to `git blame --porcelain`. |
|
nook/internal/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. |
|
nook/internal/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. |
|
nook/internal/mdpreview
Package mdpreview is the nook side of the markdown preview pane.
|
Package mdpreview is the nook side of the markdown preview pane. |
|
nook/internal/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. |
|
nook/internal/navhistory
Package navhistory implements a vim-style jump list for nook.
|
Package navhistory implements a vim-style jump list for nook. |
|
nook/internal/outline
Package outline is the single-file document-symbol modal that nook opens on Ctrl+\.
|
Package outline is the single-file document-symbol modal that nook opens on Ctrl+\. |
|
nook/internal/picker
Package picker is a fuzzy-filtered selection overlay for nook.
|
Package picker is a fuzzy-filtered selection overlay for nook. |
|
nook/internal/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. |
|
nook/internal/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. |
|
nook/internal/semtok
Package semtok decodes LSP textDocument/semanticTokens/full responses.
|
Package semtok decodes LSP textDocument/semanticTokens/full responses. |
|
nook/internal/signature
Package signature renders nook's LSP signature-help overlay: a small floating box that shows the call signature of the function the cursor is inside, with the parameter that would receive the next argument highlighted.
|
Package signature renders nook's LSP signature-help overlay: a small floating box that shows the call signature of the function the cursor is inside, with the parameter that would receive the next argument highlighted. |
|
nook/internal/snippets
Package snippets is nook's VSCode-compatible snippet engine.
|
Package snippets is nook's VSCode-compatible snippet engine. |
|
nook/internal/symbolsearch
Package symbolsearch maps LSP workspace/symbol results into a multibuffer fragment list.
|
Package symbolsearch maps LSP workspace/symbol results into a multibuffer fragment list. |
|
nook/internal/tabbar
Package tabbar renders the open-buffer strip above the editor surface.
|
Package tabbar renders the open-buffer strip above the editor surface. |
|
nook/internal/tasks
Package tasks owns nook's project-task surface: the TOML loader at `.nook/tasks.toml`, the default task set inferred from a Go project's go.mod, the process supervisor that streams a running task's stdout and stderr into Bubble Tea messages, and the overlay pane that lets a user pick a task, watch its output, and kill it.
|
Package tasks owns nook's project-task surface: the TOML loader at `.nook/tasks.toml`, the default task set inferred from a Go project's go.mod, the process supervisor that streams a running task's stdout and stderr into Bubble Tea messages, and the overlay pane that lets a user pick a task, watch its output, and kill it. |
|
nook/internal/term
Package term embeds a PTY-backed shell pane inside nook.
|
Package term embeds a PTY-backed shell pane inside nook. |
|
nook/internal/welcome
Package welcome renders nook's first-run / empty-editor surface.
|
Package welcome renders nook's first-run / empty-editor surface. |
|
components
|
|
|
breadcrumb
Package breadcrumb renders a path-style breadcrumb trail.
|
Package breadcrumb renders a path-style breadcrumb trail. |
|
chat-bubble
Package chatbubble renders a role-aware speech bubble with width-aware wrap.
|
Package chatbubble renders a role-aware speech bubble with width-aware wrap. |
|
chat-input
Package chatinput renders a single-line chat prompt with a placeholder, cursor, and submit/escape key bindings.
|
Package chatinput renders a single-line chat prompt with a placeholder, cursor, and submit/escape key bindings. |
|
chat-thread
Package chatthread renders a vertically-stacked conversation of role-aware chat bubbles with viewport-style scrolling.
|
Package chatthread renders a vertically-stacked conversation of role-aware chat bubbles with viewport-style scrolling. |
|
code-view
Package codeview renders a single block of source code with optional line numbers, gutter highlights, and a small built-in tokenizer that tints keywords, strings, numbers, and comments.
|
Package codeview renders a single block of source code with optional line numbers, gutter highlights, and a small built-in tokenizer that tints keywords, strings, numbers, and comments. |
|
command-palette
Package commandpalette renders a fuzzy-filtered command picker as a modal surface.
|
Package commandpalette renders a fuzzy-filtered command picker as a modal surface. |
|
confirmation
Package confirmation renders a two-button yes/no prompt with focus-managed buttons, single-keystroke y/n shortcuts, and dangerous-action styling.
|
Package confirmation renders a two-button yes/no prompt with focus-managed buttons, single-keystroke y/n shortcuts, and dangerous-action styling. |
|
diff-view
Package diffview renders a unified diff as a color-coded, scrollable terminal block.
|
Package diffview renders a unified diff as a color-coded, scrollable terminal block. |
|
editor
Package editor renders an editable multi-line text buffer with a 2D cursor, viewport scrolling, optional line-number gutter, undo/redo, and per-line syntax tint via codeview's tokenizer.
|
Package editor renders an editable multi-line text buffer with a 2D cursor, viewport scrolling, optional line-number gutter, undo/redo, and per-line syntax tint via codeview's tokenizer. |
|
file-tree
Package filetree renders an interactive directory tree.
|
Package filetree renders an interactive directory tree. |
|
find-bar
Package findbar renders an in-buffer search bar — the narrow query input that overlays an editor when the user hits Ctrl-F. It owns nothing but the query, the active match index, and the navigation buttons; the actual buffer-side search is performed by the consumer (FindMatches walks any "lines" string for plain or case-insensitive matches; if the consumer wants fuzzy or regex they wire their own).
|
Package findbar renders an in-buffer search bar — the narrow query input that overlays an editor when the user hits Ctrl-F. It owns nothing but the query, the active match index, and the navigation buttons; the actual buffer-side search is performed by the consumer (FindMatches walks any "lines" string for plain or case-insensitive matches; if the consumer wants fuzzy or regex they wire their own). |
|
kbd
Package kbd renders single keystrokes and chords as terminal-styled keycap glyphs.
|
Package kbd renders single keystrokes and chords as terminal-styled keycap glyphs. |
|
key-hints
Package keyhints renders a compact footer of "<key> <description>" pairs separated by a thin divider.
|
Package keyhints renders a compact footer of "<key> <description>" pairs separated by a thin divider. |
|
list
Package list renders a vertical list of items with a single selected cursor.
|
Package list renders a vertical list of items with a single selected cursor. |
|
log-stream
Package logstream renders a bounded, scrollable log view.
|
Package logstream renders a bounded, scrollable log view. |
|
markdown-viewer
Package markdownviewer renders a small markdown subset to a styled terminal block with theme tokens.
|
Package markdownviewer renders a small markdown subset to a styled terminal block with theme tokens. |
|
modal
Package modal renders a bordered overlay container with an optional inlaid title, framed body, optional footer, and a configurable close key.
|
Package modal renders a bordered overlay container with an optional inlaid title, framed body, optional footer, and a configurable close key. |
|
notification-toast
Package notificationtoast renders a stack of dismissible, level-aware notifications.
|
Package notificationtoast renders a stack of dismissible, level-aware notifications. |
|
panel
Package panel wraps arbitrary content in a bordered container with an optional title and footer.
|
Package panel wraps arbitrary content in a bordered container with an optional title and footer. |
|
progress-bar
Package progressbar renders a determinate progress indicator with an optional label, percentage readout, and color-tunable fill.
|
Package progressbar renders a determinate progress indicator with an optional label, percentage readout, and color-tunable fill. |
|
select
Package selectinput renders a bounded single-choice popover with an optional substring filter.
|
Package selectinput renders a bounded single-choice popover with an optional substring filter. |
|
spinner
Package spinner renders a small animated glyph next to an optional label, the way an agent UI signals "working on it".
|
Package spinner renders a small animated glyph next to an optional label, the way an agent UI signals "working on it". |
|
stat-card
Package statcard renders a dashboard metric tile: a single bordered card with a small uppercase label, a big bold value, and an optional trend row (glyph + delta + italic sublabel).
|
Package statcard renders a dashboard metric tile: a single bordered card with a small uppercase label, a big bold value, and an optional trend row (glyph + delta + italic sublabel). |
|
status-bar
Package statusbar renders a single-line, three-segment status bar.
|
Package statusbar renders a single-line, three-segment status bar. |
|
table
Package table renders a column-aligned data grid with sortable headers, keyboard navigation, internal scrolling, and optional row selection.
|
Package table renders a column-aligned data grid with sortable headers, keyboard navigation, internal scrolling, and optional row selection. |
|
tabs
Package tabs renders a horizontal row of labeled tabs with one active label.
|
Package tabs renders a horizontal row of labeled tabs with one active label. |
|
text-input
Package textinput renders a multi-line text input with a 2D cursor, placeholder, focus, word-jumps on Alt+Left/Right, and Ctrl-U to kill the current line up to the cursor.
|
Package textinput renders a multi-line text input with a 2D cursor, placeholder, focus, word-jumps on Alt+Left/Right, and Ctrl-U to kill the current line up to the cursor. |
|
theme
Package theme provides the token palette every glyph component reads from.
|
Package theme provides the token palette every glyph component reads from. |
|
examples
|
|
|
chat-cli
command
Command chat-cli is a realistic agent-style chat REPL composed from thirteen glyph components.
|
Command chat-cli is a realistic agent-style chat REPL composed from thirteen glyph components. |
|
code-editor
command
code-editor is the proto-IDE end-to-end demo.
|
code-editor is the proto-IDE end-to-end demo. |
|
dashboard
command
dashboard is an "engagements" control room composed from nine glyph components: a tab row across the top, a four-card metric strip, a sortable engagement table in the center, a status-bar pinned to the bottom, a hint row below it, and a floating toast tray that fires on row selection.
|
dashboard is an "engagements" control room composed from nine glyph components: a tab row across the top, a four-card metric strip, a sortable engagement table in the center, a status-bar pinned to the bottom, a hint row below it, and a floating toast tray that fires on row selection. |
|
file-explorer
command
file-explorer is an IDE-style two-pane navigator composed from five glyph components: a file-tree on the left, a breadcrumb above a syntax-tinted code-view on the right, all wrapped in panels with a status-bar and key-hints pinned to the bottom.
|
file-explorer is an IDE-style two-pane navigator composed from five glyph components: a file-tree on the left, a breadcrumb above a syntax-tinted code-view on the right, all wrapped in panels with a status-bar and key-hints pinned to the bottom. |
|
log-viewer
command
Command log-viewer is a journalctl-style live log viewer composed from nine glyph components: log-stream, tabs, status-bar, key-hints, select, notification-toast, text-input, panel, and theme.
|
Command log-viewer is a journalctl-style live log viewer composed from nine glyph components: log-stream, tabs, status-bar, key-hints, select, notification-toast, text-input, panel, and theme. |
|
reel
command
Command reel is the glyph marketing demo: a self-playing TUI that walks through the library's headline components on a fixed timeline.
|
Command reel is the glyph marketing demo: a self-playing TUI that walks through the library's headline components on a fixed timeline. |
|
showcase
command
Command showcase is a single-binary demo: the chat, command-palette, markdown-viewer, log-stream, diff-view, notification-toast, and status-bar components composed into one navigable TUI.
|
Command showcase is a single-binary demo: the chat, command-palette, markdown-viewer, log-stream, diff-view, notification-toast, and status-bar components composed into one navigable TUI. |
|
tools
|
|
|
build
command
Build flattens components/*/*.json manifests into a registry tree under ./r.
|
Build flattens components/*/*.json manifests into a registry tree under ./r. |
Click to show internal directories.
Click to hide internal directories.
























