@trac3er/oh-my-god 1.0.4 → 2.0.0-b

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 (80) hide show
  1. package/.coveragerc +26 -0
  2. package/.mcp.json +24 -0
  3. package/OMG-setup.sh +38 -1
  4. package/README.md +238 -19
  5. package/commands/OMG:arch.md +313 -0
  6. package/commands/OMG:cost.md +181 -0
  7. package/commands/OMG:deps.md +248 -0
  8. package/commands/OMG:setup.md +76 -0
  9. package/commands/OMG:stats.md +225 -0
  10. package/hooks/__init__.py +0 -0
  11. package/hooks/_agent_registry.py +10 -20
  12. package/hooks/_analytics.py +291 -0
  13. package/hooks/_common.py +1 -1
  14. package/hooks/_compression_optimizer.py +119 -0
  15. package/hooks/_cost_ledger.py +176 -0
  16. package/hooks/_protected_context.py +150 -0
  17. package/hooks/_token_counter.py +221 -0
  18. package/hooks/branch_manager.py +236 -0
  19. package/hooks/budget_governor.py +232 -0
  20. package/hooks/compression_feedback.py +254 -0
  21. package/hooks/context_pressure.py +1 -1
  22. package/hooks/credential_store.py +181 -12
  23. package/hooks/policy_engine.py +196 -1
  24. package/hooks/post-write.py +28 -8
  25. package/hooks/post_write.py +46 -0
  26. package/hooks/pre-compact.py +312 -118
  27. package/hooks/query.py +512 -0
  28. package/hooks/secret-guard.py +15 -1
  29. package/hooks/secret_audit.py +144 -0
  30. package/hooks/setup_wizard.py +259 -0
  31. package/hooks/state_migration.py +16 -0
  32. package/hooks/stop_dispatcher.py +16 -0
  33. package/hooks/test-validator.py +281 -58
  34. package/hooks/test_generator_hook.py +123 -0
  35. package/hooks/tool-ledger.py +24 -1
  36. package/hud/omg-hud.mjs +1212 -0
  37. package/package.json +12 -3
  38. package/plugins/advanced/plugin.json +1 -1
  39. package/plugins/core/plugin.json +30 -1
  40. package/plugins/dephealth/__init__.py +0 -0
  41. package/plugins/dephealth/cve_scanner.py +188 -0
  42. package/plugins/dephealth/license_checker.py +135 -0
  43. package/plugins/dephealth/manifest_detector.py +423 -0
  44. package/plugins/dephealth/vuln_analyzer.py +169 -0
  45. package/plugins/testgen/__init__.py +0 -0
  46. package/plugins/testgen/codamosa_engine.py +402 -0
  47. package/plugins/testgen/edge_case_synthesizer.py +184 -0
  48. package/plugins/testgen/framework_detector.py +271 -0
  49. package/plugins/testgen/skeleton_generator.py +219 -0
  50. package/plugins/viz/__init__.py +0 -0
  51. package/plugins/viz/ast_parser.py +139 -0
  52. package/plugins/viz/diagram_generator.py +192 -0
  53. package/plugins/viz/graph_builder.py +444 -0
  54. package/plugins/viz/native_parsers.py +259 -0
  55. package/plugins/viz/regex_parser.py +112 -0
  56. package/pyproject.toml +81 -0
  57. package/runtime/cli_provider.py +85 -0
  58. package/runtime/mcp_config_writers.py +115 -0
  59. package/runtime/mcp_lifecycle.py +153 -0
  60. package/runtime/mcp_memory_server.py +107 -0
  61. package/runtime/memory_parsers/__init__.py +0 -0
  62. package/runtime/memory_parsers/chatgpt_parser.py +257 -0
  63. package/runtime/memory_parsers/claude_import.py +107 -0
  64. package/runtime/memory_parsers/export.py +97 -0
  65. package/runtime/memory_parsers/gemini_import.py +91 -0
  66. package/runtime/memory_parsers/kimi_import.py +91 -0
  67. package/runtime/memory_store.py +215 -0
  68. package/runtime/providers/__init__.py +0 -0
  69. package/runtime/providers/codex_provider.py +111 -0
  70. package/runtime/providers/gemini_provider.py +127 -0
  71. package/runtime/providers/kimi_provider.py +150 -0
  72. package/runtime/providers/opencode_provider.py +143 -0
  73. package/runtime/team_router.py +341 -12
  74. package/runtime/tmux_session_manager.py +169 -0
  75. package/scripts/omg.py +3 -5
  76. package/settings.json +52 -4
  77. package/tools/changelog_generator.py +80 -1
  78. package/tools/commit_splitter.py +386 -1
  79. package/tools/dashboard_generator.py +300 -0
  80. package/tools/pr_generator.py +404 -0
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 ADDED
@@ -0,0 +1,24 @@
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
+ "omg-memory": {
20
+ "type": "http",
21
+ "url": "http://127.0.0.1:8765/mcp"
22
+ }
23
+ }
24
+ }
package/OMG-setup.sh CHANGED
@@ -216,6 +216,11 @@ parse_args() {
216
216
  if [ ! -t 0 ] || [ -n "${npm_lifecycle_event:-}" ] || [ -n "${npm_execpath:-}" ]; then
217
217
  NON_INTERACTIVE=true
218
218
  fi
219
+
220
+ # Auto-enable plugin mode for npm installs
221
+ if [ -n "${npm_execpath:-}" ] || [ -n "${npm_lifecycle_event:-}" ]; then
222
+ INSTALL_AS_PLUGIN=true
223
+ fi
219
224
  }
220
225
 
221
226
  preflight() {
@@ -660,7 +665,39 @@ install_plugin_bundle() {
660
665
  mkdir -p "$plugin_root/.claude-plugin"
661
666
  mkdir -p "$CLAUDE_DIR/hud"
662
667
  cp "$plugin_manifest_src" "$plugin_manifest_target"
663
- write_plugin_mcp_file "$plugin_mcp_target" >/dev/null
668
+
669
+ # Provide a fallback .mcp.json if not shipped in npm package
670
+ if [ ! -f "$SCRIPT_DIR/.mcp.json" ]; then
671
+ local _fallback_mcp_dir
672
+ _fallback_mcp_dir=$(mktemp -d)
673
+ cat > "$_fallback_mcp_dir/.mcp.json" <<'FALLBACK_MCP'
674
+ {
675
+ "mcpServers": {
676
+ "context7": {
677
+ "command": "npx",
678
+ "args": ["-y", "@upstash/context7-mcp"]
679
+ },
680
+ "filesystem": {
681
+ "command": "npx",
682
+ "args": ["-y", "@modelcontextprotocol/server-filesystem", "."]
683
+ },
684
+ "websearch": {
685
+ "command": "npx",
686
+ "args": ["-y", "@zhafron/mcp-web-search"]
687
+ },
688
+ "chrome-devtools": {
689
+ "command": "npx",
690
+ "args": ["-y", "chrome-devtools-mcp@latest"]
691
+ }
692
+ }
693
+ }
694
+ FALLBACK_MCP
695
+ SCRIPT_DIR="$_fallback_mcp_dir" write_plugin_mcp_file "$plugin_mcp_target" >/dev/null
696
+ rm -rf "$_fallback_mcp_dir"
697
+ else
698
+ write_plugin_mcp_file "$plugin_mcp_target" >/dev/null
699
+ fi
700
+
664
701
  cp "$hud_src" "$hud_target"
665
702
  mkdir -p "$PLUGIN_CACHE_DIR"
666
703
  printf '%s\n' "omg-plugin-bundle-v1" > "$PLUGIN_CACHE_DIR/$PLUGIN_BUNDLE_MARKER_FILE"
package/README.md CHANGED
@@ -1,13 +1,13 @@
1
- # OMG v1.0.4
1
+ # OMG v2.0.0-b
2
2
 
3
3
  OMG (Oh My God) is a standalone orchestration layer for Claude Code.
4
- It adds structured multi-agent workflows, intelligent model routing (Claude/Codex/Gemini), and durable session state for long-running engineering tasks.
4
+ It adds structured multi-agent workflows, intelligent model routing (Claude/Codex/Gemini/OpenCode/Kimi Code), and durable session state for long-running engineering tasks.
5
5
 
6
- - Version: `v1.0.4`
6
+ - Version: `v2.0.0-b`
7
7
  - npm: `npm install @trac3er/oh-my-god`
8
8
  - Maintainer: `trac3er00`
9
9
  - Repo: `git@github.com:trac3er00/OMG.git`
10
- - Release: `https://github.com/trac3er00/OMG/releases/tag/v1.0.4`
10
+ - Release: `https://github.com/trac3er00/OMG/releases/tag/v2.0.0-b`
11
11
 
12
12
  ## What OMG Solves
13
13
 
@@ -21,23 +21,40 @@ OMG is built for teams and solo developers who want:
21
21
  ## Core Capabilities
22
22
 
23
23
  - Multi-agent orchestration with role-specific agents
24
- - Dynamic routing to Codex and Gemini for domain-specific tasks
24
+ - Dynamic routing to Codex, Gemini, OpenCode, and Kimi Code for domain-specific tasks
25
25
  - Failure tracking and escalation after repeated unsuccessful attempts
26
26
  - Command surface for planning, review, security, handoff, and execution modes
27
27
  - Context minimization and selective knowledge injection to reduce prompt noise
28
28
 
29
+ ## Multi-CLI Support
30
+
31
+ OMG v2.0 supports 5 CLI providers with a unified provider abstraction:
32
+
33
+ | CLI | Command | Auth |
34
+ |-----|---------|------|
35
+ | Claude | (default) | Claude Code |
36
+ | Codex | `codex exec "<prompt>"` | `codex login` |
37
+ | Gemini | `gemini -p "<prompt>"` | `gemini auth login` |
38
+ | OpenCode | `opencode run "<prompt>"` | `opencode auth login` |
39
+ | Kimi Code | `kimi --print -p "<prompt>"` | `~/.kimi/config.toml` token |
40
+
41
+ All providers are auto-detected and registered at startup. Use `/OMG:setup` to configure.
42
+
29
43
  ## At a Glance
30
44
 
31
- - Hooks: 27 Python hooks
45
+ - Hooks: 48 Python hooks
32
46
  - Core rules: 5
33
47
  - Contextual rules: 17
34
48
  - Agents: 21
35
- - Commands: 18 (`/OMG:*` namespace)
49
+ - Commands: 22 (`/OMG:*` namespace)
50
+ - CLI Providers: 5 (Claude, Codex, Gemini, OpenCode, Kimi Code)
51
+ - Feature flags: 17 (all new in v2.0)
36
52
 
37
53
  ## Requirements
38
54
 
39
- - Python `3.8+`
55
+ - Python `3.10+`
40
56
  - Claude Code with write access to `~/.claude`
57
+ - `fastmcp>=2.0` (for memory server)
41
58
 
42
59
  ## Installation
43
60
 
@@ -124,6 +141,12 @@ Common flows:
124
141
  /OMG:handoff
125
142
  ```
126
143
 
144
+ Run the setup wizard to configure CLI providers:
145
+
146
+ ```text
147
+ /OMG:setup
148
+ ```
149
+
127
150
  ## Command Groups
128
151
 
129
152
  ### Core commands
@@ -138,6 +161,7 @@ Common flows:
138
161
  - `/OMG:ccg`
139
162
  - `/OMG:crazy`
140
163
  - `/OMG:compat`
164
+ - `/OMG:setup`
141
165
 
142
166
  ### Advanced commands
143
167
 
@@ -153,12 +177,21 @@ Common flows:
153
177
  - `/OMG:ralph-stop`
154
178
  - `/OMG:theme`
155
179
 
180
+ ### v2.0 commands
181
+
182
+ - `/OMG:cost` — Cost tracking and budget management (`/cost history`, `/cost budget`, `/cost reset`)
183
+ - `/OMG:stats` — Session analytics dashboard (`/stats weekly`, `/stats files`, `/stats failures`, `/stats dashboard`)
184
+ - `/OMG:deps` — Dependency health and CVE scanning (`/deps cves`, `/deps licenses`, `/deps outdated`)
185
+ - `/OMG:arch` — Codebase visualization and architecture diagrams (`/arch render`, `/arch stats`, `/arch --native`)
186
+
156
187
  ## Agent Routing Model
157
188
 
158
189
  OMG dispatches by domain intent:
159
190
 
160
191
  - Codex path: backend logic, debugging, algorithms, security-sensitive implementation
161
192
  - Gemini path: UI/UX, layout, visual refinements, accessibility-oriented frontend work
193
+ - OpenCode path: general-purpose tasks with OpenCode's native tool use
194
+ - Kimi Code path: long-context tasks and document-heavy analysis
162
195
  - Claude path: orchestration, synthesis, review loops, and fallback execution
163
196
 
164
197
  ## Cognitive Modes
@@ -199,7 +232,11 @@ After `/OMG:init`, project state is created under `.omg/`:
199
232
  profile.yaml
200
233
  working-memory.md
201
234
  handoff.md
235
+ cli-config.yaml
202
236
  ledger/
237
+ dephealth/
238
+ dashboard.html
239
+ arch-diagram.png
203
240
  knowledge/
204
241
  trust/
205
242
  evidence/
@@ -218,15 +255,81 @@ omg/
218
255
  agents/
219
256
  commands/
220
257
  plugins/
258
+ dephealth/
259
+ viz/
221
260
  templates/
222
261
  runtime/
223
262
  scripts/
224
263
  OMG-setup.sh
225
264
  ```
226
265
 
266
+ ## Shared Memory (MCP Server)
267
+
268
+ OMG v2.0 includes a FastMCP-based shared memory server that enables cross-CLI state sharing.
269
+
270
+ ### Starting the Memory Server
271
+
272
+ ```bash
273
+ python3 runtime/mcp_memory_server.py
274
+ ```
275
+
276
+ The server binds to `127.0.0.1:8765` by default. Configure via environment variables:
277
+
278
+ - `OMG_MEMORY_HOST` — bind address (default: `127.0.0.1`)
279
+ - `OMG_MEMORY_PORT` — port (default: `8765`)
280
+ - `OMG_MEMORY_AUTOSTART` — auto-start on import (default: off)
281
+
282
+ The server exposes 6 MCP tools: `memory_store`, `memory_search`, `memory_list`, `memory_delete`, `memory_import`, and `memory_export`. A `/health` endpoint is also available at `http://127.0.0.1:8765/health`.
283
+
284
+ ### Memory Import
285
+
286
+ Import memories from other AI platforms:
287
+
288
+ - **ChatGPT**: Export `conversations.json` from OpenAI, then parse with `runtime/memory_parsers/chatgpt_parser.py`
289
+ - **Claude.ai**: Use the extraction prompt from `runtime/memory_parsers/claude_import.py`, paste the result
290
+ - **Gemini Web**: Use the extraction prompt from `runtime/memory_parsers/gemini_import.py`, paste the result
291
+ - **Kimi Web**: Use the extraction prompt from `runtime/memory_parsers/kimi_import.py`, paste the result
292
+
293
+ ### Memory Export
294
+
295
+ Export all memories to markdown for uploading to Claude Projects or pasting into ChatGPT:
296
+
297
+ ```python
298
+ from runtime.memory_store import MemoryStore
299
+ from runtime.memory_parsers.export import export_from_store
300
+
301
+ store = MemoryStore()
302
+ export_from_store(store, "memories.md")
303
+ ```
304
+
227
305
  ## Versioning and Releases
228
306
 
229
- Current version: `v1.0.4`
307
+ Current version: `v2.0.0-b`
308
+
309
+ ### v2.0.0-b release notes
310
+
311
+ - Multi-CLI provider abstraction: Codex, Gemini, OpenCode, Kimi Code + Claude
312
+ - `/OMG:setup` interactive wizard with CLI detection, auth verification, and MCP config writing
313
+ - FastMCP shared memory MCP server (`runtime/mcp_memory_server.py`) with 6 tools
314
+ - Memory import parsers: ChatGPT `conversations.json`, Claude.ai/Gemini/Kimi paste-based
315
+ - Memory export to markdown for cross-platform sharing
316
+ - MCP server lifecycle manager (`runtime/mcp_lifecycle.py`)
317
+ - 8 capability gaps addressed: cost tracking, context management, secrets, test generation, git automation, analytics, dependency health, and codebase visualization
318
+ - 4 new commands: `/OMG:cost`, `/OMG:stats`, `/OMG:deps`, `/OMG:arch`
319
+ - 48 Python hooks (up from 27 in v1.0.5)
320
+ - 6 confirmed bug fixes including critical `_oal`→`_omg` feature flag fix
321
+ - Python minimum raised to 3.10+
322
+ - Test suite expanded from 1523 to 1900+ tests
323
+
324
+ ### v1.0.5 release notes
325
+
326
+ - npm `install` now auto-registers OMG as a Claude Code plugin via `postinstall` hook with npm context detection.
327
+ - Added `.mcp.json` and `hud/` to the npm package (previously excluded by `.npmignore`).
328
+ - `.claude-plugin/scripts/install.sh` now passes `--install-as-plugin --non-interactive` flags.
329
+ - Added `OMG-setup.sh` fallback MCP config heredoc for npm installs missing `.mcp.json`.
330
+ - New `runtime/tmux_session_manager.py` provides persistent tmux sessions for Codex/Gemini invocations with sentinel-based completion detection.
331
+ - `runtime/team_router.py` now routes Codex/Gemini calls through persistent tmux sessions when available, with graceful subprocess fallback.
332
+ - Added 20 new tests across 4 test files covering plugin auto-registration and tmux integration (1580 total tests passing).
230
333
 
231
334
  ### v1.0.4 emergency installation bug fix notes
232
335
 
@@ -246,15 +349,15 @@ Releases are automated via GitHub Actions. When a version tag is pushed, the `pu
246
349
 
247
350
  ```bash
248
351
  # bump version in package.json, then:
249
- git tag v1.0.4
250
- git push origin v1.0.4
251
- # → GitHub Actions auto-publishes @trac3er/oh-my-god@1.0.4 to npm
352
+ git tag v2.0.0-b
353
+ git push origin v2.0.0-b
354
+ # → GitHub Actions auto-publishes @trac3er/oh-my-god@2.0.0-b to npm
252
355
  ```
253
356
 
254
357
  Manual release (if needed):
255
358
 
256
359
  ```bash
257
- gh release create v1.0.4 --title "OMG v1.0.4" --notes "Release notes"
360
+ gh release create v2.0.0-b --title "OMG v2.0.0-b" --notes "Release notes"
258
361
  ```
259
362
 
260
363
  ## Compatibility Notes
@@ -287,11 +390,73 @@ bash ~/.claude/plugins/cache/oh-advanced-layer/oal/*/.claude-plugin/scripts/upda
287
390
 
288
391
  MIT
289
392
 
290
- ## New in v1.1 (Enhancement Release)
393
+ ## New in v2.0
394
+
395
+ v2.0 addresses 8 capability gaps identified through production usage. All features are disabled by default and fully backward-compatible with v1.x workflows.
396
+
397
+ ### Gap 1: Real-Time Cost & Token Budget Management
398
+
399
+ Inspired by BATS (Budget-Aware Token Scheduling) and FrugalGPT cost-optimization research. Tracks token usage and USD spend per tool call, fires threshold alerts at 50%/80%/95% budget, and provides a full cost breakdown by tool and session.
400
+
401
+ - Hook: `budget_governor.py` (PostToolUse)
402
+ - Command: `/OMG:cost`
403
+ - Flag: `COST_TRACKING`
404
+
405
+ ### Gap 2: Intelligent Context Window Manager
406
+
407
+ Enhanced with Acon (Adaptive Context) and MemGPT-inspired memory tiering. Manages context window pressure by selectively compressing or evicting stale context while preserving high-value working memory.
408
+
409
+ - Hook: `context_manager.py`
410
+ - Flag: built into core context management
411
+
412
+ ### Gap 3: Secrets & Environment Vault Upgrades
413
+
414
+ Adds allowlisting, audit logging, and expiry tracking to the existing secrets vault. Prevents accidental exposure of credentials in tool outputs and tracks secret access patterns.
415
+
416
+ - Hook: `secrets_vault.py`
417
+ - Flag: built into core secrets handling
418
+
419
+ ### Gap 4: Automated Test Generation Engine
420
+
421
+ CodaMosa-inspired iterative test generation. Analyzes uncovered code paths and generates targeted test cases, prioritizing edge cases and boundary conditions that manual test writing tends to miss.
422
+
423
+ - Plugin: `plugins/testgen/`
424
+ - Flag: `TEST_GENERATION`
291
425
 
292
- ### Feature Flags
426
+ ### Gap 5: Advanced Git Workflow Automation
293
427
 
294
- All new features are disabled by default. Enable via environment variables or `settings.json`:
428
+ Extends git integration beyond status checks to full commit execution, branch management, and PR creation. Supports conventional commit formatting, branch naming conventions, and automated PR descriptions.
429
+
430
+ - Hook: `git_workflow.py`
431
+ - Flag: `GIT_WORKFLOW`
432
+
433
+ ### Gap 6: Session Analytics & Productivity Dashboard
434
+
435
+ Unified query layer over all OMG state files. Surfaces tool usage trends, file heatmaps, failure patterns, and escalation effectiveness. Generates a self-contained HTML dashboard at `.omg/state/dashboard.html`.
436
+
437
+ - Hook: `session_tracker.py`
438
+ - Command: `/OMG:stats`
439
+ - Flag: `SESSION_ANALYTICS`
440
+
441
+ ### Gap 7: Dependency Health & License Compliance
442
+
443
+ CVE scanning via the OSV batch API with reachability analysis (direct vs. transitive imports). License compatibility checker with tiered model: permissive > weak-copyleft > copyleft. Supports npm, pip, Cargo, Go modules, and RubyGems.
444
+
445
+ - Plugin: `plugins/dephealth/`
446
+ - Command: `/OMG:deps`
447
+ - Flag: `DEP_HEALTH`
448
+
449
+ ### Gap 8: Codebase Visualization
450
+
451
+ AST-based dependency graph builder for Python (stdlib `ast`), with regex fallback for JS/TS/Go. Generates Mermaid and D2 diagrams, renders to PNG via mermaid.ink, and supports native toolchain parsing (`go list`, `tsc`, `cargo metadata`) for ~95% accuracy.
452
+
453
+ - Plugin: `plugins/viz/`
454
+ - Command: `/OMG:arch`
455
+ - Flag: `CODEBASE_VIZ`
456
+
457
+ ## Feature Flags
458
+
459
+ All features are disabled by default. Enable via environment variables or `settings.json`:
295
460
 
296
461
  | Feature | Env Var | Default |
297
462
  |---------|---------|---------|
@@ -306,6 +471,14 @@ All new features are disabled by default. Enable via environment variables or `s
306
471
  | SSH manager | `OMG_SSH_ENABLED=1` | Off |
307
472
  | Themes | `OMG_THEMES_ENABLED=true` | Off |
308
473
  | Rust engine | `OMG_RUST_ENGINE_ENABLED=1` | Off |
474
+ | Setup wizard | `OMG_SETUP_ENABLED=1` | Off |
475
+ | Memory server | `OMG_MEMORY_AUTOSTART=1` | Off |
476
+ | **Cost tracking** | `OMG_COST_TRACKING_ENABLED=1` | Off |
477
+ | **Git workflow automation** | `OMG_GIT_WORKFLOW_ENABLED=1` | Off |
478
+ | **Session analytics** | `OMG_SESSION_ANALYTICS_ENABLED=1` | Off |
479
+ | **Test generation** | `OMG_TEST_GENERATION_ENABLED=1` | Off |
480
+ | **Dependency health** | `OMG_DEP_HEALTH_ENABLED=1` | Off |
481
+ | **Codebase visualization** | `OMG_CODEBASE_VIZ_ENABLED=1` | Off |
309
482
 
310
483
  You can also enable features in `settings.json` under `_omg.features`:
311
484
 
@@ -314,17 +487,18 @@ You can also enable features in `settings.json` under `_omg.features`:
314
487
  "_omg": {
315
488
  "features": {
316
489
  "THEMES": true,
317
- "INTENTGATE": true
490
+ "COST_TRACKING": true,
491
+ "SESSION_ANALYTICS": true
318
492
  }
319
493
  }
320
494
  }
321
495
  ```
322
496
 
323
- ### New Commands
497
+ ### New Commands (v1.1)
324
498
 
325
499
  - `/OMG:theme` — Interactive theme selector with `--list`, `--preview`, `--set`, and `--auto` modes
326
500
 
327
- ### New Agents
501
+ ### New Agents (v1.1)
328
502
 
329
503
  v1.1 ships with expanded agent coverage:
330
504
 
@@ -342,6 +516,37 @@ v1.1 ships with expanded agent coverage:
342
516
 
343
517
  ## Migration Guide
344
518
 
519
+ ### Upgrading from OMG v1.x to v2.0
520
+
521
+ All new features default to `False` and are fully backward-compatible. Existing workflows continue unchanged.
522
+
523
+ To adopt v2.0 features selectively:
524
+
525
+ 1. **Enable via env var** before launching Claude Code:
526
+ ```bash
527
+ export OMG_COST_TRACKING_ENABLED=1
528
+ export OMG_SESSION_ANALYTICS_ENABLED=1
529
+ export OMG_DEP_HEALTH_ENABLED=1
530
+ ```
531
+
532
+ 2. **Or enable in `settings.json`** for persistent config:
533
+ ```json
534
+ {
535
+ "_omg": {
536
+ "features": {
537
+ "COST_TRACKING": true,
538
+ "SESSION_ANALYTICS": true,
539
+ "DEP_HEALTH": true,
540
+ "CODEBASE_VIZ": true
541
+ }
542
+ }
543
+ }
544
+ ```
545
+
546
+ 3. **No breaking changes** — all v1.x commands, agents, and hooks remain intact.
547
+
548
+ 4. **New commands** are available immediately after update, each gated by its respective feature flag.
549
+
345
550
  ### Upgrading from OMG v1.0 to v1.1
346
551
 
347
552
  All new features default to `False` and are fully backward-compatible. Existing workflows continue unchanged.
@@ -369,3 +574,17 @@ To adopt new features selectively:
369
574
  3. **No breaking changes** — all v1.0 commands, agents, and hooks remain intact.
370
575
 
371
576
  4. **New command**: `/OMG:theme` is available immediately after update, gated by `OMG_THEMES_ENABLED`.
577
+
578
+ ### Upgrading from OMG v1.x to v2.0
579
+
580
+ v2.0 is backward-compatible. All v1.x commands, agents, and hooks remain intact.
581
+
582
+ New in v2.0:
583
+
584
+ 1. **Multi-CLI support** — install additional CLI tools and run `/OMG:setup` to configure them.
585
+
586
+ 2. **Memory server** — start `python3 runtime/mcp_memory_server.py` to enable cross-CLI memory sharing.
587
+
588
+ 3. **Setup wizard** — enable with `OMG_SETUP_ENABLED=1`, then run `/OMG:setup` for guided configuration.
589
+
590
+ 4. **Python 3.10+ required** — upgrade if you're on an older Python version.