원클릭으로
theming
Tokyo Night palette, theme API, no hardcoded colors. Load when touching CSS, xterm theme config, or any color-related code.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Tokyo Night palette, theme API, no hardcoded colors. Load when touching CSS, xterm theme config, or any color-related code.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
AI layer embeds the Pi SDK. Load when touching AI module, harness integration, providers, MCP decision, or chat UI.
Overall stack and module shape for nyxterm. Load when touching Tauri commands, PTY wiring, frontend↔backend IPC, or xterm rendering.
Conventional Commits, work-unit commits, NO Co-Authored-By. Load before creating any commit.
Project philosophy and decision-making heuristics. Load before scope debates, feature proposals, or refactors.
Engram embedded + MCP fallback. Topic key conventions. Load when touching anything memory-related or starting/closing a session.
Native windows/splits/panes (absorb tmux). Load when touching multiplex module, keybinds, or session persistence.
| name | theming |
| description | Tokyo Night palette, theme API, no hardcoded colors. Load when touching CSS, xterm theme config, or any color-related code. |
| triggers | ["theme","color","palette","tokyo night","css","ansi colors"] |
Canonical palette. Source-of-truth lives in src-tauri/src/modules/theme/palette.rs (TBD in Phase 1). Everything else reads from there.
| Token | Hex | Use |
|---|---|---|
bg | #1a1b26 | window/pane background |
bg-alt | #16161e | sidebar, popover |
fg | #a9b1d6 | default text |
fg-dim | #787c99 | secondary text, comments |
accent | #7aa2f7 | primary accent (blue), cursor |
cyan | #7dcfff | strings, links |
green | #9ece6a | success, additions |
red | #f7768e | error, deletions |
yellow | #e0af68 | warning |
purple | #bb9af7 | keywords, special |
selection | #283457 | selection background |
ANSI palette must match Tokyo Night Night (see Ghostty's built-in theme).
var(--nyx-accent)) or a typed theme object.fzf, bat, lazygit, btop, starship (or our prompt). User picks once, theme propagates everywhere.struct Theme {
name: String,
palette: Palette,
ansi: [Color; 16],
}
#[tauri::command] fn theme_get() -> Theme
#[tauri::command] fn theme_set(name: String)
#[tauri::command] fn theme_export(target: ExportTarget) -> String
Targets: fzf, bat, lazygit, btop, delta, starship, kitty-conf (compat).
:root {
--nyx-bg: #1a1b26;
--nyx-fg: #a9b1d6;
--nyx-accent: #7aa2f7;
/* ... */
}
CSS vars set on :root by a useTheme() hook listening to the Rust event. Components only use vars.
term.options.theme = {
background: cssVar('--nyx-bg'),
foreground: cssVar('--nyx-fg'),
cursor: cssVar('--nyx-accent'),
selectionBackground: cssVar('--nyx-selection'),
// ... 16 ANSI colors from theme.ansi
};
Re-apply on theme change.
Default opacity: 0.95. Unfocused-split opacity: 0.9 (dim inactive panes, Ghostty pattern). CSS-driven, GPU-accelerated.