- Eliminated core/ directory (252 files, 23 subdirs → distributed)
- Reduced max nesting from 9 levels to 5 levels
- Promoted tool subdirs to top level: exa/, lsp/, patch/, task/, web/
- Merged web-scrapers/ + web-search/ into web/{scrapers,search}/
- Flattened modes/interactive/ to modes/
- Split execution/ into: ipy/ (python), exec/ (bash), ssh/
- Renamed ipy/python-*.ts to ipy/*.ts (executor, kernel, etc.)
- Flattened cursor/exec-bridge.ts to cursor.ts
- Created logical groupings: config/, session/, extensibility/, export/
- Updated all imports across 500+ files
92 lines
2.6 KiB
JSON
92 lines
2.6 KiB
JSON
{
|
|
"$schema": "https://raw.githubusercontent.com/can1357/oh-my-pi/main/packages/coding-agent/theme-schema.json",
|
|
"name": "light-savanna",
|
|
"vars": {
|
|
"savannaBg": "#F8F1E6",
|
|
"savannaPanel": "#F1E6D2",
|
|
"savannaSurface": "#FFF7EC",
|
|
"savannaBorder": "#D9C9AD",
|
|
"strawYellow": "#E6CF8A",
|
|
"sunsetOrange": "#C98A3A",
|
|
"acaciaGreen": "#6E8B3D",
|
|
"warningOrange": "#D08A2C",
|
|
"errorRed": "#C45A4F",
|
|
"riverBlue": "#4C7F8A",
|
|
"mutedText": "#6E5C47",
|
|
"dimText": "#9A8772"
|
|
},
|
|
"colors": {
|
|
"accent": "sunsetOrange",
|
|
"border": "savannaBorder",
|
|
"borderAccent": "strawYellow",
|
|
"borderMuted": "savannaPanel",
|
|
"success": "acaciaGreen",
|
|
"error": "errorRed",
|
|
"warning": "warningOrange",
|
|
"muted": "mutedText",
|
|
"dim": "dimText",
|
|
"text": "",
|
|
"thinkingText": "mutedText",
|
|
"selectedBg": "savannaPanel",
|
|
"userMessageBg": "savannaSurface",
|
|
"userMessageText": "",
|
|
"customMessageBg": "#F3E8D7",
|
|
"customMessageText": "",
|
|
"customMessageLabel": "sunsetOrange",
|
|
"toolPendingBg": "savannaBg",
|
|
"toolSuccessBg": "#E8F1D9",
|
|
"toolErrorBg": "#F4E0DA",
|
|
"toolTitle": "",
|
|
"toolOutput": "mutedText",
|
|
"mdHeading": "sunsetOrange",
|
|
"mdLink": "riverBlue",
|
|
"mdLinkUrl": "dimText",
|
|
"mdCode": "acaciaGreen",
|
|
"mdCodeBlock": "riverBlue",
|
|
"mdCodeBlockBorder": "savannaBorder",
|
|
"mdQuote": "mutedText",
|
|
"mdQuoteBorder": "savannaBorder",
|
|
"mdHr": "savannaBorder",
|
|
"mdListBullet": "acaciaGreen",
|
|
"toolDiffAdded": "acaciaGreen",
|
|
"toolDiffRemoved": "errorRed",
|
|
"toolDiffContext": "mutedText",
|
|
"syntaxComment": "dimText",
|
|
"syntaxKeyword": "sunsetOrange",
|
|
"syntaxFunction": "riverBlue",
|
|
"syntaxVariable": "mutedText",
|
|
"syntaxString": "acaciaGreen",
|
|
"syntaxNumber": "warningOrange",
|
|
"syntaxType": "riverBlue",
|
|
"syntaxOperator": "mutedText",
|
|
"syntaxPunctuation": "mutedText",
|
|
"thinkingOff": "savannaBorder",
|
|
"thinkingMinimal": "dimText",
|
|
"thinkingLow": "strawYellow",
|
|
"thinkingMedium": "sunsetOrange",
|
|
"thinkingHigh": "riverBlue",
|
|
"thinkingXhigh": "acaciaGreen",
|
|
"bashMode": "acaciaGreen",
|
|
"statusLineBg": "#F3EBDD",
|
|
"statusLineSep": "savannaBorder",
|
|
"statusLineModel": "sunsetOrange",
|
|
"statusLinePath": "riverBlue",
|
|
"statusLineGitClean": "acaciaGreen",
|
|
"statusLineGitDirty": "warningOrange",
|
|
"statusLineContext": "mutedText",
|
|
"statusLineSpend": "sunsetOrange",
|
|
"statusLineStaged": "acaciaGreen",
|
|
"statusLineDirty": "warningOrange",
|
|
"statusLineUntracked": "riverBlue",
|
|
"statusLineOutput": "sunsetOrange",
|
|
"statusLineCost": "warningOrange",
|
|
"statusLineSubagents": "sunsetOrange",
|
|
"pythonMode": "#f0c040"
|
|
},
|
|
"export": {
|
|
"pageBg": "#F8F1E6",
|
|
"cardBg": "#FFF7EC",
|
|
"infoBg": "#F1E6D2"
|
|
}
|
|
}
|