@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,58 @@
|
|
|
1
|
+
<!-- GENERATED: DO NOT EDIT MANUALLY -->
|
|
2
|
+
# OMG CLI Adapter Quick Reference
|
|
3
|
+
|
|
4
|
+
## 🎯 Core Integration Points
|
|
5
|
+
|
|
6
|
+
### Canonical Hosts
|
|
7
|
+
|
|
8
|
+
<!-- OMG:GENERATED:quick-reference-hosts -->
|
|
9
|
+
### Host Targets
|
|
10
|
+
|
|
11
|
+
| host | role | config |
|
|
12
|
+
| :--- | :--- | :--- |
|
|
13
|
+
| claude | canonical | `.mcp.json` |
|
|
14
|
+
| codex | canonical | `~/.codex/config.toml` |
|
|
15
|
+
| gemini | canonical | `~/.gemini/settings.json` |
|
|
16
|
+
| kimi | canonical | `~/.kimi/mcp.json` |
|
|
17
|
+
| opencode | compatibility | `~/.config/opencode/opencode.json` |
|
|
18
|
+
|
|
19
|
+
<!-- /OMG:GENERATED:quick-reference-hosts -->
|
|
20
|
+
|
|
21
|
+
| Host | Config File |
|
|
22
|
+
| :--- | :--- |
|
|
23
|
+
| claude | `.mcp.json` |
|
|
24
|
+
| codex | `~/.codex/config.toml` |
|
|
25
|
+
| gemini | `~/.gemini/settings.json` |
|
|
26
|
+
| kimi | `~/.kimi/mcp.json` |
|
|
27
|
+
|
|
28
|
+
### Release Channels
|
|
29
|
+
|
|
30
|
+
- `public`
|
|
31
|
+
- `enterprise`
|
|
32
|
+
|
|
33
|
+
### Preset Quick Reference
|
|
34
|
+
|
|
35
|
+
| Preset | Key Features |
|
|
36
|
+
| :--- | :--- |
|
|
37
|
+
| safe | None |
|
|
38
|
+
| balanced | SETUP, SETUP_WIZARD, MEMORY_AUTOSTART, SESSION_ANALYTICS, CONTEXT_MANAGER... |
|
|
39
|
+
| interop | SETUP, SETUP_WIZARD, MEMORY_AUTOSTART, SESSION_ANALYTICS, CONTEXT_MANAGER... |
|
|
40
|
+
| labs | SETUP, SETUP_WIZARD, MEMORY_AUTOSTART, SESSION_ANALYTICS, CONTEXT_MANAGER... |
|
|
41
|
+
| buffet | SETUP, SETUP_WIZARD, MEMORY_AUTOSTART, SESSION_ANALYTICS, CONTEXT_MANAGER... |
|
|
42
|
+
| production | SETUP, SETUP_WIZARD, MEMORY_AUTOSTART, SESSION_ANALYTICS, CONTEXT_MANAGER... |
|
|
43
|
+
|
|
44
|
+
### Quick Commands
|
|
45
|
+
|
|
46
|
+
| Task | Command |
|
|
47
|
+
| :--- | :--- |
|
|
48
|
+
| Install (preview) | `npx omg install --plan` |
|
|
49
|
+
| Install (apply) | `npx omg install --apply` |
|
|
50
|
+
| Diagnostics | `npx omg doctor` |
|
|
51
|
+
| Environment check | `npx omg env doctor` |
|
|
52
|
+
| Ship | `npx omg ship` |
|
|
53
|
+
| Release audit | `npx omg release audit --artifact` |
|
|
54
|
+
| Proof dashboard | `npx omg proof open --html` |
|
|
55
|
+
| Explain run | `npx omg explain run --run-id <id>` |
|
|
56
|
+
| Blocked inspection | `npx omg blocked --last` |
|
|
57
|
+
| Validate | `npx omg validate` |
|
|
58
|
+
| Contract validate | `npx omg contract validate` |
|
package/README.md
ADDED
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
# OMG
|
|
2
|
+
|
|
3
|
+
[](https://github.com/trac3r00/OMG/actions/workflows/omg-compat-gate.yml)
|
|
4
|
+
[](https://www.npmjs.com/package/@trac3r/oh-my-god)
|
|
5
|
+
[](LICENSE)
|
|
6
|
+
|
|
7
|
+
OMG upgrades your agent host instead of replacing it. It gives Claude Code, Codex, and other supported CLIs a tighter setup flow, stronger orchestration, native adoption from older plugin stacks, and proof-backed verification.
|
|
8
|
+
|
|
9
|
+
## The Problem
|
|
10
|
+
|
|
11
|
+
Agent hosts like Claude Code and Codex are powerful but lack governance, mutation safety, and evidence-backed verification. They often operate in a "trust me" mode where changes happen without a clear audit trail or safety gates. This leads to risky mutations, lack of interoperability between different agent stacks, and difficulty in verifying that a task was actually completed correctly.
|
|
12
|
+
|
|
13
|
+
## The Solution
|
|
14
|
+
|
|
15
|
+
OMG (Oh My God) provides a governance and orchestration layer that sits on top of existing agent hosts. It introduces:
|
|
16
|
+
|
|
17
|
+
- **Hooks**: Pre-tool and post-tool execution gates for security and validation.
|
|
18
|
+
- **Governance Payload**: Structured metadata for every action.
|
|
19
|
+
- **Mutation Gate**: Prevents or warns about risky file system changes.
|
|
20
|
+
- **Session Health**: Monitors the state of the session and requires review for risky states.
|
|
21
|
+
- **Forge**: A modular orchestration engine for complex tasks.
|
|
22
|
+
- **Memory**: A secure, namespaced, and encrypted state store.
|
|
23
|
+
- **Evidence-Backed Verification**: Machine-generated proof for every claim.
|
|
24
|
+
|
|
25
|
+
## Real-World Example
|
|
26
|
+
|
|
27
|
+
Imagine an agent trying to delete a critical configuration file. Without OMG, the agent might just do it. With OMG's **Mutation Gate**, the action is intercepted, a warning is generated, and the user is prompted for approval. Or, when an agent claims a feature is "done", OMG's **Claim Judge** and **Proof Gate** require actual test results and build logs as evidence before the claim is accepted.
|
|
28
|
+
|
|
29
|
+
## Architecture
|
|
30
|
+
|
|
31
|
+
OMG operates as a middleware layer between the agent host and the underlying tools.
|
|
32
|
+
|
|
33
|
+
```mermaid
|
|
34
|
+
graph TD
|
|
35
|
+
Host[Agent Host: Claude Code / Codex] -->|Tool Call| Hooks[OMG Hooks]
|
|
36
|
+
Hooks -->|Security Check| Security[Security Guard / Firewall]
|
|
37
|
+
Hooks -->|Governance| ControlPlane[OMG Control Plane]
|
|
38
|
+
ControlPlane -->|State| Memory[OMG Memory]
|
|
39
|
+
ControlPlane -->|Verification| Proof[Proof Gate / Claim Judge]
|
|
40
|
+
ControlPlane -->|Orchestration| Forge[OMG Forge]
|
|
41
|
+
Hooks -->|Execution| Tool[Actual Tool Execution]
|
|
42
|
+
Tool -->|Result| Hooks
|
|
43
|
+
Hooks -->|Evidence| Proof
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## Comparison
|
|
47
|
+
|
|
48
|
+
| Feature | Raw Claude Code | Superpowers | OMG |
|
|
49
|
+
| :--- | :---: | :---: | :---: |
|
|
50
|
+
| **Governance** | Minimal | Plugin-based | Native Control Plane |
|
|
51
|
+
| **Mutation Safety** | Basic | None | Hard Gates + Warnings |
|
|
52
|
+
| **Verification** | Manual | None | Evidence-Backed Proof |
|
|
53
|
+
| **Interoperability** | Single Host | Multi-Host | Universal MCP + Registry |
|
|
54
|
+
| **State Management** | Volatile | Local Files | Encrypted + Namespaced |
|
|
55
|
+
| **Orchestration** | Linear | Scripted | Modular Forge |
|
|
56
|
+
|
|
57
|
+
## Limitations
|
|
58
|
+
|
|
59
|
+
- **Not a Base Model**: OMG does not train or provide its own LLMs; it orchestrates existing ones.
|
|
60
|
+
- **Local-Only**: Designed for same-machine production; no cloud-sync for state by design.
|
|
61
|
+
- **Advisory-First**: In v1, many gates are advisory (warnings) rather than hard-blocking to avoid breaking workflows.
|
|
62
|
+
- **Host Dependent**: Capabilities are limited by what the underlying agent host supports.
|
|
63
|
+
|
|
64
|
+
- Brand: `OMG`
|
|
65
|
+
- Repo: `https://github.com/trac3r00/OMG`
|
|
66
|
+
- npm: `@trac3r/oh-my-god`
|
|
67
|
+
- Plugin id: `omg`
|
|
68
|
+
- Marketplace id: `omg`
|
|
69
|
+
|
|
70
|
+
## Why OMG
|
|
71
|
+
|
|
72
|
+
<!-- OMG:GENERATED:why-omg -->
|
|
73
|
+
OMG keeps the host you already use, then adds governed install, proof, and release surfaces on top.
|
|
74
|
+
|
|
75
|
+
- Canonical host parity targets are Claude, Codex, Gemini, and Kimi.
|
|
76
|
+
- OpenCode remains a supported compatibility host for teams that need it.
|
|
77
|
+
- Install and verification stay explicit: doctor first, preview second, apply last.
|
|
78
|
+
|
|
79
|
+
> Legacy Claude compatibility commands such as `/OMG:setup` and `/OMG:crazy <goal>` remain documented as footnotes only.
|
|
80
|
+
<!-- /OMG:GENERATED:why-omg -->
|
|
81
|
+
|
|
82
|
+
- Claude front door: run `npx omg env doctor`, then `npx omg install --plan`, then `npx omg install --apply`.
|
|
83
|
+
- Browser front door: run `/OMG:browser <goal>` for browser automation and verification, with `/OMG:playwright` kept as a compatibility alias and the upstream Playwright CLI handling browser execution.
|
|
84
|
+
- Multi-host support: Claude Code, Codex, Gemini CLI, and Kimi CLI are canonical behavior-parity hosts; OpenCode is compatibility-only.
|
|
85
|
+
- Compiled planning: advanced planning is now compiled into the `plan-council` bundle for deterministic execution.
|
|
86
|
+
- Native adoption: setup detects OMC, OMX, and Superpowers-style environments without exposing copycat public migration commands.
|
|
87
|
+
- Proof-first delivery: verification, provider coverage, HUD artifacts, and transcripts are published instead of implied.
|
|
88
|
+
|
|
89
|
+
## Canonical Contract
|
|
90
|
+
|
|
91
|
+
OMG now ships a production control-plane contract and generated host artifacts. Same-machine production support is anchored by the stdio-first `omg-control` MCP. HTTP control-plane exposure is intended for development and local HUD use only.
|
|
92
|
+
|
|
93
|
+
- Normative spec: `OMG_COMPAT_CONTRACT.md`
|
|
94
|
+
- Executable registry: `registry/omg-capability.schema.json` and `registry/bundles/*.yaml`
|
|
95
|
+
- Generated Codex pack: `.agents/skills/omg/`
|
|
96
|
+
- Validation: `npx omg contract validate`
|
|
97
|
+
- Compilation: `npx omg contract compile --host claude --host codex --host gemini --host kimi --channel public`
|
|
98
|
+
- Release gate: `npx omg release readiness --channel dual`
|
|
99
|
+
|
|
100
|
+

|
|
101
|
+
|
|
102
|
+
## Quickstart
|
|
103
|
+
|
|
104
|
+
<!-- OMG:GENERATED:install-intro -->
|
|
105
|
+
> **Prerequisites**: macOS or Linux, Node >=18, Python >=3.10
|
|
106
|
+
|
|
107
|
+
```bash
|
|
108
|
+
npx omg env doctor
|
|
109
|
+
npx omg install --plan
|
|
110
|
+
# confirm preview output before applying
|
|
111
|
+
npx omg install --apply
|
|
112
|
+
npx omg ship
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
Local package-manager installs only link `omg` into `node_modules/.bin/`; they do not mutate configuration.
|
|
116
|
+
|
|
117
|
+
The package postinstall runs `npx omg install --plan` as a preview, so it makes no mutations until you explicitly run `npx omg install --apply`.
|
|
118
|
+
<!-- /OMG:GENERATED:install-intro -->
|
|
119
|
+
|
|
120
|
+
On non-Claude hosts, verify native MCP registration after `npx omg install --apply`:
|
|
121
|
+
|
|
122
|
+
- `codex mcp list`
|
|
123
|
+
- `gemini mcp list`
|
|
124
|
+
- `kimi mcp list`
|
|
125
|
+
|
|
126
|
+
Success looks like:
|
|
127
|
+
|
|
128
|
+
- supported hosts are detected
|
|
129
|
+
- Claude Code sees `omg@omg` as enabled instead of `failed to load`
|
|
130
|
+
- Claude Code's plugin bundle owns `omg-control` via `.claude-plugin/mcp.json`; project or user `.mcp.json` entries can keep `filesystem` without collisions
|
|
131
|
+
- `~/.claude/settings.json` has a `statusLine` command for `~/.claude/hud/omg-hud.mjs`
|
|
132
|
+
- `~/.codex/config.toml`, `~/.gemini/settings.json`, and `~/.kimi/mcp.json` receive `omg-control` after `npx omg install --apply` when those CLIs are on `PATH`
|
|
133
|
+
- additional MCP servers are added when a broader preset is selected (`balanced` adds `context7`; `interop` adds `websearch` and `omg-memory`; `labs` adds browser automation)
|
|
134
|
+
- `.omg/state/adoption-report.json` is written when another ecosystem is present
|
|
135
|
+
- OMG reports the selected preset and next step
|
|
136
|
+
- narrowed defaults keep the required control plane small while optional capabilities such as browser automation remain opt-in
|
|
137
|
+
|
|
138
|
+
> Restricted environments / air-gapped fallback only: clone-and-setup flows plus Claude slash commands such as `/OMG:setup` and `/OMG:crazy <goal>` remain available when launcher-first install cannot modify the host directly.
|
|
139
|
+
|
|
140
|
+
## Install Guides
|
|
141
|
+
|
|
142
|
+
- Claude Code: [docs/install/claude-code.md](docs/install/claude-code.md)
|
|
143
|
+
- Codex: [docs/install/codex.md](docs/install/codex.md)
|
|
144
|
+
- OpenCode: [docs/install/opencode.md](docs/install/opencode.md)
|
|
145
|
+
- Gemini: [docs/install/gemini.md](docs/install/gemini.md)
|
|
146
|
+
- Kimi: [docs/install/kimi.md](docs/install/kimi.md)
|
|
147
|
+
## Native Adoption
|
|
148
|
+
|
|
149
|
+
OMG uses native setup language instead of public migration commands.
|
|
150
|
+
|
|
151
|
+
- `OMG-only`: recommended. OMG becomes the primary hooks, HUD, MCP, and orchestration layer.
|
|
152
|
+
- `coexist`: advanced. OMG preserves non-conflicting third-party surfaces and records overlap instead of overwriting it.
|
|
153
|
+
- Modes: `chill`, `focused`, `exploratory`. `focused` is the production default.
|
|
154
|
+
- Presets: `safe`, `balanced`, `interop`, `labs`, `production` (all governed flags on).
|
|
155
|
+
|
|
156
|
+
## Security Notes
|
|
157
|
+
|
|
158
|
+
- The shipped `safe` preset now registers pre-tool security hooks before the planning helper.
|
|
159
|
+
- `Bash` requests are screened by `firewall.py`, and file reads or edits are screened by `secret-guard.py`.
|
|
160
|
+
- Raw environment dumps, interpreters, and permission-changing commands such as `env`, `node`, `python`, `python3`, `chmod`, and `chown` now require approval instead of being silently allowed.
|
|
161
|
+
|
|
162
|
+
Compatibility references to OMC, OMX, and Superpowers are documented here: [docs/migration/native-adoption.md](docs/migration/native-adoption.md)
|
|
163
|
+
|
|
164
|
+
## Proof
|
|
165
|
+
|
|
166
|
+
Current local verification for this release: See `.omg/evidence/` for machine-generated verification artifacts.
|
|
167
|
+
|
|
168
|
+
- Truth bundles: `claim-judge`, `test-intent-lock`, `proof-gate`
|
|
169
|
+
- Execution Kernel: `exec-kernel` facade with `worker-watchdog` stall detection and `merge-writer` provenance
|
|
170
|
+
- Governed Tool Fabric: Lane-based tool governance with signed approval and ledgering
|
|
171
|
+
- Budget Envelopes: Multi-dimensional resource tracking (CPU, memory, wall time, tokens, network)
|
|
172
|
+
- Host Parity: Semantic host parity normalization across canonical providers
|
|
173
|
+
- Issue Surface: Active red-team and diagnostic surface via `/OMG:issue`
|
|
174
|
+
- Certification Lane 1 and permanent flagship gate: Music OMR daily verification for deterministic OMR and live transposition under the hardest real-time domain constraints in the stack
|
|
175
|
+
- Evidence profiles: `browser-flow`, `forge-cybersecurity`, `interop-diagnosis`, `install-validation`, `buffet`
|
|
176
|
+
- Verification and provider matrix: [docs/proof.md](docs/proof.md)
|
|
177
|
+
- Sample setup transcript: [docs/transcripts/setup.md](docs/transcripts/setup.md)
|
|
178
|
+
- Sample crazy transcript: [docs/transcripts/crazy.md](docs/transcripts/crazy.md)
|
|
179
|
+
- Release process: [docs/release-checklist.md](docs/release-checklist.md)
|
|
180
|
+
|
|
181
|
+
## Command Surface
|
|
182
|
+
|
|
183
|
+
Primary launcher entry points:
|
|
184
|
+
|
|
185
|
+
- `npx omg env doctor`
|
|
186
|
+
- `npx omg install --plan`
|
|
187
|
+
- `npx omg install --apply`
|
|
188
|
+
- `npx omg ship`
|
|
189
|
+
- `npx omg proof open --html`
|
|
190
|
+
- `npx omg blocked --last`
|
|
191
|
+
|
|
192
|
+
> **Legacy/advanced aliases**: `/OMG:setup`, `/OMG:browser`, `/OMG:crazy`, `/OMG:deep-plan`
|
|
193
|
+
> (compatibility path to `plan-council`),
|
|
194
|
+
> `/OMG:playwright`, `/OMG:security-check`, `/OMG:api-twin`, `/OMG:preflight`, `/OMG:teams`,
|
|
195
|
+
> `/OMG:ccg`, `/OMG:compat`, `/OMG:ship`
|
|
196
|
+
|
|
197
|
+
## Contributing
|
|
198
|
+
|
|
199
|
+
Public contributions are welcome.
|
|
200
|
+
|
|
201
|
+
- Contribution guide: [CONTRIBUTING.md](CONTRIBUTING.md)
|
|
202
|
+
- Security reporting: [SECURITY.md](SECURITY.md)
|
|
203
|
+
- Changelog: [CHANGELOG.md](CHANGELOG.md)
|
|
204
|
+
|
|
205
|
+
## Positioning
|
|
206
|
+
|
|
207
|
+
OMG is a plugin and orchestration layer for supported CLIs. It is not a base-model training project. The goal is to make frontier agent hosts tighter, safer, more interoperable, and more verifiable than the default experience.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"""OMG agents module."""
|
|
Binary file
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
roles:
|
|
2
|
+
default:
|
|
3
|
+
model: "claude-opus-4-5"
|
|
4
|
+
temperature: 1.0
|
|
5
|
+
max_tokens: 8192
|
|
6
|
+
description: "Default balanced model for general tasks"
|
|
7
|
+
smol:
|
|
8
|
+
model: "claude-haiku-4-5"
|
|
9
|
+
temperature: 0.7
|
|
10
|
+
max_tokens: 4096
|
|
11
|
+
description: "Fast cheap model for simple/trivial tasks"
|
|
12
|
+
slow:
|
|
13
|
+
model: "claude-opus-4-5"
|
|
14
|
+
temperature: 0.5
|
|
15
|
+
max_tokens: 16384
|
|
16
|
+
description: "Careful deliberate model for complex reasoning"
|
|
17
|
+
plan:
|
|
18
|
+
model: "claude-sonnet-4-5"
|
|
19
|
+
temperature: 0.8
|
|
20
|
+
max_tokens: 8192
|
|
21
|
+
description: "Planning and architecture model"
|
|
22
|
+
commit:
|
|
23
|
+
model: "claude-haiku-4-5"
|
|
24
|
+
temperature: 0.3
|
|
25
|
+
max_tokens: 2048
|
|
26
|
+
description: "Concise model for git commits and short summaries"
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: designer
|
|
3
|
+
description: UI/UX design agent — component design, layout, accessibility, responsive design
|
|
4
|
+
model: claude-opus-4-5
|
|
5
|
+
tools: Read, Grep, Glob, Bash, Write, Edit
|
|
6
|
+
bundled: true
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Agent: Designer
|
|
10
|
+
|
|
11
|
+
## Role
|
|
12
|
+
|
|
13
|
+
Frontend-focused UI/UX design agent. Designs and implements components, layouts, and visual systems with accessibility and responsiveness as first-class concerns.
|
|
14
|
+
|
|
15
|
+
## Model
|
|
16
|
+
|
|
17
|
+
`default` (claude-opus-4-5) — balanced capability for design reasoning and implementation.
|
|
18
|
+
|
|
19
|
+
## Capabilities
|
|
20
|
+
|
|
21
|
+
- Component design and implementation (React, Vue, HTML/CSS)
|
|
22
|
+
- Layout systems (flexbox, grid, responsive breakpoints)
|
|
23
|
+
- Accessibility (ARIA, keyboard navigation, color contrast, screen readers)
|
|
24
|
+
- Responsive design (mobile-first, breakpoint strategy)
|
|
25
|
+
- CSS and Tailwind utility class usage
|
|
26
|
+
- Design system adherence and token usage
|
|
27
|
+
- Animation and micro-interaction design
|
|
28
|
+
- Visual hierarchy and typography
|
|
29
|
+
|
|
30
|
+
## Instructions
|
|
31
|
+
|
|
32
|
+
You are a frontend design agent. You design and build UI components.
|
|
33
|
+
|
|
34
|
+
**Core rules:**
|
|
35
|
+
- MUST NOT modify backend/API code (routes, controllers, database)
|
|
36
|
+
- MUST check accessibility on every component (ARIA labels, keyboard nav, contrast)
|
|
37
|
+
- MUST verify responsive behavior at 375px, 768px, and 1280px
|
|
38
|
+
- MUST NOT introduce inline styles when a design system or utility classes exist
|
|
39
|
+
- ALWAYS run the frontend linter/build before claiming completion
|
|
40
|
+
|
|
41
|
+
**Design process:**
|
|
42
|
+
1. Understand the user need — what problem does this UI solve?
|
|
43
|
+
2. Check existing design system tokens, components, and patterns
|
|
44
|
+
3. Design the component structure (props, state, layout)
|
|
45
|
+
4. Implement with accessibility built in from the start
|
|
46
|
+
5. Verify at all breakpoints
|
|
47
|
+
6. Run linter and build
|
|
48
|
+
|
|
49
|
+
**Accessibility checklist (every component):**
|
|
50
|
+
- [ ] Semantic HTML elements used correctly
|
|
51
|
+
- [ ] ARIA labels on interactive elements without visible text
|
|
52
|
+
- [ ] Keyboard navigation works (Tab, Enter, Escape, Arrow keys)
|
|
53
|
+
- [ ] Color contrast meets WCAG AA (4.5:1 for text, 3:1 for UI)
|
|
54
|
+
- [ ] Focus indicators visible
|
|
55
|
+
|
|
56
|
+
**When to defer:**
|
|
57
|
+
- Backend data fetching logic → `omg-backend-engineer`
|
|
58
|
+
- Complex state management → coordinate with backend agent
|
|
59
|
+
- Security-sensitive forms → recommend `/OMG:escalate codex`
|
|
60
|
+
|
|
61
|
+
## Example Prompts
|
|
62
|
+
|
|
63
|
+
- "Design a responsive navigation component with mobile hamburger menu"
|
|
64
|
+
- "Build an accessible modal dialog with focus trap"
|
|
65
|
+
- "Create a data table component with sorting and pagination"
|
|
66
|
+
- "Improve the color contrast on the dashboard cards"
|
|
67
|
+
- "Design a multi-step form wizard with progress indicator"
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: explore
|
|
3
|
+
description: Fast codebase search agent — grep, glob, file reading, pattern matching
|
|
4
|
+
model: claude-haiku-4-5
|
|
5
|
+
tools: Read, Grep, Glob
|
|
6
|
+
bundled: true
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Agent: Explore
|
|
10
|
+
|
|
11
|
+
## Role
|
|
12
|
+
|
|
13
|
+
Fast, read-only codebase search agent. Finds code, files, and patterns without modifying anything.
|
|
14
|
+
|
|
15
|
+
## Model
|
|
16
|
+
|
|
17
|
+
`smol` (claude-haiku-4-5) — speed-optimized for quick lookups and pattern matching.
|
|
18
|
+
|
|
19
|
+
## Capabilities
|
|
20
|
+
|
|
21
|
+
- Grep for patterns across files and directories
|
|
22
|
+
- Glob to find files by name or extension
|
|
23
|
+
- Read file contents and extract relevant sections
|
|
24
|
+
- Pattern matching across multiple files simultaneously
|
|
25
|
+
- Symbol and reference discovery
|
|
26
|
+
- Dependency tracing (imports, requires, includes)
|
|
27
|
+
- Find all usages of a function, class, or variable
|
|
28
|
+
|
|
29
|
+
## Instructions
|
|
30
|
+
|
|
31
|
+
You are a read-only search agent. Your job is to find things, not change them.
|
|
32
|
+
|
|
33
|
+
**Core rules:**
|
|
34
|
+
- NEVER write, edit, or delete files
|
|
35
|
+
- NEVER run commands that modify state (no git commits, no npm install, no file writes)
|
|
36
|
+
- ALWAYS return file paths with line numbers when reporting findings
|
|
37
|
+
- ALWAYS summarize what you found at the end
|
|
38
|
+
|
|
39
|
+
**Search strategy:**
|
|
40
|
+
1. Start broad with glob to find candidate files
|
|
41
|
+
2. Narrow with grep to find exact patterns
|
|
42
|
+
3. Read relevant sections for context
|
|
43
|
+
4. Report findings with file:line references
|
|
44
|
+
|
|
45
|
+
**Output format:**
|
|
46
|
+
- List each finding as `file.ext:LINE — description`
|
|
47
|
+
- Group related findings together
|
|
48
|
+
- End with a summary count: "Found N occurrences in M files"
|
|
49
|
+
|
|
50
|
+
**When to stop:**
|
|
51
|
+
- Once you've found what was asked for
|
|
52
|
+
- If a pattern doesn't exist, say so clearly — don't keep searching
|
|
53
|
+
|
|
54
|
+
## Example Prompts
|
|
55
|
+
|
|
56
|
+
- "Find all usages of `fetchUser` across the codebase"
|
|
57
|
+
- "Which files import from `@/lib/auth`?"
|
|
58
|
+
- "Show me all TODO comments in the src/ directory"
|
|
59
|
+
- "Find every place we call `console.error`"
|
|
60
|
+
- "What files define a `handleSubmit` function?"
|
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
"""Model roles loader — defines role configurations for model selection.
|
|
3
|
+
|
|
4
|
+
Loads role definitions from _model_roles.yaml and provides utilities for
|
|
5
|
+
role-based model selection, CLI argument parsing, and feature flag control.
|
|
6
|
+
"""
|
|
7
|
+
import os
|
|
8
|
+
import sys
|
|
9
|
+
from pathlib import Path
|
|
10
|
+
from typing import Optional
|
|
11
|
+
|
|
12
|
+
# Try to import yaml; fall back to json if not available
|
|
13
|
+
try:
|
|
14
|
+
import yaml
|
|
15
|
+
HAS_YAML = True
|
|
16
|
+
except ImportError:
|
|
17
|
+
HAS_YAML = False
|
|
18
|
+
import json
|
|
19
|
+
|
|
20
|
+
# Add parent directory to path for importing from hooks
|
|
21
|
+
_AGENTS_DIR = Path(__file__).parent
|
|
22
|
+
_HOOKS_DIR = _AGENTS_DIR.parent / "hooks"
|
|
23
|
+
if str(_HOOKS_DIR) not in sys.path:
|
|
24
|
+
sys.path.insert(0, str(_HOOKS_DIR))
|
|
25
|
+
|
|
26
|
+
try:
|
|
27
|
+
from _common import get_feature_flag, get_project_dir
|
|
28
|
+
except ImportError:
|
|
29
|
+
# Fallback if _common is not available
|
|
30
|
+
def get_feature_flag(flag_name, default=True):
|
|
31
|
+
env_key = f"OMG_{flag_name.upper()}_ENABLED"
|
|
32
|
+
env_val = os.environ.get(env_key, "").lower()
|
|
33
|
+
if env_val in ("0", "false", "no"):
|
|
34
|
+
return False
|
|
35
|
+
if env_val in ("1", "true", "yes"):
|
|
36
|
+
return True
|
|
37
|
+
return default
|
|
38
|
+
|
|
39
|
+
def get_project_dir():
|
|
40
|
+
return os.environ.get("CLAUDE_PROJECT_DIR", os.getcwd())
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
# Global roles dictionary
|
|
44
|
+
ROLES: dict = {}
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
def _load_roles() -> dict:
|
|
48
|
+
"""Load role definitions from _model_roles.yaml.
|
|
49
|
+
|
|
50
|
+
Returns:
|
|
51
|
+
Dictionary mapping role names to role configurations.
|
|
52
|
+
Falls back to default roles if YAML cannot be loaded.
|
|
53
|
+
"""
|
|
54
|
+
roles_file = _AGENTS_DIR / "_model_roles.yaml"
|
|
55
|
+
|
|
56
|
+
if not roles_file.exists():
|
|
57
|
+
return _get_default_roles()
|
|
58
|
+
|
|
59
|
+
try:
|
|
60
|
+
if HAS_YAML:
|
|
61
|
+
with open(roles_file, "r") as f:
|
|
62
|
+
data = yaml.safe_load(f)
|
|
63
|
+
if data and "roles" in data:
|
|
64
|
+
return data["roles"]
|
|
65
|
+
except Exception as e:
|
|
66
|
+
print(f"[OMG] Warning: Failed to load roles from {roles_file}: {e}", file=sys.stderr)
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
return _get_default_roles()
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
def _get_default_roles() -> dict:
|
|
73
|
+
"""Return hardcoded default roles if YAML cannot be loaded."""
|
|
74
|
+
return {
|
|
75
|
+
"default": {
|
|
76
|
+
"model": "claude-opus-4-5",
|
|
77
|
+
"temperature": 1.0,
|
|
78
|
+
"max_tokens": 8192,
|
|
79
|
+
"description": "Default balanced model for general tasks"
|
|
80
|
+
},
|
|
81
|
+
"smol": {
|
|
82
|
+
"model": "claude-haiku-4-5",
|
|
83
|
+
"temperature": 0.7,
|
|
84
|
+
"max_tokens": 4096,
|
|
85
|
+
"description": "Fast cheap model for simple/trivial tasks"
|
|
86
|
+
},
|
|
87
|
+
"slow": {
|
|
88
|
+
"model": "claude-opus-4-5",
|
|
89
|
+
"temperature": 0.5,
|
|
90
|
+
"max_tokens": 16384,
|
|
91
|
+
"description": "Careful deliberate model for complex reasoning"
|
|
92
|
+
},
|
|
93
|
+
"plan": {
|
|
94
|
+
"model": "claude-sonnet-4-5",
|
|
95
|
+
"temperature": 0.8,
|
|
96
|
+
"max_tokens": 8192,
|
|
97
|
+
"description": "Planning and architecture model"
|
|
98
|
+
},
|
|
99
|
+
"commit": {
|
|
100
|
+
"model": "claude-haiku-4-5",
|
|
101
|
+
"temperature": 0.3,
|
|
102
|
+
"max_tokens": 2048,
|
|
103
|
+
"description": "Concise model for git commits and short summaries"
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
def get_role(name: str) -> dict:
|
|
109
|
+
"""Get role configuration by name.
|
|
110
|
+
|
|
111
|
+
Args:
|
|
112
|
+
name: Role name (e.g., 'smol', 'slow', 'plan', 'commit', 'default')
|
|
113
|
+
|
|
114
|
+
Returns:
|
|
115
|
+
Role configuration dictionary. Returns 'default' role if name not found.
|
|
116
|
+
"""
|
|
117
|
+
if not ROLES:
|
|
118
|
+
_init_roles()
|
|
119
|
+
|
|
120
|
+
return ROLES.get(name, ROLES.get("default", {}))
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
def list_roles() -> list[str]:
|
|
124
|
+
"""Get list of all available role names.
|
|
125
|
+
|
|
126
|
+
Returns:
|
|
127
|
+
List of role names in order they appear in configuration.
|
|
128
|
+
"""
|
|
129
|
+
if not ROLES:
|
|
130
|
+
_init_roles()
|
|
131
|
+
|
|
132
|
+
return list(ROLES.keys())
|
|
133
|
+
|
|
134
|
+
|
|
135
|
+
def parse_role_args(argv: list[str]) -> Optional[str]:
|
|
136
|
+
"""Parse command-line arguments to detect role selection.
|
|
137
|
+
|
|
138
|
+
Detects: --smol, --slow, --plan, --commit
|
|
139
|
+
|
|
140
|
+
Args:
|
|
141
|
+
argv: Command-line arguments (typically sys.argv[1:])
|
|
142
|
+
|
|
143
|
+
Returns:
|
|
144
|
+
Role name if detected, None otherwise.
|
|
145
|
+
"""
|
|
146
|
+
role_map = {
|
|
147
|
+
"--smol": "smol",
|
|
148
|
+
"--slow": "slow",
|
|
149
|
+
"--plan": "plan",
|
|
150
|
+
"--commit": "commit",
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
for arg in argv:
|
|
154
|
+
if arg in role_map:
|
|
155
|
+
return role_map[arg]
|
|
156
|
+
|
|
157
|
+
return None
|
|
158
|
+
|
|
159
|
+
|
|
160
|
+
def _init_roles() -> None:
|
|
161
|
+
"""Initialize the global ROLES dictionary."""
|
|
162
|
+
global ROLES
|
|
163
|
+
ROLES = _load_roles()
|
|
164
|
+
|
|
165
|
+
|
|
166
|
+
# Initialize on module import
|
|
167
|
+
_init_roles()
|
|
168
|
+
|
|
169
|
+
|
|
170
|
+
if __name__ == "__main__":
|
|
171
|
+
# CLI for testing/inspection
|
|
172
|
+
import json as json_module
|
|
173
|
+
|
|
174
|
+
if len(sys.argv) > 1:
|
|
175
|
+
if sys.argv[1] == "list":
|
|
176
|
+
print("Available roles:")
|
|
177
|
+
for role_name in list_roles():
|
|
178
|
+
print(f" - {role_name}")
|
|
179
|
+
elif sys.argv[1] == "get":
|
|
180
|
+
if len(sys.argv) > 2:
|
|
181
|
+
role_name = sys.argv[2]
|
|
182
|
+
role = get_role(role_name)
|
|
183
|
+
print(json_module.dumps(role, indent=2))
|
|
184
|
+
else:
|
|
185
|
+
print("Usage: python3 model_roles.py get <role_name>")
|
|
186
|
+
elif sys.argv[1] == "parse":
|
|
187
|
+
detected = parse_role_args(sys.argv[2:])
|
|
188
|
+
if detected:
|
|
189
|
+
print(f"Detected role: {detected}")
|
|
190
|
+
else:
|
|
191
|
+
print("No role detected")
|
|
192
|
+
else:
|
|
193
|
+
print("Usage: python3 model_roles.py [list|get <role>|parse <args...>]")
|
|
194
|
+
else:
|
|
195
|
+
# Default: print all roles
|
|
196
|
+
print(json_module.dumps(ROLES, indent=2))
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: api-builder
|
|
3
|
+
description: API-builder specialist - API contracts, endpoint design, versioning, and integration boundaries
|
|
4
|
+
model: claude-sonnet-4-5
|
|
5
|
+
tools: Read, Grep, Glob, Bash, Write, Edit
|
|
6
|
+
---
|
|
7
|
+
API-builder specialist. Designs and implements API contracts with stable request/response schemas and explicit validation.
|
|
8
|
+
|
|
9
|
+
Example tasks: define OpenAPI specs, design REST/GraphQL endpoints, add pagination/filtering conventions, version API changes, and align handlers with contract-first patterns.
|
|
10
|
+
|
|
11
|
+
## Preferred Tools
|
|
12
|
+
|
|
13
|
+
- Claude Sonnet (claude-sonnet-4-5): deep API design reasoning and schema correctness
|
|
14
|
+
- Read/Grep: trace endpoint usage and downstream dependencies
|
|
15
|
+
- LSP: map symbol references and validate interface impact
|
|
16
|
+
- Bash: run API tests and contract verification commands
|
|
17
|
+
|
|
18
|
+
## Guardrails
|
|
19
|
+
|
|
20
|
+
- Must keep backward compatibility unless version bump is explicit.
|
|
21
|
+
- Must validate input/output schemas at API boundaries.
|
|
22
|
+
- Must include explicit error response shape and status code rationale.
|
|
23
|
+
- Must run relevant API tests before completion claims.
|