@trac3er/oh-my-god 1.0.2 → 1.0.4
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/.claude-plugin/plugin.json +1 -1
- package/OMG-setup.sh +28 -12
- package/README.md +130 -94
- package/agents/omg-escalation-router.md +1 -1
- package/commands/OMG:compat.md +2 -2
- package/commands/OMG:escalate.md +1 -1
- package/commands/{session-branch.md → OMG:session-branch.md} +5 -5
- package/commands/{session-fork.md → OMG:session-fork.md} +7 -7
- package/commands/{session-merge.md → OMG:session-merge.md} +8 -8
- package/commands/OMG:teams.md +2 -2
- package/hooks/prompt-enhancer.py +4 -4
- package/hooks/session-start.py +1 -1
- package/lab/__init__.py +1 -0
- package/lab/pipeline.py +75 -0
- package/lab/policies.py +52 -0
- package/package.json +5 -5
- package/plugins/README.md +3 -3
- package/plugins/advanced/commands/OMG:deep-plan.md +1 -1
- package/plugins/advanced/plugin.json +23 -14
- package/plugins/core/plugin.json +14 -14
- package/runtime/__init__.py +10 -10
- package/runtime/compat.py +40 -40
- package/runtime/ecosystem.py +3 -3
- package/runtime/omg_compat_contract_snapshot.json +30 -31
- package/runtime/{omc_contract_snapshot.json → omg_contract_snapshot.json} +30 -31
- package/scripts/check-omg-standalone-clean.py +10 -9
- package/scripts/{migrate-omc.py → migrate-legacy.py} +8 -8
- package/settings.json +257 -0
- package/.claude-plugin/scripts/install.sh +0 -49
- package/.mcp.json +0 -20
- package/THIRD_PARTY_NOTICES.md +0 -24
- package/UPSTREAM_DIFF.md +0 -20
- package/commands/ccg.md +0 -9
- package/commands/omc-teams.md +0 -9
- package/control_plane/__init__.py +0 -2
- package/control_plane/openapi.yaml +0 -109
- package/control_plane/server.py +0 -107
- package/control_plane/service.py +0 -148
- package/crates/omg-natives/Cargo.toml +0 -17
- package/crates/omg-natives/src/clipboard.rs +0 -5
- package/crates/omg-natives/src/glob.rs +0 -15
- package/crates/omg-natives/src/grep.rs +0 -15
- package/crates/omg-natives/src/highlight.rs +0 -15
- package/crates/omg-natives/src/html.rs +0 -14
- package/crates/omg-natives/src/image.rs +0 -5
- package/crates/omg-natives/src/keys.rs +0 -5
- package/crates/omg-natives/src/lib.rs +0 -36
- package/crates/omg-natives/src/prof.rs +0 -5
- package/crates/omg-natives/src/ps.rs +0 -5
- package/crates/omg-natives/src/shell.rs +0 -5
- package/crates/omg-natives/src/task.rs +0 -5
- package/crates/omg-natives/src/text.rs +0 -14
- package/install.sh +0 -9
- package/omg_natives/__init__.py +0 -186
- package/omg_natives/_bindings.py +0 -165
- package/omg_natives/clipboard.py +0 -36
- package/omg_natives/glob.py +0 -42
- package/omg_natives/grep.py +0 -61
- package/omg_natives/highlight.py +0 -54
- package/omg_natives/html.py +0 -157
- package/omg_natives/image.py +0 -51
- package/omg_natives/keys.py +0 -46
- package/omg_natives/prof.py +0 -39
- package/omg_natives/ps.py +0 -93
- package/omg_natives/shell.py +0 -58
- package/omg_natives/task.py +0 -41
- package/omg_natives/text.py +0 -50
- package/pytest.ini +0 -5
- package/registry/__init__.py +0 -1
- package/registry/verify_artifact.py +0 -90
- /package/commands/{ai-commit.md → OMG:ai-commit.md} +0 -0
- /package/commands/{create-agent.md → OMG:create-agent.md} +0 -0
- /package/commands/{theme.md → OMG:theme.md} +0 -0
- /package/scripts/{check-omc-contract-snapshot.py → check-omg-contract-snapshot.py} +0 -0
package/OMG-setup.sh
CHANGED
|
@@ -212,6 +212,10 @@ parse_args() {
|
|
|
212
212
|
if [ "$ACTION" = "reinstall" ]; then
|
|
213
213
|
FRESH_INSTALL=true
|
|
214
214
|
fi
|
|
215
|
+
|
|
216
|
+
if [ ! -t 0 ] || [ -n "${npm_lifecycle_event:-}" ] || [ -n "${npm_execpath:-}" ]; then
|
|
217
|
+
NON_INTERACTIVE=true
|
|
218
|
+
fi
|
|
215
219
|
}
|
|
216
220
|
|
|
217
221
|
preflight() {
|
|
@@ -630,7 +634,7 @@ remove_omg_files() {
|
|
|
630
634
|
local pruned_mcp=0
|
|
631
635
|
pruned_mcp=$(prune_plugin_mcp_from_settings)
|
|
632
636
|
if [ "${pruned_mcp:-0}" -gt 0 ]; then
|
|
633
|
-
echo " ✓ Plugin-managed MCP servers removed from
|
|
637
|
+
echo " ✓ Plugin-managed MCP servers removed from .mcp.json ($pruned_mcp)"
|
|
634
638
|
fi
|
|
635
639
|
fi
|
|
636
640
|
fi
|
|
@@ -649,7 +653,7 @@ install_plugin_bundle() {
|
|
|
649
653
|
if $DRY_RUN; then
|
|
650
654
|
echo " (would install plugin bundle under $plugin_root and deploy HUD to $hud_target)"
|
|
651
655
|
echo " (would register plugin in ~/.claude/plugins/installed_plugins.json and enable it in settings.json)"
|
|
652
|
-
echo " (would merge plugin MCP servers into
|
|
656
|
+
echo " (would merge plugin MCP servers into .mcp.json)"
|
|
653
657
|
return 0
|
|
654
658
|
fi
|
|
655
659
|
|
|
@@ -762,7 +766,7 @@ run_install_like() {
|
|
|
762
766
|
else
|
|
763
767
|
echo " ✓ Fresh install"
|
|
764
768
|
fi
|
|
765
|
-
echo " ✓ Standalone mode: OMG-only command surface (
|
|
769
|
+
echo " ✓ Standalone mode: OMG-only command surface (standalone mode)"
|
|
766
770
|
|
|
767
771
|
if $FRESH_INSTALL; then
|
|
768
772
|
echo ""
|
|
@@ -854,7 +858,7 @@ run_install_like() {
|
|
|
854
858
|
[ -f "$cmd" ] || continue
|
|
855
859
|
if is_omg_managed_command_file "$cmd"; then
|
|
856
860
|
! $DRY_RUN && rm "$cmd"
|
|
857
|
-
echo " - commands/$(basename "$cmd") (removed
|
|
861
|
+
echo " - commands/$(basename "$cmd") (removed legacy command)"
|
|
858
862
|
removed=$((removed + 1))
|
|
859
863
|
fi
|
|
860
864
|
done
|
|
@@ -926,7 +930,7 @@ run_install_like() {
|
|
|
926
930
|
for f in "$SCRIPT_DIR"/commands/*.md; do
|
|
927
931
|
name=$(basename "$f")
|
|
928
932
|
if [[ "$name" == *omc* ]]; then
|
|
929
|
-
echo " - /$(basename "$name" .md) (skipped:
|
|
933
|
+
echo " - /$(basename "$name" .md) (skipped: legacy alias commands are unsupported)"
|
|
930
934
|
continue
|
|
931
935
|
fi
|
|
932
936
|
target="$CLAUDE_DIR/commands/$name"
|
|
@@ -961,15 +965,27 @@ run_install_like() {
|
|
|
961
965
|
echo " ✓ Settings merged (auto)"
|
|
962
966
|
else
|
|
963
967
|
echo " Merging settings.json..."
|
|
964
|
-
python3 "$MERGE" "$TARGET" "$SOURCE" --dry-run 2>&1
|
|
965
|
-
|
|
966
|
-
read -p " Apply merge? [Y/n] " -n 1 -r
|
|
968
|
+
dry_run_preview="$(python3 "$MERGE" "$TARGET" "$SOURCE" --dry-run 2>&1)"
|
|
969
|
+
printf '%s\n' "$dry_run_preview" | sed -n '1,5p' | sed 's/^/ /'
|
|
967
970
|
echo ""
|
|
968
|
-
if
|
|
969
|
-
|
|
970
|
-
|
|
971
|
+
if read -p " Apply merge? [Y/n] " -n 1 -r 2>/dev/null; then
|
|
972
|
+
echo ""
|
|
973
|
+
if [[ ! $REPLY =~ ^[Nn]$ ]]; then
|
|
974
|
+
python3 "$MERGE" "$TARGET" "$SOURCE"
|
|
975
|
+
echo " ✓ Settings merged"
|
|
976
|
+
else
|
|
977
|
+
echo " ⊘ Skipped (manual merge needed)"
|
|
978
|
+
fi
|
|
971
979
|
else
|
|
972
|
-
|
|
980
|
+
# read failed — only auto-apply if we can confirm non-interactive context
|
|
981
|
+
# non-interactive fallback: check for clear non-interactive indicators
|
|
982
|
+
if [ ! -t 0 ] || [ -n "${npm_lifecycle_event:-}" ] || [ -n "${npm_execpath:-}" ]; then
|
|
983
|
+
python3 "$MERGE" "$TARGET" "$SOURCE"
|
|
984
|
+
echo " ✓ Settings merged (auto — non-interactive fallback)"
|
|
985
|
+
else
|
|
986
|
+
echo " ⚠ Could not read input. Skipping merge to be safe."
|
|
987
|
+
echo " Run manually: ./OMG-setup.sh update --merge-policy=apply"
|
|
988
|
+
fi
|
|
973
989
|
fi
|
|
974
990
|
fi
|
|
975
991
|
fi
|
package/README.md
CHANGED
|
@@ -1,16 +1,17 @@
|
|
|
1
|
-
#
|
|
1
|
+
# OMG v1.0.4
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
OMG (Oh My God) is a standalone orchestration layer for Claude Code.
|
|
4
4
|
It adds structured multi-agent workflows, intelligent model routing (Claude/Codex/Gemini), and durable session state for long-running engineering tasks.
|
|
5
5
|
|
|
6
|
-
- Version: `v1.0.
|
|
6
|
+
- Version: `v1.0.4`
|
|
7
|
+
- npm: `npm install @trac3er/oh-my-god`
|
|
7
8
|
- Maintainer: `trac3er00`
|
|
8
|
-
- Repo: `git@github.com:trac3er00/
|
|
9
|
-
- Release: `https://github.com/trac3er00/
|
|
9
|
+
- Repo: `git@github.com:trac3er00/OMG.git`
|
|
10
|
+
- Release: `https://github.com/trac3er00/OMG/releases/tag/v1.0.4`
|
|
10
11
|
|
|
11
|
-
## What
|
|
12
|
+
## What OMG Solves
|
|
12
13
|
|
|
13
|
-
|
|
14
|
+
OMG is built for teams and solo developers who want:
|
|
14
15
|
|
|
15
16
|
- Reliable execution loops (explore -> decide -> implement -> verify)
|
|
16
17
|
- Strong verification discipline (no unverified completion claims)
|
|
@@ -30,8 +31,8 @@ OAL is built for teams and solo developers who want:
|
|
|
30
31
|
- Hooks: 27 Python hooks
|
|
31
32
|
- Core rules: 5
|
|
32
33
|
- Contextual rules: 17
|
|
33
|
-
- Agents:
|
|
34
|
-
- Commands:
|
|
34
|
+
- Agents: 21
|
|
35
|
+
- Commands: 18 (`/OMG:*` namespace)
|
|
35
36
|
|
|
36
37
|
## Requirements
|
|
37
38
|
|
|
@@ -40,34 +41,48 @@ OAL is built for teams and solo developers who want:
|
|
|
40
41
|
|
|
41
42
|
## Installation
|
|
42
43
|
|
|
43
|
-
###
|
|
44
|
+
### Via npm (recommended)
|
|
44
45
|
|
|
45
46
|
```bash
|
|
46
|
-
|
|
47
|
-
./OAL-setup.sh install
|
|
47
|
+
npm install @trac3er/oh-my-god
|
|
48
48
|
```
|
|
49
49
|
|
|
50
|
-
|
|
50
|
+
Or install the latest version explicitly:
|
|
51
51
|
|
|
52
52
|
```bash
|
|
53
|
-
|
|
53
|
+
npm install @trac3er/oh-my-god@latest
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### Via git
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
git clone git@github.com:trac3er00/OMG.git
|
|
60
|
+
cd OMG
|
|
61
|
+
chmod +x OMG-setup.sh
|
|
62
|
+
./OMG-setup.sh install
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
### Plugin-oriented install
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
./OMG-setup.sh install --install-as-plugin
|
|
54
69
|
```
|
|
55
70
|
|
|
56
71
|
### Update
|
|
57
72
|
|
|
58
73
|
```bash
|
|
59
|
-
./
|
|
74
|
+
./OMG-setup.sh update
|
|
60
75
|
```
|
|
61
76
|
|
|
62
77
|
### Uninstall
|
|
63
78
|
|
|
64
79
|
```bash
|
|
65
|
-
./
|
|
80
|
+
./OMG-setup.sh uninstall
|
|
66
81
|
```
|
|
67
82
|
|
|
68
83
|
### Common flags
|
|
69
84
|
|
|
70
|
-
Supported by `
|
|
85
|
+
Supported by `OMG-setup.sh`:
|
|
71
86
|
|
|
72
87
|
- `--fresh` clean reinstall before install/update
|
|
73
88
|
- `--symlink` development mode with live updates from repo source
|
|
@@ -78,12 +93,12 @@ Supported by `OAL-setup.sh`:
|
|
|
78
93
|
|
|
79
94
|
## Plugin Update Behavior
|
|
80
95
|
|
|
81
|
-
If
|
|
96
|
+
If OMG is installed through Claude Code plugin flow (`/plugin`), update works like this:
|
|
82
97
|
|
|
83
98
|
- Claude plugin update triggers `.claude-plugin/scripts/update.sh`
|
|
84
99
|
- In git-backed installs, update stashes local changes (if needed) and pulls from `origin/main`
|
|
85
100
|
- When a git tag is available, plugin manifests are synced to the tagged version
|
|
86
|
-
- In cache/copy installs, update delegates to `
|
|
101
|
+
- In cache/copy installs, update delegates to `OMG-setup.sh update`
|
|
87
102
|
|
|
88
103
|
If plugin update appears silent, check:
|
|
89
104
|
|
|
@@ -96,51 +111,51 @@ If plugin update appears silent, check:
|
|
|
96
111
|
After install, from your target project directory:
|
|
97
112
|
|
|
98
113
|
```text
|
|
99
|
-
/
|
|
100
|
-
/
|
|
114
|
+
/OMG:init
|
|
115
|
+
/OMG:health-check
|
|
101
116
|
```
|
|
102
117
|
|
|
103
118
|
Common flows:
|
|
104
119
|
|
|
105
120
|
```text
|
|
106
|
-
/
|
|
107
|
-
/
|
|
108
|
-
/
|
|
109
|
-
/
|
|
121
|
+
/OMG:mode implement
|
|
122
|
+
/OMG:escalate codex "debug auth middleware"
|
|
123
|
+
/OMG:crazy fix flaky tests in payment module
|
|
124
|
+
/OMG:handoff
|
|
110
125
|
```
|
|
111
126
|
|
|
112
127
|
## Command Groups
|
|
113
128
|
|
|
114
129
|
### Core commands
|
|
115
130
|
|
|
116
|
-
- `/
|
|
117
|
-
- `/
|
|
118
|
-
- `/
|
|
119
|
-
- `/
|
|
120
|
-
- `/
|
|
121
|
-
- `/
|
|
122
|
-
- `/
|
|
123
|
-
- `/
|
|
124
|
-
- `/
|
|
125
|
-
- `/
|
|
131
|
+
- `/OMG:init`
|
|
132
|
+
- `/OMG:project-init`
|
|
133
|
+
- `/OMG:domain-init`
|
|
134
|
+
- `/OMG:health-check`
|
|
135
|
+
- `/OMG:mode`
|
|
136
|
+
- `/OMG:escalate`
|
|
137
|
+
- `/OMG:teams`
|
|
138
|
+
- `/OMG:ccg`
|
|
139
|
+
- `/OMG:crazy`
|
|
140
|
+
- `/OMG:compat`
|
|
126
141
|
|
|
127
142
|
### Advanced commands
|
|
128
143
|
|
|
129
|
-
- `/
|
|
130
|
-
- `/
|
|
131
|
-
- `/
|
|
132
|
-
- `/
|
|
133
|
-
- `/
|
|
134
|
-
- `/
|
|
135
|
-
- `/
|
|
136
|
-
- `/
|
|
137
|
-
- `/
|
|
138
|
-
- `/
|
|
139
|
-
- `/
|
|
144
|
+
- `/OMG:deep-plan`
|
|
145
|
+
- `/OMG:learn`
|
|
146
|
+
- `/OMG:code-review`
|
|
147
|
+
- `/OMG:security-review`
|
|
148
|
+
- `/OMG:ship`
|
|
149
|
+
- `/OMG:maintainer`
|
|
150
|
+
- `/OMG:handoff`
|
|
151
|
+
- `/OMG:sequential-thinking`
|
|
152
|
+
- `/OMG:ralph-start`
|
|
153
|
+
- `/OMG:ralph-stop`
|
|
154
|
+
- `/OMG:theme`
|
|
140
155
|
|
|
141
156
|
## Agent Routing Model
|
|
142
157
|
|
|
143
|
-
|
|
158
|
+
OMG dispatches by domain intent:
|
|
144
159
|
|
|
145
160
|
- Codex path: backend logic, debugging, algorithms, security-sensitive implementation
|
|
146
161
|
- Gemini path: UI/UX, layout, visual refinements, accessibility-oriented frontend work
|
|
@@ -151,17 +166,17 @@ OAL dispatches by domain intent:
|
|
|
151
166
|
Set an explicit operating mode per session:
|
|
152
167
|
|
|
153
168
|
```text
|
|
154
|
-
/
|
|
155
|
-
/
|
|
156
|
-
/
|
|
157
|
-
/
|
|
169
|
+
/OMG:mode research
|
|
170
|
+
/OMG:mode architect
|
|
171
|
+
/OMG:mode implement
|
|
172
|
+
/OMG:mode clear
|
|
158
173
|
```
|
|
159
174
|
|
|
160
|
-
Modes are persisted to `.
|
|
175
|
+
Modes are persisted to `.omg/state/mode.txt`.
|
|
161
176
|
|
|
162
177
|
## Verification and Safety
|
|
163
178
|
|
|
164
|
-
|
|
179
|
+
OMG enforces practical completion gates:
|
|
165
180
|
|
|
166
181
|
- Prevents unverified completion claims
|
|
167
182
|
- Tracks repeated failures and recommends escalation
|
|
@@ -176,10 +191,10 @@ Important behavior:
|
|
|
176
191
|
|
|
177
192
|
## Project State Layout
|
|
178
193
|
|
|
179
|
-
After `/
|
|
194
|
+
After `/OMG:init`, project state is created under `.omg/`:
|
|
180
195
|
|
|
181
196
|
```text
|
|
182
|
-
.
|
|
197
|
+
.omg/
|
|
183
198
|
state/
|
|
184
199
|
profile.yaml
|
|
185
200
|
working-memory.md
|
|
@@ -195,7 +210,7 @@ After `/OAL:init`, project state is created under `.oal/`:
|
|
|
195
210
|
## Repository Layout (High Level)
|
|
196
211
|
|
|
197
212
|
```text
|
|
198
|
-
|
|
213
|
+
omg/
|
|
199
214
|
hooks/
|
|
200
215
|
rules/
|
|
201
216
|
core/
|
|
@@ -206,24 +221,45 @@ oal/
|
|
|
206
221
|
templates/
|
|
207
222
|
runtime/
|
|
208
223
|
scripts/
|
|
209
|
-
|
|
224
|
+
OMG-setup.sh
|
|
210
225
|
```
|
|
211
226
|
|
|
212
227
|
## Versioning and Releases
|
|
213
228
|
|
|
214
|
-
Current version: `v1.0.
|
|
229
|
+
Current version: `v1.0.4`
|
|
230
|
+
|
|
231
|
+
### v1.0.4 emergency installation bug fix notes
|
|
232
|
+
|
|
233
|
+
- Fixed npm global install failures in non-TTY environments by auto-enabling non-interactive merge behavior in `OMG-setup.sh`.
|
|
234
|
+
- Removed a fragile dry-run merge preview pipeline that could terminate early under `set -euo pipefail`.
|
|
235
|
+
- Updated npm packaging to include required install-time assets (`settings.json` template and `lab/`).
|
|
236
|
+
- Added regression coverage for non-TTY install merge flow in `tests/e2e/test_setup_script.py`.
|
|
237
|
+
|
|
238
|
+
### v1.0.3 emergency installation bug fix notes
|
|
239
|
+
|
|
240
|
+
- Fixed npm global install failures in non-TTY environments by auto-enabling non-interactive merge behavior in `OMG-setup.sh`.
|
|
241
|
+
- Removed a fragile dry-run merge preview pipeline that could terminate early under `set -euo pipefail`.
|
|
242
|
+
- Updated npm packaging to include required install-time assets (`settings.json` template and `lab/`).
|
|
243
|
+
- Added regression coverage for non-TTY install merge flow in `tests/e2e/test_setup_script.py`.
|
|
244
|
+
|
|
245
|
+
Releases are automated via GitHub Actions. When a version tag is pushed, the `publish-npm.yml` workflow automatically publishes to npm:
|
|
246
|
+
|
|
247
|
+
```bash
|
|
248
|
+
# bump version in package.json, then:
|
|
249
|
+
git tag v1.0.4
|
|
250
|
+
git push origin v1.0.4
|
|
251
|
+
# → GitHub Actions auto-publishes @trac3er/oh-my-god@1.0.4 to npm
|
|
252
|
+
```
|
|
215
253
|
|
|
216
|
-
|
|
254
|
+
Manual release (if needed):
|
|
217
255
|
|
|
218
256
|
```bash
|
|
219
|
-
|
|
220
|
-
git push origin v1.0.2
|
|
221
|
-
gh release create v1.0.2 --title "OAL v1.0.2" --notes "Release notes"
|
|
257
|
+
gh release create v1.0.4 --title "OMG v1.0.4" --notes "Release notes"
|
|
222
258
|
```
|
|
223
259
|
|
|
224
260
|
## Compatibility Notes
|
|
225
261
|
|
|
226
|
-
-
|
|
262
|
+
- OMG runs fully standalone
|
|
227
263
|
- Legacy migration utilities remain available where needed
|
|
228
264
|
- Works alongside other plugins when command namespaces do not conflict
|
|
229
265
|
|
|
@@ -259,23 +295,23 @@ All new features are disabled by default. Enable via environment variables or `s
|
|
|
259
295
|
|
|
260
296
|
| Feature | Env Var | Default |
|
|
261
297
|
|---------|---------|---------|
|
|
262
|
-
| IntentGate keyword detection | `
|
|
263
|
-
| Multi-credential store | `
|
|
264
|
-
| Model roles routing | `
|
|
265
|
-
| LSP client | `
|
|
266
|
-
| Hashline anchors | `
|
|
267
|
-
| Python REPL | `
|
|
268
|
-
| Web search | `
|
|
269
|
-
| Browser automation | `
|
|
270
|
-
| SSH manager | `
|
|
271
|
-
| Themes | `
|
|
272
|
-
| Rust engine | `
|
|
273
|
-
|
|
274
|
-
You can also enable features in `settings.json` under `
|
|
298
|
+
| IntentGate keyword detection | `OMG_INTENTGATE_ENABLED=1` | Off |
|
|
299
|
+
| Multi-credential store | `OMG_MULTI_CREDENTIAL_ENABLED=1` | Off |
|
|
300
|
+
| Model roles routing | `OMG_MODEL_ROLES_ENABLED=1` | Off |
|
|
301
|
+
| LSP client | `OMG_LSP_ENABLED=1` | Off |
|
|
302
|
+
| Hashline anchors | `OMG_HASHLINE_ENABLED=1` | Off |
|
|
303
|
+
| Python REPL | `OMG_PYTHON_REPL_ENABLED=1` | Off |
|
|
304
|
+
| Web search | `OMG_WEB_SEARCH_ENABLED=1` | Off |
|
|
305
|
+
| Browser automation | `OMG_BROWSER_ENABLED=1` | Off |
|
|
306
|
+
| SSH manager | `OMG_SSH_ENABLED=1` | Off |
|
|
307
|
+
| Themes | `OMG_THEMES_ENABLED=true` | Off |
|
|
308
|
+
| Rust engine | `OMG_RUST_ENGINE_ENABLED=1` | Off |
|
|
309
|
+
|
|
310
|
+
You can also enable features in `settings.json` under `_omg.features`:
|
|
275
311
|
|
|
276
312
|
```json
|
|
277
313
|
{
|
|
278
|
-
"
|
|
314
|
+
"_omg": {
|
|
279
315
|
"features": {
|
|
280
316
|
"THEMES": true,
|
|
281
317
|
"INTENTGATE": true
|
|
@@ -286,27 +322,27 @@ You can also enable features in `settings.json` under `_oal.features`:
|
|
|
286
322
|
|
|
287
323
|
### New Commands
|
|
288
324
|
|
|
289
|
-
- `/
|
|
325
|
+
- `/OMG:theme` — Interactive theme selector with `--list`, `--preview`, `--set`, and `--auto` modes
|
|
290
326
|
|
|
291
327
|
### New Agents
|
|
292
328
|
|
|
293
329
|
v1.1 ships with expanded agent coverage:
|
|
294
330
|
|
|
295
|
-
- `
|
|
296
|
-
- `
|
|
297
|
-
- `
|
|
298
|
-
- `
|
|
299
|
-
- `
|
|
300
|
-
- `
|
|
301
|
-
- `
|
|
302
|
-
- `
|
|
303
|
-
- `
|
|
304
|
-
- `
|
|
305
|
-
- `
|
|
331
|
+
- `omg-api-builder` — API scaffolding and endpoint design
|
|
332
|
+
- `omg-architect` — System design and architecture decisions
|
|
333
|
+
- `omg-backend-engineer` — Backend implementation tasks
|
|
334
|
+
- `omg-critic` — Code review and critique
|
|
335
|
+
- `omg-database-engineer` — Schema design and query optimization
|
|
336
|
+
- `omg-escalation-router` — Intelligent escalation to Codex/Gemini
|
|
337
|
+
- `omg-frontend-designer` — UI/UX implementation
|
|
338
|
+
- `omg-infra-engineer` — Infrastructure and DevOps tasks
|
|
339
|
+
- `omg-qa-tester` — Test writing and quality assurance
|
|
340
|
+
- `omg-security-auditor` — Security review and vulnerability analysis
|
|
341
|
+
- `omg-testing-engineer` — Test strategy and coverage
|
|
306
342
|
|
|
307
343
|
## Migration Guide
|
|
308
344
|
|
|
309
|
-
### Upgrading from
|
|
345
|
+
### Upgrading from OMG v1.0 to v1.1
|
|
310
346
|
|
|
311
347
|
All new features default to `False` and are fully backward-compatible. Existing workflows continue unchanged.
|
|
312
348
|
|
|
@@ -314,14 +350,14 @@ To adopt new features selectively:
|
|
|
314
350
|
|
|
315
351
|
1. **Enable via env var** before launching Claude Code:
|
|
316
352
|
```bash
|
|
317
|
-
export
|
|
318
|
-
export
|
|
353
|
+
export OMG_THEMES_ENABLED=true
|
|
354
|
+
export OMG_MODEL_ROLES_ENABLED=1
|
|
319
355
|
```
|
|
320
356
|
|
|
321
357
|
2. **Or enable in `settings.json`** for persistent config:
|
|
322
358
|
```json
|
|
323
359
|
{
|
|
324
|
-
"
|
|
360
|
+
"_omg": {
|
|
325
361
|
"features": {
|
|
326
362
|
"THEMES": true,
|
|
327
363
|
"MODEL_ROLES": true
|
|
@@ -332,4 +368,4 @@ To adopt new features selectively:
|
|
|
332
368
|
|
|
333
369
|
3. **No breaking changes** — all v1.0 commands, agents, and hooks remain intact.
|
|
334
370
|
|
|
335
|
-
4. **New command**: `/
|
|
371
|
+
4. **New command**: `/OMG:theme` is available immediately after update, gated by `OMG_THEMES_ENABLED`.
|
|
@@ -14,4 +14,4 @@ Always: include project context (from profile.yaml) in delegation.
|
|
|
14
14
|
Always: propose to user first, never auto-spawn.
|
|
15
15
|
Collect outputs → synthesize into single report with model attribution.
|
|
16
16
|
If models disagree: present both views, let user decide.
|
|
17
|
-
Standalone mode: use `/OMG:teams` or `/OMG:ccg` directly (no
|
|
17
|
+
Standalone mode: use `/OMG:teams` or `/OMG:ccg` directly (standalone — no external dependency).
|
package/commands/OMG:compat.md
CHANGED
|
@@ -23,7 +23,7 @@ python3 "$OMG_CLI" compat list
|
|
|
23
23
|
|
|
24
24
|
```bash
|
|
25
25
|
python3 "$OMG_CLI" compat contract --all
|
|
26
|
-
python3 "$OMG_CLI" compat contract --skill
|
|
26
|
+
python3 "$OMG_CLI" compat contract --skill omg-teams
|
|
27
27
|
python3 "$OMG_CLI" compat snapshot --output runtime/omg_compat_contract_snapshot.json
|
|
28
28
|
python3 scripts/check-omg-compat-contract-snapshot.py --strict-version
|
|
29
29
|
python3 scripts/check-omg-standalone-clean.py
|
|
@@ -51,7 +51,7 @@ python3 "$OMG_CLI" compat run --skill "<skill-name>" --problem "$ARGUMENTS"
|
|
|
51
51
|
Examples:
|
|
52
52
|
|
|
53
53
|
```bash
|
|
54
|
-
python3 "$OMG_CLI" compat run --skill
|
|
54
|
+
python3 "$OMG_CLI" compat run --skill omg-teams --problem "review auth flow"
|
|
55
55
|
python3 "$OMG_CLI" compat run --skill plan --problem "ship secure release"
|
|
56
56
|
python3 "$OMG_CLI" compat run --skill pipeline --problem "train model"
|
|
57
57
|
```
|
package/commands/OMG:escalate.md
CHANGED
|
@@ -4,7 +4,7 @@ allowed-tools: Read, Write, Edit, Bash
|
|
|
4
4
|
argument-hint: "--name <branch-name> [--from <snapshot_id>]"
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
# /OMG:branch — Branch OMG State
|
|
7
|
+
# /OMG:session-branch — Branch OMG State
|
|
8
8
|
|
|
9
9
|
Create a named branch of the current OMG state for experimentation or parallel exploration.
|
|
10
10
|
|
|
@@ -15,8 +15,8 @@ Branching is **OMG state only** — it captures and restores `.omg/state/` direc
|
|
|
15
15
|
## Usage
|
|
16
16
|
|
|
17
17
|
```
|
|
18
|
-
/OMG:branch --name "experiment"
|
|
19
|
-
/OMG:branch --name "refactor-v2" --from 20260302_143000_baseline
|
|
18
|
+
/OMG:session-branch --name "experiment"
|
|
19
|
+
/OMG:session-branch --name "refactor-v2" --from 20260302_143000_baseline
|
|
20
20
|
```
|
|
21
21
|
|
|
22
22
|
## What It Does
|
|
@@ -74,11 +74,11 @@ Or in `settings.json`:
|
|
|
74
74
|
|
|
75
75
|
```
|
|
76
76
|
# 1. Create a baseline branch
|
|
77
|
-
/OMG:branch --name "baseline"
|
|
77
|
+
/OMG:session-branch --name "baseline"
|
|
78
78
|
|
|
79
79
|
# 2. Do some experimental work...
|
|
80
80
|
# 3. Create experiment branch to save progress
|
|
81
|
-
/OMG:branch --name "experiment-auth"
|
|
81
|
+
/OMG:session-branch --name "experiment-auth"
|
|
82
82
|
|
|
83
83
|
# 4. Switch back to baseline if experiment didn't work
|
|
84
84
|
python3 tools/session_snapshot.py switch baseline
|
|
@@ -4,9 +4,9 @@ allowed-tools: Read, Write, Edit, Bash
|
|
|
4
4
|
argument-hint: "--from <snapshot_id> --name <fork-name>"
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
# /OMG:fork — Fork OMG State from Checkpoint
|
|
7
|
+
# /OMG:session-fork — Fork OMG State from Checkpoint
|
|
8
8
|
|
|
9
|
-
Create a new branch from a specific snapshot checkpoint. This is a convenience wrapper around `/OMG:branch` that always requires a source snapshot.
|
|
9
|
+
Create a new branch from a specific snapshot checkpoint. This is a convenience wrapper around `/OMG:session-branch` that always requires a source snapshot.
|
|
10
10
|
|
|
11
11
|
## Important
|
|
12
12
|
|
|
@@ -15,7 +15,7 @@ Forking is **OMG state only** — it restores a previous `.omg/state/` snapshot
|
|
|
15
15
|
## Usage
|
|
16
16
|
|
|
17
17
|
```
|
|
18
|
-
/OMG:fork --from 20260302_143000_baseline --name "alt-approach"
|
|
18
|
+
/OMG:session-fork --from 20260302_143000_baseline --name "alt-approach"
|
|
19
19
|
```
|
|
20
20
|
|
|
21
21
|
## What It Does
|
|
@@ -29,8 +29,8 @@ Forking is **OMG state only** — it restores a previous `.omg/state/` snapshot
|
|
|
29
29
|
|
|
30
30
|
| Action | Use Case |
|
|
31
31
|
|--------|----------|
|
|
32
|
-
| `/OMG:branch --name X` | Save current state as a named branch |
|
|
33
|
-
| `/OMG:fork --from S --name X` | Go back to snapshot S and start a new exploration path |
|
|
32
|
+
| `/OMG:session-branch --name X` | Save current state as a named branch |
|
|
33
|
+
| `/OMG:session-fork --from S --name X` | Go back to snapshot S and start a new exploration path |
|
|
34
34
|
|
|
35
35
|
## Example
|
|
36
36
|
|
|
@@ -39,14 +39,14 @@ Forking is **OMG state only** — it restores a previous `.omg/state/` snapshot
|
|
|
39
39
|
python3 tools/session_snapshot.py list
|
|
40
40
|
|
|
41
41
|
# Fork from a previous checkpoint
|
|
42
|
-
/OMG:fork --from 20260302_100000_pre-refactor --name "approach-b"
|
|
42
|
+
/OMG:session-fork --from 20260302_100000_pre-refactor --name "approach-b"
|
|
43
43
|
|
|
44
44
|
# Continue working from that earlier state...
|
|
45
45
|
```
|
|
46
46
|
|
|
47
47
|
## Feature Flag
|
|
48
48
|
|
|
49
|
-
Forking shares the `OMG_BRANCHING_ENABLED` feature flag with `/OMG:branch` (default: `False`).
|
|
49
|
+
Forking shares the `OMG_BRANCHING_ENABLED` feature flag with `/OMG:session-branch` (default: `False`).
|
|
50
50
|
|
|
51
51
|
```bash
|
|
52
52
|
export OMG_BRANCHING_ENABLED=true
|
|
@@ -4,7 +4,7 @@ allowed-tools: Read, Write, Edit, Bash
|
|
|
4
4
|
argument-hint: "--from <source-branch> [--into <target-branch>] [--preview]"
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
# /OMG:merge — Merge OMG State Branches
|
|
7
|
+
# /OMG:session-merge — Merge OMG State Branches
|
|
8
8
|
|
|
9
9
|
Merge one OMG state branch into another with automatic conflict detection.
|
|
10
10
|
|
|
@@ -15,9 +15,9 @@ Merging is **OMG state only** — it merges branch metadata (`.omg/state/branche
|
|
|
15
15
|
## Usage
|
|
16
16
|
|
|
17
17
|
```
|
|
18
|
-
/OMG:merge --from "experiment"
|
|
19
|
-
/OMG:merge --from "experiment" --into "main"
|
|
20
|
-
/OMG:merge --from "experiment" --preview
|
|
18
|
+
/OMG:session-merge --from "experiment"
|
|
19
|
+
/OMG:session-merge --from "experiment" --into "main"
|
|
20
|
+
/OMG:session-merge --from "experiment" --preview
|
|
21
21
|
```
|
|
22
22
|
|
|
23
23
|
## What It Does
|
|
@@ -118,16 +118,16 @@ Or in `settings.json`:
|
|
|
118
118
|
|
|
119
119
|
```
|
|
120
120
|
# 1. Create branches
|
|
121
|
-
/OMG:branch --name "main"
|
|
122
|
-
/OMG:branch --name "experiment"
|
|
121
|
+
/OMG:session-branch --name "main"
|
|
122
|
+
/OMG:session-branch --name "experiment"
|
|
123
123
|
|
|
124
124
|
# 2. Do experimental work on "experiment" branch...
|
|
125
125
|
|
|
126
126
|
# 3. Preview the merge
|
|
127
|
-
/OMG:merge --from "experiment" --preview
|
|
127
|
+
/OMG:session-merge --from "experiment" --preview
|
|
128
128
|
|
|
129
129
|
# 4. If no conflicts, apply the merge
|
|
130
|
-
/OMG:merge --from "experiment" --into "main"
|
|
130
|
+
/OMG:session-merge --from "experiment" --into "main"
|
|
131
131
|
|
|
132
132
|
# 5. Verify merge
|
|
133
133
|
python3 tools/session_snapshot.py branches
|
package/commands/OMG:teams.md
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: OMG internal team routing (standalone).
|
|
2
|
+
description: OMG internal team routing (standalone). Standalone team routing.
|
|
3
3
|
allowed-tools: Read, Grep, Glob, Bash(git:*), Bash(rg:*), Bash(find:*), Bash(cat:*), Bash(python3:*)
|
|
4
4
|
argument-hint: "[codex|gemini|ccg|auto] 'problem statement'"
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# /OMG:teams — Standalone Internal Router
|
|
8
8
|
|
|
9
|
-
Use OMG's internal router
|
|
9
|
+
Use OMG's internal router using internal routing.
|
|
10
10
|
|
|
11
11
|
## Input contract
|
|
12
12
|
- target: `auto|codex|gemini|ccg`
|