@iaforged/context-code 1.1.7 → 1.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. package/README.md +56 -0
  2. package/dist/src/commands/agent/agent.js +62 -0
  3. package/dist/src/commands/agent/index.js +1 -1
  4. package/dist/src/commands/model/model.js +9 -5
  5. package/dist/src/commands/orchestrate/index.js +2 -2
  6. package/dist/src/commands/orchestrate/orchestrate.js +12 -627
  7. package/dist/src/commands/tasks/index.js +1 -1
  8. package/dist/src/commands/tasks/tasks.js +8 -3
  9. package/dist/src/commands/team/index.js +2 -2
  10. package/dist/src/commands/team/team.js +12 -589
  11. package/dist/src/commands/timeline/index.js +8 -0
  12. package/dist/src/commands/timeline/timeline.js +194 -0
  13. package/dist/src/commands/workspace/workspace.js +3 -3
  14. package/dist/src/commands.js +2 -6
  15. package/dist/src/components/AgentActivitySidebar.js +50 -0
  16. package/dist/src/components/AgentProgressLine.js +5 -5
  17. package/dist/src/components/ModelPicker.js +252 -441
  18. package/dist/src/components/PromptInput/Notifications.js +1 -1
  19. package/dist/src/components/PromptInput/PromptInput.js +7 -3
  20. package/dist/src/components/PromptInput/PromptInputFooter.js +10 -29
  21. package/dist/src/components/Spinner/TeammateSpinnerLine.js +20 -62
  22. package/dist/src/components/Spinner/TeammateSpinnerTree.js +16 -258
  23. package/dist/src/components/Spinner/teammateSelectHint.js +1 -1
  24. package/dist/src/components/Spinner/utils.js +3 -6
  25. package/dist/src/components/ThemeBrowser.js +120 -0
  26. package/dist/src/components/ThemePicker.js +113 -321
  27. package/dist/src/components/design-system/ThemeProvider.js +3 -0
  28. package/dist/src/components/mcp/MCPListPanel.js +138 -444
  29. package/dist/src/components/permissions/SandboxPermissionRequest.js +5 -5
  30. package/dist/src/components/teams/TeamStatus.js +7 -71
  31. package/dist/src/constants/spinnerVerbs.js +80 -180
  32. package/dist/src/context/modalStackContext.js +12 -0
  33. package/dist/src/hooks/useTextInput.js +28 -18
  34. package/dist/src/main.js +12 -0
  35. package/dist/src/screens/REPL.js +386 -320
  36. package/dist/src/services/api/errors.js +1 -1
  37. package/dist/src/services/api/openai.js +70 -22
  38. package/dist/src/services/api/withRetry.js +3 -2
  39. package/dist/src/skills/loadSkillsDir.js +1 -0
  40. package/dist/src/tools/AgentTool/UI.js +8 -8
  41. package/dist/src/tools/AgentTool/loadAgentsDir.js +9 -4
  42. package/dist/src/tools/AgentTool/providerAgents.js +71 -0
  43. package/dist/src/tools/BashTool/bashSecurity.js +1 -1
  44. package/dist/src/utils/handlePromptSubmit.js +12 -2
  45. package/dist/src/utils/processUserInput/processSlashCommand.js +9 -5
  46. package/dist/src/utils/sembleMcp/common.js +5 -0
  47. package/dist/src/utils/sembleMcp/setup.js +119 -0
  48. package/dist/src/utils/theme.js +24 -3
  49. package/dist/src/utils/themes/bootstrap.js +109 -0
  50. package/dist/src/utils/themes/builtin/opencode/_index.json +41 -0
  51. package/dist/src/utils/themes/builtin/opencode/amoled.json +49 -0
  52. package/dist/src/utils/themes/builtin/opencode/aura.json +51 -0
  53. package/dist/src/utils/themes/builtin/opencode/ayu.json +51 -0
  54. package/dist/src/utils/themes/builtin/opencode/carbonfox.json +53 -0
  55. package/dist/src/utils/themes/builtin/opencode/catppuccin-frappe.json +85 -0
  56. package/dist/src/utils/themes/builtin/opencode/catppuccin-macchiato.json +85 -0
  57. package/dist/src/utils/themes/builtin/opencode/catppuccin.json +45 -0
  58. package/dist/src/utils/themes/builtin/opencode/cobalt2.json +87 -0
  59. package/dist/src/utils/themes/builtin/opencode/cursor.json +91 -0
  60. package/dist/src/utils/themes/builtin/opencode/dracula.json +49 -0
  61. package/dist/src/utils/themes/builtin/opencode/everforest.json +89 -0
  62. package/dist/src/utils/themes/builtin/opencode/flexoki.json +86 -0
  63. package/dist/src/utils/themes/builtin/opencode/github.json +85 -0
  64. package/dist/src/utils/themes/builtin/opencode/gruvbox.json +45 -0
  65. package/dist/src/utils/themes/builtin/opencode/kanagawa.json +89 -0
  66. package/dist/src/utils/themes/builtin/opencode/lucent-orng.json +87 -0
  67. package/dist/src/utils/themes/builtin/opencode/material.json +87 -0
  68. package/dist/src/utils/themes/builtin/opencode/matrix.json +91 -0
  69. package/dist/src/utils/themes/builtin/opencode/mercury.json +86 -0
  70. package/dist/src/utils/themes/builtin/opencode/monokai.json +49 -0
  71. package/dist/src/utils/themes/builtin/opencode/nightowl.json +46 -0
  72. package/dist/src/utils/themes/builtin/opencode/nord.json +46 -0
  73. package/dist/src/utils/themes/builtin/opencode/oc-2.json +88 -0
  74. package/dist/src/utils/themes/builtin/opencode/one-dark.json +89 -0
  75. package/dist/src/utils/themes/builtin/opencode/onedarkpro.json +45 -0
  76. package/dist/src/utils/themes/builtin/opencode/opencode.json +89 -0
  77. package/dist/src/utils/themes/builtin/opencode/orng.json +87 -0
  78. package/dist/src/utils/themes/builtin/opencode/osaka-jade.json +88 -0
  79. package/dist/src/utils/themes/builtin/opencode/palenight.json +85 -0
  80. package/dist/src/utils/themes/builtin/opencode/rosepine.json +85 -0
  81. package/dist/src/utils/themes/builtin/opencode/shadesofpurple.json +51 -0
  82. package/dist/src/utils/themes/builtin/opencode/solarized.json +49 -0
  83. package/dist/src/utils/themes/builtin/opencode/synthwave84.json +87 -0
  84. package/dist/src/utils/themes/builtin/opencode/tokyonight.json +47 -0
  85. package/dist/src/utils/themes/builtin/opencode/vercel.json +90 -0
  86. package/dist/src/utils/themes/builtin/opencode/vesper.json +51 -0
  87. package/dist/src/utils/themes/builtin/opencode/zenburn.json +87 -0
  88. package/dist/src/utils/themes/index.js +4 -0
  89. package/dist/src/utils/themes/loader.js +147 -0
  90. package/dist/src/utils/themes/opencodeMapper.js +124 -0
  91. package/dist/src/utils/themes/resolver.js +66 -0
  92. package/dist/src/utils/themes/types.js +1 -0
  93. package/docs/MCP_SERVERS.md +27 -1
  94. package/docs/comandos.md +16 -4
  95. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  import chalk, { Chalk } from 'chalk';
2
2
  import { env } from './env.js';
3
- export const THEME_NAMES = [
3
+ export const BUILT_IN_THEME_NAMES = [
4
4
  'dark',
5
5
  'light',
6
6
  'light-daltonized',
@@ -8,7 +8,8 @@ export const THEME_NAMES = [
8
8
  'light-ansi',
9
9
  'dark-ansi',
10
10
  ];
11
- export const THEME_SETTINGS = ['auto', ...THEME_NAMES];
11
+ /** Kept as a re-export so existing imports keep working. */
12
+ export const THEME_NAMES = BUILT_IN_THEME_NAMES;
12
13
  /**
13
14
  * Light theme using explicit RGB values to avoid inconsistencies
14
15
  * from users' custom terminal ANSI color definitions
@@ -484,6 +485,20 @@ const darkDaltonizedTheme = {
484
485
  rainbow_indigo_shimmer: 'rgb(195,180,230)',
485
486
  rainbow_violet_shimmer: 'rgb(230,180,210)',
486
487
  };
488
+ // Registry for dynamic JSON themes (catppuccin, dracula, nord, ...)
489
+ // Populated by `bootstrapDynamicThemes()` at CLI startup.
490
+ const dynamicThemes = new Map();
491
+ export function registerTheme(name, theme) {
492
+ dynamicThemes.set(name, theme);
493
+ }
494
+ export function listRegisteredThemes() {
495
+ return [...BUILT_IN_THEME_NAMES, ...dynamicThemes.keys()];
496
+ }
497
+ export function hasTheme(name) {
498
+ return (name === 'auto' ||
499
+ BUILT_IN_THEME_NAMES.includes(name) ||
500
+ dynamicThemes.has(name));
501
+ }
487
502
  export function getTheme(themeName) {
488
503
  switch (themeName) {
489
504
  case 'light':
@@ -496,8 +511,14 @@ export function getTheme(themeName) {
496
511
  return lightDaltonizedTheme;
497
512
  case 'dark-daltonized':
498
513
  return darkDaltonizedTheme;
499
- default:
514
+ case 'dark':
515
+ return darkTheme;
516
+ default: {
517
+ const dyn = dynamicThemes.get(themeName);
518
+ if (dyn)
519
+ return dyn;
500
520
  return darkTheme;
521
+ }
501
522
  }
502
523
  }
503
524
  // Create a chalk instance with 256-color level for Apple Terminal
@@ -0,0 +1,109 @@
1
+ import { BUILT_IN_THEME_NAMES, registerTheme } from '../theme.js';
2
+ import { loadAllThemesSync } from './loader.js';
3
+ import { resolveTheme } from './resolver.js';
4
+ let initialized = false;
5
+ const DEFAULT_THEME_KEYS = new Set([
6
+ 'autoAccept',
7
+ 'bashBorder',
8
+ 'claude',
9
+ 'claudeShimmer',
10
+ 'claudeBlue_FOR_SYSTEM_SPINNER',
11
+ 'claudeBlueShimmer_FOR_SYSTEM_SPINNER',
12
+ 'permission',
13
+ 'permissionShimmer',
14
+ 'planMode',
15
+ 'ide',
16
+ 'promptBorder',
17
+ 'promptBorderShimmer',
18
+ 'text',
19
+ 'inverseText',
20
+ 'inactive',
21
+ 'inactiveShimmer',
22
+ 'subtle',
23
+ 'suggestion',
24
+ 'remember',
25
+ 'background',
26
+ 'success',
27
+ 'error',
28
+ 'warning',
29
+ 'merged',
30
+ 'warningShimmer',
31
+ 'diffAdded',
32
+ 'diffRemoved',
33
+ 'diffAddedDimmed',
34
+ 'diffRemovedDimmed',
35
+ 'diffAddedWord',
36
+ 'diffRemovedWord',
37
+ 'red_FOR_SUBAGENTS_ONLY',
38
+ 'blue_FOR_SUBAGENTS_ONLY',
39
+ 'green_FOR_SUBAGENTS_ONLY',
40
+ 'yellow_FOR_SUBAGENTS_ONLY',
41
+ 'purple_FOR_SUBAGENTS_ONLY',
42
+ 'orange_FOR_SUBAGENTS_ONLY',
43
+ 'pink_FOR_SUBAGENTS_ONLY',
44
+ 'cyan_FOR_SUBAGENTS_ONLY',
45
+ 'professionalBlue',
46
+ 'chromeYellow',
47
+ 'clawd_body',
48
+ 'clawd_background',
49
+ 'userMessageBackground',
50
+ 'userMessageBackgroundHover',
51
+ 'messageActionsBackground',
52
+ 'selectionBg',
53
+ 'bashMessageBackgroundColor',
54
+ 'memoryBackgroundColor',
55
+ 'rate_limit_fill',
56
+ 'rate_limit_empty',
57
+ 'fastMode',
58
+ 'fastModeShimmer',
59
+ 'briefLabelYou',
60
+ 'briefLabelClaude',
61
+ 'rainbow_red',
62
+ 'rainbow_orange',
63
+ 'rainbow_yellow',
64
+ 'rainbow_green',
65
+ 'rainbow_blue',
66
+ 'rainbow_indigo',
67
+ 'rainbow_violet',
68
+ 'rainbow_red_shimmer',
69
+ 'rainbow_orange_shimmer',
70
+ 'rainbow_yellow_shimmer',
71
+ 'rainbow_green_shimmer',
72
+ 'rainbow_blue_shimmer',
73
+ 'rainbow_indigo_shimmer',
74
+ 'rainbow_violet_shimmer',
75
+ ]);
76
+ function toTheme(resolved) {
77
+ const out = {};
78
+ for (const key of DEFAULT_THEME_KEYS) {
79
+ out[key] = resolved[key] ?? 'rgb(128,128,128)';
80
+ }
81
+ return out;
82
+ }
83
+ export function bootstrapDynamicThemes() {
84
+ if (initialized)
85
+ return;
86
+ initialized = true;
87
+ const builtInIds = new Set(BUILT_IN_THEME_NAMES);
88
+ let loaded;
89
+ try {
90
+ loaded = loadAllThemesSync();
91
+ }
92
+ catch {
93
+ return;
94
+ }
95
+ for (const t of loaded) {
96
+ // Don't shadow built-ins ('dark', 'light', etc.) coming from cli/*.json.
97
+ if (builtInIds.has(t.id))
98
+ continue;
99
+ try {
100
+ const dark = toTheme(resolveTheme(t.json, 'dark'));
101
+ const light = toTheme(resolveTheme(t.json, 'light'));
102
+ registerTheme(t.id, dark);
103
+ registerTheme(`${t.id}-light`, light);
104
+ }
105
+ catch {
106
+ // Skip malformed themes silently
107
+ }
108
+ }
109
+ }
@@ -0,0 +1,41 @@
1
+ {
2
+ "themes": [
3
+ { "id": "amoled", "file": "amoled.json" },
4
+ { "id": "aura", "file": "aura.json" },
5
+ { "id": "ayu", "file": "ayu.json" },
6
+ { "id": "carbonfox", "file": "carbonfox.json" },
7
+ { "id": "catppuccin", "file": "catppuccin.json" },
8
+ { "id": "catppuccin-frappe", "file": "catppuccin-frappe.json" },
9
+ { "id": "catppuccin-macchiato", "file": "catppuccin-macchiato.json" },
10
+ { "id": "cobalt2", "file": "cobalt2.json" },
11
+ { "id": "cursor", "file": "cursor.json" },
12
+ { "id": "dracula", "file": "dracula.json" },
13
+ { "id": "everforest", "file": "everforest.json" },
14
+ { "id": "flexoki", "file": "flexoki.json" },
15
+ { "id": "github", "file": "github.json" },
16
+ { "id": "gruvbox", "file": "gruvbox.json" },
17
+ { "id": "kanagawa", "file": "kanagawa.json" },
18
+ { "id": "lucent-orng", "file": "lucent-orng.json" },
19
+ { "id": "material", "file": "material.json" },
20
+ { "id": "matrix", "file": "matrix.json" },
21
+ { "id": "mercury", "file": "mercury.json" },
22
+ { "id": "monokai", "file": "monokai.json" },
23
+ { "id": "nightowl", "file": "nightowl.json" },
24
+ { "id": "nord", "file": "nord.json" },
25
+ { "id": "oc-2", "file": "oc-2.json" },
26
+ { "id": "one-dark", "file": "one-dark.json" },
27
+ { "id": "onedarkpro", "file": "onedarkpro.json" },
28
+ { "id": "opencode", "file": "opencode.json" },
29
+ { "id": "orng", "file": "orng.json" },
30
+ { "id": "osaka-jade", "file": "osaka-jade.json" },
31
+ { "id": "palenight", "file": "palenight.json" },
32
+ { "id": "rosepine", "file": "rosepine.json" },
33
+ { "id": "shadesofpurple", "file": "shadesofpurple.json" },
34
+ { "id": "solarized", "file": "solarized.json" },
35
+ { "id": "synthwave84", "file": "synthwave84.json" },
36
+ { "id": "tokyonight", "file": "tokyonight.json" },
37
+ { "id": "vercel", "file": "vercel.json" },
38
+ { "id": "vesper", "file": "vesper.json" },
39
+ { "id": "zenburn", "file": "zenburn.json" }
40
+ ]
41
+ }
@@ -0,0 +1,49 @@
1
+ {
2
+ "$schema": "https://opencode.ai/desktop-theme.json",
3
+ "name": "AMOLED",
4
+ "id": "amoled",
5
+ "light": {
6
+ "palette": {
7
+ "neutral": "#f0f0f0",
8
+ "ink": "#0a0a0a",
9
+ "primary": "#6200ff",
10
+ "accent": "#ff0080",
11
+ "success": "#00e676",
12
+ "warning": "#ffab00",
13
+ "error": "#ff1744",
14
+ "info": "#00b0ff",
15
+ "diffAdd": "#00e676",
16
+ "diffDelete": "#ff1744"
17
+ },
18
+ "overrides": {
19
+ "syntax-comment": "#757575",
20
+ "syntax-keyword": "#d500f9",
21
+ "syntax-string": "#00e676",
22
+ "syntax-primitive": "#00b0ff",
23
+ "syntax-property": "#ff9100",
24
+ "syntax-constant": "#6200ff"
25
+ }
26
+ },
27
+ "dark": {
28
+ "palette": {
29
+ "neutral": "#000000",
30
+ "ink": "#ffffff",
31
+ "primary": "#b388ff",
32
+ "accent": "#ff4081",
33
+ "success": "#00ff88",
34
+ "warning": "#ffea00",
35
+ "error": "#ff1744",
36
+ "info": "#18ffff",
37
+ "diffAdd": "#00ff88",
38
+ "diffDelete": "#ff1744"
39
+ },
40
+ "overrides": {
41
+ "syntax-comment": "#555555",
42
+ "syntax-keyword": "#ff00ff",
43
+ "syntax-string": "#00ff88",
44
+ "syntax-primitive": "#18ffff",
45
+ "syntax-property": "#ffea00",
46
+ "syntax-constant": "#b388ff"
47
+ }
48
+ }
49
+ }
@@ -0,0 +1,51 @@
1
+ {
2
+ "$schema": "https://opencode.ai/desktop-theme.json",
3
+ "name": "Aura",
4
+ "id": "aura",
5
+ "light": {
6
+ "palette": {
7
+ "neutral": "#f5f0ff",
8
+ "ink": "#2d2640",
9
+ "primary": "#a277ff",
10
+ "accent": "#d94f4f",
11
+ "success": "#40bf7a",
12
+ "warning": "#d9a24a",
13
+ "error": "#d94f4f",
14
+ "info": "#5bb8d9",
15
+ "diffAdd": "#b3e6cc",
16
+ "diffDelete": "#f5b3b3"
17
+ },
18
+ "overrides": {
19
+ "syntax-comment": "#8d88a3",
20
+ "syntax-keyword": "#7b5ae0",
21
+ "syntax-string": "#2b8a57",
22
+ "syntax-primitive": "#2f78b8",
23
+ "syntax-property": "#a96a22",
24
+ "syntax-type": "#2b8a57",
25
+ "syntax-constant": "#d94f4f"
26
+ }
27
+ },
28
+ "dark": {
29
+ "palette": {
30
+ "neutral": "#15141b",
31
+ "ink": "#edecee",
32
+ "primary": "#a277ff",
33
+ "accent": "#ff6767",
34
+ "success": "#61ffca",
35
+ "warning": "#ffca85",
36
+ "error": "#ff6767",
37
+ "info": "#82e2ff",
38
+ "diffAdd": "#61ffca",
39
+ "diffDelete": "#ff6767"
40
+ },
41
+ "overrides": {
42
+ "syntax-comment": "#6d6a7e",
43
+ "syntax-keyword": "#a277ff",
44
+ "syntax-string": "#61ffca",
45
+ "syntax-primitive": "#82e2ff",
46
+ "syntax-property": "#ffca85",
47
+ "syntax-type": "#61ffca",
48
+ "syntax-constant": "#ff6767"
49
+ }
50
+ }
51
+ }
@@ -0,0 +1,51 @@
1
+ {
2
+ "$schema": "https://opencode.ai/desktop-theme.json",
3
+ "name": "Ayu",
4
+ "id": "ayu",
5
+ "light": {
6
+ "palette": {
7
+ "neutral": "#fdfaf4",
8
+ "ink": "#4f5964",
9
+ "primary": "#4aa8c8",
10
+ "accent": "#ef7d71",
11
+ "success": "#5fb978",
12
+ "warning": "#ea9f41",
13
+ "error": "#e6656a",
14
+ "info": "#2f9bce",
15
+ "diffAdd": "#b1d780",
16
+ "diffDelete": "#e6656a"
17
+ },
18
+ "overrides": {
19
+ "syntax-comment": "#6e7681",
20
+ "syntax-keyword": "#c76a1a",
21
+ "syntax-string": "#6f8f00",
22
+ "syntax-primitive": "#b87500",
23
+ "syntax-property": "#2f86b7",
24
+ "syntax-type": "#227fc0",
25
+ "syntax-constant": "#a37acc"
26
+ }
27
+ },
28
+ "dark": {
29
+ "palette": {
30
+ "neutral": "#0f1419",
31
+ "ink": "#d6dae0",
32
+ "primary": "#3fb7e3",
33
+ "accent": "#f2856f",
34
+ "success": "#78d05c",
35
+ "warning": "#e4a75c",
36
+ "error": "#f58572",
37
+ "info": "#66c6f1",
38
+ "diffAdd": "#59c57c",
39
+ "diffDelete": "#f58572"
40
+ },
41
+ "overrides": {
42
+ "syntax-comment": "#5a6673",
43
+ "syntax-keyword": "#ff8f40",
44
+ "syntax-string": "#aad94c",
45
+ "syntax-primitive": "#ffb454",
46
+ "syntax-property": "#39bae6",
47
+ "syntax-type": "#59c2ff",
48
+ "syntax-constant": "#d2a6ff"
49
+ }
50
+ }
51
+ }
@@ -0,0 +1,53 @@
1
+ {
2
+ "$schema": "https://opencode.ai/desktop-theme.json",
3
+ "name": "Carbonfox",
4
+ "id": "carbonfox",
5
+ "light": {
6
+ "palette": {
7
+ "neutral": "#8e8e8e",
8
+ "ink": "#161616",
9
+ "primary": "#0072c3",
10
+ "accent": "#da1e28",
11
+ "success": "#198038",
12
+ "warning": "#f1c21b",
13
+ "error": "#da1e28",
14
+ "info": "#0043ce",
15
+ "interactive": "#0f62fe",
16
+ "diffAdd": "#198038",
17
+ "diffDelete": "#da1e28"
18
+ },
19
+ "overrides": {
20
+ "syntax-comment": "#6f6f6f",
21
+ "syntax-keyword": "#8a3ffc",
22
+ "syntax-string": "#198038",
23
+ "syntax-primitive": "#0f62fe",
24
+ "syntax-property": "#0043ce",
25
+ "syntax-type": "#8a5f00",
26
+ "syntax-constant": "#da1e28"
27
+ }
28
+ },
29
+ "dark": {
30
+ "palette": {
31
+ "neutral": "#393939",
32
+ "ink": "#f2f4f8",
33
+ "primary": "#33b1ff",
34
+ "accent": "#ff8389",
35
+ "success": "#42be65",
36
+ "warning": "#f1c21b",
37
+ "error": "#ff8389",
38
+ "info": "#78a9ff",
39
+ "interactive": "#4589ff",
40
+ "diffAdd": "#42be65",
41
+ "diffDelete": "#ff8389"
42
+ },
43
+ "overrides": {
44
+ "syntax-comment": "#6f6f6f",
45
+ "syntax-keyword": "#be95ff",
46
+ "syntax-string": "#42be65",
47
+ "syntax-primitive": "#33b1ff",
48
+ "syntax-property": "#78a9ff",
49
+ "syntax-type": "#f1c21b",
50
+ "syntax-constant": "#ff8389"
51
+ }
52
+ }
53
+ }
@@ -0,0 +1,85 @@
1
+ {
2
+ "$schema": "https://opencode.ai/desktop-theme.json",
3
+ "name": "Catppuccin Frappe",
4
+ "id": "catppuccin-frappe",
5
+ "light": {
6
+ "palette": {
7
+ "neutral": "#303446",
8
+ "ink": "#c6d0f5",
9
+ "primary": "#8da4e2",
10
+ "accent": "#f4b8e4",
11
+ "success": "#a6d189",
12
+ "warning": "#e5c890",
13
+ "error": "#e78284",
14
+ "info": "#81c8be"
15
+ },
16
+ "overrides": {
17
+ "text-weak": "#b5bfe2",
18
+ "syntax-comment": "#949cb8",
19
+ "syntax-keyword": "#ca9ee6",
20
+ "syntax-string": "#a6d189",
21
+ "syntax-primitive": "#8da4e2",
22
+ "syntax-variable": "#e78284",
23
+ "syntax-property": "#99d1db",
24
+ "syntax-type": "#e5c890",
25
+ "syntax-constant": "#ef9f76",
26
+ "syntax-operator": "#99d1db",
27
+ "syntax-punctuation": "#c6d0f5",
28
+ "syntax-object": "#e78284",
29
+ "markdown-heading": "#ca9ee6",
30
+ "markdown-text": "#c6d0f5",
31
+ "markdown-link": "#8da4e2",
32
+ "markdown-link-text": "#99d1db",
33
+ "markdown-code": "#a6d189",
34
+ "markdown-block-quote": "#e5c890",
35
+ "markdown-emph": "#e5c890",
36
+ "markdown-strong": "#ef9f76",
37
+ "markdown-horizontal-rule": "#a5adce",
38
+ "markdown-list-item": "#8da4e2",
39
+ "markdown-list-enumeration": "#99d1db",
40
+ "markdown-image": "#8da4e2",
41
+ "markdown-image-text": "#99d1db",
42
+ "markdown-code-block": "#c6d0f5"
43
+ }
44
+ },
45
+ "dark": {
46
+ "palette": {
47
+ "neutral": "#303446",
48
+ "ink": "#c6d0f5",
49
+ "primary": "#8da4e2",
50
+ "accent": "#f4b8e4",
51
+ "success": "#a6d189",
52
+ "warning": "#e5c890",
53
+ "error": "#e78284",
54
+ "info": "#81c8be"
55
+ },
56
+ "overrides": {
57
+ "text-weak": "#b5bfe2",
58
+ "syntax-comment": "#949cb8",
59
+ "syntax-keyword": "#ca9ee6",
60
+ "syntax-string": "#a6d189",
61
+ "syntax-primitive": "#8da4e2",
62
+ "syntax-variable": "#e78284",
63
+ "syntax-property": "#99d1db",
64
+ "syntax-type": "#e5c890",
65
+ "syntax-constant": "#ef9f76",
66
+ "syntax-operator": "#99d1db",
67
+ "syntax-punctuation": "#c6d0f5",
68
+ "syntax-object": "#e78284",
69
+ "markdown-heading": "#ca9ee6",
70
+ "markdown-text": "#c6d0f5",
71
+ "markdown-link": "#8da4e2",
72
+ "markdown-link-text": "#99d1db",
73
+ "markdown-code": "#a6d189",
74
+ "markdown-block-quote": "#e5c890",
75
+ "markdown-emph": "#e5c890",
76
+ "markdown-strong": "#ef9f76",
77
+ "markdown-horizontal-rule": "#a5adce",
78
+ "markdown-list-item": "#8da4e2",
79
+ "markdown-list-enumeration": "#99d1db",
80
+ "markdown-image": "#8da4e2",
81
+ "markdown-image-text": "#99d1db",
82
+ "markdown-code-block": "#c6d0f5"
83
+ }
84
+ }
85
+ }
@@ -0,0 +1,85 @@
1
+ {
2
+ "$schema": "https://opencode.ai/desktop-theme.json",
3
+ "name": "Catppuccin Macchiato",
4
+ "id": "catppuccin-macchiato",
5
+ "light": {
6
+ "palette": {
7
+ "neutral": "#24273a",
8
+ "ink": "#cad3f5",
9
+ "primary": "#8aadf4",
10
+ "accent": "#f5bde6",
11
+ "success": "#a6da95",
12
+ "warning": "#eed49f",
13
+ "error": "#ed8796",
14
+ "info": "#8bd5ca"
15
+ },
16
+ "overrides": {
17
+ "text-weak": "#b8c0e0",
18
+ "syntax-comment": "#939ab7",
19
+ "syntax-keyword": "#c6a0f6",
20
+ "syntax-string": "#a6da95",
21
+ "syntax-primitive": "#8aadf4",
22
+ "syntax-variable": "#ed8796",
23
+ "syntax-property": "#91d7e3",
24
+ "syntax-type": "#eed49f",
25
+ "syntax-constant": "#f5a97f",
26
+ "syntax-operator": "#91d7e3",
27
+ "syntax-punctuation": "#cad3f5",
28
+ "syntax-object": "#ed8796",
29
+ "markdown-heading": "#c6a0f6",
30
+ "markdown-text": "#cad3f5",
31
+ "markdown-link": "#8aadf4",
32
+ "markdown-link-text": "#91d7e3",
33
+ "markdown-code": "#a6da95",
34
+ "markdown-block-quote": "#eed49f",
35
+ "markdown-emph": "#eed49f",
36
+ "markdown-strong": "#f5a97f",
37
+ "markdown-horizontal-rule": "#a5adcb",
38
+ "markdown-list-item": "#8aadf4",
39
+ "markdown-list-enumeration": "#91d7e3",
40
+ "markdown-image": "#8aadf4",
41
+ "markdown-image-text": "#91d7e3",
42
+ "markdown-code-block": "#cad3f5"
43
+ }
44
+ },
45
+ "dark": {
46
+ "palette": {
47
+ "neutral": "#24273a",
48
+ "ink": "#cad3f5",
49
+ "primary": "#8aadf4",
50
+ "accent": "#f5bde6",
51
+ "success": "#a6da95",
52
+ "warning": "#eed49f",
53
+ "error": "#ed8796",
54
+ "info": "#8bd5ca"
55
+ },
56
+ "overrides": {
57
+ "text-weak": "#b8c0e0",
58
+ "syntax-comment": "#939ab7",
59
+ "syntax-keyword": "#c6a0f6",
60
+ "syntax-string": "#a6da95",
61
+ "syntax-primitive": "#8aadf4",
62
+ "syntax-variable": "#ed8796",
63
+ "syntax-property": "#91d7e3",
64
+ "syntax-type": "#eed49f",
65
+ "syntax-constant": "#f5a97f",
66
+ "syntax-operator": "#91d7e3",
67
+ "syntax-punctuation": "#cad3f5",
68
+ "syntax-object": "#ed8796",
69
+ "markdown-heading": "#c6a0f6",
70
+ "markdown-text": "#cad3f5",
71
+ "markdown-link": "#8aadf4",
72
+ "markdown-link-text": "#91d7e3",
73
+ "markdown-code": "#a6da95",
74
+ "markdown-block-quote": "#eed49f",
75
+ "markdown-emph": "#eed49f",
76
+ "markdown-strong": "#f5a97f",
77
+ "markdown-horizontal-rule": "#a5adcb",
78
+ "markdown-list-item": "#8aadf4",
79
+ "markdown-list-enumeration": "#91d7e3",
80
+ "markdown-image": "#8aadf4",
81
+ "markdown-image-text": "#91d7e3",
82
+ "markdown-code-block": "#cad3f5"
83
+ }
84
+ }
85
+ }
@@ -0,0 +1,45 @@
1
+ {
2
+ "$schema": "https://opencode.ai/desktop-theme.json",
3
+ "name": "Catppuccin",
4
+ "id": "catppuccin",
5
+ "light": {
6
+ "palette": {
7
+ "neutral": "#f5e0dc",
8
+ "ink": "#4c4f69",
9
+ "primary": "#7287fd",
10
+ "accent": "#d20f39",
11
+ "success": "#40a02b",
12
+ "warning": "#df8e1d",
13
+ "error": "#d20f39",
14
+ "info": "#04a5e5",
15
+ "diffAdd": "#a6d189",
16
+ "diffDelete": "#e78284"
17
+ },
18
+ "overrides": {
19
+ "syntax-comment": "#6c7086",
20
+ "syntax-keyword": "#8839ef",
21
+ "syntax-primitive": "#1e66f5",
22
+ "syntax-constant": "#ca6702"
23
+ }
24
+ },
25
+ "dark": {
26
+ "palette": {
27
+ "neutral": "#1e1e2e",
28
+ "ink": "#cdd6f4",
29
+ "primary": "#b4befe",
30
+ "accent": "#f38ba8",
31
+ "success": "#a6d189",
32
+ "warning": "#f4b8e4",
33
+ "error": "#f38ba8",
34
+ "info": "#89dceb",
35
+ "diffAdd": "#94e2d5",
36
+ "diffDelete": "#f38ba8"
37
+ },
38
+ "overrides": {
39
+ "syntax-comment": "#6c7086",
40
+ "syntax-keyword": "#cba6f7",
41
+ "syntax-primitive": "#89b4fa",
42
+ "syntax-constant": "#fab387"
43
+ }
44
+ }
45
+ }