jeo-code 0.5.14 → 0.5.15
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 +6 -0
- package/README.ja.md +1 -1
- package/README.ko.md +1 -1
- package/README.md +1 -1
- package/README.zh.md +1 -1
- package/package.json +1 -1
- package/src/cli/runner.ts +1 -1
- package/src/commands/update.ts +20 -9
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
6
6
|
|
|
7
7
|
The README mirrors the latest 5 entries — regenerate with `bun run changelog:sync`.
|
|
8
8
|
|
|
9
|
+
## [0.5.15] - 2026-06-16
|
|
10
|
+
_`jeo update` now actually upgrades — bare command installs the latest release instead of just printing a manual command._
|
|
11
|
+
|
|
12
|
+
### Changed
|
|
13
|
+
- `jeo update` (bare) now performs the upgrade itself: when a newer release exists it runs the install (`bun install -g jeo-code@<latest>`, pinned to the resolved latest version so a stale global cache can't win) instead of printing "Run 'bun install -g jeo-code' to upgrade" and leaving the user to do it. `--check` is the new check-only mode; `--json` stays check-only for programmatic status (add `--install` to install in JSON mode); `--install` still forces an install. The check-only hint now points at `jeo update` itself.
|
|
14
|
+
|
|
9
15
|
## [0.5.14] - 2026-06-16
|
|
10
16
|
_`jeo --tmux` live-verification harness — repeatable stability + behavior checks._
|
|
11
17
|
|
package/README.ja.md
CHANGED
|
@@ -150,11 +150,11 @@ CI は `.github/workflows/npm-publish.yml` で公開します — GitHub リリ
|
|
|
150
150
|
## 変更履歴 (Changelog)
|
|
151
151
|
|
|
152
152
|
<!-- CHANGELOG:START (auto-generated from CHANGELOG.md — run `bun run changelog:sync`) -->
|
|
153
|
+
- **[0.5.15]** (2026-06-16) — `jeo update` now actually upgrades — bare command installs the latest release instead of just printing a manual command.
|
|
153
154
|
- **[0.5.14]** (2026-06-16) — `jeo --tmux` live-verification harness — repeatable stability + behavior checks.
|
|
154
155
|
- **[0.5.13]** (2026-06-15) — Workflow `/` commands actually run — `/deep-interview`, `/team`, `/ultragoal`, `/ralplan` dispatch by name.
|
|
155
156
|
- **[0.5.12]** (2026-06-15) — Yellow status animation while a process runs, and elapsed `(Nms)` on every completed tool card.
|
|
156
157
|
- **[0.5.11]** (2026-06-15) — Backspace on an empty prompt line no longer quits jeo.
|
|
157
|
-
- **[0.5.10]** (2026-06-15) — `/resume` transcript no longer dumps raw JSON for batched tool calls.
|
|
158
158
|
|
|
159
159
|
See [CHANGELOG.md](CHANGELOG.md) for the full history.
|
|
160
160
|
<!-- CHANGELOG:END -->
|
package/README.ko.md
CHANGED
|
@@ -150,11 +150,11 @@ CI는 `.github/workflows/npm-publish.yml`로 배포합니다 — GitHub 릴리
|
|
|
150
150
|
## 변경 이력 (Changelog)
|
|
151
151
|
|
|
152
152
|
<!-- CHANGELOG:START (auto-generated from CHANGELOG.md — run `bun run changelog:sync`) -->
|
|
153
|
+
- **[0.5.15]** (2026-06-16) — `jeo update` now actually upgrades — bare command installs the latest release instead of just printing a manual command.
|
|
153
154
|
- **[0.5.14]** (2026-06-16) — `jeo --tmux` live-verification harness — repeatable stability + behavior checks.
|
|
154
155
|
- **[0.5.13]** (2026-06-15) — Workflow `/` commands actually run — `/deep-interview`, `/team`, `/ultragoal`, `/ralplan` dispatch by name.
|
|
155
156
|
- **[0.5.12]** (2026-06-15) — Yellow status animation while a process runs, and elapsed `(Nms)` on every completed tool card.
|
|
156
157
|
- **[0.5.11]** (2026-06-15) — Backspace on an empty prompt line no longer quits jeo.
|
|
157
|
-
- **[0.5.10]** (2026-06-15) — `/resume` transcript no longer dumps raw JSON for batched tool calls.
|
|
158
158
|
|
|
159
159
|
See [CHANGELOG.md](CHANGELOG.md) for the full history.
|
|
160
160
|
<!-- CHANGELOG:END -->
|
package/README.md
CHANGED
|
@@ -150,11 +150,11 @@ Required npm token permissions (repository secret `NPM_TOKEN`):
|
|
|
150
150
|
## Changelog
|
|
151
151
|
|
|
152
152
|
<!-- CHANGELOG:START (auto-generated from CHANGELOG.md — run `bun run changelog:sync`) -->
|
|
153
|
+
- **[0.5.15]** (2026-06-16) — `jeo update` now actually upgrades — bare command installs the latest release instead of just printing a manual command.
|
|
153
154
|
- **[0.5.14]** (2026-06-16) — `jeo --tmux` live-verification harness — repeatable stability + behavior checks.
|
|
154
155
|
- **[0.5.13]** (2026-06-15) — Workflow `/` commands actually run — `/deep-interview`, `/team`, `/ultragoal`, `/ralplan` dispatch by name.
|
|
155
156
|
- **[0.5.12]** (2026-06-15) — Yellow status animation while a process runs, and elapsed `(Nms)` on every completed tool card.
|
|
156
157
|
- **[0.5.11]** (2026-06-15) — Backspace on an empty prompt line no longer quits jeo.
|
|
157
|
-
- **[0.5.10]** (2026-06-15) — `/resume` transcript no longer dumps raw JSON for batched tool calls.
|
|
158
158
|
|
|
159
159
|
See [CHANGELOG.md](CHANGELOG.md) for the full history.
|
|
160
160
|
<!-- CHANGELOG:END -->
|
package/README.zh.md
CHANGED
|
@@ -150,11 +150,11 @@ CI 通过 `.github/workflows/npm-publish.yml` 发布 — GitHub 发布 release
|
|
|
150
150
|
## 更新日志 (Changelog)
|
|
151
151
|
|
|
152
152
|
<!-- CHANGELOG:START (auto-generated from CHANGELOG.md — run `bun run changelog:sync`) -->
|
|
153
|
+
- **[0.5.15]** (2026-06-16) — `jeo update` now actually upgrades — bare command installs the latest release instead of just printing a manual command.
|
|
153
154
|
- **[0.5.14]** (2026-06-16) — `jeo --tmux` live-verification harness — repeatable stability + behavior checks.
|
|
154
155
|
- **[0.5.13]** (2026-06-15) — Workflow `/` commands actually run — `/deep-interview`, `/team`, `/ultragoal`, `/ralplan` dispatch by name.
|
|
155
156
|
- **[0.5.12]** (2026-06-15) — Yellow status animation while a process runs, and elapsed `(Nms)` on every completed tool card.
|
|
156
157
|
- **[0.5.11]** (2026-06-15) — Backspace on an empty prompt line no longer quits jeo.
|
|
157
|
-
- **[0.5.10]** (2026-06-15) — `/resume` transcript no longer dumps raw JSON for batched tool calls.
|
|
158
158
|
|
|
159
159
|
See [CHANGELOG.md](CHANGELOG.md) for the full history.
|
|
160
160
|
<!-- CHANGELOG:END -->
|
package/package.json
CHANGED
package/src/cli/runner.ts
CHANGED
|
@@ -165,7 +165,7 @@ export const COMMANDS: readonly CommandSpec[] = [
|
|
|
165
165
|
},
|
|
166
166
|
{
|
|
167
167
|
name: "update",
|
|
168
|
-
summary: "
|
|
168
|
+
summary: "Update jeo-code to the latest npm release (bare = install; --check only checks).",
|
|
169
169
|
usage: "update [--check|--install] [--json] [--strict]",
|
|
170
170
|
loader: async () => {
|
|
171
171
|
const m = await import("../commands/update");
|
package/src/commands/update.ts
CHANGED
|
@@ -35,7 +35,7 @@ export function compareVersions(a: string, b: string): -1 | 0 | 1 {
|
|
|
35
35
|
export interface UpdateDeps {
|
|
36
36
|
fetchJson: (url: string, options?: { signal?: AbortSignal }) => Promise<any>;
|
|
37
37
|
localVersion: () => string;
|
|
38
|
-
install: () => Promise<{ success: boolean; stdout?: string; stderr?: string }>;
|
|
38
|
+
install: (version?: string) => Promise<{ success: boolean; stdout?: string; stderr?: string }>;
|
|
39
39
|
/** Display release notes after a successful self-update (best-effort, no-op in tests). */
|
|
40
40
|
showWhatsNew?: () => void;
|
|
41
41
|
}
|
|
@@ -58,8 +58,12 @@ export const defaultDeps: UpdateDeps = {
|
|
|
58
58
|
localVersion: () => {
|
|
59
59
|
return pkg.version;
|
|
60
60
|
},
|
|
61
|
-
install: async () => {
|
|
62
|
-
|
|
61
|
+
install: async (version?: string) => {
|
|
62
|
+
// Self-update the global install. jeo runs on Bun (see the `#!/usr/bin/env bun`
|
|
63
|
+
// shebang), so Bun is always present; `@<version>` (default `latest`) forces the
|
|
64
|
+
// newest publish even if a stale global is cached.
|
|
65
|
+
const target = `jeo-code@${version ?? "latest"}`;
|
|
66
|
+
const proc = Bun.spawnSync(["bun", "install", "-g", target], {
|
|
63
67
|
stdout: "inherit",
|
|
64
68
|
stderr: "inherit",
|
|
65
69
|
});
|
|
@@ -83,6 +87,7 @@ export async function runUpdateCommand(args: string[] = []): Promise<void> {
|
|
|
83
87
|
export async function runUpdateCommandWith(args: string[], deps: UpdateDeps): Promise<void> {
|
|
84
88
|
const isHelp = args.includes("--help") || args.includes("-h");
|
|
85
89
|
const hasInstall = args.includes("--install");
|
|
90
|
+
const hasCheck = args.includes("--check");
|
|
86
91
|
const hasJson = args.includes("--json");
|
|
87
92
|
const hasStrict = args.includes("--strict");
|
|
88
93
|
|
|
@@ -154,8 +159,13 @@ export async function runUpdateCommandWith(args: string[], deps: UpdateDeps): Pr
|
|
|
154
159
|
}
|
|
155
160
|
}
|
|
156
161
|
|
|
162
|
+
// Default action is INSTALL (bare `jeo update` upgrades). `--check` forces a
|
|
163
|
+
// check-only run; `--json` stays check-only too (programmatic status polling must
|
|
164
|
+
// not trigger an install) unless `--install` is given explicitly.
|
|
165
|
+
const shouldInstall = hasInstall || (!hasCheck && !hasJson);
|
|
166
|
+
|
|
157
167
|
// We got the version successfully
|
|
158
|
-
if (
|
|
168
|
+
if (shouldInstall) {
|
|
159
169
|
if (upToDate) {
|
|
160
170
|
if (hasJson) {
|
|
161
171
|
console.log(JSON.stringify({
|
|
@@ -165,14 +175,14 @@ export async function runUpdateCommandWith(args: string[], deps: UpdateDeps): Pr
|
|
|
165
175
|
installed: false
|
|
166
176
|
}));
|
|
167
177
|
} else {
|
|
168
|
-
console.log(`jeo-code is up-to-date (${current})
|
|
178
|
+
console.log(`jeo-code is already up-to-date (${current}).`);
|
|
169
179
|
}
|
|
170
180
|
} else {
|
|
171
181
|
if (!hasJson) {
|
|
172
182
|
console.log(`Installing update: ${current} -> ${latest}...`);
|
|
173
183
|
}
|
|
174
184
|
try {
|
|
175
|
-
const result = await deps.install();
|
|
185
|
+
const result = await deps.install(latest ?? undefined);
|
|
176
186
|
if (result.success) {
|
|
177
187
|
if (hasJson) {
|
|
178
188
|
console.log(JSON.stringify({
|
|
@@ -236,7 +246,7 @@ export async function runUpdateCommandWith(args: string[], deps: UpdateDeps): Pr
|
|
|
236
246
|
}));
|
|
237
247
|
} else {
|
|
238
248
|
console.log(`Newer version available: ${latest} (current: ${current}).`);
|
|
239
|
-
console.log("Run '
|
|
249
|
+
console.log("Run 'jeo update' to install it.");
|
|
240
250
|
}
|
|
241
251
|
}
|
|
242
252
|
}
|
|
@@ -248,8 +258,9 @@ function printUsage() {
|
|
|
248
258
|
console.log("Check for and install updates for jeo-code.");
|
|
249
259
|
console.log("");
|
|
250
260
|
console.log("Options:");
|
|
251
|
-
console.log("
|
|
252
|
-
console.log(" --
|
|
261
|
+
console.log(" (default) Check and install if a newer version is available");
|
|
262
|
+
console.log(" --check Only check; do not install");
|
|
263
|
+
console.log(" --install Force install if newer (also used with --json)");
|
|
253
264
|
console.log(" --json Output result in JSON format");
|
|
254
265
|
console.log(" --strict Exit with code 1 on network/registry errors");
|
|
255
266
|
console.log(" -h, --help Show this help message");
|