Background
Follow-up design work that came out of the #578 / #579 fixes. eql install coupled EQL installation to scaffolding-and-loading a stash.config.ts, which is what produced the standalone-npx crash (#579). But eql install only ever needs a database URL — it reads nothing else off the config that isn't otherwise available (config.databaseUrl + a client path that has a default).
Enhancement
Decouple eql install from the config, and make the database URL sourcing explicit and documented.
- Config is optional for
eql install. Resolve the URL directly (--database-url → DATABASE_URL → supabase status → prompt) via resolveDatabaseUrl. A standalone npx stash eql install --database-url ... then works in a bare project with zero dependencies. An existing stash.config.ts is still authoritative (later commands rely on it); without one, a config is offered as a convenience, not required.
--database-url is a one-shot signal. When passed explicitly, eql install leaves the project untouched — no stash.config.ts and no encryption client are scaffolded.
- Document the resolution precedence. Make the order discoverable: on
resolveDatabaseUrl (JSDoc), in stash manifest (registry descriptor), and in stash --help. Order (first wins): --database-url flag → DATABASE_URL env → supabase status → interactive prompt. stash.config.ts is not a separate tier — its default databaseUrl re-runs the same chain.
Status
Implemented in #580 (alongside the #578 / #579 fixes).
Background
Follow-up design work that came out of the #578 / #579 fixes.
eql installcoupled EQL installation to scaffolding-and-loading astash.config.ts, which is what produced the standalone-npx crash (#579). Buteql installonly ever needs a database URL — it reads nothing else off the config that isn't otherwise available (config.databaseUrl+ a client path that has a default).Enhancement
Decouple
eql installfrom the config, and make the database URL sourcing explicit and documented.eql install. Resolve the URL directly (--database-url→DATABASE_URL→supabase status→ prompt) viaresolveDatabaseUrl. A standalonenpx stash eql install --database-url ...then works in a bare project with zero dependencies. An existingstash.config.tsis still authoritative (later commands rely on it); without one, a config is offered as a convenience, not required.--database-urlis a one-shot signal. When passed explicitly,eql installleaves the project untouched — nostash.config.tsand no encryption client are scaffolded.resolveDatabaseUrl(JSDoc), instash manifest(registry descriptor), and instash --help. Order (first wins):--database-urlflag →DATABASE_URLenv →supabase status→ interactive prompt.stash.config.tsis not a separate tier — its defaultdatabaseUrlre-runs the same chain.Status
Implemented in #580 (alongside the #578 / #579 fixes).