Repository navigation
feat(prompt): add Claude Code, Omarchy OS and AI tool apply prompts (#203) - #204
Merged
Merged
Conversation
…rompts (#203, #202) Register claude-code, omarchy and ai-tool as universal apply-prompt targets offered for every theme, after the targets a design file declares. A new getAvailableAppTargets helper feeds both the Agent prompt chips and the Theme pairing app-target select. Declared targets, the schema and the validator are unchanged, so existing prompts stay byte-identical. Closes #203 Closes #202 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #203
Closes #202
Summary
Adds theme-change apply prompts for Claude Code (#203), Omarchy OS (#202) and a General AI tool placeholder (#203). All three are offered for every theme: as chips in the Agent prompt panel of every terminal/coding theme, and in the App target select of Theme pairing for every mapped website theme. They come after the targets a design file declares. Existing per-app prompts (Pi, Ghostty, iTerm2, Warp, OpenCode, VS Code) are unchanged.
Approach
Option 2 of both analyses: universal targets added in code, plus a shared helper.
claude-code,omarchyandai-toolare registered insrc/lib/appTargets.tsasUNIVERSAL_APP_TARGETS(typesUniversalAppTarget/AnyAppTarget). A newgetAvailableAppTargets(designTargets)helper lists a design's declared targets first, then the universal ones, and both panels use it. The schema, the validator and the design JSON are not touched, andisAppTarget/normalizeAppTargetsstill accept only the six targets a file can declare.~/.claude/themes/<slug>.jsonas{name, base, overrides}, with hex colors and documented token names (claude,text,promptBorder,diffAdded, ...), then selects it with/theme(custom:<slug>). This follows the current Claude Code terminal-config docs.~/.config/omarchy/themes/<slug>/colors.tomlwith the upstream v4 key set (checked against basecamp/omarchythemes/tokyo-night/colors.toml), runsomarchy-theme-set <slug>, and verifies the switch withomarchy-theme-currentand the visible terminal/Waybar/Hyprland border change.PLACEHOLDER.A theme with no declared targets still shows the generic prompt until the user picks a universal target, so existing behavior is kept.
Decision Record
appTargetsdata (registry from Add application theme collections for terminal and coding tools #181:src/lib/appTargets.tsplus theAppTargetunion). Claude Code, Omarchy OS and a general AI tool apply to any palette, so they fit best as universal targets added in code, with no schema, validator or data change. That keeps existing prompts byte-identical and lets Add theme-change apply prompt for Omarchy OS #202 reuse the mechanism Add theme-change apply prompts for Claude Code and general AI tools #203 introduces.Analyzed at:
main @ c5fa969(2026-10-16)Changes
src/types/design.tsUniversalAppTargetandAnyAppTargetsrc/lib/appTargets.tsUNIVERSAL_APP_TARGETS, labels and instructions for Claude Code / Omarchy OS / placeholder,getAvailableAppTargetshelpersrc/lib/agentPrompt.tsbuildAppThemePromptand its optionssrc/lib/themeMapping.tsbuildMappedThemePromptsrc/components/AgentPromptPanel.tsxgetAvailableAppTargets; declared target stays the defaultsrc/components/CodingThemeMappingPanel.tsxgetAvailableAppTargetssrc/lib/__tests__/appTargets.test.tssrc/lib/__tests__/agentPrompt.appTargets.test.tssrc/lib/themeMapping.test.tssrc/components/__tests__/AgentPromptPanel.test.tsxsrc/components/__tests__/CodingThemeMappingPanel.test.tsxREADME.mdTest Results
vite build,tsc --noEmit, eslint on changed files)Acceptance Criteria Verification
AgentPromptPanel.test.tsx"switches the copied prompt to Claude Code…";CodingThemeMappingPanel.test.tsx"offers Claude Code, Omarchy OS…"~/.claude/themes/format and/themeflow (agentPrompt.appTargets.test.ts"builds a Claude Code theme-change prompt…"); a manual run in Claude Code is still neededappTargets.test.ts"labels each universal target and marks the general AI tool as a placeholder";agentPrompt.appTargets.test.ts"builds a general AI tool prompt…"appTargets.test.ts"keeps file-declared targets strict…"AgentPromptPanel.test.tsxOmarchy OS chip;CodingThemeMappingPanel.test.tsxselect optionomarchycolors.tomlkey set and runsomarchy-theme-set(agentPrompt.appTargets.test.ts"builds an Omarchy OS prompt…"); a manual run on Omarchy is still neededomarchy-theme-currentand check the visible terminal/Waybar/Hyprland change (asserted inagentPrompt.appTargets.test.ts)🤖 Generated with Claude Code