@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,36 @@
1
+ {
2
+ "name": "oh-advanced-layer",
3
+ "description": "Marketplace metadata for the OMG Claude plugin",
4
+ "owner": {
5
+ "name": "trac3er00"
6
+ },
7
+ "metadata": {
8
+ "description": "OMG - Oh-My-God for Claude Code",
9
+ "version": "1.0.2",
10
+ "homepage": "https://github.com/trac3er00/OMG",
11
+ "repository": "git@github.com:trac3er00/OMG.git"
12
+ },
13
+ "plugins": [
14
+ {
15
+ "name": "omg",
16
+ "description": "OMG standalone orchestration layer for Claude Code",
17
+ "version": "1.0.2",
18
+ "source": "./",
19
+ "author": {
20
+ "name": "trac3er00"
21
+ },
22
+ "license": "MIT",
23
+ "category": "productivity",
24
+ "tags": [
25
+ "orchestration",
26
+ "automation",
27
+ "multi-agent",
28
+ "omg",
29
+ "codex",
30
+ "gemini",
31
+ "crazy-mode"
32
+ ]
33
+ }
34
+ ],
35
+ "version": "1.0.2"
36
+ }
@@ -0,0 +1,23 @@
1
+ {
2
+ "name": "omg",
3
+ "version": "1.0.2",
4
+ "description": "OMG standalone orchestration layer for Claude Code - multi-agent coordination with Codex/Gemini",
5
+ "author": {
6
+ "name": "trac3er00"
7
+ },
8
+ "repository": "git@github.com:trac3er00/OMG.git",
9
+ "homepage": "https://github.com/trac3er00/OMG",
10
+ "license": "MIT",
11
+ "keywords": [
12
+ "claude-code",
13
+ "plugin",
14
+ "orchestration",
15
+ "multi-agent",
16
+ "omg",
17
+ "codex",
18
+ "gemini",
19
+ "crazy-mode",
20
+ "escalation"
21
+ ],
22
+ "mcpServers": "./.mcp.json"
23
+ }
@@ -0,0 +1,49 @@
1
+ #!/bin/bash
2
+ # OMG Plugin Install Script
3
+ # This script is called by Claude Code when user installs the plugin
4
+
5
+ set -e
6
+
7
+ # Colors
8
+ RED='\033[0;31m'
9
+ GREEN='\033[0;32m'
10
+ YELLOW='\033[1;33m'
11
+ BLUE='\033[0;34m'
12
+ NC='\033[0m'
13
+
14
+ info() { echo -e "${BLUE}ℹ${NC} $1"; }
15
+ success() { echo -e "${GREEN}✓${NC} $1"; }
16
+ warning() { echo -e "${YELLOW}⚠${NC} $1"; }
17
+ error() { echo -e "${RED}✗${NC} $1"; }
18
+
19
+ echo ""
20
+ echo -e "${BLUE}╔═══════════════════════════════════════════════════════════════╗${NC}"
21
+ echo -e "${BLUE}║ ║${NC}"
22
+ echo -e "${BLUE}║ OMG Plugin Installer v1.0.0 ║${NC}"
23
+ echo -e "${BLUE}║ ║${NC}"
24
+ echo -e "${BLUE}╚═══════════════════════════════════════════════════════════════╝${NC}"
25
+ echo ""
26
+
27
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
28
+ PLUGIN_DIR="$(dirname "$SCRIPT_DIR")"
29
+ OMG_ROOT="$(dirname "$PLUGIN_DIR")"
30
+
31
+ # Check if OMG-setup.sh exists
32
+ if [ -f "$OMG_ROOT/OMG-setup.sh" ]; then
33
+ info "Found OMG-setup.sh, running installation..."
34
+ echo ""
35
+ bash "$OMG_ROOT/OMG-setup.sh" install
36
+ else
37
+ error "OMG-setup.sh not found at: $OMG_ROOT/OMG-setup.sh"
38
+ error "Plugin installation requires the OMG setup script"
39
+ exit 1
40
+ fi
41
+
42
+ echo ""
43
+ success "OMG Plugin installed successfully!"
44
+ echo ""
45
+ info "Getting started:"
46
+ echo " 1. Run /OMG:init to initialize a project"
47
+ echo " 2. Run /OMG:health-check to verify everything works"
48
+ echo " 3. Try /OMG:escalate codex 'your task' for multi-agent help"
49
+ echo ""
@@ -0,0 +1,80 @@
1
+ #!/bin/bash
2
+ # OMG Plugin Uninstall Script
3
+ # This script is called by Claude Code when user uninstalls the plugin
4
+
5
+ set -e
6
+
7
+ # Colors
8
+ RED='\033[0;31m'
9
+ GREEN='\033[0;32m'
10
+ YELLOW='\033[1;33m'
11
+ BLUE='\033[0;34m'
12
+ NC='\033[0m'
13
+
14
+ info() { echo -e "${BLUE}ℹ${NC} $1"; }
15
+ success() { echo -e "${GREEN}✓${NC} $1"; }
16
+ warning() { echo -e "${YELLOW}⚠${NC} $1"; }
17
+ error() { echo -e "${RED}✗${NC} $1"; }
18
+
19
+ echo ""
20
+ echo -e "${BLUE}╔═══════════════════════════════════════════════════════════════╗${NC}"
21
+ echo -e "${BLUE}║ ║${NC}"
22
+ echo -e "${BLUE}║ OMG Plugin Uninstaller v1.0.0 ║${NC}"
23
+ echo -e "${BLUE}║ ║${NC}"
24
+ echo -e "${BLUE}╚═══════════════════════════════════════════════════════════════╝${NC}"
25
+ echo ""
26
+
27
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
28
+ PLUGIN_DIR="$(dirname "$SCRIPT_DIR")"
29
+ OMG_ROOT="$(dirname "$PLUGIN_DIR")"
30
+
31
+ # Check if OMG-setup.sh exists
32
+ if [ -f "$OMG_ROOT/OMG-setup.sh" ]; then
33
+ info "Running uninstall via OMG-setup.sh..."
34
+ echo ""
35
+ bash "$OMG_ROOT/OMG-setup.sh" uninstall
36
+ else
37
+ warning "OMG-setup.sh not found, performing manual cleanup..."
38
+
39
+ CLAUDE_DIR="${CLAUDE_CONFIG_DIR:-$HOME/.claude}"
40
+
41
+ # Remove OMG files manually
42
+ rm -f "$CLAUDE_DIR"/commands/OMG:*.md 2>/dev/null || true
43
+ rm -f "$CLAUDE_DIR"/agents/omg-*.md 2>/dev/null || true
44
+ rm -f "$CLAUDE_DIR"/hooks/.omg-version 2>/dev/null || true
45
+ rm -f "$CLAUDE_DIR"/hooks/session-start.py 2>/dev/null || true
46
+ rm -f "$CLAUDE_DIR"/hooks/session-end-capture.py 2>/dev/null || true
47
+ rm -f "$CLAUDE_DIR"/hooks/prompt-enhancer.py 2>/dev/null || true
48
+ rm -f "$CLAUDE_DIR"/hooks/circuit-breaker.py 2>/dev/null || true
49
+ rm -f "$CLAUDE_DIR"/hooks/test-validator.py 2>/dev/null || true
50
+ rm -f "$CLAUDE_DIR"/hooks/firewall.py 2>/dev/null || true
51
+ rm -f "$CLAUDE_DIR"/hooks/secret-guard.py 2>/dev/null || true
52
+ rm -f "$CLAUDE_DIR"/hooks/tool-ledger.py 2>/dev/null || true
53
+ rm -f "$CLAUDE_DIR"/hooks/post-write.py 2>/dev/null || true
54
+ rm -f "$CLAUDE_DIR"/hooks/quality-runner.py 2>/dev/null || true
55
+ rm -f "$CLAUDE_DIR"/hooks/stop-gate.py 2>/dev/null || true
56
+ rm -f "$CLAUDE_DIR"/hooks/stop_dispatcher.py 2>/dev/null || true
57
+ rm -f "$CLAUDE_DIR"/hooks/pre-compact.py 2>/dev/null || true
58
+ rm -f "$CLAUDE_DIR"/hooks/pre-tool-inject.py 2>/dev/null || true
59
+ rm -f "$CLAUDE_DIR"/hooks/post-tool-failure.py 2>/dev/null || true
60
+ rm -f "$CLAUDE_DIR"/hooks/config-guard.py 2>/dev/null || true
61
+ rm -f "$CLAUDE_DIR"/hooks/policy_engine.py 2>/dev/null || true
62
+ rm -f "$CLAUDE_DIR"/hooks/trust_review.py 2>/dev/null || true
63
+ rm -f "$CLAUDE_DIR"/hooks/shadow_manager.py 2>/dev/null || true
64
+ rm -rf "$CLAUDE_DIR"/hooks/__pycache__ 2>/dev/null || true
65
+ rm -f "$CLAUDE_DIR"/hooks/_common.py 2>/dev/null || true
66
+ rm -f "$CLAUDE_DIR"/hooks/_budget.py 2>/dev/null || true
67
+ rm -f "$CLAUDE_DIR"/hooks/_memory.py 2>/dev/null || true
68
+ rm -f "$CLAUDE_DIR"/hooks/_learnings.py 2>/dev/null || true
69
+ rm -f "$CLAUDE_DIR"/hooks/_agent_registry.py 2>/dev/null || true
70
+ rm -f "$CLAUDE_DIR"/hooks/state_migration.py 2>/dev/null || true
71
+ rm -f "$CLAUDE_DIR"/hooks/fetch-rate-limits.py 2>/dev/null || true
72
+ rm -f "$CLAUDE_DIR"/.omg-manifest 2>/dev/null || true
73
+ rm -rf "$CLAUDE_DIR"/omg-runtime 2>/dev/null || true
74
+ rm -rf "$CLAUDE_DIR"/templates/omg 2>/dev/null || true
75
+ rm -f "$CLAUDE_DIR"/rules/0[0-4]-*.md 2>/dev/null || true
76
+ fi
77
+
78
+ echo ""
79
+ success "OMG Plugin uninstalled successfully!"
80
+ echo ""
@@ -0,0 +1,84 @@
1
+ #!/bin/bash
2
+ # OMG Plugin Update Script
3
+ # Simplified version for Claude Code plugin system
4
+
5
+ set -e
6
+
7
+ echo "Updating OMG plugin..."
8
+
9
+ # Find OMG root - prioritize git repo if we're in one
10
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
11
+ PLUGIN_DIR="$(dirname "$SCRIPT_DIR")"
12
+ OMG_ROOT="$(dirname "$PLUGIN_DIR")"
13
+
14
+ # Check if running from source git repo
15
+ if [ -d "$OMG_ROOT/.git" ]; then
16
+ echo "Found git repository at: $OMG_ROOT"
17
+ cd "$OMG_ROOT"
18
+
19
+ # Check for local changes
20
+ STASHED=false
21
+ if [ -n "$(git status --porcelain 2>/dev/null)" ]; then
22
+ echo "Stashing local changes..."
23
+ if git stash push -m "Auto-stash before update"; then
24
+ STASHED=true
25
+ fi
26
+ fi
27
+
28
+ # Pull latest
29
+ echo "Pulling latest changes..."
30
+ git pull origin main
31
+
32
+ # Restore stashed changes
33
+ if $STASHED; then
34
+ echo "Restoring stashed changes..."
35
+ git stash pop || echo "Warning: Could not restore stashed changes. Run 'git stash pop' manually."
36
+ fi
37
+
38
+ NEW_VERSION=$(git describe --tags --abbrev=0 2>/dev/null | sed 's/^v//' || echo "")
39
+ if [ -n "$NEW_VERSION" ]; then
40
+ python3 - "$NEW_VERSION" <<'PY'
41
+ import json
42
+ import sys
43
+ from pathlib import Path
44
+
45
+ new_version = sys.argv[1]
46
+ plugin_path = Path('.claude-plugin/plugin.json')
47
+ marketplace_path = Path('.claude-plugin/marketplace.json')
48
+
49
+ plugin = json.loads(plugin_path.read_text(encoding='utf-8'))
50
+ plugin['version'] = new_version
51
+ plugin_path.write_text(json.dumps(plugin, indent=2) + '\n', encoding='utf-8')
52
+
53
+ marketplace = json.loads(marketplace_path.read_text(encoding='utf-8'))
54
+ marketplace['version'] = new_version
55
+ if isinstance(marketplace.get('metadata'), dict):
56
+ marketplace['metadata']['version'] = new_version
57
+ plugins = marketplace.get('plugins')
58
+ if isinstance(plugins, list) and plugins:
59
+ if isinstance(plugins[0], dict):
60
+ plugins[0]['version'] = new_version
61
+ marketplace_path.write_text(json.dumps(marketplace, indent=2) + '\n', encoding='utf-8')
62
+ PY
63
+ echo "Synced manifest versions to $NEW_VERSION"
64
+ else
65
+ echo "Skipped manifest version sync (no git tag found)"
66
+ fi
67
+
68
+ echo "Update complete!"
69
+ echo ""
70
+ echo "Note: Changes are immediately active (symlinked installation)"
71
+ else
72
+ # Running from cache - run OMG-setup.sh
73
+ if [ -f "$OMG_ROOT/OMG-setup.sh" ]; then
74
+ echo "Running OMG-setup.sh update..."
75
+ bash "$OMG_ROOT/OMG-setup.sh" update
76
+ else
77
+ echo "ERROR: Could not find OMG-setup.sh"
78
+ exit 1
79
+ fi
80
+ fi
81
+
82
+ echo ""
83
+ echo "✓ OMG updated successfully"
84
+ echo " Restart Claude Code if you see new commands"
package/.mcp.json ADDED
@@ -0,0 +1,20 @@
1
+ {
2
+ "mcpServers": {
3
+ "context7": {
4
+ "command": "npx",
5
+ "args": ["-y", "@upstash/context7-mcp"]
6
+ },
7
+ "filesystem": {
8
+ "command": "npx",
9
+ "args": ["-y", "@modelcontextprotocol/server-filesystem", "."]
10
+ },
11
+ "websearch": {
12
+ "command": "npx",
13
+ "args": ["-y", "@zhafron/mcp-web-search"]
14
+ },
15
+ "chrome-devtools": {
16
+ "command": "npx",
17
+ "args": ["-y", "chrome-devtools-mcp@latest"]
18
+ }
19
+ }
20
+ }
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 trac3er00
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.