feat: add release version to cli
This commit is contained in:
@@ -10,6 +10,13 @@ npx kandev
|
||||
|
||||
Downloads the latest release, starts the backend + web app, and opens your browser. Data (worktrees, SQLite DB) is stored in `~/.kandev` by default.
|
||||
|
||||
## Version and Updates
|
||||
|
||||
- `npx kandev` (run mode) uses the latest GitHub release bundle by default.
|
||||
- At startup, the launcher prints the resolved release tag (for example: `[kandev] release: v0.2.3 (github latest)`).
|
||||
- Use `--version <tag>` to pin a specific runtime bundle release.
|
||||
- CLI package updates are checked from npm and shown as a prompt. They are not forced.
|
||||
|
||||
## What You Get
|
||||
|
||||
- **Multi-agent support** - Claude Code, Codex, GitHub Copilot, Gemini CLI, Amp, Auggie, OpenCode
|
||||
|
||||
@@ -57,6 +57,7 @@ Note: the runtime bundles are pulled from the latest GitHub Release by default,
|
||||
|
||||
- **New runtime release without CLI publish**: users get new runtime automatically, but no update prompt.
|
||||
- **New CLI publish**: users get an update prompt and then re-run with the new CLI.
|
||||
- On startup, `run` also prints the resolved runtime release tag.
|
||||
|
||||
You can disable the prompt with:
|
||||
|
||||
|
||||
+10
-1
@@ -31,6 +31,8 @@ type PreparedRelease = {
|
||||
backendUrl: string;
|
||||
backendEnv: NodeJS.ProcessEnv;
|
||||
webEnv: NodeJS.ProcessEnv;
|
||||
releaseTag: string;
|
||||
requestedVersion?: string;
|
||||
webPort: number;
|
||||
agentctlPort: number;
|
||||
};
|
||||
@@ -78,7 +80,8 @@ async function prepareReleaseBundle({
|
||||
|
||||
// Note: Release mode doesn't configure MCP server ports as it uses
|
||||
// the bundled configuration. Only backend and agentctl ports are set.
|
||||
// Log level is set to warn for clean production output.
|
||||
// Log level defaults to warn for clean output and can be overridden
|
||||
// via KANDEV_LOG_LEVEL.
|
||||
const backendEnv = {
|
||||
...process.env,
|
||||
KANDEV_SERVER_PORT: String(actualBackendPort),
|
||||
@@ -101,6 +104,8 @@ async function prepareReleaseBundle({
|
||||
backendUrl,
|
||||
backendEnv,
|
||||
webEnv,
|
||||
releaseTag: tag,
|
||||
requestedVersion: version,
|
||||
webPort: actualWebPort,
|
||||
agentctlPort,
|
||||
};
|
||||
@@ -111,6 +116,10 @@ function launchReleaseApps(prepared: PreparedRelease): {
|
||||
backendProc: ReturnType<typeof spawn>;
|
||||
webServerPath: string;
|
||||
} {
|
||||
const releaseSource = prepared.requestedVersion
|
||||
? `(requested: ${prepared.requestedVersion})`
|
||||
: "(github latest)";
|
||||
console.log(`[kandev] release: ${prepared.releaseTag} ${releaseSource}`);
|
||||
console.log("[kandev] backend port:", prepared.backendEnv.KANDEV_SERVER_PORT);
|
||||
console.log("[kandev] web port:", prepared.webPort);
|
||||
console.log("[kandev] agentctl port:", prepared.agentctlPort);
|
||||
|
||||
Reference in New Issue
Block a user