@trac3er/oh-my-god 2.0.0 → 2.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 (243) hide show
  1. package/.claude-plugin/marketplace.json +8 -8
  2. package/.claude-plugin/plugin.json +5 -4
  3. package/.claude-plugin/scripts/uninstall.sh +74 -3
  4. package/.claude-plugin/scripts/update.sh +78 -3
  5. package/.coveragerc +26 -0
  6. package/.mcp.json +4 -4
  7. package/CHANGELOG.md +14 -0
  8. package/CODE_OF_CONDUCT.md +27 -0
  9. package/CONTRIBUTING.md +62 -0
  10. package/OMG-setup.sh +1201 -355
  11. package/README.md +77 -56
  12. package/SECURITY.md +25 -0
  13. package/agents/__init__.py +1 -0
  14. package/agents/model_roles.py +196 -0
  15. package/agents/omg-architect-mode.md +3 -5
  16. package/agents/omg-backend-engineer.md +3 -5
  17. package/agents/omg-database-engineer.md +3 -5
  18. package/agents/omg-frontend-designer.md +4 -5
  19. package/agents/omg-implement-mode.md +4 -5
  20. package/agents/omg-infra-engineer.md +3 -5
  21. package/agents/omg-research-mode.md +4 -6
  22. package/agents/omg-security-auditor.md +3 -5
  23. package/agents/omg-testing-engineer.md +3 -5
  24. package/build/lib/yaml.py +321 -0
  25. package/commands/OMG:ai-commit.md +101 -14
  26. package/commands/OMG:arch.md +302 -19
  27. package/commands/OMG:ccg.md +12 -7
  28. package/commands/OMG:compat.md +25 -17
  29. package/commands/OMG:cost.md +173 -13
  30. package/commands/OMG:crazy.md +1 -1
  31. package/commands/OMG:create-agent.md +170 -20
  32. package/commands/OMG:deps.md +235 -17
  33. package/commands/OMG:domain-init.md +1 -1
  34. package/commands/OMG:escalate.md +41 -12
  35. package/commands/OMG:health-check.md +37 -13
  36. package/commands/OMG:init.md +122 -14
  37. package/commands/OMG:project-init.md +1 -1
  38. package/commands/OMG:session-branch.md +76 -9
  39. package/commands/OMG:session-fork.md +42 -5
  40. package/commands/OMG:session-merge.md +124 -8
  41. package/commands/OMG:setup.md +69 -12
  42. package/commands/OMG:stats.md +215 -14
  43. package/commands/OMG:teams.md +19 -10
  44. package/config/lsp_languages.yaml +8 -0
  45. package/hooks/__init__.py +0 -0
  46. package/hooks/_agent_registry.py +423 -0
  47. package/hooks/_analytics.py +291 -0
  48. package/hooks/_budget.py +31 -0
  49. package/hooks/_common.py +569 -0
  50. package/hooks/_compression_optimizer.py +119 -0
  51. package/hooks/_cost_ledger.py +176 -0
  52. package/hooks/_learnings.py +126 -0
  53. package/hooks/_memory.py +103 -0
  54. package/hooks/_protected_context.py +150 -0
  55. package/hooks/_token_counter.py +221 -0
  56. package/hooks/branch_manager.py +236 -0
  57. package/hooks/budget_governor.py +232 -0
  58. package/hooks/circuit-breaker.py +270 -0
  59. package/hooks/compression_feedback.py +254 -0
  60. package/hooks/config-guard.py +216 -0
  61. package/hooks/context_pressure.py +53 -0
  62. package/hooks/credential_store.py +1020 -0
  63. package/hooks/fetch-rate-limits.py +212 -0
  64. package/hooks/firewall.py +48 -0
  65. package/hooks/hashline-formatter-bridge.py +224 -0
  66. package/hooks/hashline-injector.py +273 -0
  67. package/hooks/hashline-validator.py +216 -0
  68. package/hooks/idle-detector.py +95 -0
  69. package/hooks/intentgate-keyword-detector.py +188 -0
  70. package/hooks/magic-keyword-router.py +195 -0
  71. package/hooks/policy_engine.py +505 -0
  72. package/hooks/post-tool-failure.py +19 -0
  73. package/hooks/post-write.py +219 -0
  74. package/hooks/post_write.py +46 -0
  75. package/hooks/pre-compact.py +398 -0
  76. package/hooks/pre-tool-inject.py +98 -0
  77. package/hooks/prompt-enhancer.py +672 -0
  78. package/hooks/quality-runner.py +191 -0
  79. package/hooks/query.py +512 -0
  80. package/hooks/secret-guard.py +61 -0
  81. package/hooks/secret_audit.py +144 -0
  82. package/hooks/session-end-capture.py +137 -0
  83. package/hooks/session-start.py +277 -0
  84. package/hooks/setup_wizard.py +582 -0
  85. package/hooks/shadow_manager.py +297 -0
  86. package/hooks/state_migration.py +225 -0
  87. package/hooks/stop-gate.py +7 -0
  88. package/hooks/stop_dispatcher.py +945 -0
  89. package/hooks/test-validator.py +361 -0
  90. package/hooks/test_generator_hook.py +123 -0
  91. package/hooks/todo-state-tracker.py +114 -0
  92. package/hooks/tool-ledger.py +149 -0
  93. package/hooks/trust_review.py +585 -0
  94. package/hud/omg-hud.mjs +31 -1
  95. package/lab/__init__.py +1 -0
  96. package/lab/pipeline.py +75 -0
  97. package/lab/policies.py +52 -0
  98. package/package.json +7 -18
  99. package/plugins/README.md +33 -61
  100. package/plugins/advanced/commands/OMG:deep-plan.md +3 -3
  101. package/plugins/advanced/commands/OMG:learn.md +1 -1
  102. package/plugins/advanced/commands/OMG:security-review.md +3 -3
  103. package/plugins/advanced/commands/OMG:ship.md +1 -1
  104. package/plugins/advanced/plugin.json +1 -1
  105. package/plugins/core/plugin.json +8 -3
  106. package/plugins/dephealth/__init__.py +0 -0
  107. package/plugins/dephealth/cve_scanner.py +188 -0
  108. package/plugins/dephealth/license_checker.py +135 -0
  109. package/plugins/dephealth/manifest_detector.py +423 -0
  110. package/plugins/dephealth/vuln_analyzer.py +169 -0
  111. package/plugins/testgen/__init__.py +0 -0
  112. package/plugins/testgen/codamosa_engine.py +402 -0
  113. package/plugins/testgen/edge_case_synthesizer.py +184 -0
  114. package/plugins/testgen/framework_detector.py +271 -0
  115. package/plugins/testgen/skeleton_generator.py +219 -0
  116. package/plugins/viz/__init__.py +0 -0
  117. package/plugins/viz/ast_parser.py +139 -0
  118. package/plugins/viz/diagram_generator.py +192 -0
  119. package/plugins/viz/graph_builder.py +444 -0
  120. package/plugins/viz/native_parsers.py +259 -0
  121. package/plugins/viz/regex_parser.py +112 -0
  122. package/pyproject.toml +81 -0
  123. package/rules/contextual/write-verify.md +2 -2
  124. package/rules/core/00-truth.md +1 -1
  125. package/rules/core/01-surgical.md +1 -1
  126. package/rules/core/02-circuit-breaker.md +2 -2
  127. package/rules/core/03-ensemble.md +3 -3
  128. package/rules/core/04-testing.md +3 -3
  129. package/runtime/__init__.py +32 -0
  130. package/runtime/adapters/__init__.py +13 -0
  131. package/runtime/adapters/claude.py +60 -0
  132. package/runtime/adapters/gpt.py +53 -0
  133. package/runtime/adapters/local.py +53 -0
  134. package/runtime/adoption.py +212 -0
  135. package/runtime/business_workflow.py +220 -0
  136. package/runtime/cli_provider.py +85 -0
  137. package/runtime/compat.py +1299 -0
  138. package/runtime/custom_agent_loader.py +366 -0
  139. package/runtime/dispatcher.py +47 -0
  140. package/runtime/ecosystem.py +371 -0
  141. package/runtime/legacy_compat.py +7 -0
  142. package/runtime/mcp_config_writers.py +115 -0
  143. package/runtime/mcp_lifecycle.py +153 -0
  144. package/runtime/mcp_memory_server.py +135 -0
  145. package/runtime/memory_parsers/__init__.py +0 -0
  146. package/runtime/memory_parsers/chatgpt_parser.py +257 -0
  147. package/runtime/memory_parsers/claude_import.py +107 -0
  148. package/runtime/memory_parsers/export.py +97 -0
  149. package/runtime/memory_parsers/gemini_import.py +91 -0
  150. package/runtime/memory_parsers/kimi_import.py +91 -0
  151. package/runtime/memory_store.py +215 -0
  152. package/runtime/omc_compat.py +7 -0
  153. package/runtime/providers/__init__.py +0 -0
  154. package/runtime/providers/codex_provider.py +112 -0
  155. package/runtime/providers/gemini_provider.py +128 -0
  156. package/runtime/providers/kimi_provider.py +151 -0
  157. package/runtime/providers/opencode_provider.py +144 -0
  158. package/runtime/subagent_dispatcher.py +362 -0
  159. package/runtime/team_router.py +1167 -0
  160. package/runtime/tmux_session_manager.py +169 -0
  161. package/scripts/check-omg-compat-contract-snapshot.py +137 -0
  162. package/scripts/check-omg-contract-snapshot.py +12 -0
  163. package/scripts/check-omg-public-ready.py +193 -0
  164. package/scripts/check-omg-standalone-clean.py +103 -0
  165. package/scripts/legacy_to_omg_migrate.py +29 -0
  166. package/scripts/migrate-legacy.py +464 -0
  167. package/scripts/omc_to_omg_migrate.py +12 -0
  168. package/scripts/omg.py +492 -0
  169. package/scripts/settings-merge.py +283 -0
  170. package/scripts/verify-standalone.sh +8 -4
  171. package/settings.json +126 -29
  172. package/templates/profile.yaml +1 -1
  173. package/tools/__init__.py +2 -0
  174. package/tools/browser_consent.py +289 -0
  175. package/tools/browser_stealth.py +481 -0
  176. package/tools/browser_tool.py +448 -0
  177. package/tools/changelog_generator.py +347 -0
  178. package/tools/commit_splitter.py +746 -0
  179. package/tools/config_discovery.py +151 -0
  180. package/tools/config_merger.py +449 -0
  181. package/tools/dashboard_generator.py +300 -0
  182. package/tools/git_inspector.py +298 -0
  183. package/tools/lsp_client.py +275 -0
  184. package/tools/lsp_discovery.py +231 -0
  185. package/tools/lsp_operations.py +392 -0
  186. package/tools/pr_generator.py +404 -0
  187. package/tools/python_repl.py +656 -0
  188. package/tools/python_sandbox.py +609 -0
  189. package/tools/search_providers/__init__.py +77 -0
  190. package/tools/search_providers/brave.py +115 -0
  191. package/tools/search_providers/exa.py +116 -0
  192. package/tools/search_providers/jina.py +104 -0
  193. package/tools/search_providers/perplexity.py +139 -0
  194. package/tools/search_providers/synthetic.py +74 -0
  195. package/tools/session_snapshot.py +736 -0
  196. package/tools/ssh_manager.py +912 -0
  197. package/tools/theme_engine.py +294 -0
  198. package/tools/theme_selector.py +137 -0
  199. package/tools/web_search.py +622 -0
  200. package/yaml.py +321 -0
  201. package/.claude-plugin/scripts/install.sh +0 -9
  202. package/bun.lock +0 -23
  203. package/bunfig.toml +0 -3
  204. package/hooks/_budget.ts +0 -1
  205. package/hooks/_common.ts +0 -63
  206. package/hooks/circuit-breaker.ts +0 -101
  207. package/hooks/config-guard.ts +0 -4
  208. package/hooks/firewall.ts +0 -20
  209. package/hooks/policy_engine.ts +0 -156
  210. package/hooks/post-tool-failure.ts +0 -22
  211. package/hooks/post-write.ts +0 -4
  212. package/hooks/pre-tool-inject.ts +0 -4
  213. package/hooks/prompt-enhancer.ts +0 -46
  214. package/hooks/quality-runner.ts +0 -24
  215. package/hooks/secret-guard.ts +0 -4
  216. package/hooks/session-end-capture.ts +0 -19
  217. package/hooks/session-start.ts +0 -19
  218. package/hooks/shadow_manager.ts +0 -81
  219. package/hooks/stop-gate.ts +0 -22
  220. package/hooks/stop_dispatcher.ts +0 -147
  221. package/hooks/test-generator-hook.ts +0 -4
  222. package/hooks/tool-ledger.ts +0 -27
  223. package/hooks/trust_review.ts +0 -175
  224. package/lab/pipeline.ts +0 -75
  225. package/lab/policies.ts +0 -68
  226. package/runtime/common.ts +0 -111
  227. package/runtime/compat.ts +0 -174
  228. package/runtime/dispatcher.ts +0 -25
  229. package/runtime/ecosystem.ts +0 -186
  230. package/runtime/provider_bootstrap.ts +0 -99
  231. package/runtime/provider_smoke.ts +0 -34
  232. package/runtime/release_readiness.ts +0 -186
  233. package/runtime/team_router.ts +0 -144
  234. package/scripts/check-omg-compat-contract-snapshot.ts +0 -20
  235. package/scripts/check-omg-standalone-clean.ts +0 -12
  236. package/scripts/check-runtime-clean.ts +0 -94
  237. package/scripts/omg.ts +0 -352
  238. package/scripts/settings-merge.ts +0 -93
  239. package/tools/commit_splitter.ts +0 -23
  240. package/tools/git_inspector.ts +0 -18
  241. package/tools/session_snapshot.ts +0 -47
  242. package/trac3er-oh-my-god-2.0.0.tgz +0 -0
  243. package/tsconfig.json +0 -15
@@ -1,20 +1,20 @@
1
1
  {
2
- "name": "oh-advanced-layer",
2
+ "name": "omg",
3
3
  "description": "Marketplace metadata for the OMG Claude plugin",
4
4
  "owner": {
5
5
  "name": "trac3er00"
6
6
  },
7
7
  "metadata": {
8
- "description": "OMG Bun runtime for Claude Code",
9
- "version": "2.0.0",
8
+ "description": "OMG - Oh-My-God for Claude Code",
9
+ "version": "2.0.2",
10
10
  "homepage": "https://github.com/trac3er00/OMG",
11
- "repository": "git@github.com:trac3er00/OMG.git"
11
+ "repository": "https://github.com/trac3er00/OMG"
12
12
  },
13
13
  "plugins": [
14
14
  {
15
15
  "name": "omg",
16
- "description": "OMG Bun runtime orchestration layer for Claude Code",
17
- "version": "2.0.0",
16
+ "description": "OMG plugin layer for Claude Code with native setup, orchestration, and interop.",
17
+ "version": "2.0.2",
18
18
  "source": "./",
19
19
  "author": {
20
20
  "name": "trac3er00"
@@ -28,9 +28,9 @@
28
28
  "omg",
29
29
  "codex",
30
30
  "gemini",
31
- "bun"
31
+ "crazy-mode"
32
32
  ]
33
33
  }
34
34
  ],
35
- "version": "2.0.0"
35
+ "version": "2.0.2"
36
36
  }
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "omg",
3
- "version": "2.0.0",
4
- "description": "OMG Bun runtime for Claude Code orchestration and multi-agent workflows",
3
+ "version": "2.0.2",
4
+ "description": "OMG plugin layer for Claude Code with native setup, orchestration, and interop.",
5
5
  "author": {
6
6
  "name": "trac3er00"
7
7
  },
8
- "repository": "git@github.com:trac3er00/OMG.git",
8
+ "repository": "https://github.com/trac3er00/OMG",
9
9
  "homepage": "https://github.com/trac3er00/OMG",
10
10
  "license": "MIT",
11
11
  "keywords": [
@@ -16,7 +16,8 @@
16
16
  "omg",
17
17
  "codex",
18
18
  "gemini",
19
- "bun"
19
+ "crazy-mode",
20
+ "escalation"
20
21
  ],
21
22
  "mcpServers": "./.mcp.json"
22
23
  }
@@ -1,9 +1,80 @@
1
1
  #!/bin/bash
2
- set -euo pipefail
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 ""
3
26
 
4
27
  SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
5
28
  PLUGIN_DIR="$(dirname "$SCRIPT_DIR")"
6
29
  OMG_ROOT="$(dirname "$PLUGIN_DIR")"
7
30
 
8
- echo "Uninstalling OMG Bun plugin..."
9
- exec bash "$OMG_ROOT/OMG-setup.sh" uninstall --non-interactive
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 ""
@@ -1,9 +1,84 @@
1
1
  #!/bin/bash
2
- set -euo pipefail
2
+ # OMG Plugin Update Script
3
+ # Simplified version for Claude Code plugin system
3
4
 
5
+ set -e
6
+
7
+ echo "Updating OMG plugin..."
8
+
9
+ # Find OMG root - prioritize git repo if we're in one
4
10
  SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
5
11
  PLUGIN_DIR="$(dirname "$SCRIPT_DIR")"
6
12
  OMG_ROOT="$(dirname "$PLUGIN_DIR")"
7
13
 
8
- echo "Updating OMG Bun plugin..."
9
- exec bash "$OMG_ROOT/OMG-setup.sh" update --install-as-plugin --non-interactive
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/.coveragerc ADDED
@@ -0,0 +1,26 @@
1
+ [run]
2
+ source = .
3
+ omit =
4
+ tests/*
5
+ */__pycache__/*
6
+ .venv/*
7
+ setup.py
8
+ */site-packages/*
9
+
10
+ [report]
11
+ exclude_lines =
12
+ pragma: no cover
13
+ def __repr__
14
+ raise AssertionError
15
+ raise NotImplementedError
16
+ if __name__ == .__main__.:
17
+ if TYPE_CHECKING:
18
+ @abstractmethod
19
+ @abc.abstractmethod
20
+ pass
21
+
22
+ precision = 2
23
+ show_missing = True
24
+
25
+ [html]
26
+ directory = htmlcov
package/.mcp.json CHANGED
@@ -2,19 +2,19 @@
2
2
  "mcpServers": {
3
3
  "context7": {
4
4
  "command": "npx",
5
- "args": ["-y", "@upstash/context7-mcp"]
5
+ "args": ["@upstash/context7-mcp@2.1.3"]
6
6
  },
7
7
  "filesystem": {
8
8
  "command": "npx",
9
- "args": ["-y", "@modelcontextprotocol/server-filesystem", "."]
9
+ "args": ["@modelcontextprotocol/server-filesystem@2026.1.14", "."]
10
10
  },
11
11
  "websearch": {
12
12
  "command": "npx",
13
- "args": ["-y", "@zhafron/mcp-web-search"]
13
+ "args": ["@zhafron/mcp-web-search@1.2.2"]
14
14
  },
15
15
  "chrome-devtools": {
16
16
  "command": "npx",
17
- "args": ["-y", "chrome-devtools-mcp@latest"]
17
+ "args": ["chrome-devtools-mcp@0.19.0"]
18
18
  },
19
19
  "omg-memory": {
20
20
  "type": "http",
package/CHANGELOG.md ADDED
@@ -0,0 +1,14 @@
1
+ # Changelog
2
+
3
+ ## 2.0.2 - 2026-03-06
4
+
5
+ - cleaned the repo for public launch by removing internal planning docs and stale private references
6
+ - added a public-readiness checker plus CI enforcement for docs, links, and community templates
7
+ - rewrote the public docs funnel around install, `/OMG:setup`, `/OMG:crazy`, proof, and contribution guidance
8
+
9
+ ## 2.0.1 - 2026-03-06
10
+
11
+ - standardized OMG public identity across docs, package metadata, plugin metadata, and CLI surfaces
12
+ - added native adoption flow through `OMG-setup.sh` and `/OMG:setup` with `OMG-only` and `coexist` modes
13
+ - added public-readiness hygiene checks and contributor-facing repo docs
14
+ - rewrote the public docs funnel around host install, `/OMG:setup`, `/OMG:crazy`, and proof-backed verification
@@ -0,0 +1,27 @@
1
+ # Code of Conduct
2
+
3
+ ## Our Standard
4
+
5
+ Treat contributors with respect. Discussions should stay technical, honest, and focused on moving the work forward.
6
+
7
+ Expected behavior:
8
+
9
+ - assume good intent
10
+ - critique ideas directly and respectfully
11
+ - provide evidence for technical claims
12
+ - avoid harassment, intimidation, or discriminatory language
13
+
14
+ Unacceptable behavior:
15
+
16
+ - personal attacks
17
+ - doxxing or privacy violations
18
+ - harassment or sustained disruption
19
+ - abusive, discriminatory, or sexualized language
20
+
21
+ ## Enforcement
22
+
23
+ Project maintainers may remove comments, reject contributions, or restrict participation when behavior makes the project unsafe or unproductive.
24
+
25
+ ## Scope
26
+
27
+ This applies to issues, pull requests, discussions, and other project communication spaces.
@@ -0,0 +1,62 @@
1
+ # Contributing to OMG
2
+
3
+ Thanks for contributing to OMG.
4
+
5
+ ## Local Setup
6
+
7
+ ```bash
8
+ python3 -m venv .venv
9
+ source .venv/bin/activate
10
+ pip install -r requirements.txt
11
+ python3 -m pytest tests -q
12
+ ```
13
+
14
+ If you are validating the public launch surface, also run:
15
+
16
+ ```bash
17
+ python3 scripts/check-omg-public-ready.py
18
+ python3 scripts/check-omg-standalone-clean.py
19
+ ./scripts/verify-standalone.sh
20
+ ```
21
+
22
+ ## Workflow
23
+
24
+ 1. Create a branch from `main`.
25
+ 2. Keep changes surgical and evidence-backed.
26
+ 3. Add or update tests before changing behavior.
27
+ 4. Run the relevant targeted tests while iterating.
28
+ 5. Run `python3 -m pytest tests -q` before opening a PR.
29
+
30
+ ## Pull Requests
31
+
32
+ PRs should explain:
33
+
34
+ - what changed
35
+ - why it changed
36
+ - how it was verified
37
+ - any follow-up risk or known limitation
38
+
39
+ Public-surface changes should also mention whether README, proof docs, install docs, and community docs stayed consistent.
40
+
41
+ ## Versioning and Releases
42
+
43
+ - OMG uses semantic version tags such as `v2.0.1`.
44
+ - `package.json`, plugin metadata, and release tags must agree before a release is cut.
45
+ - npm publishing is driven by the `publish-npm.yml` workflow on version tags.
46
+
47
+ Before cutting a release, run the checklist in [docs/release-checklist.md](docs/release-checklist.md).
48
+
49
+ ## CI Gates
50
+
51
+ The public release path is expected to pass:
52
+
53
+ - compat gate
54
+ - public-readiness hygiene check
55
+ - standalone verification
56
+ - full pytest suite
57
+
58
+ ## Scope Guidance
59
+
60
+ - Keep OMC, OMX, and Superpowers mentions limited to compatibility and adoption guidance.
61
+ - Avoid adding public commands that mirror another project's branding or command names.
62
+ - Prefer OMG-native setup and orchestration language in docs and UX.