Opaque keys
Dozens of nested settings, magic enum values and model-routing maps. What a key does is often discoverable only by reading source code.
LOCAL CONFIG TOOL/GSD-CORE v1.11.0
Understand and safely edit any config.json from open-gsd/gsd-core — without reading the gsd-core source. Plain-language docs for every key, validation before every write, atomic saves, and a full snapshot history.
npx open-gsd-core-config-manager
Requires Node.js >=20.19 · bind addresses are loopback-only · nothing to deploy
01 / THE PROBLEM
Dozens of nested settings, magic enum values and model-routing maps. What a key does is often discoverable only by reading source code.
A mistyped value or a partial write can leave a project's configuration invalid, with no record of what changed or how to get back.
Every project carries its own .planning/config.json. Keeping track of them by hand means context-switching and fragile edits.
02 / THE TOOL
A local helper serves the UI on 127.0.0.1 and opens your browser. Config files never leave your machine.
Human labels, one-line summaries and full descriptions. Enumerated values carry a per-option meaning, so choices are explained before you make them.
See the effective value, the canonical default, and where the current value comes from: the schema default, global defaults at ~/.gsd/defaults.json, or a project override.
Maps and arrays get dedicated controls — agent skill maps, per-runtime model tiers, reviewer instances — instead of raw JSON editing.
Track any number of configs, add one by absolute path, scan a folder to discover them, or create a fresh config.
The bundled schema tracks gsd-core releases. Check for a newer release, review proposed changes in plain language, then activate or keep your current schema.
Optional search providers read keys from an environment variable or a ~/.gsd/<prefix>_api_key file. The tool detects both, stores keys mode 0600, masks them, and never logs them.
03 / SAFETY MODEL
Ajv validates the full document against the canonical schema. On failure the save stops before any file operation — no partial write on invalid input.
Saves take an advisory lock, then write through write-file-atomic: a temp file in the same directory, fsync, then rename over the target. Transient Windows lock errors are retried with backoff.
Every save carries the revision you started from. If the file changed on disk in the meantime, the write is rejected with a conflict instead of clobbering the newer version.
The content replaced by a successful save is recorded as a full JSON snapshot with a sequence number, timestamp and content hash — up to 50 kept per config, with structural diff and confirmed restore.
04 / THE REFERENCE
No key list is typed by hand. The explorer reads the canonical schema that ships with the tool.
05 / INTERFACE
START HERE
One command starts the local editor. No account, no hosted service, no telemetry.
npx open-gsd-core-config-manager