oh-my-opencode-slim 2.2.0 → 2.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,159 +0,0 @@
1
- ---
2
- name: release-smoke-test
3
- description: Test an oh-my-opencode-slim release candidate or bugfix before publishing. Use when validating a packed plugin artifact, release branch, crash fix, OpenCode runtime compatibility, or model-specific smoke test such as OpenCode 1.17.11 message transform regressions.
4
- ---
5
-
6
- # Release Smoke Test
7
-
8
- Use this skill to validate an `oh-my-opencode-slim` release candidate before
9
- public npm publish. Test the packed artifact, not `@latest` and not the source
10
- tree.
11
-
12
- ## Core Workflow
13
-
14
- 1. Start from the release-prep branch or commit.
15
- 2. Build and pack the candidate.
16
- 3. Install the tarball into a throwaway app.
17
- 4. Create an isolated OpenCode config pointing at the installed
18
- `node_modules/oh-my-opencode-slim/dist/index.js`.
19
- 5. Run `opencode debug config` and verify `plugin_origins` contains only the
20
- intended plugin when doing an isolation smoke.
21
- 6. Run non-pure `opencode run --print-logs --log-level DEBUG`.
22
- 7. Search isolated logs for the original crash signature.
23
- 8. Record exact artifact, model, OpenCode version, command shape, result, and
24
- limitations on the release issue or PR.
25
-
26
- ## Pack Candidate
27
-
28
- Use a temp directory so release validation never depends on the local package
29
- cache.
30
-
31
- ```bash
32
- SMOKE=/tmp/oh-my-opencode-slim-release-smoke
33
- rm -rf "$SMOKE"
34
- mkdir -p "$SMOKE/pkg" "$SMOKE/app" "$SMOKE/home" "$SMOKE/xdg/opencode" "$SMOKE/run"
35
-
36
- bun run build
37
- npm pack --pack-destination "$SMOKE/pkg"
38
- ```
39
-
40
- Install the tarball:
41
-
42
- ```bash
43
- cd "$SMOKE/app"
44
- bun init -y
45
- bun add "$SMOKE/pkg"/oh-my-opencode-slim-*.tgz
46
- node -p "require('./node_modules/oh-my-opencode-slim/package.json').version"
47
- ```
48
-
49
- ## Isolated Config
50
-
51
- Write the minimal OpenCode config:
52
-
53
- ```bash
54
- cat > "$SMOKE/xdg/opencode/opencode.json" <<EOF
55
- {
56
- "model": "opencode/deepseek-v4-flash-free",
57
- "plugin": [
58
- "file://$SMOKE/app/node_modules/oh-my-opencode-slim/dist/index.js"
59
- ],
60
- "agent": {
61
- "orchestrator": {
62
- "model": "opencode/deepseek-v4-flash-free"
63
- }
64
- }
65
- }
66
- EOF
67
- ```
68
-
69
- Use `env -i` for the cleanest smoke. This strips host `OPENCODE_*`, `ORCA_*`,
70
- and project overlay variables that can silently add plugins or provider aliases.
71
-
72
- ```bash
73
- env -i PATH="$PATH" HOME="$SMOKE/home" XDG_CONFIG_HOME="$SMOKE/xdg" \
74
- opencode debug config
75
- ```
76
-
77
- Confirm:
78
-
79
- - `plugin_origins` has exactly one entry.
80
- - That entry points to the temp app's packed `dist/index.js`.
81
- - The model is the one intended for the smoke.
82
-
83
- If OpenCode needs provider aliases from the host environment, run a second
84
- non-isolated model-specific smoke and clearly label it as weaker isolation.
85
-
86
- ## Runtime Smoke
87
-
88
- Run the actual prompt with timeout:
89
-
90
- ```bash
91
- env -i PATH="$PATH" HOME="$SMOKE/home" XDG_CONFIG_HOME="$SMOKE/xdg" \
92
- timeout 120 \
93
- opencode run --print-logs --log-level DEBUG "Say OK only."
94
- ```
95
-
96
- Expected result:
97
-
98
- ```text
99
- OK
100
- ```
101
-
102
- Search logs for the bug signature. For the OpenCode 1.17.11 malformed-message
103
- crash, use:
104
-
105
- ```bash
106
- rg "message\\.info\\.role|undefined is not an object|Cannot read properties of undefined|TypeError" \
107
- "$SMOKE/home/.local/share/opencode/log" -n 2>/dev/null || true
108
- ```
109
-
110
- No matches should appear.
111
-
112
- ## OpenAI / Host-Provider Smoke
113
-
114
- If the fully isolated environment cannot resolve OpenAI provider aliases, run a
115
- separate host-provider smoke while keeping the plugin path pointed at the
116
- tarball install.
117
-
118
- ```bash
119
- mkdir -p "$SMOKE/config"
120
- cat > "$SMOKE/config/opencode.json" <<EOF
121
- {
122
- "model": "openai/gpt-5.6-fast",
123
- "plugin": [
124
- "file://$SMOKE/app/node_modules/oh-my-opencode-slim/dist/index.js"
125
- ],
126
- "agent": {
127
- "orchestrator": {
128
- "model": "openai/gpt-5.6-fast"
129
- }
130
- }
131
- }
132
- EOF
133
-
134
- OPENCODE_CONFIG_DIR="$SMOKE/config" \
135
- timeout 120 \
136
- opencode run --print-logs --log-level DEBUG "Say OK only."
137
- ```
138
-
139
- Report this as a host-provider smoke because existing project, user, or Orca
140
- OpenCode config may still merge in. Use `opencode debug config` to disclose
141
- what else loaded.
142
-
143
- ## Reporting Template
144
-
145
- ```markdown
146
- ## Release-candidate smoke validation
147
-
148
- - Commit under test:
149
- - Tarball:
150
- - Installed package version:
151
- - OpenCode version:
152
- - Config isolation: sanitized `env -i` / host-provider
153
- - Plugin origin:
154
- - Model:
155
- - Command:
156
- - Result:
157
- - Crash signature search:
158
- - Limitations:
159
- ```