Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 0 additions & 5 deletions .changeset/bare-loopback-warn.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/cursor-session-hook.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/deeplink-oslog.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/discovery-stanza.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/recover-config-servers.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/spotlight-labels.md

This file was deleted.

14 changes: 14 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,20 @@
All notable changes to this project are documented here. Releases are tagged
`vX.Y.Z` on GitHub (same scheme Changesets uses for this root package).

## 1.2.0

### Minor Changes

- [#4](https://github.com/quantizor/devctl/pull/4) [`40d3e97`](https://github.com/quantizor/devctl/commit/40d3e9741f79b110e08d1ede6515c1ec4636e3c9) - Add Cursor sessionStart harness (`devctl hook install --harness cursor`) so Agent sessions get live `<devctl-servers>` context.
- [#6](https://github.com/quantizor/devctl/pull/6) [`d5ebe80`](https://github.com/quantizor/devctl/commit/d5ebe80704003103c90a8693a53ea5ae044ca840) - Open servers and run lifecycle verbs via `devctl://` URLs (menu bar app + `devctl link` / `devctl x-url`), with unified logging under subsystem `dev.quantizor.devctl`.

### Patch Changes

- [#6](https://github.com/quantizor/devctl/pull/6) [`46ab7b1`](https://github.com/quantizor/devctl/commit/46ab7b17bcf30cbbd336b7e3d7257b0b76586779) - Warn in `config check` when a host or url uses bare `localhost` / `127.0.0.1` instead of a `<slug>.localhost` origin.
- [#6](https://github.com/quantizor/devctl/pull/6) [`4695414`](https://github.com/quantizor/devctl/commit/4695414a2995b0d6f0d3413a1c09c8ecd4e24903) - After `hook install`, print a one-bullet CLAUDE.md / AGENTS.md discovery tip for the project (paste-only; never auto-edits those files).
- [#6](https://github.com/quantizor/devctl/pull/6) [`67d83e7`](https://github.com/quantizor/devctl/commit/67d83e7a569a55735f040ec20b2cf6cc5e3ad4c2) - Restore config-defined servers after reboot and `daemon install` upgrades (merged config+registry recover; install re-ensures like restart).
- [#6](https://github.com/quantizor/devctl/pull/6) [`631a50f`](https://github.com/quantizor/devctl/commit/631a50fe59a6b620eb31d084a6357026e7353354) - Spotlight entries use `<project> · <head>` titles with a `devctl · <url>` subtitle for clearer discovery.

## 1.1.0

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion Sources/DevCtlKit/Model/Models.swift
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import Foundation
public enum DevCtlVersion {
/** Wire protocol major version; clients abort on mismatch with `version-mismatch`. */
public static let proto = 1
public static let version = "1.1.0"
public static let version = "1.2.0"
}

/** Lifecycle phase of a supervised server. `failed` means the spawn itself never
Expand Down
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "devctl",
"version": "1.1.0",
"version": "1.2.0",
Comment thread
quantizor marked this conversation as resolved.
"private": true,
"description": "Version and changelog source of truth for GitHub releases (Swift product; not published to npm).",
"repository": {
Expand Down
32 changes: 25 additions & 7 deletions scripts/sync-version.mjs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#!/usr/bin/env node
/** Keep DevCtlVersion.version in lockstep with package.json after
`changeset version`. GitHub releases use package.json; the CLI/app
report the Swift constant. */
/** Keep DevCtlVersion.version and package-lock.json root version in lockstep
with package.json after `changeset version`. GitHub releases use
package.json; the CLI/app report the Swift constant. */
import { readFileSync, writeFileSync } from "node:fs";
import { dirname, join } from "node:path";
import { fileURLToPath } from "node:url";
Expand All @@ -24,8 +24,26 @@ if (after === before) {
console.error("sync-version: DevCtlVersion.version declaration not found in Models.swift");
process.exit(1);
}
console.log(`sync-version: already at ${version}`);
process.exit(0);
console.log(`sync-version: Models.swift already at ${version}`);
} else {
writeFileSync(swiftPath, after);
console.log(`sync-version: Models.swift -> ${version}`);
}

const lockPath = join(root, "package-lock.json");
const lock = JSON.parse(readFileSync(lockPath, "utf8"));
let lockChanged = false;
if (lock.version !== version) {
lock.version = version;
lockChanged = true;
}
if (lock.packages?.[""] && lock.packages[""].version !== version) {
lock.packages[""].version = version;
lockChanged = true;
}
if (lockChanged) {
writeFileSync(lockPath, `${JSON.stringify(lock, null, 2)}\n`);
console.log(`sync-version: package-lock.json -> ${version}`);
} else {
console.log(`sync-version: package-lock.json already at ${version}`);
}
writeFileSync(swiftPath, after);
console.log(`sync-version: Models.swift -> ${version}`);
Loading