Skip to content

installer: detect AI provider keys; docs: add Cloud API key page - #123

Merged
droid-ash merged 4 commits into
mainfrom
claude/hungry-proskuriakova-6fd60d
Apr 27, 2026
Merged

droid-ash merged 4 commits into
mainfrom
claude/hungry-proskuriakova-6fd60d

Conversation

@droid-ash

@droid-ash droid-ash commented Apr 27, 2026 •

Copy link
Copy Markdown
Owner

Summary

After the interactive install path, the installer now checks the shell environment for FINALRUN_API_KEY, ANTHROPIC_API_KEY, OPENAI_API_KEY, and GOOGLE_API_KEY and prints one of two outcomes:

  • One or more keys set → one ✓ <NAME> detected line per key.
  • No keys set → a short block pointing to FinalRun Cloud (cloud.finalrun.app, $5 starting credit) and listing the three BYOK provider env vars with example model prefixes, plus a docs link.

CI mode (--ci / -CI / CI=1 / FINALRUN_NON_INTERACTIVE) is unchanged; the check only runs on the interactive path. The check never echoes a key value, never validates against the provider, and never blocks install.

Also adds a new docs page covering how to obtain a FinalRun Cloud key, with the walkthrough video embedded.

Changes

  • scripts/install.sh — new check_api_keys step between prompt_skills and print_summary. Reuses existing info / ok / warn helpers.
  • scripts/install.ps1 — equivalent Test-ApiKeys step between Read-SkillsPrompt and Show-Summary. Uses [Environment]::GetEnvironmentVariable so it works on PS 5.1 and 7.
  • mintlify-docs/configuration/cloud-api-key.mdx (new) — sign-up steps, embedded YouTube walkthrough (https://youtu.be/XDPef_yIbCU), and the three ways to set FINALRUN_API_KEY.
  • mintlify-docs/configuration/ai-providers.mdx — adds a <Note> cross-linking to the new page.
  • mintlify-docs/docs.json — adds configuration/cloud-api-key to the Configuration nav group.

Test plan

  • Run bash scripts/install.sh interactively with no keys set → "No API key detected" block prints with the cloud + BYOK guidance.
  • Run with ANTHROPIC_API_KEY set → single ✓ ANTHROPIC_API_KEY detected line.
  • Run with FINALRUN_API_KEY and GOOGLE_API_KEY both set → both detected lines.
  • Run with --ci (or under CI=1) → installer exits before the check; output unchanged.
  • Run install.ps1 interactively on Windows for the same three states.
  • Verify the new docs page renders (iframe loads YouTube embed, sidebar shows under Configuration → Cloud API Key, BYOK page shows the cross-link Note).

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Documentation

    • New guide for obtaining and configuring a FinalRun Cloud API key with multiple setup options
    • AI provider docs updated to highlight FinalRun Cloud as a managed option
  • New Features

    • Installer now detects and displays which API keys are configured
    • Installer shows clickable setup and signup links and adds post-install guidance for obtaining and setting API credentials

install.sh / install.ps1: after the interactive flow, check whether
FINALRUN_API_KEY, ANTHROPIC_API_KEY, OPENAI_API_KEY, or GOOGLE_API_KEY
is set in the shell environment. If any is set, print one "✓ <NAME>
detected" line per key. If none is set, print a short block pointing
to FinalRun Cloud (cloud.finalrun.app) and the BYOK env vars. CI mode
is unchanged — the check only runs on the interactive path.

mintlify-docs: add configuration/cloud-api-key.mdx with an embedded
YouTube walkthrough (https://youtu.be/XDPef_yIbCU) and steps to grab
a key and set FINALRUN_API_KEY. Cross-link from ai-providers.mdx.
Add the new page to docs.json under the Configuration group.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Apr 27, 2026 •

Copy link
Copy Markdown

Warning

Rate limit exceeded

@droid-ash has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 52 minutes and 45 seconds before requesting another review.

To keep reviews running without waiting, you can enable usage-based add-on for your organization. This allows additional reviews beyond the hourly cap. Account admins can enable it under billing.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 80ee91b3-4572-4cdf-a1eb-18c48d1b0197

📥 Commits

Reviewing files that changed from the base of the PR and between fec8fc3 and 339c4f5.

📒 Files selected for processing (2)
  • scripts/install.ps1
  • scripts/install.sh
📝 Walkthrough

Walkthrough

Documentation and installer enhancements were added to guide users through FinalRun Cloud API key configuration. A new docs page explains obtaining and configuring the API key, an informational note was added to the AI providers page, navigation was updated, and both installation scripts now include API key detection helpers that report configured provider keys and surface setup links.

Changes

Cohort / File(s) Summary
Documentation - AI Configuration
mintlify-docs/configuration/ai-providers.mdx, mintlify-docs/configuration/cloud-api-key.mdx
Added cloud-api-key.mdx with FinalRun Cloud signup, dashboard API key generation, CLI configuration options (.env, shell/CI env var, --api-key), example run command, and embedded iframe video. Inserted an informational note into ai-providers.mdx pointing to the managed Cloud option.
Navigation Configuration
mintlify-docs/docs.json
Updated navigation to include the new configuration/cloud-api-key page under Configuration.
Installer Scripts
scripts/install.sh, scripts/install.ps1
Added terminal hyperlink helpers (link() / Format-Link) and API key detection functions (check_api_keys() / Test-ApiKeys) that scan FINALRUN_API_KEY, ANTHROPIC_API_KEY, OPENAI_API_KEY, GOOGLE_API_KEY, report found keys, and print signup/docs links when none are present. Invoked during the interactive install flow post-skills step.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Suggested reviewers

  • arnoldlaishram
  • srinidhi-lwt

Poem

🐰
I hopped through docs and scripts today,
Hid keys no more — I found the way,
Links to clouds and dashboard bright,
Installers sing in terminal light,
A bunny's hop, config set — hooray! ✨

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 28.57% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the two main changes: adding API provider key detection to the installer and creating a new Cloud API key documentation page.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch claude/hungry-proskuriakova-6fd60d

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@mintlify

mintlify Bot commented Apr 27, 2026 •

Copy link
Copy Markdown
Contributor

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated (UTC)
finalrun 🟢 Ready View Preview Apr 27, 2026, 8:32 PM

💡 Tip: Enable Workflows to automatically generate PRs for you.

@droid-ash droid-ash self-assigned this Apr 27, 2026
@droid-ash droid-ash added documentation Improvements or additions to documentation enhancement New feature or request labels Apr 27, 2026

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
scripts/install.ps1 (1)

338-338: Optional: rename to satisfy PSUseSingularNouns.

PSScriptAnalyzer flags Test-ApiKeys because PowerShell convention prefers singular nouns for cmdlet/function names. Renaming to Test-ApiKey (and updating the call site at line 481) is a one-line change that clears the warning without altering behavior. Feel free to defer if you prefer the plural name for readability — the function does inspect a set of keys.

♻️ Proposed rename
-function Test-ApiKeys {
+function Test-ApiKey {
     Read-SkillsPrompt
-    Test-ApiKeys
+    Test-ApiKey
     Show-Summary -BinPath $binPath -RuntimeDir $runtimeDir -AndroidOk $androidOk -FinalRunDir $finalRunDir
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@scripts/install.ps1` at line 338, Rename the function Test-ApiKeys to the
singular Test-ApiKey to satisfy PSUseSingularNouns; update the function
declaration name and all call sites (e.g., the invocation referenced later in
the script) to Test-ApiKey so behavior is unchanged; ensure any references in
help, comments, or exports are also updated to avoid dangling references.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In `@scripts/install.ps1`:
- Line 338: Rename the function Test-ApiKeys to the singular Test-ApiKey to
satisfy PSUseSingularNouns; update the function declaration name and all call
sites (e.g., the invocation referenced later in the script) to Test-ApiKey so
behavior is unchanged; ensure any references in help, comments, or exports are
also updated to avoid dangling references.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 2d76b9ef-29ba-4e1e-80eb-79b502e22d26

📥 Commits

Reviewing files that changed from the base of the PR and between 8e883d3 and 783a5db.

📒 Files selected for processing (5)
  • mintlify-docs/configuration/ai-providers.mdx
  • mintlify-docs/configuration/cloud-api-key.mdx
  • mintlify-docs/docs.json
  • scripts/install.ps1
  • scripts/install.sh

droid-ash and others added 3 commits April 27, 2026 15:22
Wrap the cloud signup URL and both docs URLs in OSC 8 hyperlink
escapes so they're single-click in modern terminals (iTerm2,
Terminal.app, Windows Terminal, kitty, alacritty, WezTerm,
gnome-terminal). Older terminals strip the escapes and show the
bare URL, so the change degrades cleanly.

Also adds a Docs: link under the FinalRun Cloud option (mirrors
the existing one for BYOK), and aligns "Sign up at" -> "Sign up:"
so the two labels line up.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
OSC 8 hyperlinks aren't supported by macOS Terminal.app, which is
the most common terminal for the target audience. Plain URL text is
auto-detected as clickable (cmd-click on macOS, ctrl-click on
Windows/Linux) by every modern terminal — Terminal.app, iTerm2, VS
Code, Windows Terminal, gnome-terminal, kitty, alacritty, WezTerm —
so dropping the OSC 8 wrapping is universally compatible at the cost
of a minor styling difference in iTerm2/etc.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Wrap each URL in ANSI underline (ESC[4m / ESC[24m). Universally
supported by Terminal.app, iTerm2, VS Code, Windows Terminal, and
conhost — much wider than OSC 8. Click activation still works via
each terminal's native URL detection (cmd-click on macOS, ctrl-click
on Win/Linux).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@droid-ash
droid-ash merged commit 7ebd25b into main Apr 27, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant