@trac3r/oh-my-god 2.2.11
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.
- package/CHANGELOG.md +188 -0
- package/INSTALL-VERIFICATION-INDEX.md +51 -0
- package/LICENSE +21 -0
- package/OMG-setup.sh +2549 -0
- package/QUICK-REFERENCE.md +58 -0
- package/README.md +207 -0
- package/agents/__init__.py +1 -0
- package/agents/__pycache__/model_roles.cpython-313.pyc +0 -0
- package/agents/_model_roles.yaml +26 -0
- package/agents/designer.md +67 -0
- package/agents/explore.md +60 -0
- package/agents/model_roles.py +196 -0
- package/agents/omg-api-builder.md +23 -0
- package/agents/omg-architect-mode.md +41 -0
- package/agents/omg-architect.md +13 -0
- package/agents/omg-backend-engineer.md +41 -0
- package/agents/omg-critic.md +16 -0
- package/agents/omg-database-engineer.md +41 -0
- package/agents/omg-escalation-router.md +17 -0
- package/agents/omg-executor.md +12 -0
- package/agents/omg-frontend-designer.md +41 -0
- package/agents/omg-implement-mode.md +49 -0
- package/agents/omg-infra-engineer.md +41 -0
- package/agents/omg-qa-tester.md +16 -0
- package/agents/omg-research-mode.md +41 -0
- package/agents/omg-security-auditor.md +41 -0
- package/agents/omg-testing-engineer.md +41 -0
- package/agents/plan.md +80 -0
- package/agents/quick_task.md +64 -0
- package/agents/reviewer.md +83 -0
- package/agents/task.md +71 -0
- package/bin/omg +41 -0
- package/commands/OMG:ai-commit.md +113 -0
- package/commands/OMG:api-twin.md +22 -0
- package/commands/OMG:arch.md +313 -0
- package/commands/OMG:browser.md +29 -0
- package/commands/OMG:ccg.md +22 -0
- package/commands/OMG:compat.md +57 -0
- package/commands/OMG:cost.md +181 -0
- package/commands/OMG:crazy.md +125 -0
- package/commands/OMG:create-agent.md +183 -0
- package/commands/OMG:deep-plan.md +18 -0
- package/commands/OMG:deps.md +248 -0
- package/commands/OMG:diagnose-plugins.md +33 -0
- package/commands/OMG:doctor.md +37 -0
- package/commands/OMG:domain-init.md +11 -0
- package/commands/OMG:escalate.md +52 -0
- package/commands/OMG:forge.md +103 -0
- package/commands/OMG:health-check.md +48 -0
- package/commands/OMG:init.md +134 -0
- package/commands/OMG:issue.md +56 -0
- package/commands/OMG:mode.md +44 -0
- package/commands/OMG:playwright.md +17 -0
- package/commands/OMG:preflight.md +26 -0
- package/commands/OMG:preset.md +49 -0
- package/commands/OMG:profile-review.md +58 -0
- package/commands/OMG:project-init.md +11 -0
- package/commands/OMG:ralph-start.md +43 -0
- package/commands/OMG:ralph-stop.md +23 -0
- package/commands/OMG:security-check.md +28 -0
- package/commands/OMG:session-branch.md +101 -0
- package/commands/OMG:session-fork.md +57 -0
- package/commands/OMG:session-merge.md +138 -0
- package/commands/OMG:setup.md +82 -0
- package/commands/OMG:ship.md +18 -0
- package/commands/OMG:stats.md +225 -0
- package/commands/OMG:teams.md +54 -0
- package/commands/OMG:theme.md +44 -0
- package/commands/OMG:validate.md +59 -0
- package/commands/__init__.py +1 -0
- package/docs/command-surface.md +55 -0
- package/docs/install/claude-code.md +53 -0
- package/docs/install/codex.md +45 -0
- package/docs/install/gemini.md +43 -0
- package/docs/install/github-action.md +81 -0
- package/docs/install/github-app-required-checks.md +107 -0
- package/docs/install/github-app.md +161 -0
- package/docs/install/kimi.md +43 -0
- package/docs/install/opencode.md +38 -0
- package/docs/proof.md +182 -0
- package/hooks/__init__.py +0 -0
- package/hooks/__pycache__/__init__.cpython-313.pyc +0 -0
- package/hooks/__pycache__/_agent_registry.cpython-313.pyc +0 -0
- package/hooks/__pycache__/_analytics.cpython-313.pyc +0 -0
- package/hooks/__pycache__/_budget.cpython-313.pyc +0 -0
- package/hooks/__pycache__/_common.cpython-313.pyc +0 -0
- package/hooks/__pycache__/_compression_optimizer.cpython-313.pyc +0 -0
- package/hooks/__pycache__/_cost_ledger.cpython-313.pyc +0 -0
- package/hooks/__pycache__/_learnings.cpython-313.pyc +0 -0
- package/hooks/__pycache__/_memory.cpython-313.pyc +0 -0
- package/hooks/__pycache__/_post_write.cpython-313.pyc +0 -0
- package/hooks/__pycache__/_protected_context.cpython-313.pyc +0 -0
- package/hooks/__pycache__/_token_counter.cpython-313.pyc +0 -0
- package/hooks/__pycache__/branch_manager.cpython-313.pyc +0 -0
- package/hooks/__pycache__/budget_governor.cpython-313.pyc +0 -0
- package/hooks/__pycache__/circuit-breaker.cpython-313.pyc +0 -0
- package/hooks/__pycache__/compression_feedback.cpython-313.pyc +0 -0
- package/hooks/__pycache__/config-guard.cpython-313.pyc +0 -0
- package/hooks/__pycache__/context_pressure.cpython-313.pyc +0 -0
- package/hooks/__pycache__/credential_store.cpython-313.pyc +0 -0
- package/hooks/__pycache__/fetch-rate-limits.cpython-313.pyc +0 -0
- package/hooks/__pycache__/firewall.cpython-313.pyc +0 -0
- package/hooks/__pycache__/hashline-formatter-bridge.cpython-313.pyc +0 -0
- package/hooks/__pycache__/hashline-injector.cpython-313.pyc +0 -0
- package/hooks/__pycache__/hashline-validator.cpython-313.pyc +0 -0
- package/hooks/__pycache__/idle-detector.cpython-313.pyc +0 -0
- package/hooks/__pycache__/instructions-loaded.cpython-313.pyc +0 -0
- package/hooks/__pycache__/intentgate-keyword-detector.cpython-313.pyc +0 -0
- package/hooks/__pycache__/magic-keyword-router.cpython-313.pyc +0 -0
- package/hooks/__pycache__/policy_engine.cpython-313.pyc +0 -0
- package/hooks/__pycache__/post-tool-failure.cpython-313.pyc +0 -0
- package/hooks/__pycache__/post-write.cpython-313.pyc +0 -0
- package/hooks/__pycache__/post_write.cpython-313.pyc +0 -0
- package/hooks/__pycache__/pre-compact.cpython-313.pyc +0 -0
- package/hooks/__pycache__/pre-tool-inject.cpython-313.pyc +0 -0
- package/hooks/__pycache__/prompt-enhancer.cpython-313.pyc +0 -0
- package/hooks/__pycache__/quality-runner.cpython-313.pyc +0 -0
- package/hooks/__pycache__/query.cpython-313.pyc +0 -0
- package/hooks/__pycache__/secret-guard.cpython-313.pyc +0 -0
- package/hooks/__pycache__/secret_audit.cpython-313.pyc +0 -0
- package/hooks/__pycache__/security_validators.cpython-313.pyc +0 -0
- package/hooks/__pycache__/session-end-capture.cpython-313.pyc +0 -0
- package/hooks/__pycache__/session-start.cpython-313.pyc +0 -0
- package/hooks/__pycache__/setup_wizard.cpython-313.pyc +0 -0
- package/hooks/__pycache__/shadow_manager.cpython-313.pyc +0 -0
- package/hooks/__pycache__/state_migration.cpython-313.pyc +0 -0
- package/hooks/__pycache__/stop-gate.cpython-313.pyc +0 -0
- package/hooks/__pycache__/stop_dispatcher.cpython-313.pyc +0 -0
- package/hooks/__pycache__/tdd-gate.cpython-313.pyc +0 -0
- package/hooks/__pycache__/terms-guard.cpython-313.pyc +0 -0
- package/hooks/__pycache__/test-validator.cpython-313.pyc +0 -0
- package/hooks/__pycache__/test_generator_hook.cpython-313.pyc +0 -0
- package/hooks/__pycache__/todo-state-tracker.cpython-313.pyc +0 -0
- package/hooks/__pycache__/tool-ledger.cpython-313.pyc +0 -0
- package/hooks/__pycache__/trust_review.cpython-313.pyc +0 -0
- package/hooks/__pycache__/user-prompt-submit.cpython-313.pyc +0 -0
- package/hooks/_agent_registry.py +481 -0
- package/hooks/_analytics.py +291 -0
- package/hooks/_budget.py +31 -0
- package/hooks/_common.py +761 -0
- package/hooks/_compression_optimizer.py +119 -0
- package/hooks/_cost_ledger.py +176 -0
- package/hooks/_learnings.py +126 -0
- package/hooks/_memory.py +103 -0
- package/hooks/_post_write.py +46 -0
- package/hooks/_protected_context.py +150 -0
- package/hooks/_token_counter.py +221 -0
- package/hooks/branch_manager.py +255 -0
- package/hooks/budget_governor.py +326 -0
- package/hooks/circuit-breaker.py +270 -0
- package/hooks/compression_feedback.py +254 -0
- package/hooks/config-guard.py +193 -0
- package/hooks/context_pressure.py +119 -0
- package/hooks/credential_store.py +970 -0
- package/hooks/fetch-rate-limits.py +212 -0
- package/hooks/firewall.py +323 -0
- package/hooks/hashline-formatter-bridge.py +224 -0
- package/hooks/hashline-injector.py +273 -0
- package/hooks/hashline-validator.py +216 -0
- package/hooks/idle-detector.py +97 -0
- package/hooks/instructions-loaded.py +26 -0
- package/hooks/intentgate-keyword-detector.py +200 -0
- package/hooks/magic-keyword-router.py +195 -0
- package/hooks/policy_engine.py +767 -0
- package/hooks/post-tool-failure.py +19 -0
- package/hooks/post-write.py +233 -0
- package/hooks/pre-compact.py +470 -0
- package/hooks/pre-tool-inject.py +98 -0
- package/hooks/prompt-enhancer.py +879 -0
- package/hooks/quality-runner.py +191 -0
- package/hooks/query.py +512 -0
- package/hooks/secret-guard.py +120 -0
- package/hooks/secret_audit.py +144 -0
- package/hooks/security_validators.py +93 -0
- package/hooks/session-end-capture.py +505 -0
- package/hooks/session-start.py +261 -0
- package/hooks/setup_wizard.py +1101 -0
- package/hooks/shadow_manager.py +476 -0
- package/hooks/state_migration.py +228 -0
- package/hooks/stop-gate.py +7 -0
- package/hooks/stop_dispatcher.py +1259 -0
- package/hooks/tdd-gate.py +10 -0
- package/hooks/terms-guard.py +98 -0
- package/hooks/test-validator.py +462 -0
- package/hooks/test_generator_hook.py +123 -0
- package/hooks/todo-state-tracker.py +114 -0
- package/hooks/tool-ledger.py +165 -0
- package/hooks/trust_review.py +662 -0
- package/hooks/user-prompt-submit.py +12 -0
- package/hud/omg-hud.mjs +1571 -0
- package/lab/__init__.py +1 -0
- package/lab/__pycache__/__init__.cpython-313.pyc +0 -0
- package/lab/__pycache__/axolotl_adapter.cpython-313.pyc +0 -0
- package/lab/__pycache__/forge_runner.cpython-313.pyc +0 -0
- package/lab/__pycache__/gazebo_adapter.cpython-313.pyc +0 -0
- package/lab/__pycache__/isaac_gym_adapter.cpython-313.pyc +0 -0
- package/lab/__pycache__/mock_isaac_env.cpython-313.pyc +0 -0
- package/lab/__pycache__/pipeline.cpython-313.pyc +0 -0
- package/lab/__pycache__/policies.cpython-313.pyc +0 -0
- package/lab/__pycache__/pybullet_adapter.cpython-313.pyc +0 -0
- package/lab/axolotl_adapter.py +531 -0
- package/lab/forge_runner.py +103 -0
- package/lab/gazebo_adapter.py +168 -0
- package/lab/isaac_gym_adapter.py +190 -0
- package/lab/mock_isaac_env.py +47 -0
- package/lab/pipeline.py +712 -0
- package/lab/policies.py +52 -0
- package/lab/pybullet_adapter.py +192 -0
- package/package.json +61 -0
- package/plugins/README.md +78 -0
- package/plugins/__init__.py +1 -0
- package/plugins/__pycache__/__init__.cpython-313.pyc +0 -0
- package/plugins/advanced/commands/OMG-code-review.md +114 -0
- package/plugins/advanced/commands/OMG-deep-plan.md +266 -0
- package/plugins/advanced/commands/OMG-handoff.md +115 -0
- package/plugins/advanced/commands/OMG-learn.md +110 -0
- package/plugins/advanced/commands/OMG-maintainer.md +31 -0
- package/plugins/advanced/commands/OMG-ralph-start.md +43 -0
- package/plugins/advanced/commands/OMG-ralph-stop.md +23 -0
- package/plugins/advanced/commands/OMG-security-review.md +16 -0
- package/plugins/advanced/commands/OMG-sequential-thinking.md +20 -0
- package/plugins/advanced/commands/OMG-ship.md +46 -0
- package/plugins/advanced/commands/OMG:code-review.md +114 -0
- package/plugins/advanced/commands/OMG:deep-plan.md +266 -0
- package/plugins/advanced/commands/OMG:handoff.md +115 -0
- package/plugins/advanced/commands/OMG:learn.md +110 -0
- package/plugins/advanced/commands/OMG:maintainer.md +31 -0
- package/plugins/advanced/commands/OMG:ralph-start.md +43 -0
- package/plugins/advanced/commands/OMG:ralph-stop.md +23 -0
- package/plugins/advanced/commands/OMG:security-review.md +16 -0
- package/plugins/advanced/commands/OMG:sequential-thinking.md +20 -0
- package/plugins/advanced/commands/OMG:ship.md +46 -0
- package/plugins/advanced/plugin.json +104 -0
- package/plugins/core/plugin.json +204 -0
- package/plugins/dephealth/__init__.py +0 -0
- package/plugins/dephealth/__pycache__/__init__.cpython-313.pyc +0 -0
- package/plugins/dephealth/__pycache__/cve_scanner.cpython-313.pyc +0 -0
- package/plugins/dephealth/__pycache__/license_checker.cpython-313.pyc +0 -0
- package/plugins/dephealth/__pycache__/manifest_detector.cpython-313.pyc +0 -0
- package/plugins/dephealth/__pycache__/vuln_analyzer.cpython-313.pyc +0 -0
- package/plugins/dephealth/cve_scanner.py +279 -0
- package/plugins/dephealth/license_checker.py +135 -0
- package/plugins/dephealth/manifest_detector.py +423 -0
- package/plugins/dephealth/vuln_analyzer.py +176 -0
- package/plugins/testgen/__init__.py +0 -0
- package/plugins/testgen/__pycache__/__init__.cpython-313.pyc +0 -0
- package/plugins/testgen/__pycache__/codamosa_engine.cpython-313.pyc +0 -0
- package/plugins/testgen/__pycache__/edge_case_synthesizer.cpython-313.pyc +0 -0
- package/plugins/testgen/__pycache__/framework_detector.cpython-313.pyc +0 -0
- package/plugins/testgen/__pycache__/skeleton_generator.cpython-313.pyc +0 -0
- package/plugins/testgen/codamosa_engine.py +402 -0
- package/plugins/testgen/edge_case_synthesizer.py +184 -0
- package/plugins/testgen/framework_detector.py +271 -0
- package/plugins/testgen/skeleton_generator.py +219 -0
- package/plugins/viz/__init__.py +0 -0
- package/plugins/viz/__pycache__/__init__.cpython-313.pyc +0 -0
- package/plugins/viz/__pycache__/ast_parser.cpython-313.pyc +0 -0
- package/plugins/viz/__pycache__/diagram_generator.cpython-313.pyc +0 -0
- package/plugins/viz/__pycache__/graph_builder.cpython-313.pyc +0 -0
- package/plugins/viz/__pycache__/native_parsers.cpython-313.pyc +0 -0
- package/plugins/viz/__pycache__/regex_parser.cpython-313.pyc +0 -0
- package/plugins/viz/ast_parser.py +139 -0
- package/plugins/viz/diagram_generator.py +192 -0
- package/plugins/viz/graph_builder.py +444 -0
- package/plugins/viz/native_parsers.py +259 -0
- package/plugins/viz/regex_parser.py +112 -0
- package/pyproject.toml +143 -0
- package/registry/__init__.py +1 -0
- package/registry/__pycache__/__init__.cpython-313.pyc +0 -0
- package/registry/__pycache__/approval_artifact.cpython-313.pyc +0 -0
- package/registry/__pycache__/verify_artifact.cpython-313.pyc +0 -0
- package/registry/approval_artifact.py +236 -0
- package/registry/bundles/algorithms.yaml +45 -0
- package/registry/bundles/api-twin.yaml +48 -0
- package/registry/bundles/ast-pack.yaml +80 -0
- package/registry/bundles/claim-judge.yaml +49 -0
- package/registry/bundles/control-plane.yaml +192 -0
- package/registry/bundles/data-lineage.yaml +47 -0
- package/registry/bundles/delta-classifier.yaml +47 -0
- package/registry/bundles/eval-gate.yaml +47 -0
- package/registry/bundles/hash-edit.yaml +73 -0
- package/registry/bundles/health.yaml +45 -0
- package/registry/bundles/hook-governor.yaml +101 -0
- package/registry/bundles/incident-replay.yaml +47 -0
- package/registry/bundles/lsp-pack.yaml +80 -0
- package/registry/bundles/mcp-fabric.yaml +53 -0
- package/registry/bundles/plan-council.yaml +56 -0
- package/registry/bundles/preflight.yaml +48 -0
- package/registry/bundles/proof-gate.yaml +49 -0
- package/registry/bundles/remote-supervisor.yaml +49 -0
- package/registry/bundles/robotics.yaml +45 -0
- package/registry/bundles/secure-worktree-pipeline.yaml +69 -0
- package/registry/bundles/security-check.yaml +50 -0
- package/registry/bundles/terminal-lane.yaml +61 -0
- package/registry/bundles/test-intent-lock.yaml +49 -0
- package/registry/bundles/tracebank.yaml +47 -0
- package/registry/bundles/vision.yaml +45 -0
- package/registry/omg-capability.schema.json +378 -0
- package/registry/policy-packs/airgapped.lock.json +11 -0
- package/registry/policy-packs/airgapped.signature.json +10 -0
- package/registry/policy-packs/airgapped.yaml +16 -0
- package/registry/policy-packs/fintech.lock.json +11 -0
- package/registry/policy-packs/fintech.signature.json +10 -0
- package/registry/policy-packs/fintech.yaml +15 -0
- package/registry/policy-packs/locked-prod.lock.json +11 -0
- package/registry/policy-packs/locked-prod.signature.json +10 -0
- package/registry/policy-packs/locked-prod.yaml +18 -0
- package/registry/trusted_signers.json +44 -0
- package/registry/verify_artifact.py +493 -0
- package/runtime/__init__.py +36 -0
- package/runtime/__pycache__/__init__.cpython-313.pyc +0 -0
- package/runtime/__pycache__/adoption.cpython-313.pyc +0 -0
- package/runtime/__pycache__/agent_selector.cpython-313.pyc +0 -0
- package/runtime/__pycache__/api_twin.cpython-313.pyc +0 -0
- package/runtime/__pycache__/architecture_signal.cpython-313.pyc +0 -0
- package/runtime/__pycache__/artifact_parsers.cpython-313.pyc +0 -0
- package/runtime/__pycache__/asset_loader.cpython-313.pyc +0 -0
- package/runtime/__pycache__/background_verification.cpython-313.pyc +0 -0
- package/runtime/__pycache__/budget_envelopes.cpython-313.pyc +0 -0
- package/runtime/__pycache__/business_workflow.cpython-313.pyc +0 -0
- package/runtime/__pycache__/canonical_surface.cpython-313.pyc +0 -0
- package/runtime/__pycache__/canonical_taxonomy.cpython-313.pyc +0 -0
- package/runtime/__pycache__/claim_judge.cpython-313.pyc +0 -0
- package/runtime/__pycache__/cli_provider.cpython-313.pyc +0 -0
- package/runtime/__pycache__/compat.cpython-313.pyc +0 -0
- package/runtime/__pycache__/complexity_scorer.cpython-313.pyc +0 -0
- package/runtime/__pycache__/compliance_governor.cpython-313.pyc +0 -0
- package/runtime/__pycache__/config_transaction.cpython-313.pyc +0 -0
- package/runtime/__pycache__/context_compiler.cpython-313.pyc +0 -0
- package/runtime/__pycache__/context_engine.cpython-313.pyc +0 -0
- package/runtime/__pycache__/context_limits.cpython-313.pyc +0 -0
- package/runtime/__pycache__/contract_compiler.cpython-313.pyc +0 -0
- package/runtime/__pycache__/custom_agent_loader.cpython-313.pyc +0 -0
- package/runtime/__pycache__/data_lineage.cpython-313.pyc +0 -0
- package/runtime/__pycache__/defense_state.cpython-313.pyc +0 -0
- package/runtime/__pycache__/delta_classifier.cpython-313.pyc +0 -0
- package/runtime/__pycache__/dispatcher.cpython-313.pyc +0 -0
- package/runtime/__pycache__/doc_generator.cpython-313.pyc +0 -0
- package/runtime/__pycache__/domain_packs.cpython-313.pyc +0 -0
- package/runtime/__pycache__/ecosystem.cpython-313.pyc +0 -0
- package/runtime/__pycache__/equalizer.cpython-313.pyc +0 -0
- package/runtime/__pycache__/eval_gate.cpython-313.pyc +0 -0
- package/runtime/__pycache__/evidence_narrator.cpython-313.pyc +0 -0
- package/runtime/__pycache__/evidence_query.cpython-313.pyc +0 -0
- package/runtime/__pycache__/evidence_registry.cpython-313.pyc +0 -0
- package/runtime/__pycache__/evidence_requirements.cpython-313.pyc +0 -0
- package/runtime/__pycache__/exec_kernel.cpython-313.pyc +0 -0
- package/runtime/__pycache__/explainer_formatter.cpython-313.pyc +0 -0
- package/runtime/__pycache__/feature_registry.cpython-313.pyc +0 -0
- package/runtime/__pycache__/forge_agents.cpython-313.pyc +0 -0
- package/runtime/__pycache__/forge_contracts.cpython-313.pyc +0 -0
- package/runtime/__pycache__/forge_domains.cpython-313.pyc +0 -0
- package/runtime/__pycache__/forge_run_id.cpython-313.pyc +0 -0
- package/runtime/__pycache__/github_integration.cpython-313.pyc +0 -0
- package/runtime/__pycache__/github_review_bot.cpython-313.pyc +0 -0
- package/runtime/__pycache__/github_review_contract.cpython-313.pyc +0 -0
- package/runtime/__pycache__/github_review_formatter.cpython-313.pyc +0 -0
- package/runtime/__pycache__/guide_assert.cpython-313.pyc +0 -0
- package/runtime/__pycache__/hook_governor.cpython-313.pyc +0 -0
- package/runtime/__pycache__/host_parity.cpython-313.pyc +0 -0
- package/runtime/__pycache__/incident_replay.cpython-313.pyc +0 -0
- package/runtime/__pycache__/install_planner.cpython-313.pyc +0 -0
- package/runtime/__pycache__/interaction_journal.cpython-313.pyc +0 -0
- package/runtime/__pycache__/issue_surface.cpython-313.pyc +0 -0
- package/runtime/__pycache__/legacy_compat.cpython-313.pyc +0 -0
- package/runtime/__pycache__/mcp_config_writers.cpython-313.pyc +0 -0
- package/runtime/__pycache__/mcp_lifecycle.cpython-313.pyc +0 -0
- package/runtime/__pycache__/mcp_memory_server.cpython-313.pyc +0 -0
- package/runtime/__pycache__/memory_store.cpython-313.pyc +0 -0
- package/runtime/__pycache__/merge_writer.cpython-313.pyc +0 -0
- package/runtime/__pycache__/music_omr_testbed.cpython-313.pyc +0 -0
- package/runtime/__pycache__/mutation_gate.cpython-313.pyc +0 -0
- package/runtime/__pycache__/omc_compat.cpython-313.pyc +0 -0
- package/runtime/__pycache__/omg_browser_cli.cpython-313.pyc +0 -0
- package/runtime/__pycache__/omg_mcp_server.cpython-313.pyc +0 -0
- package/runtime/__pycache__/opus_plan.cpython-313.pyc +0 -0
- package/runtime/__pycache__/playwright_adapter.cpython-313.pyc +0 -0
- package/runtime/__pycache__/playwright_pack.cpython-313.pyc +0 -0
- package/runtime/__pycache__/plugin_diagnostics.cpython-313.pyc +0 -0
- package/runtime/__pycache__/plugin_interop.cpython-313.pyc +0 -0
- package/runtime/__pycache__/policy_pack_loader.cpython-313.pyc +0 -0
- package/runtime/__pycache__/preflight.cpython-313.pyc +0 -0
- package/runtime/__pycache__/profile_io.cpython-313.pyc +0 -0
- package/runtime/__pycache__/prompt_compiler.cpython-313.pyc +0 -0
- package/runtime/__pycache__/proof_chain.cpython-313.pyc +0 -0
- package/runtime/__pycache__/proof_gate.cpython-313.pyc +0 -0
- package/runtime/__pycache__/provider_parity_eval.cpython-313.pyc +0 -0
- package/runtime/__pycache__/release_artifact_audit.cpython-313.pyc +0 -0
- package/runtime/__pycache__/release_run_coordinator.cpython-313.pyc +0 -0
- package/runtime/__pycache__/release_surface_compiler.cpython-313.pyc +0 -0
- package/runtime/__pycache__/release_surface_registry.cpython-313.pyc +0 -0
- package/runtime/__pycache__/release_surfaces.cpython-313.pyc +0 -0
- package/runtime/__pycache__/remote_supervisor.cpython-313.pyc +0 -0
- package/runtime/__pycache__/repro_pack.cpython-313.pyc +0 -0
- package/runtime/__pycache__/rollback_manifest.cpython-313.pyc +0 -0
- package/runtime/__pycache__/router_critics.cpython-313.pyc +0 -0
- package/runtime/__pycache__/router_executor.cpython-313.pyc +0 -0
- package/runtime/__pycache__/router_selector.cpython-313.pyc +0 -0
- package/runtime/__pycache__/runtime_contracts.cpython-313.pyc +0 -0
- package/runtime/__pycache__/runtime_profile.cpython-313.pyc +0 -0
- package/runtime/__pycache__/security_check.cpython-313.pyc +0 -0
- package/runtime/__pycache__/session_health.cpython-313.pyc +0 -0
- package/runtime/__pycache__/skill_evolution.cpython-313.pyc +0 -0
- package/runtime/__pycache__/skill_registry.cpython-313.pyc +0 -0
- package/runtime/__pycache__/subagent_dispatcher.cpython-313.pyc +0 -0
- package/runtime/__pycache__/subscription_tiers.cpython-313.pyc +0 -0
- package/runtime/__pycache__/team_router.cpython-313.pyc +0 -0
- package/runtime/__pycache__/test_intent_lock.cpython-313-pytest-9.0.2.pyc +0 -0
- package/runtime/__pycache__/test_intent_lock.cpython-313.pyc +0 -0
- package/runtime/__pycache__/tmux_session_manager.cpython-313.pyc +0 -0
- package/runtime/__pycache__/tool_fabric.cpython-313.pyc +0 -0
- package/runtime/__pycache__/tool_plan_gate.cpython-313.pyc +0 -0
- package/runtime/__pycache__/tool_relevance.cpython-313.pyc +0 -0
- package/runtime/__pycache__/tracebank.cpython-313.pyc +0 -0
- package/runtime/__pycache__/untrusted_content.cpython-313.pyc +0 -0
- package/runtime/__pycache__/validate.cpython-313.pyc +0 -0
- package/runtime/__pycache__/verdict_schema.cpython-313.pyc +0 -0
- package/runtime/__pycache__/verification_controller.cpython-313.pyc +0 -0
- package/runtime/__pycache__/verification_loop.cpython-313.pyc +0 -0
- package/runtime/__pycache__/vision_artifacts.cpython-313.pyc +0 -0
- package/runtime/__pycache__/vision_cache.cpython-313.pyc +0 -0
- package/runtime/__pycache__/vision_jobs.cpython-313.pyc +0 -0
- package/runtime/__pycache__/worker_watchdog.cpython-313.pyc +0 -0
- package/runtime/adapters/__init__.py +13 -0
- package/runtime/adapters/__pycache__/__init__.cpython-313.pyc +0 -0
- package/runtime/adapters/__pycache__/claude.cpython-313.pyc +0 -0
- package/runtime/adapters/__pycache__/gpt.cpython-313.pyc +0 -0
- package/runtime/adapters/__pycache__/local.cpython-313.pyc +0 -0
- package/runtime/adapters/claude.py +63 -0
- package/runtime/adapters/gpt.py +56 -0
- package/runtime/adapters/local.py +56 -0
- package/runtime/adoption.py +280 -0
- package/runtime/api_twin.py +450 -0
- package/runtime/architecture_signal.py +226 -0
- package/runtime/artifact_parsers.py +161 -0
- package/runtime/asset_loader.py +62 -0
- package/runtime/background_verification.py +178 -0
- package/runtime/budget_envelopes.py +398 -0
- package/runtime/business_workflow.py +234 -0
- package/runtime/canonical_surface.py +53 -0
- package/runtime/canonical_taxonomy.py +27 -0
- package/runtime/claim_judge.py +648 -0
- package/runtime/cli_provider.py +105 -0
- package/runtime/compat.py +2222 -0
- package/runtime/complexity_scorer.py +148 -0
- package/runtime/compliance_governor.py +505 -0
- package/runtime/config_transaction.py +304 -0
- package/runtime/context_compiler.py +131 -0
- package/runtime/context_engine.py +708 -0
- package/runtime/context_limits.py +363 -0
- package/runtime/contract_compiler.py +3664 -0
- package/runtime/custom_agent_loader.py +366 -0
- package/runtime/data_lineage.py +244 -0
- package/runtime/defense_state.py +261 -0
- package/runtime/delta_classifier.py +231 -0
- package/runtime/dispatcher.py +47 -0
- package/runtime/doc_generator.py +319 -0
- package/runtime/domain_packs.py +75 -0
- package/runtime/ecosystem.py +371 -0
- package/runtime/equalizer.py +268 -0
- package/runtime/eval_gate.py +96 -0
- package/runtime/evidence_narrator.py +147 -0
- package/runtime/evidence_query.py +303 -0
- package/runtime/evidence_registry.py +16 -0
- package/runtime/evidence_requirements.py +157 -0
- package/runtime/exec_kernel.py +267 -0
- package/runtime/explainer_formatter.py +82 -0
- package/runtime/feature_registry.py +109 -0
- package/runtime/forge_agents.py +915 -0
- package/runtime/forge_contracts.py +519 -0
- package/runtime/forge_domains.py +68 -0
- package/runtime/forge_run_id.py +86 -0
- package/runtime/guide_assert.py +135 -0
- package/runtime/hook_governor.py +156 -0
- package/runtime/host_parity.py +373 -0
- package/runtime/incident_replay.py +310 -0
- package/runtime/install_planner.py +617 -0
- package/runtime/interaction_journal.py +566 -0
- package/runtime/issue_surface.py +472 -0
- package/runtime/legacy_compat.py +7 -0
- package/runtime/mcp_config_writers.py +360 -0
- package/runtime/mcp_lifecycle.py +175 -0
- package/runtime/mcp_memory_server.py +220 -0
- package/runtime/memory_parsers/__init__.py +0 -0
- package/runtime/memory_parsers/__pycache__/__init__.cpython-313.pyc +0 -0
- package/runtime/memory_parsers/__pycache__/chatgpt_parser.cpython-313.pyc +0 -0
- package/runtime/memory_parsers/__pycache__/claude_import.cpython-313.pyc +0 -0
- package/runtime/memory_parsers/__pycache__/export.cpython-313.pyc +0 -0
- package/runtime/memory_parsers/__pycache__/gemini_import.cpython-313.pyc +0 -0
- package/runtime/memory_parsers/__pycache__/kimi_import.cpython-313.pyc +0 -0
- package/runtime/memory_parsers/chatgpt_parser.py +257 -0
- package/runtime/memory_parsers/claude_import.py +107 -0
- package/runtime/memory_parsers/export.py +97 -0
- package/runtime/memory_parsers/gemini_import.py +91 -0
- package/runtime/memory_parsers/kimi_import.py +91 -0
- package/runtime/memory_store.py +1182 -0
- package/runtime/merge_writer.py +445 -0
- package/runtime/music_omr_testbed.py +336 -0
- package/runtime/mutation_gate.py +320 -0
- package/runtime/omc_compat.py +7 -0
- package/runtime/omg_browser_cli.py +95 -0
- package/runtime/omg_compat_contract_snapshot.json +936 -0
- package/runtime/omg_contract_snapshot.json +936 -0
- package/runtime/omg_mcp_server.py +306 -0
- package/runtime/playwright_adapter.py +39 -0
- package/runtime/playwright_pack.py +253 -0
- package/runtime/plugin_diagnostics.py +308 -0
- package/runtime/plugin_interop.py +1060 -0
- package/runtime/policy_pack_loader.py +147 -0
- package/runtime/preflight.py +135 -0
- package/runtime/profile_io.py +328 -0
- package/runtime/proof_chain.py +472 -0
- package/runtime/proof_gate.py +442 -0
- package/runtime/provider_parity_eval.py +109 -0
- package/runtime/providers/__init__.py +0 -0
- package/runtime/providers/__pycache__/__init__.cpython-313.pyc +0 -0
- package/runtime/providers/__pycache__/codex_provider.cpython-313.pyc +0 -0
- package/runtime/providers/__pycache__/gemini_provider.cpython-313.pyc +0 -0
- package/runtime/providers/__pycache__/kimi_provider.cpython-313.pyc +0 -0
- package/runtime/providers/__pycache__/opencode_provider.cpython-313.pyc +0 -0
- package/runtime/providers/codex_provider.py +129 -0
- package/runtime/providers/gemini_provider.py +143 -0
- package/runtime/providers/kimi_provider.py +167 -0
- package/runtime/providers/opencode_provider.py +99 -0
- package/runtime/release_artifact_audit.py +556 -0
- package/runtime/release_run_coordinator.py +574 -0
- package/runtime/release_surface_compiler.py +643 -0
- package/runtime/release_surface_registry.py +283 -0
- package/runtime/release_surfaces.py +320 -0
- package/runtime/remote_supervisor.py +79 -0
- package/runtime/repro_pack.py +398 -0
- package/runtime/rollback_manifest.py +143 -0
- package/runtime/router_critics.py +229 -0
- package/runtime/router_executor.py +142 -0
- package/runtime/router_selector.py +99 -0
- package/runtime/runtime_contracts.py +292 -0
- package/runtime/runtime_profile.py +133 -0
- package/runtime/security_check.py +1094 -0
- package/runtime/session_health.py +546 -0
- package/runtime/skill_evolution.py +221 -0
- package/runtime/skill_registry.py +53 -0
- package/runtime/subagent_dispatcher.py +604 -0
- package/runtime/subscription_tiers.py +258 -0
- package/runtime/team_router.py +1399 -0
- package/runtime/test_intent_lock.py +543 -0
- package/runtime/tmux_session_manager.py +172 -0
- package/runtime/tool_fabric.py +570 -0
- package/runtime/tool_plan_gate.py +460 -0
- package/runtime/tracebank.py +125 -0
- package/runtime/untrusted_content.py +360 -0
- package/runtime/validate.py +293 -0
- package/runtime/verdict_schema.py +198 -0
- package/runtime/verification_controller.py +235 -0
- package/runtime/verification_loop.py +73 -0
- package/runtime/vision_artifacts.py +31 -0
- package/runtime/vision_cache.py +38 -0
- package/runtime/vision_jobs.py +92 -0
- package/runtime/worker_watchdog.py +526 -0
- package/scripts/__pycache__/audit-published-artifact.cpython-313.pyc +0 -0
- package/scripts/__pycache__/check-doc-parity.cpython-313.pyc +0 -0
- package/scripts/__pycache__/check-omg-standalone-clean.cpython-313.pyc +0 -0
- package/scripts/__pycache__/github_review_helpers.cpython-313.pyc +0 -0
- package/scripts/__pycache__/omg.cpython-313.pyc +0 -0
- package/scripts/__pycache__/prepare-release-proof-fixtures.cpython-313.pyc +0 -0
- package/scripts/__pycache__/sync-release-identity.cpython-313.pyc +0 -0
- package/scripts/__pycache__/validate-release-identity.cpython-313.pyc +0 -0
- package/scripts/audit-published-artifact.py +59 -0
- package/scripts/check-omg-compat-contract-snapshot.py +137 -0
- package/scripts/check-omg-contract-snapshot.py +12 -0
- package/scripts/check-omg-public-ready.py +273 -0
- package/scripts/check-omg-standalone-clean.py +133 -0
- package/scripts/emit_host_parity.py +72 -0
- package/scripts/legacy_to_omg_migrate.py +29 -0
- package/scripts/migrate-legacy.py +464 -0
- package/scripts/omc_to_omg_migrate.py +12 -0
- package/scripts/omg.py +2962 -0
- package/scripts/pre-release-check.sh +38 -0
- package/scripts/prepare-release-proof-fixtures.py +602 -0
- package/scripts/print-canonical-version.py +80 -0
- package/scripts/settings-merge.py +289 -0
- package/scripts/sync-release-identity.py +481 -0
- package/scripts/validate-release-identity.py +632 -0
- package/scripts/verify-no-omc.sh +5 -0
- package/scripts/verify-standalone.sh +35 -0
- package/settings.json +751 -0
- package/tools/__init__.py +2 -0
- package/tools/__pycache__/__init__.cpython-313.pyc +0 -0
- package/tools/__pycache__/browser_consent.cpython-313.pyc +0 -0
- package/tools/__pycache__/browser_stealth.cpython-313.pyc +0 -0
- package/tools/__pycache__/browser_tool.cpython-313.pyc +0 -0
- package/tools/__pycache__/changelog_generator.cpython-313.pyc +0 -0
- package/tools/__pycache__/commit_splitter.cpython-313.pyc +0 -0
- package/tools/__pycache__/config_discovery.cpython-313.pyc +0 -0
- package/tools/__pycache__/config_merger.cpython-313.pyc +0 -0
- package/tools/__pycache__/dashboard_generator.cpython-313.pyc +0 -0
- package/tools/__pycache__/git_inspector.cpython-313.pyc +0 -0
- package/tools/__pycache__/lsp_client.cpython-313.pyc +0 -0
- package/tools/__pycache__/lsp_operations.cpython-313.pyc +0 -0
- package/tools/__pycache__/pr_generator.cpython-313.pyc +0 -0
- package/tools/__pycache__/python_repl.cpython-313.pyc +0 -0
- package/tools/__pycache__/python_sandbox.cpython-313.pyc +0 -0
- package/tools/__pycache__/session_snapshot.cpython-313.pyc +0 -0
- package/tools/__pycache__/ssh_manager.cpython-313.pyc +0 -0
- package/tools/__pycache__/theme_engine.cpython-313.pyc +0 -0
- package/tools/__pycache__/theme_selector.cpython-313.pyc +0 -0
- package/tools/__pycache__/web_search.cpython-313.pyc +0 -0
- package/tools/browser_consent.py +289 -0
- package/tools/browser_stealth.py +481 -0
- package/tools/browser_tool.py +448 -0
- package/tools/changelog_generator.py +347 -0
- package/tools/commit_splitter.py +749 -0
- package/tools/config_discovery.py +151 -0
- package/tools/config_merger.py +449 -0
- package/tools/dashboard_generator.py +300 -0
- package/tools/git_inspector.py +298 -0
- package/tools/lsp_client.py +275 -0
- package/tools/lsp_discovery.py +231 -0
- package/tools/lsp_operations.py +392 -0
- package/tools/pr_generator.py +404 -0
- package/tools/python_repl.py +712 -0
- package/tools/python_sandbox.py +768 -0
- package/tools/search_providers/__init__.py +77 -0
- package/tools/search_providers/__pycache__/__init__.cpython-313.pyc +0 -0
- package/tools/search_providers/__pycache__/brave.cpython-313.pyc +0 -0
- package/tools/search_providers/__pycache__/exa.cpython-313.pyc +0 -0
- package/tools/search_providers/__pycache__/jina.cpython-313.pyc +0 -0
- package/tools/search_providers/__pycache__/perplexity.cpython-313.pyc +0 -0
- package/tools/search_providers/__pycache__/synthetic.cpython-313.pyc +0 -0
- package/tools/search_providers/brave.py +115 -0
- package/tools/search_providers/exa.py +116 -0
- package/tools/search_providers/jina.py +104 -0
- package/tools/search_providers/perplexity.py +139 -0
- package/tools/search_providers/synthetic.py +74 -0
- package/tools/session_snapshot.py +851 -0
- package/tools/ssh_manager.py +912 -0
- package/tools/theme_engine.py +296 -0
- package/tools/theme_selector.py +137 -0
- package/tools/web_search.py +675 -0
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Native OMG setup and adoption flow for supported hosts"
|
|
3
|
+
allowed-tools: Read, Write, Edit, Bash(python*:*), Bash(ls:*), Bash(grep:*)
|
|
4
|
+
argument-hint: "[optional: --non-interactive, --mode omg-only|coexist, --preset safe|balanced|interop|labs|buffet|production]"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# /OMG:setup
|
|
8
|
+
|
|
9
|
+
Feature-gated: requires `OMG_SETUP_ENABLED=1` or `settings.json._omg.features.SETUP: true`.
|
|
10
|
+
|
|
11
|
+
## Overview
|
|
12
|
+
|
|
13
|
+
Native OMG setup for Claude Code, Codex, and other supported CLIs.
|
|
14
|
+
The command keeps migration logic internal and focuses the user on a small adoption flow:
|
|
15
|
+
|
|
16
|
+
1. Detect supported CLIs.
|
|
17
|
+
2. Detect overlapping ecosystems.
|
|
18
|
+
3. Recommend an adoption mode.
|
|
19
|
+
4. Apply an OMG preset.
|
|
20
|
+
5. Configure MCP and save preferences.
|
|
21
|
+
|
|
22
|
+
Setup now runs foreign-plugin discovery in `interop` and `coexist` modes, reporting compatibility findings and potential overlaps.
|
|
23
|
+
|
|
24
|
+
## Wizard Flow
|
|
25
|
+
|
|
26
|
+
```text
|
|
27
|
+
Step 1: Detect CLIs
|
|
28
|
+
- codex
|
|
29
|
+
- gemini
|
|
30
|
+
- kimi
|
|
31
|
+
|
|
32
|
+
Step 2: Detect adoption context
|
|
33
|
+
- OMC-style markers
|
|
34
|
+
- OMX-style markers
|
|
35
|
+
- Superpowers-style markers
|
|
36
|
+
|
|
37
|
+
Step 3: Choose mode
|
|
38
|
+
- OMG-only (recommended)
|
|
39
|
+
- coexist
|
|
40
|
+
|
|
41
|
+
Step 4: Choose preset
|
|
42
|
+
- safe
|
|
43
|
+
- balanced
|
|
44
|
+
- interop
|
|
45
|
+
- labs
|
|
46
|
+
- buffet
|
|
47
|
+
- production
|
|
48
|
+
|
|
49
|
+
Step 5: Configure MCP and persist preferences
|
|
50
|
+
- writes .mcp.json
|
|
51
|
+
- writes .omg/state/cli-config.yaml
|
|
52
|
+
- writes .omg/state/adoption-report.json
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## Modes
|
|
56
|
+
|
|
57
|
+
`OMG-only`
|
|
58
|
+
- Recommended default.
|
|
59
|
+
- OMG becomes the main hooks, HUD, MCP, and orchestration layer.
|
|
60
|
+
|
|
61
|
+
`coexist`
|
|
62
|
+
- Advanced mode.
|
|
63
|
+
- OMG avoids destructive overlap and keeps third-party command namespaces intact where possible.
|
|
64
|
+
|
|
65
|
+
## Output
|
|
66
|
+
|
|
67
|
+
The command emits a final summary that includes:
|
|
68
|
+
|
|
69
|
+
- CLI detection results
|
|
70
|
+
- auth status
|
|
71
|
+
- MCP configuration status
|
|
72
|
+
- selected preset
|
|
73
|
+
- selected adoption mode
|
|
74
|
+
- adoption report path
|
|
75
|
+
|
|
76
|
+
## Public Path
|
|
77
|
+
|
|
78
|
+
The public OMG journey is:
|
|
79
|
+
|
|
80
|
+
1. install for your host
|
|
81
|
+
2. run `doctor --fix`
|
|
82
|
+
3. run `/OMG:ship <goal>`
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Ship — Idea to Evidence to PR"
|
|
3
|
+
allowed-tools: Read, Grep, Glob
|
|
4
|
+
argument-hint: "[goal or optional path to .omg/idea.yml]"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# /OMG:ship
|
|
8
|
+
|
|
9
|
+
`/OMG:ship` is a compatibility path to the canonical `ship` pipeline in the advanced plugin.
|
|
10
|
+
|
|
11
|
+
Users invoke `/OMG:ship`; the runtime routes to `plugins/advanced/commands/OMG:ship.md` for execution.
|
|
12
|
+
For the full behavior specification, see `plugins/advanced/commands/OMG:ship.md`.
|
|
13
|
+
|
|
14
|
+
## Compatibility Notes
|
|
15
|
+
|
|
16
|
+
- This alias exists so users can invoke the ship pipeline from the root command surface.
|
|
17
|
+
- Runtime behavior resolves to the advanced `ship` command — same idea-to-evidence-to-PR pipeline, same artifacts.
|
|
18
|
+
- OMG uses the `ship` pipeline for canonical idea intake, execution, evidence collection, and PR-ready delivery.
|
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Display session analytics, tool usage trends, file heatmaps, and failure patterns."
|
|
3
|
+
allowed-tools: Read, Bash(python*:*), Grep
|
|
4
|
+
argument-hint: "[weekly|files|failures|dashboard]"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# /OMG:stats — Session Analytics
|
|
8
|
+
|
|
9
|
+
Display session analytics, tool usage trends, file heatmaps, and failure patterns.
|
|
10
|
+
|
|
11
|
+
## Usage
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
/OMG:stats
|
|
15
|
+
/OMG:stats weekly
|
|
16
|
+
/OMG:stats files
|
|
17
|
+
/OMG:stats failures
|
|
18
|
+
/OMG:stats dashboard
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Sub-Commands
|
|
22
|
+
|
|
23
|
+
### `/OMG:stats` (default)
|
|
24
|
+
|
|
25
|
+
Show current session summary: duration, tool calls, success rate, cost, and test runs.
|
|
26
|
+
|
|
27
|
+
```python
|
|
28
|
+
from hooks.query import get_session_summary
|
|
29
|
+
|
|
30
|
+
summary = get_session_summary(".")
|
|
31
|
+
duration_m = summary["duration"] // 60
|
|
32
|
+
duration_s = summary["duration"] % 60
|
|
33
|
+
print(f"Duration: {duration_m}m {duration_s}s")
|
|
34
|
+
print(f"Tool calls: {summary['tool_calls']}")
|
|
35
|
+
print(f"Success rate: {summary['success_rate']:.1%}")
|
|
36
|
+
print(f"Files modified: {summary['files_modified']}")
|
|
37
|
+
print(f"Tests run: {summary['tests_run']}")
|
|
38
|
+
print(f"Tokens used: {summary['tokens_used']:,}")
|
|
39
|
+
print(f"Cost: ${summary['cost_usd']:.4f}")
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### `/OMG:stats weekly`
|
|
43
|
+
|
|
44
|
+
Show last 7 days trend analysis by aggregating tool stats and escalation effectiveness.
|
|
45
|
+
|
|
46
|
+
```python
|
|
47
|
+
from hooks.query import get_tool_stats, get_escalation_effectiveness
|
|
48
|
+
|
|
49
|
+
tools = get_tool_stats(".")
|
|
50
|
+
escalations = get_escalation_effectiveness(".")
|
|
51
|
+
|
|
52
|
+
# Per-tool breakdown
|
|
53
|
+
for tool, stats in sorted(tools.items(), key=lambda x: x[1]["count"], reverse=True):
|
|
54
|
+
print(f" {tool}: {stats['count']} calls, {stats['success_rate']:.0%} success, {stats['avg_tokens']:.0f} avg tokens")
|
|
55
|
+
|
|
56
|
+
# Escalation summary
|
|
57
|
+
print(f"\nEscalations: {escalations['escalations']} total, {escalations['resolved']} resolved, {escalations['unresolved']} unresolved")
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### `/OMG:stats files`
|
|
61
|
+
|
|
62
|
+
Show file-level heatmap of the most read, written, and edited files.
|
|
63
|
+
|
|
64
|
+
```python
|
|
65
|
+
from hooks.query import get_file_heatmap
|
|
66
|
+
|
|
67
|
+
heatmap = get_file_heatmap(".")
|
|
68
|
+
|
|
69
|
+
# Sort by total interactions (reads + writes + edits)
|
|
70
|
+
ranked = sorted(
|
|
71
|
+
heatmap.items(),
|
|
72
|
+
key=lambda x: x[1]["reads"] + x[1]["writes"] + x[1]["edits"],
|
|
73
|
+
reverse=True,
|
|
74
|
+
)
|
|
75
|
+
|
|
76
|
+
print(f"{'File':<50} {'Reads':>6} {'Writes':>7} {'Edits':>6}")
|
|
77
|
+
print("-" * 73)
|
|
78
|
+
for path, counts in ranked[:20]:
|
|
79
|
+
total = counts["reads"] + counts["writes"] + counts["edits"]
|
|
80
|
+
print(f"{path:<50} {counts['reads']:>6} {counts['writes']:>7} {counts['edits']:>6}")
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
### `/OMG:stats failures`
|
|
84
|
+
|
|
85
|
+
Show top failure patterns and their resolution status.
|
|
86
|
+
|
|
87
|
+
```python
|
|
88
|
+
from hooks.query import get_failure_hotspots, get_escalation_effectiveness
|
|
89
|
+
|
|
90
|
+
hotspots = get_failure_hotspots(".")
|
|
91
|
+
escalations = get_escalation_effectiveness(".")
|
|
92
|
+
|
|
93
|
+
for pattern, details in sorted(hotspots.items(), key=lambda x: x[1]["count"], reverse=True):
|
|
94
|
+
status = "ESCALATED" if details["escalated"] else "active"
|
|
95
|
+
print(f" [{status}] {pattern}: {details['count']} failures")
|
|
96
|
+
for err in details["last_3_errors"]:
|
|
97
|
+
print(f" - {err[:100]}")
|
|
98
|
+
|
|
99
|
+
print(f"\nResolution: {escalations['resolved']}/{escalations['escalations']} escalations resolved")
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
### `/OMG:stats dashboard`
|
|
103
|
+
|
|
104
|
+
Generate a self-contained HTML dashboard at `.omg/state/dashboard.html`.
|
|
105
|
+
|
|
106
|
+
The dashboard includes:
|
|
107
|
+
- Session summary cards (duration, tool calls, cost, success rate)
|
|
108
|
+
- Tool usage bar chart (via CDN Chart.js)
|
|
109
|
+
- File heatmap table (top 20 files by interaction count)
|
|
110
|
+
- Failure pattern list with escalation status
|
|
111
|
+
|
|
112
|
+
```python
|
|
113
|
+
import json
|
|
114
|
+
import os
|
|
115
|
+
from hooks.query import (
|
|
116
|
+
get_session_summary,
|
|
117
|
+
get_tool_stats,
|
|
118
|
+
get_file_heatmap,
|
|
119
|
+
get_failure_hotspots,
|
|
120
|
+
)
|
|
121
|
+
|
|
122
|
+
summary = get_session_summary(".")
|
|
123
|
+
tools = get_tool_stats(".")
|
|
124
|
+
heatmap = get_file_heatmap(".")
|
|
125
|
+
failures = get_failure_hotspots(".")
|
|
126
|
+
|
|
127
|
+
dashboard_data = {
|
|
128
|
+
"summary": summary,
|
|
129
|
+
"tools": tools,
|
|
130
|
+
"heatmap": dict(sorted(
|
|
131
|
+
heatmap.items(),
|
|
132
|
+
key=lambda x: x[1]["reads"] + x[1]["writes"] + x[1]["edits"],
|
|
133
|
+
reverse=True,
|
|
134
|
+
)[:20]),
|
|
135
|
+
"failures": failures,
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
# Write self-contained HTML with embedded Chart.js
|
|
139
|
+
output_path = os.path.join(".omg", "state", "dashboard.html")
|
|
140
|
+
os.makedirs(os.path.dirname(output_path), exist_ok=True)
|
|
141
|
+
# ... (HTML template with CDN Chart.js and embedded JSON data)
|
|
142
|
+
print(f"Dashboard written to {output_path}")
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
## Feature Flag
|
|
146
|
+
|
|
147
|
+
- **Flag name**: `OMG_SESSION_ANALYTICS_ENABLED`
|
|
148
|
+
- **Default**: `False` (disabled)
|
|
149
|
+
- **Enable**: `export OMG_SESSION_ANALYTICS_ENABLED=1`
|
|
150
|
+
|
|
151
|
+
Or set in `settings.json`:
|
|
152
|
+
|
|
153
|
+
```json
|
|
154
|
+
{
|
|
155
|
+
"_omg": {
|
|
156
|
+
"features": {
|
|
157
|
+
"SESSION_ANALYTICS": true
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
## Output Example
|
|
164
|
+
|
|
165
|
+
```
|
|
166
|
+
============================================================
|
|
167
|
+
OMG Session Analytics — Summary
|
|
168
|
+
============================================================
|
|
169
|
+
|
|
170
|
+
Duration: 23m 47s
|
|
171
|
+
Tool calls: 142
|
|
172
|
+
Success rate: 94.4%
|
|
173
|
+
Files modified: 18
|
|
174
|
+
Tests run: 6
|
|
175
|
+
Tokens used: 287,450
|
|
176
|
+
Cost: $1.1142
|
|
177
|
+
|
|
178
|
+
Top Tools:
|
|
179
|
+
Bash: 58 calls, 95% success, 1,240 avg tokens
|
|
180
|
+
Read: 34 calls, 100% success, 890 avg tokens
|
|
181
|
+
Edit: 22 calls, 91% success, 1,100 avg tokens
|
|
182
|
+
Write: 16 calls, 100% success, 950 avg tokens
|
|
183
|
+
Grep: 12 calls, 100% success, 320 avg tokens
|
|
184
|
+
|
|
185
|
+
Failure Hotspots:
|
|
186
|
+
[ESCALATED] hooks/budget_governor.py: 4 failures
|
|
187
|
+
[active] tests/test_integration.py: 2 failures
|
|
188
|
+
|
|
189
|
+
Escalations: 1 total, 0 resolved, 1 unresolved
|
|
190
|
+
|
|
191
|
+
============================================================
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
## Safety
|
|
195
|
+
|
|
196
|
+
- **Read-only**: All sub-commands only read from existing ledger/tracker files
|
|
197
|
+
- **Feature-gated**: Requires `SESSION_ANALYTICS` flag enabled
|
|
198
|
+
- **No mutations**: Never modifies ledger data, failure tracker, or working memory
|
|
199
|
+
- **Crash-isolated**: All query operations exit 0 on failure (via query.py internals)
|
|
200
|
+
- **Dashboard**: Writes only to `.omg/state/dashboard.html` (inside managed state directory)
|
|
201
|
+
|
|
202
|
+
## API
|
|
203
|
+
|
|
204
|
+
```python
|
|
205
|
+
from hooks.query import (
|
|
206
|
+
get_session_summary,
|
|
207
|
+
get_tool_stats,
|
|
208
|
+
get_failure_hotspots,
|
|
209
|
+
get_escalation_effectiveness,
|
|
210
|
+
get_file_heatmap,
|
|
211
|
+
)
|
|
212
|
+
|
|
213
|
+
# Current session summary
|
|
214
|
+
summary = get_session_summary(".")
|
|
215
|
+
|
|
216
|
+
# Per-tool statistics
|
|
217
|
+
tools = get_tool_stats(".")
|
|
218
|
+
|
|
219
|
+
# Failure patterns and escalation status
|
|
220
|
+
failures = get_failure_hotspots(".")
|
|
221
|
+
escalations = get_escalation_effectiveness(".")
|
|
222
|
+
|
|
223
|
+
# File interaction heatmap
|
|
224
|
+
heatmap = get_file_heatmap(".")
|
|
225
|
+
```
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: OMG internal staged team routing (standalone). /OMG:team canonical, /OMG:teams compatibility alias.
|
|
3
|
+
allowed-tools: Read, Grep, Glob, Bash(git:*), Bash(rg:*), Bash(find:*), Bash(cat:*), Bash(python3:*)
|
|
4
|
+
argument-hint: "[codex|gemini|ccg|auto] 'problem statement'"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# /OMG:teams — Standalone Internal Router
|
|
8
|
+
|
|
9
|
+
Canonical alias: `/OMG:team`
|
|
10
|
+
Compatibility alias: `/OMG:teams`
|
|
11
|
+
|
|
12
|
+
Use OMG's internal router using internal routing.
|
|
13
|
+
|
|
14
|
+
## Input contract
|
|
15
|
+
- target: `auto|codex|gemini|ccg`
|
|
16
|
+
- problem: clear issue statement
|
|
17
|
+
- context: optional constraints
|
|
18
|
+
- files: optional focus paths
|
|
19
|
+
- expected_outcome: optional acceptance target
|
|
20
|
+
|
|
21
|
+
## Execution
|
|
22
|
+
Use internal CLI router (canonical):
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
OMG_CLI="${OMG_CLI_PATH:-$HOME/.claude/omg-runtime/scripts/omg.py}"
|
|
26
|
+
if [ ! -f "$OMG_CLI" ] && [ -f "scripts/omg.py" ]; then OMG_CLI="scripts/omg.py"; fi
|
|
27
|
+
python3 "$OMG_CLI" team --target auto --problem "[problem]"
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
Compatibility alias (legacy):
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
python3 "$OMG_CLI" teams --target auto --problem "[problem]"
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
For explicit target:
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
python3 "$OMG_CLI" team --target codex --problem "[problem]"
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Staged flow
|
|
43
|
+
- `team-plan`: resolve context packet and clarification/council gate before dispatch
|
|
44
|
+
- `team-exec`: launch workers only when context is resolved
|
|
45
|
+
- `team-verify`: run verification and critic synthesis
|
|
46
|
+
- `team-fix`: surface blockers/next actions for follow-up iteration
|
|
47
|
+
|
|
48
|
+
## Output schema
|
|
49
|
+
`TeamDispatchResult { status, findings[], actions[], evidence{} }`
|
|
50
|
+
|
|
51
|
+
## Full-power sub-agent protocol
|
|
52
|
+
- For non-trivial tasks, launch multiple sub-agents in parallel (`run_in_background=true`) for independent tracks.
|
|
53
|
+
- Collect all task outputs before responding (`background_output` per task id).
|
|
54
|
+
- Run a `sequential-thinking` merge step to produce one dependency-ordered execution plan.
|
|
@@ -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,59 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Canonical validation — doctor + contract + profile + install checks
|
|
3
|
+
allowed-tools: Bash(python3:*), Bash(ls:*), Bash(cat:*), Bash(grep:*), Bash(git:*), Read, Grep, Glob
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /OMG:validate
|
|
7
|
+
|
|
8
|
+
Run the canonical OMG validation engine that composes all verification surfaces:
|
|
9
|
+
|
|
10
|
+
1. **Doctor checks**: Python version, fastmcp, omg-control, policy files, metadata drift, compiled bundles, host compatibility, memory, managed runtime
|
|
11
|
+
2. **Contract registry**: Validates contract doc, schema, and bundle integrity
|
|
12
|
+
3. **Profile governor**: Verifies governed preferences structure and pending confirmations
|
|
13
|
+
4. **Install integrity**: Confirms scripts, runtime, commands, and plugins directories exist
|
|
14
|
+
|
|
15
|
+
## Usage
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
# Human-readable output (default)
|
|
19
|
+
python3 scripts/omg.py validate
|
|
20
|
+
|
|
21
|
+
# Machine-readable JSON
|
|
22
|
+
python3 scripts/omg.py validate --format json
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## Output Schema (JSON)
|
|
26
|
+
|
|
27
|
+
```json
|
|
28
|
+
{
|
|
29
|
+
"schema": "ValidateResult",
|
|
30
|
+
"status": "pass" | "fail",
|
|
31
|
+
"checks": [
|
|
32
|
+
{
|
|
33
|
+
"name": "check_name",
|
|
34
|
+
"status": "ok" | "blocker" | "warning",
|
|
35
|
+
"message": "human-readable description",
|
|
36
|
+
"required": true | false
|
|
37
|
+
}
|
|
38
|
+
],
|
|
39
|
+
"version": "2.2.11"
|
|
40
|
+
}
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## Exit Codes
|
|
44
|
+
|
|
45
|
+
- `0` — all required checks pass
|
|
46
|
+
- `1` — one or more blockers detected
|
|
47
|
+
|
|
48
|
+
## Report Format (text)
|
|
49
|
+
|
|
50
|
+
```
|
|
51
|
+
PASS python_version: Python 3.12.0
|
|
52
|
+
PASS fastmcp: fastmcp importable
|
|
53
|
+
BLOCKER omg_control_reachable: omg-control not found in .mcp.json
|
|
54
|
+
PASS contract_registry: contract registry valid (0 errors)
|
|
55
|
+
PASS profile_governor: profile governor ok (2 style, 1 safety) (optional)
|
|
56
|
+
PASS install_integrity: install integrity ok
|
|
57
|
+
|
|
58
|
+
PASS [5] | WARN [0] | BLOCKER [1]
|
|
59
|
+
```
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"""OMG command package marker for packaging parity."""
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
<!-- GENERATED: DO NOT EDIT MANUALLY -->
|
|
2
|
+
# OMG Command Surface
|
|
3
|
+
|
|
4
|
+
Generated for OMG v2.2.10.
|
|
5
|
+
|
|
6
|
+
## Commands
|
|
7
|
+
|
|
8
|
+
| Command | Description |
|
|
9
|
+
| :--- | :--- |
|
|
10
|
+
| `npx omg ship` | Idea -> Evidence -> PR flow |
|
|
11
|
+
| `npx omg fix` | Issue-driven fix flow |
|
|
12
|
+
| `npx omg issue` | Active issue diagnostics and red-team simulation |
|
|
13
|
+
| `npx omg undo` | Undo last interaction step |
|
|
14
|
+
| `npx omg secure` | Evaluate command risk |
|
|
15
|
+
| `npx omg security` | Canonical OMG security workflows |
|
|
16
|
+
| `npx omg waive-tests` | Emit structured waiver evidence for test-intent lock exceptions |
|
|
17
|
+
| `npx omg api-twin` | Contract replay and fixture-based API simulation |
|
|
18
|
+
| `npx omg preflight` | Structured OMG preflight routing |
|
|
19
|
+
| `npx omg resolve-policy` | Resolve effective policy from tier, presets, and packs |
|
|
20
|
+
| `npx omg policy-pack` | Policy pack management |
|
|
21
|
+
| `npx omg proof` | Proof helpers |
|
|
22
|
+
| `npx omg blocked` | Inspect governance block explanations |
|
|
23
|
+
| `npx omg explain` | Explain run artifacts |
|
|
24
|
+
| `npx omg budget` | Budget envelope operations |
|
|
25
|
+
| `npx omg domain-pack` | Inspect optional domain pack contracts |
|
|
26
|
+
| `npx omg vision` | OCR, visual diff, and semantic image analysis |
|
|
27
|
+
| `npx omg tracebank` | Record structured route traces |
|
|
28
|
+
| `npx omg eval-gate` | Evaluate a trace for release gating |
|
|
29
|
+
| `npx omg delta-classifier` | Classify repo changes for routing and policy |
|
|
30
|
+
| `npx omg incident-replay` | Build an incident replay pack |
|
|
31
|
+
| `npx omg data-lineage` | Build lineage metadata for generated artifacts |
|
|
32
|
+
| `npx omg remote-supervisor` | Local-only authenticated supervisor session helpers |
|
|
33
|
+
| `npx omg maintainer` | OSS maintainer evidence helper |
|
|
34
|
+
| `npx omg trust` | Trust review operations |
|
|
35
|
+
| `npx omg runtime` | Runtime operations |
|
|
36
|
+
| `npx omg lab` | Lab pipeline operations |
|
|
37
|
+
| `npx omg forge` | Labs-only domain-model prototyping and evaluation |
|
|
38
|
+
| `npx omg teams` | Internal OMG team routing |
|
|
39
|
+
| `npx omg team` | Internal OMG staged team routing (canonical) |
|
|
40
|
+
| `npx omg ccg` | OMG CCG (tri-track) routing |
|
|
41
|
+
| `npx omg crazy` | OMG CRAZY mode - parallel multi-agent orchestration |
|
|
42
|
+
| `npx omg compat` | OMG legacy compatibility bridge |
|
|
43
|
+
| `npx omg omc` | Alias of `compat` for legacy scripts |
|
|
44
|
+
| `npx omg ecosystem` | Upstream ecosystem sync and status |
|
|
45
|
+
| `npx omg contract` | Canonical OMG contract validation and compilation |
|
|
46
|
+
| `npx omg context` | Context packet compiler |
|
|
47
|
+
| `npx omg provider-parity-eval` | Evaluate provider parity across canonical hosts |
|
|
48
|
+
| `npx omg release` | OMG release audit and readiness checks |
|
|
49
|
+
| `npx omg doctor` | Canonical install and runtime verification |
|
|
50
|
+
| `npx omg validate` | Canonical validation — doctor + contract + profile + install |
|
|
51
|
+
| `npx omg diagnose-plugins` | Diagnose plugin interoperability and conflicts |
|
|
52
|
+
| `npx omg profile-review` | Review governed profile state |
|
|
53
|
+
| `npx omg docs` | OMG documentation generator |
|
|
54
|
+
| `npx omg install` | Compute, dry-run, or apply an install plan |
|
|
55
|
+
| `npx omg env` | Environment preflight and doctor alias |
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# Install OMG for Claude Code
|
|
2
|
+
|
|
3
|
+
<!-- OMG:GENERATED:install-fast-path -->
|
|
4
|
+
## Fast Path
|
|
5
|
+
|
|
6
|
+
> **Prerequisites**: macOS or Linux, Node >=18, Python >=3.10
|
|
7
|
+
|
|
8
|
+
```bash
|
|
9
|
+
npx omg env doctor
|
|
10
|
+
npx omg install --plan # preview only, no mutations
|
|
11
|
+
npx omg install --apply # apply configuration
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
The preview step is advisory only and makes no mutations until you run apply.
|
|
15
|
+
<!-- /OMG:GENERATED:install-fast-path -->
|
|
16
|
+
|
|
17
|
+
## Official Claude Plugin Flow
|
|
18
|
+
|
|
19
|
+
Claude Code's native plugin commands are still the source of truth:
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
claude plugin marketplace add /path/to/OMG --scope user
|
|
23
|
+
claude plugin install omg@omg --scope user
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Run `npx omg install --apply` after reviewing the preview if you want OMG to write Claude-facing configuration.
|
|
27
|
+
|
|
28
|
+
Claude-specific note:
|
|
29
|
+
|
|
30
|
+
- Claude's newer host model treats custom task surfaces as skills first. Legacy `.claude/commands/` entries may still work, but OMG should be installed and verified through the plugin-managed marketplace/skill surface, not by checking for standalone command markdown files.
|
|
31
|
+
- OMG does not try to shadow Claude's built-in slash commands; it stays on its own `/OMG:*` namespace and native plugin/skill surfaces.
|
|
32
|
+
|
|
33
|
+
Optional browser capability:
|
|
34
|
+
|
|
35
|
+
<details><summary>Restricted environments: legacy browser setup</summary>
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
./OMG-setup.sh install --enable-browser
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
That enables OMG's browser capability metadata for `/OMG:browser` and records the preferred upstream Playwright CLI command under `~/.claude/omg-runtime/browser/capability.json`.
|
|
42
|
+
|
|
43
|
+
</details>
|
|
44
|
+
|
|
45
|
+
## Verify
|
|
46
|
+
|
|
47
|
+
- `claude plugin list` should show `omg@omg` with `Status: enabled`
|
|
48
|
+
- `~/.claude/plugins/known_marketplaces.json` should contain an `omg` entry
|
|
49
|
+
- the installed plugin cache should contain `.claude-plugin/plugin.json` for the current OMG version
|
|
50
|
+
- `~/.claude/settings.json` should contain a `statusLine` command pointing at `~/.claude/hud/omg-hud.mjs`
|
|
51
|
+
- `~/.claude/.mcp.json` should not duplicate the plugin-managed `omg-control` server
|
|
52
|
+
- `~/.claude/omg-runtime/.venv/bin/python` should exist
|
|
53
|
+
- if browser capability is enabled, `~/.claude/omg-runtime/browser/capability.json` should exist
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# Install OMG for Codex
|
|
2
|
+
|
|
3
|
+
<!-- OMG:GENERATED:install-fast-path -->
|
|
4
|
+
## Fast Path
|
|
5
|
+
|
|
6
|
+
> **Prerequisites**: macOS or Linux, Node >=18, Python >=3.10
|
|
7
|
+
|
|
8
|
+
```bash
|
|
9
|
+
npx omg env doctor
|
|
10
|
+
npx omg install --plan # preview only, no mutations
|
|
11
|
+
npx omg install --apply # apply configuration
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
The preview step is advisory only and makes no mutations until you run apply.
|
|
15
|
+
<!-- /OMG:GENERATED:install-fast-path -->
|
|
16
|
+
|
|
17
|
+
<details><summary>Restricted environments / manual setup</summary>
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
git clone https://github.com/trac3r00/OMG
|
|
21
|
+
cd OMG
|
|
22
|
+
./OMG-setup.sh install --mode=omg-only --preset=interop
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Optional browser capability:
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
./OMG-setup.sh install --mode=omg-only --preset=interop --enable-browser
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
</details>
|
|
32
|
+
|
|
33
|
+
## Verify
|
|
34
|
+
|
|
35
|
+
- `codex mcp list` should include `omg-control`
|
|
36
|
+
- `~/.codex/config.toml` should contain `[mcp_servers.omg-control]`
|
|
37
|
+
- the configured command should point at `~/.claude/omg-runtime/.venv/bin/python`
|
|
38
|
+
- if browser capability is enabled, `~/.claude/omg-runtime/browser/capability.json` should exist
|
|
39
|
+
|
|
40
|
+
## Notes
|
|
41
|
+
|
|
42
|
+
- `/OMG:*` slash commands are Claude Code surfaces, not Codex CLI surfaces
|
|
43
|
+
- Codex consumes OMG through native MCP plus the generated Codex pack under `.agents/skills/omg/`
|
|
44
|
+
- Codex keeps its own built-in slash commands and instruction files. OMG should stay compatible with Codex's native `AGENTS.md` hierarchy and skill loading rather than trying to mirror built-in `/personality`, `/approvals`, `/agent`, or related host commands.
|
|
45
|
+
- Generated OMG Codex artifacts are expected to compose with the repo's `AGENTS.md` / `AGENTS.override.md` flow and the host's progressive-disclosure skill loading.
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# Install OMG for Gemini CLI
|
|
2
|
+
|
|
3
|
+
<!-- OMG:GENERATED:install-fast-path -->
|
|
4
|
+
## Fast Path
|
|
5
|
+
|
|
6
|
+
> **Prerequisites**: macOS or Linux, Node >=18, Python >=3.10
|
|
7
|
+
|
|
8
|
+
```bash
|
|
9
|
+
npx omg env doctor
|
|
10
|
+
npx omg install --plan # preview only, no mutations
|
|
11
|
+
npx omg install --apply # apply configuration
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
The preview step is advisory only and makes no mutations until you run apply.
|
|
15
|
+
<!-- /OMG:GENERATED:install-fast-path -->
|
|
16
|
+
|
|
17
|
+
<details><summary>Restricted environments / manual setup</summary>
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
git clone https://github.com/trac3r00/OMG
|
|
21
|
+
cd OMG
|
|
22
|
+
./OMG-setup.sh install --mode=omg-only --preset=interop
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Optional browser capability:
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
./OMG-setup.sh install --mode=omg-only --preset=interop --enable-browser
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
</details>
|
|
32
|
+
|
|
33
|
+
## Verify
|
|
34
|
+
|
|
35
|
+
- `gemini mcp list` should include `omg-control`
|
|
36
|
+
- `~/.gemini/settings.json` should contain `mcpServers.omg-control`
|
|
37
|
+
- the configured command should point at `~/.claude/omg-runtime/.venv/bin/python`
|
|
38
|
+
- if browser capability is enabled, `~/.claude/omg-runtime/browser/capability.json` should exist
|
|
39
|
+
|
|
40
|
+
## Notes
|
|
41
|
+
|
|
42
|
+
- Gemini uses native MCP registration; it does not consume Claude `/OMG:*` slash commands
|
|
43
|
+
- OMG support on Gemini is the shared runtime plus MCP control plane
|