@elvatis_com/openclaw-cli-bridge-elvatis 0.2.11 → 0.2.13

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.
@@ -30,7 +30,17 @@ package.json / tsconfig.json
30
30
  ### Before release
31
31
  1. `npm run typecheck` — must pass
32
32
  2. `npm test` — all tests must pass
33
- 3. Bump version in `package.json` AND `openclaw.plugin.json`
33
+ 3. Bump version in ALL of these (grep to find all occurrences first!):
34
+ - `package.json`
35
+ - `openclaw.plugin.json`
36
+ - `README.md` → `**Current version:** \`X.Y.Z\``
37
+ - `SKILL.md` → `**Version:** X.Y.Z` (at the bottom)
38
+ - `.ai/handoff/STATUS.md` → header line + npm/ClawHub lines
39
+ - Add changelog entry for new version in `README.md`
40
+ ```bash
41
+ grep -rn "X\.Y\.Z\|Current version\|Version:" \
42
+ --include="*.md" --include="*.json" --exclude-dir=node_modules --exclude-dir=dist --exclude-dir=.git
43
+ ```
34
44
 
35
45
  ### Publish (all three platforms, no exceptions)
36
46
  4. `git tag vX.Y.Z && git push origin main && git push origin vX.Y.Z`
@@ -60,3 +70,32 @@ package.json / tsconfig.json
60
70
  - `SKILL.md` — if commands or config changed
61
71
 
62
72
  Skipping documentation = incomplete release. No exceptions.
73
+
74
+ ---
75
+
76
+ ## 🚨 Release-Regel: Erst fertig, dann publishen (gilt für ALLE Plattformen)
77
+
78
+ **IMMER erst alles fertigstellen, danach publishen. Kein einziger Commit mehr dazwischen.**
79
+ Gilt für GitHub, npm, ClawHub, PyPI — egal ob ein Projekt auf einer oder mehreren Plattformen ist.
80
+ Sonst divergieren die Tarballs/Releases zwangsläufig.
81
+
82
+ ### Reihenfolge (nie abweichen)
83
+ 1. Alle Änderungen + Versionsbumps in **einem einzigen Commit** abschließen
84
+ 2. `git push` → Plattform 1 (z.B. GitHub)
85
+ 3. `npm publish` / `clawhub publish` / etc. — alle weiteren Plattformen
86
+ 4. Kein weiterer Commit bis zum nächsten Release (außer reine interne Doku)
87
+
88
+ ### Vor jedem Release: Alle Versionsstellen prüfen
89
+ ```bash
90
+ grep -rn "X\.Y\.Z\|Current version\|Version:" \
91
+ --include="*.md" --include="*.json" \
92
+ --exclude-dir=node_modules --exclude-dir=dist --exclude-dir=.git
93
+ ```
94
+ Typische vergessene Stellen: `README.md` Header, `SKILL.md` Footer, `package.json`,
95
+ `openclaw.plugin.json`, `.ai/handoff/STATUS.md` (Header + Plattform-Zeilen), Changelog-Eintrag.
96
+
97
+ ### Secrets & private Pfade — NIEMALS in Repos
98
+ - Keine API Keys, Tokens, Passwörter, Secrets in Code oder Docs
99
+ - Keine absoluten lokalen Pfade (`/home/user/...`) in publizierten Dateien
100
+ - Keine `.env`-Dateien committen — immer in `.gitignore`
101
+ - Vor jedem Push: `git diff --staged` auf Secrets prüfen
@@ -2,13 +2,13 @@
2
2
 
3
3
  _Last updated: 2026-03-07 by Akido (claude-sonnet-4-6)_
4
4
 
5
- ## Current Version: 0.2.11 — STABLE
5
+ ## Current Version: 0.2.13 — STABLE
6
6
 
7
7
  ## What is done
8
8
 
9
9
  - ✅ Repo: `https://github.com/elvatis/openclaw-cli-bridge-elvatis`
10
- - ✅ npm: `@elvatis_com/openclaw-cli-bridge-elvatis@0.2.11`
11
- - ✅ ClawHub: `openclaw-cli-bridge-elvatis@0.2.11`
10
+ - ✅ npm: `@elvatis_com/openclaw-cli-bridge-elvatis@0.2.13`
11
+ - ✅ ClawHub: `openclaw-cli-bridge-elvatis@0.2.13`
12
12
  - ✅ Phase 1: `openai-codex` provider via `~/.codex/auth.json` (no re-login)
13
13
  - ✅ Phase 2: Local OpenAI-compatible proxy on `127.0.0.1:31337` (Gemini + Claude CLI)
14
14
  - ✅ Phase 3: 10 slash commands (`/cli-sonnet`, `/cli-opus`, `/cli-haiku`, `/cli-gemini`, `/cli-gemini-flash`, `/cli-gemini3`, `/cli-codex`, `/cli-codex-mini`, `/cli-back`, `/cli-test`)
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  > OpenClaw plugin that bridges locally installed AI CLIs (Codex, Gemini, Claude Code) as model providers — with slash commands for instant model switching, restore, and health testing.
4
4
 
5
- **Current version:** `0.2.11`
5
+ **Current version:** `0.2.13`
6
6
 
7
7
  ---
8
8
 
@@ -234,8 +234,14 @@ npm test # vitest run (5 unit tests for formatPrompt)
234
234
 
235
235
  ## Changelog
236
236
 
237
+ ### v0.2.13
238
+ - **docs:** Fix changelog (v0.2.10 entry was lost by sed, v0.2.11 description was wrong); enforce single-commit publish discipline
239
+
237
240
  ### v0.2.11
238
- - **docs:** Fix version labels in SKILL.md and README changelog (were stuck at 0.2.2/0.2.5)
241
+ - **docs:** Fix README `Current version` header (was stuck at 0.2.9 after 0.2.10 bump)
242
+
243
+ ### v0.2.10
244
+ - **docs:** Fix version labels — SKILL.md was showing 0.2.2, README changelog ended at v0.2.5; add entries for v0.2.6–v0.2.9
239
245
 
240
246
  ### v0.2.9
241
247
  - **fix:** Critical — replace `fuser -k 31337/tcp` with safe health probe (`GET /v1/models`)
package/SKILL.md CHANGED
@@ -53,4 +53,4 @@ Each command runs `openclaw models set <model>` atomically and replies with a co
53
53
 
54
54
  See `README.md` for full configuration reference and architecture diagram.
55
55
 
56
- **Version:** 0.2.11
56
+ **Version:** 0.2.13
package/index.ts CHANGED
@@ -277,7 +277,7 @@ function proxyTestRequest(
277
277
  const plugin = {
278
278
  id: "openclaw-cli-bridge-elvatis",
279
279
  name: "OpenClaw CLI Bridge",
280
- version: "0.2.5",
280
+ version: "0.2.13",
281
281
  description:
282
282
  "Phase 1: openai-codex auth bridge. " +
283
283
  "Phase 2: HTTP proxy for gemini/claude CLIs. " +
@@ -458,7 +458,7 @@ const plugin = {
458
458
  api.registerCommand({
459
459
  name,
460
460
  description,
461
- requireAuth: true,
461
+ requireAuth: false,
462
462
  handler: async (ctx: PluginCommandContext): Promise<PluginCommandResult> => {
463
463
  api.logger.info(`[cli-bridge] /${name} by ${ctx.senderId ?? "?"}`);
464
464
  return switchModel(api, model, label);
@@ -470,7 +470,7 @@ const plugin = {
470
470
  api.registerCommand({
471
471
  name: "cli-back",
472
472
  description: "Restore the model that was active before the last /cli-* switch",
473
- requireAuth: true,
473
+ requireAuth: false,
474
474
  handler: async (ctx: PluginCommandContext): Promise<PluginCommandResult> => {
475
475
  api.logger.info(`[cli-bridge] /cli-back by ${ctx.senderId ?? "?"}`);
476
476
 
@@ -508,7 +508,7 @@ const plugin = {
508
508
  name: "cli-test",
509
509
  description: "Test the CLI bridge proxy without switching your active model. Usage: /cli-test [model]",
510
510
  acceptsArgs: true,
511
- requireAuth: true,
511
+ requireAuth: false,
512
512
  handler: async (ctx: PluginCommandContext): Promise<PluginCommandResult> => {
513
513
  const targetModel = ctx.args?.trim() || CLI_TEST_DEFAULT_MODEL;
514
514
  // Accept short names like "cli-sonnet" or full "vllm/cli-claude/claude-sonnet-4-6"
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "id": "openclaw-cli-bridge-elvatis",
3
3
  "name": "OpenClaw CLI Bridge",
4
- "version": "0.2.11",
4
+ "version": "0.2.13",
5
5
  "description": "Phase 1: openai-codex auth bridge. Phase 2: local HTTP proxy routing model calls through gemini/claude CLIs (vllm provider).",
6
6
  "providers": [
7
7
  "openai-codex"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elvatis_com/openclaw-cli-bridge-elvatis",
3
- "version": "0.2.11",
3
+ "version": "0.2.13",
4
4
  "description": "Bridges gemini, claude, and codex CLI tools as OpenClaw model providers. Reads existing CLI auth without re-login.",
5
5
  "type": "module",
6
6
  "openclaw": {