Skip to content

Add top-level CLI tab and intro page feature section - #49

Open
RathodDarshil wants to merge 5 commits into
mainfrom
feat/cli-tab-navigation
Open

Add top-level CLI tab and intro page feature section#49
RathodDarshil wants to merge 5 commits into
mainfrom
feat/cli-tab-navigation

Conversation

@RathodDarshil

@RathodDarshil RathodDarshil commented Feb 24, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Moved CLI docs from a nested group inside the Documentation tab to its own top-level CLI tab in the navigation bar
  • Reorganized the CLI sidebar into three groups: Getting Started, Commands, and Guides (instead of a single flat group with nested commands)
  • Added a Linkrunner CLI feature section to the introduction page with 6 feature cards covering automated setup, diagnostics, AI analysis, code generation, CI/CD support, and deep link configuration
  • Replaced the API Reference card in "Get Started in Minutes" with a CLI Tool card

Test plan

  • Verify the CLI tab appears in the top navigation bar alongside Documentation
  • Verify CLI sidebar shows three groups: Getting Started, Commands, Guides
  • Verify the introduction page renders the new CLI section with all 6 feature cards
  • Verify all links in the new cards navigate to the correct CLI pages

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Documentation
    • Added a new "CLI" docs tab and replaced the Quickstart API card with CLI guidance.
    • New CLI docs: overview, installation, quickstart, troubleshooting, CI/CD, authentication, LLM/agent usage, and many command pages (init, login, status, doctor/validate, analyze, test, suggest, events, events-suggest, deeplink, deeplink-push, referral, env).
    • Inserted inline CLI tip blocks across SDK and feature guides.

Move CLI docs from a nested group inside the Documentation tab to its own
top-level navigation tab with cleaner sidebar groups (Getting Started,
Commands, Guides). Add a CLI feature section to the introduction page
highlighting automated setup, diagnostics, AI analysis, code generation,
CI/CD support, and deep link configuration.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Feb 24, 2026

Copy link
Copy Markdown

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

Adds a new CLI section to the docs (navigation tab + many CLI pages), replaces the API Reference card in the intro with a CLI Tool card, and inserts CLI shortcut tips across SDK and feature docs. All changes are documentation content additions and reorganizations.

Changes

Cohort / File(s) Summary
Navigation & Intro
docs.json, introduction.mdx
Added a new "CLI" navigation tab; swapped the API Reference card for a "Linkrunner CLI" card and added CLI-focused CardGroup entries in the intro.
CLI Root Pages
cli/overview.mdx, cli/installation.mdx, cli/quickstart.mdx, cli/troubleshooting.mdx
New top-level CLI docs: overview, installation, quickstart workflow, and comprehensive troubleshooting guidance.
CI/CD Guide
cli/ci-cd.mdx
New CI/CD documentation covering --ci/--json flags, exit-code semantics, --fail-on-warn, JSON output schemas, jq examples, and CI pipeline snippets.
Command Docs (grouped)
cli/commands/...
cli/commands/analyze.mdx, cli/commands/doctor.mdx, cli/commands/test.mdx, cli/commands/init.mdx, cli/commands/login.mdx, cli/commands/status.mdx, cli/commands/suggest.mdx, cli/commands/events.mdx, cli/commands/deeplink.mdx, cli/commands/deeplink-push.mdx, cli/commands/env.mdx, cli/commands/events-suggest.mdx, cli/commands/referral.mdx
Added per-command MDX docs for many CLI commands (usage, flags like --json/--ci/--fail-on-warn, JSON shapes, AI analysis/codegen descriptions, platform-specific deeplink flows, and interactive/non-interactive modes).
LLM / Agent & Auth
cli/llm-usage.mdx, cli/authentication.mdx
New docs for non-interactive LLM/agent usage and detailed CLI authentication (device flow, API key handling, storage locations, CI token guidance).
Events & Auxiliary Commands
cli/commands/events-suggest.mdx, cli/commands/events.mdx, cli/commands/referral.mdx
Added event-generation and referral setup docs: AI-driven suggestions, interactive selection, platform codegen, and push/insert options.
Feature & SDK Tip Inserts
features/deep-linking-setup.mdx, features/deep-linking-verification.mdx, features/deferred-deep-linking.mdx, features/skadnetwork-integration.mdx, sdk/.../*.mdx
Inserted multiple <Tip> blocks and CLI shortcut hints across feature pages and SDK guides (Android, iOS, Flutter, React Native, Expo, Capacitor, Web) pointing to new CLI commands.

Sequence Diagram(s)

(omitted)

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Suggested reviewers

  • ChetanBhosale

Poem

🐰 The rabbit taps a doc-lined key,
CLI paths sprout for all to see.
Quickstart hops and commands sing,
CI, tests, and deeplinks in a ring.
Docs now leap — rejoice and be!

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'Add top-level CLI tab and intro page feature section' accurately summarizes the main changes: moving CLI docs to a top-level tab and adding a CLI feature section to the introduction page.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ 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 feat/cli-tab-navigation
⚔️ Resolve merge conflicts
  • Resolve merge conflict in branch feat/cli-tab-navigation

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.

@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.

Actionable comments posted: 1

🧹 Nitpick comments (1)
introduction.mdx (1)

30-52: Consider linking feature cards to their respective command pages.

The six CLI feature cards describe specific commands (lr init, lr doctor, lr analyze, lr events add, lr deeplink setup) but carry no href. Since these commands now have dedicated pages in the CLI tab, adding links would let readers jump directly from the overview to the relevant reference.

🔗 Proposed hrefs for CLI feature cards
-    <Card title="Automated Setup" icon="wand-magic-sparkles">
+    <Card title="Automated Setup" icon="wand-magic-sparkles" href="/cli/commands/init">
         Detects your platform, installs the SDK, configures native files, and generates initialization code — all from `lr init`
     </Card>
-    <Card title="Built-in Diagnostics" icon="stethoscope">
+    <Card title="Built-in Diagnostics" icon="stethoscope" href="/cli/commands/doctor">
         `lr doctor` validates your configuration, source code patterns, and deep link setup with actionable fix suggestions before you ship
     </Card>
-    <Card title="AI-Powered Analysis" icon="robot">
+    <Card title="AI-Powered Analysis" icon="robot" href="/cli/commands/analyze">
         `lr analyze` uses AI to inspect your codebase for subtle integration issues that manual reviews miss
     </Card>
-    <Card title="Code Generation" icon="code">
+    <Card title="Code Generation" icon="code" href="/cli/commands/events">
         Generate event tracking, payment, and signup code with `lr events add` — auto-inserted into your source files
     </Card>
     <Card title="CI/CD Ready" icon="rotate">
         JSON output and exit codes let you catch integration regressions automatically in every build
     </Card>
-    <Card title="Deep Link Config" icon="link">
+    <Card title="Deep Link Config" icon="link" href="/cli/commands/deeplink">
         Set up Android App Links and iOS Universal Links with `lr deeplink setup` — no manual file editing
     </Card>
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@introduction.mdx` around lines 30 - 52, Add href props to the CLI feature
Card components so each card links to its command reference page: update the
Card elements titled "Automated Setup" ("lr init"), "Built-in Diagnostics" ("lr
doctor"), "AI-Powered Analysis" ("lr analyze"), "Code Generation" ("lr events
add"), and "Deep Link Config" ("lr deeplink setup") to include appropriate hrefs
pointing to their CLI tab pages; locate the Card components inside the CardGroup
blocks (symbols: CardGroup and Card) and set href values matching the existing
CLI routes for each command so readers can jump from the overview to the
respective command docs.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@docs.json`:
- Around line 99-131: The docs.json "CLI" tab references 13 missing pages (e.g.,
"cli/overview", "cli/installation", "cli/commands/login", "cli/commands/init",
"cli/commands/doctor", "cli/commands/test", "cli/commands/analyze",
"cli/commands/events", "cli/commands/deeplink", "cli/commands/suggest",
"cli/commands/status", "cli/ci-cd", "cli/troubleshooting"); either create
corresponding .mdx files with basic frontmatter and placeholder content at those
paths (cli/overview.mdx, cli/installation.mdx, cli/commands/*.mdx,
cli/ci-cd.mdx, cli/troubleshooting.mdx) so the CLI tab can render, or remove the
entire "CLI" tab object from docs.json to prevent broken navigation—update the
repo accordingly and ensure filenames exactly match the referenced strings.

---

Nitpick comments:
In `@introduction.mdx`:
- Around line 30-52: Add href props to the CLI feature Card components so each
card links to its command reference page: update the Card elements titled
"Automated Setup" ("lr init"), "Built-in Diagnostics" ("lr doctor"), "AI-Powered
Analysis" ("lr analyze"), "Code Generation" ("lr events add"), and "Deep Link
Config" ("lr deeplink setup") to include appropriate hrefs pointing to their CLI
tab pages; locate the Card components inside the CardGroup blocks (symbols:
CardGroup and Card) and set href values matching the existing CLI routes for
each command so readers can jump from the overview to the respective command
docs.

ℹ️ Review info

Configuration used: defaults

Review profile: CHILL

Plan: Lite

📥 Commits

Reviewing files that changed from the base of the PR and between 31ed3e9 and acdbe9b.

📒 Files selected for processing (2)
  • docs.json
  • introduction.mdx

Comment thread docs.json
Comment on lines +99 to 131
{
"tab": "CLI",
"groups": [
{
"group": "Getting Started",
"pages": [
"cli/overview",
"cli/installation"
]
},
{
"group": "Commands",
"pages": [
"cli/commands/login",
"cli/commands/init",
"cli/commands/doctor",
"cli/commands/test",
"cli/commands/analyze",
"cli/commands/events",
"cli/commands/deeplink",
"cli/commands/suggest",
"cli/commands/status"
]
},
{
"group": "Guides",
"pages": [
"cli/ci-cd",
"cli/troubleshooting"
]
}
]
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Verify all CLI page files referenced in docs.json exist as MDX files

pages=(
  "cli/overview.mdx"
  "cli/installation.mdx"
  "cli/commands/login.mdx"
  "cli/commands/init.mdx"
  "cli/commands/doctor.mdx"
  "cli/commands/test.mdx"
  "cli/commands/analyze.mdx"
  "cli/commands/events.mdx"
  "cli/commands/deeplink.mdx"
  "cli/commands/suggest.mdx"
  "cli/commands/status.mdx"
  "cli/ci-cd.mdx"
  "cli/troubleshooting.mdx"
)

echo "Verifying CLI page files..."
missing_count=0
found_count=0

for page in "${pages[@]}"; do
  if [ -f "$page" ]; then
    echo "OK: $page"
    ((found_count++))
  else
    echo "MISSING: $page"
    ((missing_count++))
  fi
done

echo ""
echo "Summary: $found_count found, $missing_count missing"

Repository: linkrunner-labs/docs

Length of output: 529


All 13 referenced CLI page files are missing.

The docs.json references 13 CLI page files that do not exist in the repository:

  • cli/overview.mdx
  • cli/installation.mdx
  • cli/commands/login.mdx, init.mdx, doctor.mdx, test.mdx, analyze.mdx, events.mdx, deeplink.mdx, suggest.mdx, status.mdx
  • cli/ci-cd.mdx
  • cli/troubleshooting.mdx

The CLI tab will not render navigation for any of these pages. Create these files or remove the CLI tab from docs.json.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs.json` around lines 99 - 131, The docs.json "CLI" tab references 13
missing pages (e.g., "cli/overview", "cli/installation", "cli/commands/login",
"cli/commands/init", "cli/commands/doctor", "cli/commands/test",
"cli/commands/analyze", "cli/commands/events", "cli/commands/deeplink",
"cli/commands/suggest", "cli/commands/status", "cli/ci-cd",
"cli/troubleshooting"); either create corresponding .mdx files with basic
frontmatter and placeholder content at those paths (cli/overview.mdx,
cli/installation.mdx, cli/commands/*.mdx, cli/ci-cd.mdx,
cli/troubleshooting.mdx) so the CLI tab can render, or remove the entire "CLI"
tab object from docs.json to prevent broken navigation—update the repo
accordingly and ensure filenames exactly match the referenced strings.

…oting, and command usage

- Introduced new documentation files for CLI installation, CI/CD integration, troubleshooting common issues, and detailed command usage for `lr analyze`, `lr doctor`, `lr events add`, `lr init`, `lr login`, `lr status`, `lr suggest`, and `lr test`.
- Enhanced user guidance on setting up the Linkrunner SDK, validating configurations, and utilizing AI-powered features for deeper analysis and event tracking.
- Included examples and JSON output formats for better clarity and usability in CI environments.

@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.

Actionable comments posted: 1

🧹 Nitpick comments (2)
cli/troubleshooting.mdx (1)

29-31: Prefer a shared support contact over a personal mailbox.

Line 31 and Line 169 use an individual email address; consider switching to a team-owned support alias or contact channel to avoid a single point of failure and reduce personal data exposure in public docs.

Also applies to: 167-169

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@cli/troubleshooting.mdx` around lines 29 - 31, Replace the personal email
literal "darshil@linkrunner.io" used as the contact in the troubleshooting docs
with a team-owned support alias or centralized contact (e.g.,
support@linkrunner.io or a /support URL) wherever that exact email appears;
update both instances of the Markdown mailto link so they point to the team
address or support page and adjust the link text if needed to reflect the shared
channel.
cli/commands/events.mdx (1)

85-94: Optional: add a brief “review the diff” safety note.

A short reminder to review auto-inserted changes can prevent accidental edits.

✏️ Suggested doc tweak
 This uses AI to analyze your project and find the appropriate insertion point. If auto-insertion is unavailable or you decline, you can copy the snippet to your clipboard instead.
+Review any auto-inserted changes before committing to ensure they match your intent.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@cli/commands/events.mdx` around lines 85 - 94, Add a short safety reminder
under the "## Auto-insertion" section to prompt users to review the diff before
accepting changes; update the paragraph that shows the prompt string ("? Would
you like me to insert this into your code? Yes") to include one sentence like
"Please review the proposed diff before confirming auto-insertion to avoid
unintended edits." so readers see the guidance next to the example and the
auto-insert flow.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@cli/commands/analyze.mdx`:
- Around line 62-67: The example Deep Analysis block is contradictory because it
lists specific findings and then prints the sentence "No additional issues found
by AI analysis."; update the example output in analyze.mdx so the "No additional
issues found by AI analysis." line is removed from this findings example (or
moved to a separate "no-findings" example). Locate the block starting with "──
Deep Analysis (AI-powered) ──" and the specific phrase "No additional issues
found by AI analysis." and either delete that sentence or create a separate
example section that demonstrates the no-findings case.

---

Nitpick comments:
In `@cli/commands/events.mdx`:
- Around line 85-94: Add a short safety reminder under the "## Auto-insertion"
section to prompt users to review the diff before accepting changes; update the
paragraph that shows the prompt string ("? Would you like me to insert this into
your code? Yes") to include one sentence like "Please review the proposed diff
before confirming auto-insertion to avoid unintended edits." so readers see the
guidance next to the example and the auto-insert flow.

In `@cli/troubleshooting.mdx`:
- Around line 29-31: Replace the personal email literal "darshil@linkrunner.io"
used as the contact in the troubleshooting docs with a team-owned support alias
or centralized contact (e.g., support@linkrunner.io or a /support URL) wherever
that exact email appears; update both instances of the Markdown mailto link so
they point to the team address or support page and adjust the link text if
needed to reflect the shared channel.

ℹ️ Review info

Configuration used: defaults

Review profile: CHILL

Plan: Lite

📥 Commits

Reviewing files that changed from the base of the PR and between acdbe9b and 6ac5631.

📒 Files selected for processing (13)
  • cli/ci-cd.mdx
  • cli/commands/analyze.mdx
  • cli/commands/deeplink.mdx
  • cli/commands/doctor.mdx
  • cli/commands/events.mdx
  • cli/commands/init.mdx
  • cli/commands/login.mdx
  • cli/commands/status.mdx
  • cli/commands/suggest.mdx
  • cli/commands/test.mdx
  • cli/installation.mdx
  • cli/overview.mdx
  • cli/troubleshooting.mdx
✅ Files skipped from review due to trivial changes (9)
  • cli/commands/test.mdx
  • cli/ci-cd.mdx
  • cli/installation.mdx
  • cli/commands/init.mdx
  • cli/commands/deeplink.mdx
  • cli/commands/status.mdx
  • cli/commands/doctor.mdx
  • cli/commands/suggest.mdx
  • cli/overview.mdx

Comment thread cli/commands/analyze.mdx
Comment on lines +62 to +67
── Deep Analysis (AI-powered) ──
✘ [src/App.tsx:15] init() called outside useEffect - may run on every render
Fix: Move init() inside a useEffect with an empty dependency array
⚠ [src/screens/Payment.tsx:42] capturePayment amount is hardcoded
Fix: Use the actual transaction amount from your payment provider
✔ No additional issues found by AI analysis.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Example output contradicts itself.

Line 63–67 lists AI findings and then says “No additional issues found,” which is confusing. Remove that line or move it to a no‑findings example.

✂️ Suggested fix
-  ✔ No additional issues found by AI analysis.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
── Deep Analysis (AI-powered) ──
[src/App.tsx:15] init() called outside useEffect - may run on every render
Fix: Move init() inside a useEffect with an empty dependency array
[src/screens/Payment.tsx:42] capturePayment amount is hardcoded
Fix: Use the actual transaction amount from your payment provider
✔ No additional issues found by AI analysis.
── Deep Analysis (AI-powered) ──
[src/App.tsx:15] init() called outside useEffect - may run on every render
Fix: Move init() inside a useEffect with an empty dependency array
[src/screens/Payment.tsx:42] capturePayment amount is hardcoded
Fix: Use the actual transaction amount from your payment provider
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@cli/commands/analyze.mdx` around lines 62 - 67, The example Deep Analysis
block is contradictory because it lists specific findings and then prints the
sentence "No additional issues found by AI analysis."; update the example output
in analyze.mdx so the "No additional issues found by AI analysis." line is
removed from this findings example (or moved to a separate "no-findings"
example). Locate the block starting with "── Deep Analysis (AI-powered) ──" and
the specific phrase "No additional issues found by AI analysis." and either
delete that sentence or create a separate example section that demonstrates the
no-findings case.

…egration

- Added CLI shortcut tips across various documentation files, including deep linking setup, verification, deferred deep linking, and SDK integration for Android, iOS, Capacitor, Flutter, React Native, and web.
- Improved user guidance by providing quick command references to streamline the setup and validation processes for developers.
- Consolidated information to enhance clarity and usability in the integration of Linkrunner features.

@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 (2)
sdk/react-native.mdx (1)

100-102: Consider consolidating duplicate lr init tips.

This tip duplicates the guidance from line 20. Since both reference the same lr init command, consider keeping only the first occurrence (after installation) to avoid redundancy. The initialization code section could instead focus on a different aspect or be removed.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@sdk/react-native.mdx` around lines 100 - 102, The Tip block containing the
CLI shortcut "lr init" is duplicated; remove the later Tip (the one shown in the
provided diff) and keep only the first occurrence after installation, or replace
this second Tip with a different, non-redundant note (e.g., focusing on
initialization caveats or platform-specific setup). Locate the Tip element that
contains the text "CLI shortcut: Use `lr init`" and either delete it or swap its
content for an alternative guidance to avoid repeating the same "lr init"
instruction.
sdk/capacitor.mdx (1)

123-125: Consider consolidating duplicate lr init tips.

Similar to the React Native SDK doc, this tip duplicates the guidance from line 20. Consider keeping only the first occurrence after installation to reduce redundancy.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@sdk/capacitor.mdx` around lines 123 - 125, Remove the duplicate Tip block
that reads "CLI shortcut: Use `lr init` to generate this initialization code
automatically. [Learn more →](/cli/commands/init)" and keep only the original
tip placed near the installation/setup section; locate the duplicate Tip block
by searching for the exact string "CLI shortcut: Use `lr init`" in the
capacitor.mdx content and delete that redundant block so the guidance appears
only once.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In `@sdk/capacitor.mdx`:
- Around line 123-125: Remove the duplicate Tip block that reads "CLI shortcut:
Use `lr init` to generate this initialization code automatically. [Learn more
→](/cli/commands/init)" and keep only the original tip placed near the
installation/setup section; locate the duplicate Tip block by searching for the
exact string "CLI shortcut: Use `lr init`" in the capacitor.mdx content and
delete that redundant block so the guidance appears only once.

In `@sdk/react-native.mdx`:
- Around line 100-102: The Tip block containing the CLI shortcut "lr init" is
duplicated; remove the later Tip (the one shown in the provided diff) and keep
only the first occurrence after installation, or replace this second Tip with a
different, non-redundant note (e.g., focusing on initialization caveats or
platform-specific setup). Locate the Tip element that contains the text "CLI
shortcut: Use `lr init`" and either delete it or swap its content for an
alternative guidance to avoid repeating the same "lr init" instruction.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Lite

Run ID: 2332517a-4c8e-4670-ad81-4686f0c6be62

📥 Commits

Reviewing files that changed from the base of the PR and between 6ac5631 and d42be04.

📒 Files selected for processing (12)
  • docs.json
  • features/deep-linking-setup.mdx
  • features/deep-linking-verification.mdx
  • features/deferred-deep-linking.mdx
  • features/skadnetwork-integration.mdx
  • sdk/android.mdx
  • sdk/capacitor.mdx
  • sdk/expo.mdx
  • sdk/flutter.mdx
  • sdk/ios.mdx
  • sdk/react-native.mdx
  • sdk/web.mdx
✅ Files skipped from review due to trivial changes (6)
  • features/deep-linking-setup.mdx
  • sdk/ios.mdx
  • sdk/android.mdx
  • features/deep-linking-verification.mdx
  • features/deferred-deep-linking.mdx
  • sdk/flutter.mdx
🚧 Files skipped from review as they are similar to previous changes (1)
  • docs.json

- Added a new "Quickstart" guide to help users set up and validate their Linkrunner integration in under 5 minutes.
- Expanded the CLI overview section to include detailed descriptions of key features and commands, improving clarity and user guidance.
- Updated the documentation structure to include the new quickstart page in the navigation, enhancing accessibility for new users.
…ep linking, environment management, event suggestions, and referral setup

- Introduced new documentation files covering authentication methods, including device login and API key management.
- Added detailed guides for using the CLI with AI agents, including non-interactive commands and JSON output.
- Documented the `lr deeplink push` command for managing deep link verification files.
- Included instructions for switching and managing CLI environments.
- Provided AI-driven event suggestion capabilities for ad campaign optimization.
- Established referral code tracking setup with code generation for various platforms.
- Enhanced overall user guidance and examples for improved clarity and usability.

@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.

Actionable comments posted: 2

🧹 Nitpick comments (2)
cli/authentication.mdx (2)

83-91: Important security clarification - consider adding to login.mdx.

The distinction that lr logout only clears local credentials but does not revoke the server-side key is a critical security detail. This is well-documented here.

However, cli/commands/login.mdx mentions logout but omits this security consideration. Users reading only that page won't know that logged-out credentials can still be used if the key is compromised.

Consider adding a similar note to cli/commands/login.mdx in its logout section, or add a cross-reference link to this authentication guide.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@cli/authentication.mdx` around lines 83 - 91, Add the same security
clarification that's in the "Logout" section of cli/authentication.mdx to the
logout mention in cli/commands/login.mdx: state that `lr logout` only removes
local credentials and does not revoke the server-side API key, and advise users
to revoke the key via Settings > CLI Keys if they need to fully disable access;
alternatively add a short cross-reference link from the logout text in
cli/commands/login.mdx to the authentication guide's Logout section so readers
see the full security note (reference command `lr logout` and the "Logout"
section heading to locate where to add the note).

1-98: Consider adding cross-reference from quickstart.mdx.

The new authentication guide provides comprehensive details about authentication flows, API key management, and security. However, cli/quickstart.mdx (lines 7-13) only provides a brief inline explanation of authentication and links to /cli/commands/login.

Users following the quickstart path may not discover this dedicated authentication guide.

Consider adding a reference in cli/quickstart.mdx after the authentication step, for example:

This sends a magic link to your email. Paste the token or URL from the email to complete authentication.

<Note>
For detailed information about authentication flows, API key management, and CI/CD setup, see the [Authentication guide](/cli/authentication).
</Note>

This would improve discoverability of the comprehensive authentication documentation.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@cli/authentication.mdx` around lines 1 - 98, Add a short cross-reference Note
in cli/quickstart.mdx immediately after the authentication step (the paragraph
that currently links to /cli/commands/login) pointing readers to the new
Authentication guide at /cli/authentication; insert a brief sentence like “For
detailed information about authentication flows, API key management, and CI/CD
setup, see the Authentication guide” so users following the quickstart can
discover the full auth docs.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@cli/authentication.mdx`:
- Around line 9-33: The Device Login Flow doc is incorrect and must be changed
to the magic-link email flow used by the actual implementation: update the
content under "Device Login Flow" (and any example output for the `lr login`
command) to describe the CLI prompting for an email, sending a magic link/token
(15-minute expiration) to the user's inbox, and instructing the user to paste
the token or open the link in their browser to complete login; ensure the text
and example match the behavior and phrasing used in cli/commands/login.mdx,
cli/quickstart.mdx, cli/installation.mdx, and cli/troubleshooting.mdx, or else
mark this file explicitly as documenting a legacy/alternate flow if that is
intended.
- Around line 75-81: The "Credential Storage" section uses "Your API key" which
conflicts with other docs that call the stored data "your auth token and email"
(see cli/commands/login.mdx, cli/quickstart.mdx, cli/troubleshooting.mdx);
update cli/authentication.mdx to use the same terminology—either replace "Your
API key" with "Your auth token and email" or explicitly state that "API key" is
synonymous with "auth token" and include the same config file paths; ensure the
phrasing matches the other CLI docs so all references to the stored credential
are consistent.

---

Nitpick comments:
In `@cli/authentication.mdx`:
- Around line 83-91: Add the same security clarification that's in the "Logout"
section of cli/authentication.mdx to the logout mention in
cli/commands/login.mdx: state that `lr logout` only removes local credentials
and does not revoke the server-side API key, and advise users to revoke the key
via Settings > CLI Keys if they need to fully disable access; alternatively add
a short cross-reference link from the logout text in cli/commands/login.mdx to
the authentication guide's Logout section so readers see the full security note
(reference command `lr logout` and the "Logout" section heading to locate where
to add the note).
- Around line 1-98: Add a short cross-reference Note in cli/quickstart.mdx
immediately after the authentication step (the paragraph that currently links to
/cli/commands/login) pointing readers to the new Authentication guide at
/cli/authentication; insert a brief sentence like “For detailed information
about authentication flows, API key management, and CI/CD setup, see the
Authentication guide” so users following the quickstart can discover the full
auth docs.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 9a37491e-0636-4481-8329-ee7a0080b34f

📥 Commits

Reviewing files that changed from the base of the PR and between 0167f79 and 70f0252.

📒 Files selected for processing (6)
  • cli/authentication.mdx
  • cli/commands/deeplink-push.mdx
  • cli/commands/env.mdx
  • cli/commands/events-suggest.mdx
  • cli/commands/referral.mdx
  • cli/llm-usage.mdx
✅ Files skipped from review due to trivial changes (5)
  • cli/commands/referral.mdx
  • cli/commands/env.mdx
  • cli/llm-usage.mdx
  • cli/commands/events-suggest.mdx
  • cli/commands/deeplink-push.mdx

Comment thread cli/authentication.mdx
Comment on lines +9 to +33
## Device Login Flow

When you run `lr login`, the CLI uses an OAuth2 Device Authorization flow:

1. The CLI requests a **user code** from the Linkrunner API
2. You are shown a code (e.g. `BVKD-3NH7`) and a URL to open in your browser
3. You open the URL, log into the Linkrunner dashboard, and authorize the code
4. The CLI polls for approval and receives an API key automatically

```
$ lr login

Your device code: BVKD-3NH7

Open this URL to authorize:
https://dashboard.linkrunner.io/cli/auth?code=BVKD-3NH7

Waiting for authorization...

✔ Logged in successfully!
```

<Note>
The device code expires after **10 minutes**. If it expires, run `lr login` again to get a new code.
</Note>

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Check login.mdx for magic link documentation
echo "=== Current login.mdx authentication flow documentation ==="
rg -n -A 10 "## Authentication Flow" cli/commands/login.mdx

echo -e "\n=== Check for any other references to magic link ==="
rg -n "magic link" cli/

echo -e "\n=== Check for any other references to device code/OAuth2 ==="
rg -n -i "device code|device authorization|oauth" cli/

Repository: linkrunner-labs/docs

Length of output: 1971


Authentication flow in this section is incorrect—contradicts actual implementation documented in cli/commands/login.mdx and other files.

This section documents an OAuth2 Device Authorization flow where users receive a device code in the CLI and authorize it in the browser. However, cli/commands/login.mdx, cli/quickstart.mdx, cli/installation.mdx, and cli/troubleshooting.mdx all consistently document a magic link email flow:

  • CLI prompts for email
  • Magic link sent to inbox (15-minute expiration)
  • User pastes token/URL from email into terminal or opens link in browser

These flows are incompatible. The device code approach here appears outdated or incorrect. Update this section to match the actual magic link authentication flow, or clarify if this file documents a different/legacy flow.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@cli/authentication.mdx` around lines 9 - 33, The Device Login Flow doc is
incorrect and must be changed to the magic-link email flow used by the actual
implementation: update the content under "Device Login Flow" (and any example
output for the `lr login` command) to describe the CLI prompting for an email,
sending a magic link/token (15-minute expiration) to the user's inbox, and
instructing the user to paste the token or open the link in their browser to
complete login; ensure the text and example match the behavior and phrasing used
in cli/commands/login.mdx, cli/quickstart.mdx, cli/installation.mdx, and
cli/troubleshooting.mdx, or else mark this file explicitly as documenting a
legacy/alternate flow if that is intended.

Comment thread cli/authentication.mdx
Comment on lines +75 to +81
## Credential Storage

Your API key is stored in a local config file managed by [conf](https://github.com/sindresorhus/conf):

- **macOS:** `~/Library/Preferences/linkrunner-nodejs/config.json`
- **Linux:** `~/.config/linkrunner-nodejs/config.json`
- **Windows:** `%APPDATA%/linkrunner-nodejs/config.json`

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Check what login.mdx says is stored
echo "=== login.mdx credential storage documentation ==="
rg -n -A 5 "## Credential Storage" cli/commands/login.mdx

# Check for any other references to what's stored
echo -e "\n=== References to 'auth token' in CLI docs ==="
rg -n "auth token" cli/

echo -e "\n=== References to 'API key' storage ==="
rg -n "API key.*stored|stored.*API key" cli/

Repository: linkrunner-labs/docs

Length of output: 1599


Inconsistent credential terminology across documentation.

This section refers to the stored credential as "Your API key", but cli/commands/login.mdx (lines 59-62) and other CLI docs (cli/quickstart.mdx, cli/troubleshooting.mdx) consistently refer to the same stored credential as "Your auth token and email".

Both reference the same config file with identical paths. Clarify whether "API key" and "auth token" refer to the same credential, or if this documentation is incorrect. Align terminology across all files.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@cli/authentication.mdx` around lines 75 - 81, The "Credential Storage"
section uses "Your API key" which conflicts with other docs that call the stored
data "your auth token and email" (see cli/commands/login.mdx,
cli/quickstart.mdx, cli/troubleshooting.mdx); update cli/authentication.mdx to
use the same terminology—either replace "Your API key" with "Your auth token and
email" or explicitly state that "API key" is synonymous with "auth token" and
include the same config file paths; ensure the phrasing matches the other CLI
docs so all references to the stored credential are consistent.

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.

1 participant