[REL-14909] Revive CLI Quickstart Wizard — integrate #708 + #709#744
Draft
ffantl-ld wants to merge 17 commits into
Draft
[REL-14909] Revive CLI Quickstart Wizard — integrate #708 + #709#744ffantl-ld wants to merge 17 commits into
ffantl-ld wants to merge 17 commits into
Conversation
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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Integration branch for REL-14909 — reviving the deterministic CLI Quickstart Wizard (
ldcli setup). Stacks the two moonshot PRs on top of currentmain:ldcli setupskeleton: interactive Bubble Tea wizard (pick project → env → detect → install → create flag → inject init code → verify) + hidden agent-facing JSON subcommands (detect/install/init) +Initializertemplates for 11 SDKs with docs-URL fallback +Verifier. (Was closed; approved + green.)FileDetector(Node/React/Next, Go, Python, Java) andPackageInstaller(shells out to npm/yarn/pnpm/pip/go/gem/dotnet; manual-install SDKs returnSuccess:false) filling in REL-000: skeleton for the CLI #708's stubs.Rebased #709's branch (
dsanchez/REL-13574/cli, itself based on #708'sari-launchdarkly/REL-0000-cli) onto currentmain— 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:
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 🤖