Skip to content

[REL-14909] Revive CLI Quickstart Wizard — integrate #708 + #709#744

Draft
ffantl-ld wants to merge 17 commits into
mainfrom
ffantl/REL-14909/revive-cli-wizard
Draft

[REL-14909] Revive CLI Quickstart Wizard — integrate #708 + #709#744
ffantl-ld wants to merge 17 commits into
mainfrom
ffantl/REL-14909/revive-cli-wizard

Conversation

@ffantl-ld

Copy link
Copy Markdown
Contributor

Summary

Integration branch for REL-14909 — reviving the deterministic CLI Quickstart Wizard (ldcli setup). Stacks the two moonshot PRs on top of current main:

Rebased #709's branch (dsanchez/REL-13574/cli, itself based on #708's ari-launchdarkly/REL-0000-cli) onto current main — 15 commits, clean rebase, go build ./... passes.

Status — DRAFT, needs validation

Opened as a draft to get an end-to-end test pass. Known open items:

  • [REL-13574] Implement SDK detection and installation #709 carried CHANGES_REQUESTED — review not yet re-resolved on this branch.
  • End-to-end manual validation (detect on real React/Go/Python/Java projects; install shells out; init injects; verify polls sdk-active).
  • go test ./... on the rebased tree.

Intent

Deterministic, bounded, inspectable CLI install flow (Plan item #3 / H2 of the Agentic Onboarding plan) — same automation as the AI-install path, offered to the ~49% who prefer manual install and the segment an open-ended agent can't serve. The hidden JSON subcommands mean one engine backs both this wizard and external AI agents.

Ref: REL-14909 · supersedes moonshot epic REL-13574.

via LD Research 🤖

ari-launchdarkly and others added 17 commits July 15, 2026 23:48
Co-authored-by: ari-launchdarkly <asalem@launchdarkly.com>
Co-authored-by: ari-launchdarkly <asalem@launchdarkly.com>
Co-authored-by: ari-launchdarkly <asalem@launchdarkly.com>
Co-authored-by: ari-launchdarkly <asalem@launchdarkly.com>
Address the six findings from the independent test pass on the revived
CLI onboarding wizard:

- init: no longer writes non-compiling code for scoped/framework SDKs.
  Only script languages (node/python/ruby) are appended in place; Go,
  Java, C#, Swift, Android, React, and React Native now return the
  rendered snippet + docs URL as guidance with success=false instead of
  corrupting the entry file and reporting success. Drops the Go AST
  import-merge path (dead once Go is guidance-only).
- react: covered by the guidance path above (asyncWithLDProvider must be
  wired into the component tree, not appended).
- detect: add a Ruby detector (Gemfile / Gemfile.lock / config.ru / *.gemspec).
- install: add --dry-run to print the command without executing; unknown
  SDK IDs now error instead of silently returning success=false, while
  genuine manual-install SDKs (Java/Android/Swift) still return success=false.
- gofmt: format previously-misindented files.
- detect: clarify with a comment that Next.js intentionally maps to the
  Node server SDK (server-side eval for SSR / API routes).

Tests updated to assert guidance behavior for scoped/framework SDKs and
to cover Ruby detection, dry-run, and the unknown-SDK error.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Running `ldcli setup` without an access token launched the TUI and then
died on the first API call with a raw 401 JSON dump ("Invalid account ID
header") and no guidance — the exact first-run case a new user hits.

Check for an access token before launching the wizard and return a clear
message pointing at `ldcli login` (or --access-token / LD_ACCESS_TOKEN)
instead. Adds a test covering the no-token path.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants