@trac3er/oh-my-god 1.0.2

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 (229) hide show
  1. package/.claude-plugin/marketplace.json +36 -0
  2. package/.claude-plugin/plugin.json +23 -0
  3. package/.claude-plugin/scripts/install.sh +49 -0
  4. package/.claude-plugin/scripts/uninstall.sh +80 -0
  5. package/.claude-plugin/scripts/update.sh +84 -0
  6. package/.mcp.json +20 -0
  7. package/LICENSE +21 -0
  8. package/OMG-setup.sh +1093 -0
  9. package/README.md +335 -0
  10. package/THIRD_PARTY_NOTICES.md +24 -0
  11. package/UPSTREAM_DIFF.md +20 -0
  12. package/agents/__init__.py +1 -0
  13. package/agents/_model_roles.yaml +26 -0
  14. package/agents/designer.md +67 -0
  15. package/agents/explore.md +60 -0
  16. package/agents/model_roles.py +196 -0
  17. package/agents/omg-api-builder.md +23 -0
  18. package/agents/omg-architect-mode.md +43 -0
  19. package/agents/omg-architect.md +13 -0
  20. package/agents/omg-backend-engineer.md +43 -0
  21. package/agents/omg-critic.md +16 -0
  22. package/agents/omg-database-engineer.md +43 -0
  23. package/agents/omg-escalation-router.md +17 -0
  24. package/agents/omg-executor.md +12 -0
  25. package/agents/omg-frontend-designer.md +42 -0
  26. package/agents/omg-implement-mode.md +50 -0
  27. package/agents/omg-infra-engineer.md +43 -0
  28. package/agents/omg-qa-tester.md +16 -0
  29. package/agents/omg-research-mode.md +43 -0
  30. package/agents/omg-security-auditor.md +43 -0
  31. package/agents/omg-testing-engineer.md +43 -0
  32. package/agents/plan.md +80 -0
  33. package/agents/quick_task.md +64 -0
  34. package/agents/reviewer.md +83 -0
  35. package/agents/task.md +71 -0
  36. package/commands/OMG:ccg.md +22 -0
  37. package/commands/OMG:compat.md +57 -0
  38. package/commands/OMG:crazy.md +125 -0
  39. package/commands/OMG:domain-init.md +11 -0
  40. package/commands/OMG:escalate.md +52 -0
  41. package/commands/OMG:health-check.md +45 -0
  42. package/commands/OMG:init.md +134 -0
  43. package/commands/OMG:mode.md +44 -0
  44. package/commands/OMG:project-init.md +11 -0
  45. package/commands/OMG:ralph-start.md +43 -0
  46. package/commands/OMG:ralph-stop.md +23 -0
  47. package/commands/OMG:teams.md +39 -0
  48. package/commands/ai-commit.md +113 -0
  49. package/commands/ccg.md +9 -0
  50. package/commands/create-agent.md +183 -0
  51. package/commands/omc-teams.md +9 -0
  52. package/commands/session-branch.md +85 -0
  53. package/commands/session-fork.md +53 -0
  54. package/commands/session-merge.md +134 -0
  55. package/commands/theme.md +44 -0
  56. package/config/lsp_languages.yaml +324 -0
  57. package/config/themes/catppuccin-frappe.yaml +14 -0
  58. package/config/themes/catppuccin-latte.yaml +14 -0
  59. package/config/themes/catppuccin-macchiato.yaml +14 -0
  60. package/config/themes/catppuccin-mocha.yaml +14 -0
  61. package/config/themes/dracula.yaml +14 -0
  62. package/config/themes/gruvbox-dark.yaml +14 -0
  63. package/config/themes/nord.yaml +14 -0
  64. package/config/themes/one-dark.yaml +14 -0
  65. package/config/themes/solarized-dark.yaml +14 -0
  66. package/config/themes/tokyo-night.yaml +14 -0
  67. package/control_plane/__init__.py +2 -0
  68. package/control_plane/openapi.yaml +109 -0
  69. package/control_plane/server.py +107 -0
  70. package/control_plane/service.py +148 -0
  71. package/crates/omg-natives/Cargo.toml +17 -0
  72. package/crates/omg-natives/src/clipboard.rs +5 -0
  73. package/crates/omg-natives/src/glob.rs +15 -0
  74. package/crates/omg-natives/src/grep.rs +15 -0
  75. package/crates/omg-natives/src/highlight.rs +15 -0
  76. package/crates/omg-natives/src/html.rs +14 -0
  77. package/crates/omg-natives/src/image.rs +5 -0
  78. package/crates/omg-natives/src/keys.rs +5 -0
  79. package/crates/omg-natives/src/lib.rs +36 -0
  80. package/crates/omg-natives/src/prof.rs +5 -0
  81. package/crates/omg-natives/src/ps.rs +5 -0
  82. package/crates/omg-natives/src/shell.rs +5 -0
  83. package/crates/omg-natives/src/task.rs +5 -0
  84. package/crates/omg-natives/src/text.rs +14 -0
  85. package/hooks/_agent_registry.py +421 -0
  86. package/hooks/_budget.py +31 -0
  87. package/hooks/_common.py +476 -0
  88. package/hooks/_learnings.py +126 -0
  89. package/hooks/_memory.py +103 -0
  90. package/hooks/circuit-breaker.py +270 -0
  91. package/hooks/config-guard.py +163 -0
  92. package/hooks/context_pressure.py +53 -0
  93. package/hooks/credential_store.py +801 -0
  94. package/hooks/fetch-rate-limits.py +212 -0
  95. package/hooks/firewall.py +48 -0
  96. package/hooks/hashline-formatter-bridge.py +224 -0
  97. package/hooks/hashline-injector.py +273 -0
  98. package/hooks/hashline-validator.py +216 -0
  99. package/hooks/idle-detector.py +95 -0
  100. package/hooks/intentgate-keyword-detector.py +188 -0
  101. package/hooks/magic-keyword-router.py +195 -0
  102. package/hooks/policy_engine.py +310 -0
  103. package/hooks/post-tool-failure.py +19 -0
  104. package/hooks/post-write.py +199 -0
  105. package/hooks/pre-compact.py +204 -0
  106. package/hooks/pre-tool-inject.py +98 -0
  107. package/hooks/prompt-enhancer.py +672 -0
  108. package/hooks/quality-runner.py +191 -0
  109. package/hooks/secret-guard.py +47 -0
  110. package/hooks/session-end-capture.py +137 -0
  111. package/hooks/session-start.py +275 -0
  112. package/hooks/shadow_manager.py +297 -0
  113. package/hooks/state_migration.py +209 -0
  114. package/hooks/stop-gate.py +7 -0
  115. package/hooks/stop_dispatcher.py +929 -0
  116. package/hooks/test-validator.py +138 -0
  117. package/hooks/todo-state-tracker.py +114 -0
  118. package/hooks/tool-ledger.py +126 -0
  119. package/hooks/trust_review.py +524 -0
  120. package/install.sh +9 -0
  121. package/omg_natives/__init__.py +186 -0
  122. package/omg_natives/_bindings.py +165 -0
  123. package/omg_natives/clipboard.py +36 -0
  124. package/omg_natives/glob.py +42 -0
  125. package/omg_natives/grep.py +61 -0
  126. package/omg_natives/highlight.py +54 -0
  127. package/omg_natives/html.py +157 -0
  128. package/omg_natives/image.py +51 -0
  129. package/omg_natives/keys.py +46 -0
  130. package/omg_natives/prof.py +39 -0
  131. package/omg_natives/ps.py +93 -0
  132. package/omg_natives/shell.py +58 -0
  133. package/omg_natives/task.py +41 -0
  134. package/omg_natives/text.py +50 -0
  135. package/package.json +26 -0
  136. package/plugins/README.md +82 -0
  137. package/plugins/advanced/commands/OMG:code-review.md +114 -0
  138. package/plugins/advanced/commands/OMG:deep-plan.md +221 -0
  139. package/plugins/advanced/commands/OMG:handoff.md +115 -0
  140. package/plugins/advanced/commands/OMG:learn.md +110 -0
  141. package/plugins/advanced/commands/OMG:maintainer.md +31 -0
  142. package/plugins/advanced/commands/OMG:ralph-start.md +43 -0
  143. package/plugins/advanced/commands/OMG:ralph-stop.md +23 -0
  144. package/plugins/advanced/commands/OMG:security-review.md +119 -0
  145. package/plugins/advanced/commands/OMG:sequential-thinking.md +20 -0
  146. package/plugins/advanced/commands/OMG:ship.md +46 -0
  147. package/plugins/advanced/plugin.json +96 -0
  148. package/plugins/core/plugin.json +82 -0
  149. package/pytest.ini +5 -0
  150. package/registry/__init__.py +1 -0
  151. package/registry/verify_artifact.py +90 -0
  152. package/rules/contextual/architect-mode.md +9 -0
  153. package/rules/contextual/big-picture.md +20 -0
  154. package/rules/contextual/code-hygiene.md +26 -0
  155. package/rules/contextual/context-management.md +19 -0
  156. package/rules/contextual/context-minimization.md +32 -0
  157. package/rules/contextual/ddd-sdd.md +28 -0
  158. package/rules/contextual/dependency-safety.md +16 -0
  159. package/rules/contextual/doc-check.md +13 -0
  160. package/rules/contextual/implement-mode.md +9 -0
  161. package/rules/contextual/infra-safety.md +14 -0
  162. package/rules/contextual/outside-in.md +13 -0
  163. package/rules/contextual/persistent-mode.md +24 -0
  164. package/rules/contextual/research-mode.md +9 -0
  165. package/rules/contextual/security-domains.md +25 -0
  166. package/rules/contextual/vision-detection.md +27 -0
  167. package/rules/contextual/web-search.md +25 -0
  168. package/rules/contextual/write-verify.md +23 -0
  169. package/rules/core/00-truth.md +20 -0
  170. package/rules/core/01-surgical.md +19 -0
  171. package/rules/core/02-circuit-breaker.md +22 -0
  172. package/rules/core/03-ensemble.md +28 -0
  173. package/rules/core/04-testing.md +30 -0
  174. package/runtime/__init__.py +32 -0
  175. package/runtime/adapters/__init__.py +13 -0
  176. package/runtime/adapters/claude.py +60 -0
  177. package/runtime/adapters/gpt.py +53 -0
  178. package/runtime/adapters/local.py +53 -0
  179. package/runtime/business_workflow.py +220 -0
  180. package/runtime/compat.py +1299 -0
  181. package/runtime/custom_agent_loader.py +366 -0
  182. package/runtime/dispatcher.py +47 -0
  183. package/runtime/ecosystem.py +371 -0
  184. package/runtime/legacy_compat.py +7 -0
  185. package/runtime/omc_compat.py +7 -0
  186. package/runtime/omc_contract_snapshot.json +916 -0
  187. package/runtime/omg_compat_contract_snapshot.json +916 -0
  188. package/runtime/subagent_dispatcher.py +362 -0
  189. package/runtime/team_router.py +838 -0
  190. package/scripts/check-omc-contract-snapshot.py +12 -0
  191. package/scripts/check-omg-compat-contract-snapshot.py +137 -0
  192. package/scripts/check-omg-standalone-clean.py +102 -0
  193. package/scripts/legacy_to_omg_migrate.py +29 -0
  194. package/scripts/migrate-omc.py +464 -0
  195. package/scripts/omc_to_omg_migrate.py +12 -0
  196. package/scripts/omg.py +493 -0
  197. package/scripts/settings-merge.py +224 -0
  198. package/scripts/verify-no-omc.sh +5 -0
  199. package/scripts/verify-standalone.sh +21 -0
  200. package/templates/idea.yml +30 -0
  201. package/templates/policy.yaml +15 -0
  202. package/templates/profile.yaml +25 -0
  203. package/templates/runtime.yaml +12 -0
  204. package/templates/working-memory.md +17 -0
  205. package/tools/__init__.py +2 -0
  206. package/tools/browser_consent.py +289 -0
  207. package/tools/browser_stealth.py +481 -0
  208. package/tools/browser_tool.py +448 -0
  209. package/tools/changelog_generator.py +268 -0
  210. package/tools/commit_splitter.py +361 -0
  211. package/tools/config_discovery.py +151 -0
  212. package/tools/config_merger.py +449 -0
  213. package/tools/git_inspector.py +298 -0
  214. package/tools/lsp_client.py +275 -0
  215. package/tools/lsp_discovery.py +231 -0
  216. package/tools/lsp_operations.py +392 -0
  217. package/tools/python_repl.py +656 -0
  218. package/tools/python_sandbox.py +609 -0
  219. package/tools/search_providers/__init__.py +77 -0
  220. package/tools/search_providers/brave.py +115 -0
  221. package/tools/search_providers/exa.py +116 -0
  222. package/tools/search_providers/jina.py +104 -0
  223. package/tools/search_providers/perplexity.py +139 -0
  224. package/tools/search_providers/synthetic.py +74 -0
  225. package/tools/session_snapshot.py +736 -0
  226. package/tools/ssh_manager.py +912 -0
  227. package/tools/theme_engine.py +294 -0
  228. package/tools/theme_selector.py +137 -0
  229. package/tools/web_search.py +622 -0
@@ -0,0 +1,53 @@
1
+ ---
2
+ description: "Fork OMG state from a specific snapshot checkpoint."
3
+ allowed-tools: Read, Write, Edit, Bash
4
+ argument-hint: "--from <snapshot_id> --name <fork-name>"
5
+ ---
6
+
7
+ # /OMG:fork — Fork OMG State from Checkpoint
8
+
9
+ Create a new branch from a specific snapshot checkpoint. This is a convenience wrapper around `/OMG:branch` that always requires a source snapshot.
10
+
11
+ ## Important
12
+
13
+ Forking is **OMG state only** — it restores a previous `.omg/state/` snapshot and creates a new named branch from it. It does **not** fork the conversation or create a parallel Claude session.
14
+
15
+ ## Usage
16
+
17
+ ```
18
+ /OMG:fork --from 20260302_143000_baseline --name "alt-approach"
19
+ ```
20
+
21
+ ## What It Does
22
+
23
+ 1. Looks up the specified snapshot by ID
24
+ 2. Restores that snapshot to `.omg/state/`
25
+ 3. Creates a new branch with the given name pointing to that snapshot
26
+ 4. Updates `.omg/state/current_branch.json`
27
+
28
+ ## When to Use Fork vs Branch
29
+
30
+ | Action | Use Case |
31
+ |--------|----------|
32
+ | `/OMG:branch --name X` | Save current state as a named branch |
33
+ | `/OMG:fork --from S --name X` | Go back to snapshot S and start a new exploration path |
34
+
35
+ ## Example
36
+
37
+ ```
38
+ # List available snapshots to find a good fork point
39
+ python3 tools/session_snapshot.py list
40
+
41
+ # Fork from a previous checkpoint
42
+ /OMG:fork --from 20260302_100000_pre-refactor --name "approach-b"
43
+
44
+ # Continue working from that earlier state...
45
+ ```
46
+
47
+ ## Feature Flag
48
+
49
+ Forking shares the `OMG_BRANCHING_ENABLED` feature flag with `/OMG:branch` (default: `False`).
50
+
51
+ ```bash
52
+ export OMG_BRANCHING_ENABLED=true
53
+ ```
@@ -0,0 +1,134 @@
1
+ ---
2
+ description: "Merge OMG state branches together with conflict detection."
3
+ allowed-tools: Read, Write, Edit, Bash
4
+ argument-hint: "--from <source-branch> [--into <target-branch>] [--preview]"
5
+ ---
6
+
7
+ # /OMG:merge — Merge OMG State Branches
8
+
9
+ Merge one OMG state branch into another with automatic conflict detection.
10
+
11
+ ## Important
12
+
13
+ Merging is **OMG state only** — it merges branch metadata (`.omg/state/branches/<name>.json`). It does **not** merge conversations, context windows, or file system state. Think of it as combining the tracked state from two named branches.
14
+
15
+ ## Usage
16
+
17
+ ```
18
+ /OMG:merge --from "experiment"
19
+ /OMG:merge --from "experiment" --into "main"
20
+ /OMG:merge --from "experiment" --preview
21
+ ```
22
+
23
+ ## What It Does
24
+
25
+ 1. Loads the source and target branch metadata as flat JSON dicts
26
+ 2. Detects conflicts (keys present in both branches with different values)
27
+ 3. If `--preview`: returns conflict report without applying changes
28
+ 4. If no conflicts: applies source changes on top of target (last-write-wins)
29
+ 5. Marks the source branch as `status: "merged"` in its metadata file
30
+ 6. Updates `.omg/state/current_branch.json` to the target branch
31
+
32
+ ## Conflict Detection
33
+
34
+ A **value_conflict** occurs when both branches have the same key but different values. When conflicts are found, the merge is **aborted** — you must resolve conflicts manually before merging.
35
+
36
+ Conflict report format:
37
+
38
+ ```json
39
+ {
40
+ "key": "snapshot_id",
41
+ "source_value": "20260302_150000_experiment",
42
+ "target_value": "20260302_140000_main",
43
+ "conflict_type": "value_conflict"
44
+ }
45
+ ```
46
+
47
+ ## Preview Mode
48
+
49
+ Use `--preview` to see what a merge would do without applying changes:
50
+
51
+ ```
52
+ python3 tools/session_snapshot.py merge-preview experiment --into main
53
+ ```
54
+
55
+ Returns:
56
+
57
+ ```json
58
+ {
59
+ "source": "experiment",
60
+ "target": "main",
61
+ "conflicts": [],
62
+ "changes": 2,
63
+ "preview": true
64
+ }
65
+ ```
66
+
67
+ ## CLI Commands
68
+
69
+ ```
70
+ # Merge source into target
71
+ python3 tools/session_snapshot.py merge experiment --into main
72
+
73
+ # Preview merge without applying
74
+ python3 tools/session_snapshot.py merge-preview experiment --into main
75
+
76
+ # Merge into default target (main)
77
+ python3 tools/session_snapshot.py merge experiment
78
+ ```
79
+
80
+ ## Feature Flag
81
+
82
+ Merging is gated behind `OMG_MERGE_ENABLED` (default: `False`).
83
+
84
+ Enable via environment variable:
85
+ ```bash
86
+ export OMG_MERGE_ENABLED=true
87
+ ```
88
+
89
+ Or in `settings.json`:
90
+ ```json
91
+ {
92
+ "_omg": {
93
+ "features": {
94
+ "MERGE": true
95
+ }
96
+ }
97
+ }
98
+ ```
99
+
100
+ ## Merge Behavior
101
+
102
+ | Scenario | Result |
103
+ |----------|--------|
104
+ | No conflicts | Source state overlaid on target (last-write-wins) |
105
+ | Conflicts found | Merge aborted, conflicts returned |
106
+ | Source branch missing | Error returned |
107
+ | Target branch missing | Error returned |
108
+ | Feature flag disabled | `{"skipped": true}` |
109
+
110
+ ## After Merge
111
+
112
+ - The **target** branch is updated with merged state
113
+ - The **source** branch status changes to `"merged"` (not deleted)
114
+ - `current_branch.json` is updated to the target branch
115
+ - Source branch remains accessible for reference
116
+
117
+ ## Example Workflow
118
+
119
+ ```
120
+ # 1. Create branches
121
+ /OMG:branch --name "main"
122
+ /OMG:branch --name "experiment"
123
+
124
+ # 2. Do experimental work on "experiment" branch...
125
+
126
+ # 3. Preview the merge
127
+ /OMG:merge --from "experiment" --preview
128
+
129
+ # 4. If no conflicts, apply the merge
130
+ /OMG:merge --from "experiment" --into "main"
131
+
132
+ # 5. Verify merge
133
+ python3 tools/session_snapshot.py branches
134
+ ```
@@ -0,0 +1,44 @@
1
+ ---
2
+ description: "Interactive theme selection, preview, and auto-detection."
3
+ usage: "/OMG:theme [--list|--set <name>|--preview <name>|--auto]"
4
+ ---
5
+
6
+ # /OMG:theme — Theme Selector
7
+
8
+ Interactive theme selection, preview, and auto-detection for OMG.
9
+
10
+ ## Usage
11
+
12
+ ```
13
+ /OMG:theme --list
14
+ /OMG:theme --preview catppuccin-mocha
15
+ /OMG:theme --set catppuccin-mocha
16
+ /OMG:theme --auto
17
+ ```
18
+
19
+ ## What It Does
20
+
21
+ 1. `--list`: Returns a sorted list of available theme names.
22
+ 2. `--preview <name>`: Returns preview info `{name, colors, ansi_preview: str}` without applying.
23
+ 3. `--set <name>`: Applies and persists the theme, returns `{success, theme, applied_at}`.
24
+ 4. `--auto`: Detects dark/light mode and returns appropriate default theme name.
25
+
26
+ ## Feature Flag
27
+
28
+ Themes are gated behind `OMG_THEMES_ENABLED` (default: `False`).
29
+
30
+ Enable via environment variable:
31
+ ```bash
32
+ export OMG_THEMES_ENABLED=true
33
+ ```
34
+
35
+ Or in `settings.json`:
36
+ ```json
37
+ {
38
+ "_omg": {
39
+ "features": {
40
+ "THEMES": true
41
+ }
42
+ }
43
+ }
44
+ ```
@@ -0,0 +1,324 @@
1
+ # LSP Language Configuration
2
+ # 40+ language server configurations for auto-discovery
3
+ # Each entry specifies server command, discovery paths, and capabilities
4
+
5
+ languages:
6
+ - name: python
7
+ extensions: [.py]
8
+ server_command: [pylsp]
9
+ server_name: pylsp
10
+ discovery_paths: [.venv/bin/pylsp, ~/.local/bin/pylsp, /usr/local/bin/pylsp]
11
+ format_on_write: true
12
+ diagnostics_on_edit: true
13
+
14
+ - name: typescript
15
+ extensions: [.ts]
16
+ server_command: [typescript-language-server, --stdio]
17
+ server_name: typescript-language-server
18
+ discovery_paths: [node_modules/.bin/typescript-language-server]
19
+ format_on_write: true
20
+ diagnostics_on_edit: true
21
+
22
+ - name: javascript
23
+ extensions: [.js]
24
+ server_command: [typescript-language-server, --stdio]
25
+ server_name: typescript-language-server
26
+ discovery_paths: [node_modules/.bin/typescript-language-server]
27
+ format_on_write: true
28
+ diagnostics_on_edit: true
29
+
30
+ - name: tsx
31
+ extensions: [.tsx]
32
+ server_command: [typescript-language-server, --stdio]
33
+ server_name: typescript-language-server
34
+ discovery_paths: [node_modules/.bin/typescript-language-server]
35
+ format_on_write: true
36
+ diagnostics_on_edit: true
37
+
38
+ - name: jsx
39
+ extensions: [.jsx]
40
+ server_command: [typescript-language-server, --stdio]
41
+ server_name: typescript-language-server
42
+ discovery_paths: [node_modules/.bin/typescript-language-server]
43
+ format_on_write: true
44
+ diagnostics_on_edit: true
45
+
46
+ - name: rust
47
+ extensions: [.rs]
48
+ server_command: [rust-analyzer]
49
+ server_name: rust-analyzer
50
+ discovery_paths: [~/.cargo/bin/rust-analyzer, /usr/local/bin/rust-analyzer]
51
+ format_on_write: true
52
+ diagnostics_on_edit: true
53
+
54
+ - name: go
55
+ extensions: [.go]
56
+ server_command: [gopls]
57
+ server_name: gopls
58
+ discovery_paths: [~/go/bin/gopls, /usr/local/bin/gopls]
59
+ format_on_write: true
60
+ diagnostics_on_edit: true
61
+
62
+ - name: java
63
+ extensions: [.java]
64
+ server_command: [java, -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005, -jar, eclipse.jdt.ls.jar]
65
+ server_name: eclipse-jdt-ls
66
+ discovery_paths: [~/.local/share/eclipse.jdt.ls/eclipse.jdt.ls.jar]
67
+ format_on_write: true
68
+ diagnostics_on_edit: true
69
+
70
+ - name: c
71
+ extensions: [.c]
72
+ server_command: [clangd]
73
+ server_name: clangd
74
+ discovery_paths: [/usr/local/bin/clangd, /usr/bin/clangd]
75
+ format_on_write: true
76
+ diagnostics_on_edit: true
77
+
78
+ - name: cpp
79
+ extensions: [.cpp, .cc, .cxx, .h, .hpp]
80
+ server_command: [clangd]
81
+ server_name: clangd
82
+ discovery_paths: [/usr/local/bin/clangd, /usr/bin/clangd]
83
+ format_on_write: true
84
+ diagnostics_on_edit: true
85
+
86
+ - name: csharp
87
+ extensions: [.cs]
88
+ server_command: [omnisharp, -lsp]
89
+ server_name: omnisharp
90
+ discovery_paths: [~/.local/bin/omnisharp, /usr/local/bin/omnisharp]
91
+ format_on_write: true
92
+ diagnostics_on_edit: true
93
+
94
+ - name: ruby
95
+ extensions: [.rb]
96
+ server_command: [ruby-lsp]
97
+ server_name: ruby-lsp
98
+ discovery_paths: [~/.local/bin/ruby-lsp, /usr/local/bin/ruby-lsp]
99
+ format_on_write: true
100
+ diagnostics_on_edit: true
101
+
102
+ - name: php
103
+ extensions: [.php]
104
+ server_command: [php, -S, localhost:8000]
105
+ server_name: intelephense
106
+ discovery_paths: [node_modules/.bin/intelephense]
107
+ format_on_write: true
108
+ diagnostics_on_edit: true
109
+
110
+ - name: swift
111
+ extensions: [.swift]
112
+ server_command: [sourcekit-lsp]
113
+ server_name: sourcekit-lsp
114
+ discovery_paths: [/usr/bin/sourcekit-lsp]
115
+ format_on_write: true
116
+ diagnostics_on_edit: true
117
+
118
+ - name: kotlin
119
+ extensions: [.kt, .kts]
120
+ server_command: [kotlin-language-server]
121
+ server_name: kotlin-language-server
122
+ discovery_paths: [~/.local/bin/kotlin-language-server]
123
+ format_on_write: true
124
+ diagnostics_on_edit: true
125
+
126
+ - name: scala
127
+ extensions: [.scala]
128
+ server_command: [metals]
129
+ server_name: metals
130
+ discovery_paths: [~/.local/bin/metals, /usr/local/bin/metals]
131
+ format_on_write: true
132
+ diagnostics_on_edit: true
133
+
134
+ - name: haskell
135
+ extensions: [.hs]
136
+ server_command: [haskell-language-server, --lsp]
137
+ server_name: haskell-language-server
138
+ discovery_paths: [~/.cabal/bin/haskell-language-server]
139
+ format_on_write: true
140
+ diagnostics_on_edit: true
141
+
142
+ - name: elixir
143
+ extensions: [.ex, .exs]
144
+ server_command: [elixir-ls]
145
+ server_name: elixir-ls
146
+ discovery_paths: [~/.local/bin/elixir-ls]
147
+ format_on_write: true
148
+ diagnostics_on_edit: true
149
+
150
+ - name: erlang
151
+ extensions: [.erl]
152
+ server_command: [erlang-ls]
153
+ server_name: erlang-ls
154
+ discovery_paths: [~/.local/bin/erlang-ls]
155
+ format_on_write: true
156
+ diagnostics_on_edit: true
157
+
158
+ - name: lua
159
+ extensions: [.lua]
160
+ server_command: [lua-language-server]
161
+ server_name: lua-language-server
162
+ discovery_paths: [~/.local/bin/lua-language-server]
163
+ format_on_write: true
164
+ diagnostics_on_edit: true
165
+
166
+ - name: r
167
+ extensions: [.r, .R]
168
+ server_command: [R, --slave, -e, languageserver::run()]
169
+ server_name: r-language-server
170
+ discovery_paths: []
171
+ format_on_write: false
172
+ diagnostics_on_edit: true
173
+
174
+ - name: julia
175
+ extensions: [.jl]
176
+ server_command: [julia, --project=@., -e, using LanguageServer; run_server()]
177
+ server_name: julia-language-server
178
+ discovery_paths: []
179
+ format_on_write: false
180
+ diagnostics_on_edit: true
181
+
182
+ - name: dart
183
+ extensions: [.dart]
184
+ server_command: [dart, language-server]
185
+ server_name: dart-language-server
186
+ discovery_paths: [~/.pub-cache/bin/dart]
187
+ format_on_write: true
188
+ diagnostics_on_edit: true
189
+
190
+ - name: vue
191
+ extensions: [.vue]
192
+ server_command: [vue-language-server, --stdio]
193
+ server_name: vue-language-server
194
+ discovery_paths: [node_modules/.bin/vue-language-server]
195
+ format_on_write: true
196
+ diagnostics_on_edit: true
197
+
198
+ - name: svelte
199
+ extensions: [.svelte]
200
+ server_command: [svelteserver, --stdio]
201
+ server_name: svelte-language-server
202
+ discovery_paths: [node_modules/.bin/svelteserver]
203
+ format_on_write: true
204
+ diagnostics_on_edit: true
205
+
206
+ - name: html
207
+ extensions: [.html, .htm]
208
+ server_command: [html-languageserver, --stdio]
209
+ server_name: html-languageserver
210
+ discovery_paths: [node_modules/.bin/html-languageserver]
211
+ format_on_write: true
212
+ diagnostics_on_edit: true
213
+
214
+ - name: css
215
+ extensions: [.css]
216
+ server_command: [css-languageserver, --stdio]
217
+ server_name: css-languageserver
218
+ discovery_paths: [node_modules/.bin/css-languageserver]
219
+ format_on_write: true
220
+ diagnostics_on_edit: true
221
+
222
+ - name: scss
223
+ extensions: [.scss]
224
+ server_command: [css-languageserver, --stdio]
225
+ server_name: css-languageserver
226
+ discovery_paths: [node_modules/.bin/css-languageserver]
227
+ format_on_write: true
228
+ diagnostics_on_edit: true
229
+
230
+ - name: less
231
+ extensions: [.less]
232
+ server_command: [css-languageserver, --stdio]
233
+ server_name: css-languageserver
234
+ discovery_paths: [node_modules/.bin/css-languageserver]
235
+ format_on_write: true
236
+ diagnostics_on_edit: true
237
+
238
+ - name: json
239
+ extensions: [.json]
240
+ server_command: [json-languageserver, --stdio]
241
+ server_name: json-languageserver
242
+ discovery_paths: [node_modules/.bin/json-languageserver]
243
+ format_on_write: true
244
+ diagnostics_on_edit: true
245
+
246
+ - name: yaml
247
+ extensions: [.yaml, .yml]
248
+ server_command: [yaml-language-server, --stdio]
249
+ server_name: yaml-language-server
250
+ discovery_paths: [node_modules/.bin/yaml-language-server]
251
+ format_on_write: true
252
+ diagnostics_on_edit: true
253
+
254
+ - name: toml
255
+ extensions: [.toml]
256
+ server_command: [taplo, lsp, stdio]
257
+ server_name: taplo
258
+ discovery_paths: [~/.cargo/bin/taplo]
259
+ format_on_write: true
260
+ diagnostics_on_edit: true
261
+
262
+ - name: markdown
263
+ extensions: [.md, .markdown]
264
+ server_command: [marksman]
265
+ server_name: marksman
266
+ discovery_paths: [~/.local/bin/marksman, /usr/local/bin/marksman]
267
+ format_on_write: false
268
+ diagnostics_on_edit: true
269
+
270
+ - name: bash
271
+ extensions: [.sh, .bash]
272
+ server_command: [bash-language-server, start]
273
+ server_name: bash-language-server
274
+ discovery_paths: [node_modules/.bin/bash-language-server]
275
+ format_on_write: true
276
+ diagnostics_on_edit: true
277
+
278
+ - name: dockerfile
279
+ extensions: [Dockerfile]
280
+ server_command: [docker-langserver, --stdio]
281
+ server_name: docker-langserver
282
+ discovery_paths: [node_modules/.bin/docker-langserver]
283
+ format_on_write: false
284
+ diagnostics_on_edit: true
285
+
286
+ - name: terraform
287
+ extensions: [.tf]
288
+ server_command: [terraform-ls, serve]
289
+ server_name: terraform-ls
290
+ discovery_paths: [~/.local/bin/terraform-ls, /usr/local/bin/terraform-ls]
291
+ format_on_write: true
292
+ diagnostics_on_edit: true
293
+
294
+ - name: sql
295
+ extensions: [.sql]
296
+ server_command: [sql-language-server, up, --method, stdio]
297
+ server_name: sql-language-server
298
+ discovery_paths: [node_modules/.bin/sql-language-server]
299
+ format_on_write: true
300
+ diagnostics_on_edit: true
301
+
302
+ - name: graphql
303
+ extensions: [.graphql, .gql]
304
+ server_command: [graphql-language-service, server]
305
+ server_name: graphql-language-service
306
+ discovery_paths: [node_modules/.bin/graphql-language-service]
307
+ format_on_write: true
308
+ diagnostics_on_edit: true
309
+
310
+ - name: proto
311
+ extensions: [.proto]
312
+ server_command: [buf, beta, lsp]
313
+ server_name: buf-lsp
314
+ discovery_paths: [~/.local/bin/buf, /usr/local/bin/buf]
315
+ format_on_write: true
316
+ diagnostics_on_edit: true
317
+
318
+ - name: xml
319
+ extensions: [.xml]
320
+ server_command: [lemminx]
321
+ server_name: lemminx
322
+ discovery_paths: [~/.local/bin/lemminx]
323
+ format_on_write: true
324
+ diagnostics_on_edit: true
@@ -0,0 +1,14 @@
1
+ name: "Catppuccin Frappé"
2
+ variant: "dark"
3
+ colors:
4
+ background: "#303446"
5
+ foreground: "#c6d0f5"
6
+ primary: "#ca9ee6"
7
+ secondary: "#8caaee"
8
+ accent: "#e78284"
9
+ error: "#e78284"
10
+ warning: "#e5c890"
11
+ success: "#a6d189"
12
+ metadata:
13
+ author: "Catppuccin"
14
+ url: "https://github.com/catppuccin/catppuccin"
@@ -0,0 +1,14 @@
1
+ name: "Catppuccin Latte"
2
+ variant: "light"
3
+ colors:
4
+ background: "#eff1f5"
5
+ foreground: "#4c4f69"
6
+ primary: "#8839ef"
7
+ secondary: "#1e66f5"
8
+ accent: "#d20f39"
9
+ error: "#d20f39"
10
+ warning: "#df8e1d"
11
+ success: "#40a02b"
12
+ metadata:
13
+ author: "Catppuccin"
14
+ url: "https://github.com/catppuccin/catppuccin"
@@ -0,0 +1,14 @@
1
+ name: "Catppuccin Macchiato"
2
+ variant: "dark"
3
+ colors:
4
+ background: "#24273a"
5
+ foreground: "#cad3f5"
6
+ primary: "#c6a0f6"
7
+ secondary: "#8aadf4"
8
+ accent: "#ed8796"
9
+ error: "#ed8796"
10
+ warning: "#eed49f"
11
+ success: "#a6da95"
12
+ metadata:
13
+ author: "Catppuccin"
14
+ url: "https://github.com/catppuccin/catppuccin"
@@ -0,0 +1,14 @@
1
+ name: "Catppuccin Mocha"
2
+ variant: "dark"
3
+ colors:
4
+ background: "#1e1e2e"
5
+ foreground: "#cdd6f4"
6
+ primary: "#cba6f7"
7
+ secondary: "#89b4fa"
8
+ accent: "#f38ba8"
9
+ error: "#f38ba8"
10
+ warning: "#f9e2af"
11
+ success: "#a6e3a1"
12
+ metadata:
13
+ author: "Catppuccin"
14
+ url: "https://github.com/catppuccin/catppuccin"
@@ -0,0 +1,14 @@
1
+ name: "Dracula"
2
+ variant: "dark"
3
+ colors:
4
+ background: "#282a36"
5
+ foreground: "#f8f8f2"
6
+ primary: "#bd93f9"
7
+ secondary: "#6272a4"
8
+ accent: "#ff79c6"
9
+ error: "#ff5555"
10
+ warning: "#ffb86c"
11
+ success: "#50fa7b"
12
+ metadata:
13
+ author: "Zeno Rocha"
14
+ url: "https://draculatheme.com/"
@@ -0,0 +1,14 @@
1
+ name: "Gruvbox Dark"
2
+ variant: "dark"
3
+ colors:
4
+ background: "#282828"
5
+ foreground: "#ebdbb2"
6
+ primary: "#d79921"
7
+ secondary: "#504945"
8
+ accent: "#cc241d"
9
+ error: "#fb4934"
10
+ warning: "#fabd2f"
11
+ success: "#b8bb26"
12
+ metadata:
13
+ author: "Pavel Pertsev"
14
+ url: "https://github.com/morhetz/gruvbox"
@@ -0,0 +1,14 @@
1
+ name: "Nord"
2
+ variant: "dark"
3
+ colors:
4
+ background: "#2e3440"
5
+ foreground: "#d8dee9"
6
+ primary: "#81a1c1"
7
+ secondary: "#4c566a"
8
+ accent: "#88c0d0"
9
+ error: "#bf616a"
10
+ warning: "#ebcb8b"
11
+ success: "#a3be8c"
12
+ metadata:
13
+ author: "Arctic Ice Studio"
14
+ url: "https://www.nordtheme.com/"
@@ -0,0 +1,14 @@
1
+ name: "One Dark"
2
+ variant: "dark"
3
+ colors:
4
+ background: "#282c34"
5
+ foreground: "#abb2bf"
6
+ primary: "#61afef"
7
+ secondary: "#3e4451"
8
+ accent: "#c678dd"
9
+ error: "#e06c75"
10
+ warning: "#e5c07b"
11
+ success: "#98c379"
12
+ metadata:
13
+ author: "Atom"
14
+ url: "https://github.com/atom/atom"
@@ -0,0 +1,14 @@
1
+ name: "Solarized Dark"
2
+ variant: "dark"
3
+ colors:
4
+ background: "#002b36"
5
+ foreground: "#839496"
6
+ primary: "#268bd2"
7
+ secondary: "#073642"
8
+ accent: "#2aa198"
9
+ error: "#dc322f"
10
+ warning: "#b58900"
11
+ success: "#859900"
12
+ metadata:
13
+ author: "Ethan Schoonover"
14
+ url: "https://ethanschoonover.com/solarized/"