Skip to content

Update site and doc#225

Merged
yashdev9274 merged 2 commits into
mainfrom
supercode-cli
Jul 23, 2026
Merged

Update site and doc#225
yashdev9274 merged 2 commits into
mainfrom
supercode-cli

Conversation

@yashdev9274

@yashdev9274 yashdev9274 commented Jul 23, 2026

Copy link
Copy Markdown
Owner

Description

Update site and doc

Type of change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update
  • Refactor (no functional changes)

How Has This Been Tested?

Please describe the tests that you ran to verify your changes.

  • bun test passes
  • bun run typecheck passes
  • bun run lint passes (if applicable)

Checklist:

  • My code follows the project's style guidelines
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works

Summary by CodeRabbit

  • New Features

    • Added homepage sections for supported providers and frequently asked questions.
    • Added expanded provider documentation, CLI getting-started guidance, and updated terminal architecture details.
    • Added theme support with system preference detection and improved dark-mode behavior.
  • Documentation

    • Reworked the introduction, quickstart, and authentication guides.
    • Updated navigation and redirected homepage traffic to the new introduction.
    • Removed outdated repositories and settings documentation.
  • Enhancements

    • Refined documentation layout, tables, navigation, animations, and accessibility for reduced motion.
    • Improved homepage and terminal interactions with smoother visual feedback.
    • Updated displayed product version information and homepage metadata.

…ags:

- Introduced ProvidersSection and FAQSection components to enhance homepage content.
- Updated homepage layout to include new sections for better user engagement.
- Bumped version in footer and hero components to v0.1.83-beta.
…rience:

- Added new Providers section to documentation, detailing supported AI providers and configuration.
- Updated intro and quickstart guides for clarity and conciseness.
- Enhanced global styles and layout for better visual consistency across the application.
- Bumped version in package.json to 0.1.83 to reflect recent changes.

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

Your trial has ended. Reactivate Greptile to resume code reviews.

@vercel

vercel Bot commented Jul 23, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
supercli Ready Ready Preview, Comment Jul 23, 2026 6:28am
supercli-client Ready Ready Preview, Comment Jul 23, 2026 6:28am
supercli-docs Ready Ready Preview, Comment Jul 23, 2026 6:28am

@coderabbitai

coderabbitai Bot commented Jul 23, 2026

Copy link
Copy Markdown

Review Change Stack

Walkthrough

The PR redesigns the documentation site with new onboarding content, terminal/provider guides, responsive layout, theming, metadata, and interactions. It also adds homepage provider and FAQ sections and updates homepage beta version labels.

Changes

Documentation experience

Layer / File(s) Summary
Docs entry routes and onboarding content
apps/docs/app/docs/page.tsx, apps/docs/app/page.tsx, apps/docs/next.config.ts, apps/docs/lib/docs-nav.ts, apps/docs/content/docs/{intro,quickstart,authentication}.mdx
Redirects now target /docs/intro; navigation adds Terminal Getting Started and Providers; onboarding and authentication content is rewritten.
Terminal and provider documentation
apps/docs/content/docs/{terminal-getting-started,terminal-architecture,providers}.mdx
Terminal installation, initialization, AI modes, provider configuration, environment variables, and troubleshooting guidance are added or revised.
Docs shell, theme, and styling
apps/docs/app/docs/**, apps/docs/app/layout.tsx, apps/docs/app/globals.css, apps/docs/package.json
Docs layout, theme switching, metadata, design tokens, tables, animations, transitions, and reduced-motion behavior are updated.
Docs navigation and interactive controls
apps/docs/components/{docs-sidebar,docs-footer,on-this-page,terminal-block}.tsx
Sidebar behavior, footer links, on-page transitions, and terminal title-bar hover effects are updated.

Homepage sections

Layer / File(s) Summary
Homepage provider and FAQ sections
apps/web/app/page.tsx, apps/web/components/homepage/{providers-section,faq-section}.tsx
The homepage renders provider cards with viewport-triggered animations and a client-side FAQ accordion.
Homepage version labels
apps/web/components/homepage/{hero,footer}.tsx
Displayed beta version labels change to v0.1.83-beta.

Estimated code review effort: 4 (Complex) | ~45 minutes

Possibly related PRs

Poem

A bunny hops through docs anew,
With guides and provider paths in view.
FAQs bloom, cards gently rise,
Dark themes shimmer under skies.
Version carrots gleam: one-eight-three!

🚥 Pre-merge checks | ✅ 3 | ❌ 2

❌ Failed checks (1 warning, 1 inconclusive)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
Title check ❓ Inconclusive The title is too generic and doesn't clearly describe the main changes to the site and docs. Use a specific title that mentions the main updates, such as homepage sections, docs rewrites, and version bumps.
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
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.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch supercode-cli

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 Checkov (3.3.8)
apps/docs/package.json

Traceback (most recent call last):
File "/usr/local/bin/checkov", line 2, in
from checkov.main import Checkov
ModuleNotFoundError: No module named 'checkov'

🔧 ESLint

If the error stems from missing dependencies, add them to the package.json file. For unrecoverable errors (e.g., due to private dependencies), disable the tool in the CodeRabbit configuration.

ESLint install failed. For unrecoverable errors, disable the tool in CodeRabbit configuration.


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.

@yashdev9274
yashdev9274 merged commit 01ce796 into main Jul 23, 2026
4 of 8 checks passed

@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: 17

🧹 Nitpick comments (2)
apps/docs/app/globals.css (2)

302-308: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value

Dead @starting-style rule — has no effect on keyframe-animated elements.

@starting-style only supplies a starting value for CSS transitions on newly rendered elements; it does nothing for elements animated via @keyframes/animation. .docs-sidebar-item's entrance is driven by an inline animation: sidebarItemIn ... (see docs-sidebar.tsx), not a transition, so this block never applies.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@apps/docs/app/globals.css` around lines 302 - 308, The `@starting-style` block
for .docs-sidebar-item is ineffective because its entrance uses the
sidebarItemIn keyframe animation. Remove this unused rule from the global
stylesheet and leave the existing animation behavior unchanged.

3-3: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Stylelint flags @custom-variant/@theme as unknown — likely a config gap, not a code defect.

Both are valid Tailwind CSS v4 CSS-first-config at-rules. The scss/at-rule-no-unknown rule firing here suggests the stylelint config isn't aware of Tailwind v4 syntax; consider adding an ignore list or the Tailwind stylelint plugin to remove this CI noise.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@apps/docs/app/globals.css` at line 3, Add Tailwind CSS v4 awareness to the
Stylelint configuration so valid CSS-first at-rules such as `@custom-variant` and
`@theme` are recognized. Prefer the existing Tailwind Stylelint plugin or
configure the relevant at-rule ignore list, without changing the declarations in
globals.css.

Source: Linters/SAST tools

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@apps/docs/app/globals.css`:
- Around line 20-21: Update the --destructive token in the global theme
variables to use a clearly distinct red or orange color value instead of
duplicating --secondary; leave --destructive-foreground unchanged.

In `@apps/docs/app/layout.tsx`:
- Around line 42-47: Update the ThemeProvider configuration in the layout to
remove enableSystem and any associated light-mode plumbing, keeping the docs
site explicitly dark-only until light theme tokens are implemented. Preserve the
existing dark theme configuration.

In `@apps/docs/components/docs-footer.tsx`:
- Line 17: Update the className on the footer span to replace the invalid
“150ms” and “var(--ease-out)” classes with Tailwind utilities “duration-150” and
“ease-(--ease-out)”, matching the existing transition-colors pattern used by the
other footer elements.

In `@apps/docs/components/docs-sidebar.tsx`:
- Around line 36-38: Update the inline animation in the docs sidebar item
rendering to reference the globally scoped keyframe name, using the framework’s
global keyframe declaration rather than the scoped `sidebarItemIn` name.
Preserve the existing duration, easing, delay, and fill-mode values.

In `@apps/docs/content/docs/intro.mdx`:
- Line 6: Update the user-facing description in the opening content to hyphenate
“open source” as “open-source,” preserving the rest of the sentence unchanged.
- Around line 18-22: Update the Quick Start “without installing” flow near the
npx supercode-cli example so every subsequent CLI invocation uses the same
npx-based form, or remove that unsupported path entirely. Ensure the documented
version, login, and execution commands remain self-contained and do not rely on
a globally installed supercode command.
- Line 25: Align the installer command in apps/docs/content/docs/intro.mdx:25-25
with the canonical endpoint used by apps/docs/content/docs/quickstart.mdx:15-15,
or explicitly document that both endpoints are supported; apply the same
intentional endpoint guidance across both affected guides.

In `@apps/docs/content/docs/providers.mdx`:
- Line 76: Update the MiniMax-M2 description in the providers table to use the
hyphenated wording “General-purpose coding model.”
- Around line 8-29: Update the provider configuration sections, including the
CLI, dashboard, and provider-specific entries, to clearly separate hosted BYOK
setup from self-hosted/development environment-variable setup. State that hosted
users configure providers through /connect or the Providers dashboard, while
self-hosters configure the required deployment environment variables, and
identify the applicable flow for each supported provider.

In `@apps/docs/content/docs/terminal-getting-started.mdx`:
- Around line 85-124: Update the terminal walkthrough to use the registered
`supercode init` command instead of describing `/init`, and remove the
unsupported `--trust`, `--skip-taste`, and `--no-init` options unless they are
added to the CLI registration. Keep the provider setup instructions aligned with
the actual registered command behavior.
- Around line 64-69: Update the npm global binary PATH command in the terminal
setup instructions to derive the npm prefix with the appropriate npm prefix
command and append its bin directory, rather than constructing the path from npm
root -g. Preserve the existing PATH while ensuring globally installed binaries
such as supercode are discoverable.

In `@apps/docs/next.config.ts`:
- Line 13: Update the multi-line redirect object in the Next.js configuration by
adding a trailing comma after the permanent property value, preserving the
existing redirect behavior.

In `@apps/web/components/homepage/faq-section.tsx`:
- Line 53: Add data-slot="faq-section" to the root section in
apps/web/components/homepage/faq-section.tsx at lines 53-53, and add
data-slot="providers-section" to the root section in
apps/web/components/homepage/providers-section.tsx at lines 51-54. Use these
identifiers for component identification without changing the sections’ existing
structure or styling.
- Around line 3-9: Separate the import groups in faq-section.tsx by adding a
blank line after the React import and before the internal
`@/components/ui/accordion` import, preserving the specified React/Next, external,
internal-alias, and relative-import ordering.
- Around line 21-30: Update the FAQ answer strings in the homepage FAQ data: add
spacing in “DeepSeek, Minimax,” correct “Spark cost” to “Spark costs,” and
separate “refundable” from the parenthetical terms text in “refundable (terms &
conditions applied).”

In `@apps/web/components/homepage/providers-section.tsx`:
- Around line 3-5: Update the imports in the providers section so the React/Next
imports are separated from the external lucide-react import by a blank line,
preserving the prescribed import grouping order.
- Around line 116-123: Update the provider CTA Link in the providers section to
build its destination from the configured documentation origin/base, including
the existing localhost:3001 fallback, instead of the web-relative
"/docs/providers" path. Preserve the "/docs/providers" route suffix while
reusing the established docs configuration symbol.

---

Nitpick comments:
In `@apps/docs/app/globals.css`:
- Around line 302-308: The `@starting-style` block for .docs-sidebar-item is
ineffective because its entrance uses the sidebarItemIn keyframe animation.
Remove this unused rule from the global stylesheet and leave the existing
animation behavior unchanged.
- Line 3: Add Tailwind CSS v4 awareness to the Stylelint configuration so valid
CSS-first at-rules such as `@custom-variant` and `@theme` are recognized. Prefer the
existing Tailwind Stylelint plugin or configure the relevant at-rule ignore
list, without changing the declarations in globals.css.
🪄 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: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 748c6276-82ee-41e0-8bb6-e2d1de23f4f6

📥 Commits

Reviewing files that changed from the base of the PR and between 29fc7e0 and 484f36e.

⛔ Files ignored due to path filters (1)
  • bun.lock is excluded by !**/*.lock
📒 Files selected for processing (26)
  • apps/docs/app/docs/[slug]/page.tsx
  • apps/docs/app/docs/layout.tsx
  • apps/docs/app/docs/page.tsx
  • apps/docs/app/globals.css
  • apps/docs/app/layout.tsx
  • apps/docs/app/page.tsx
  • apps/docs/components/docs-footer.tsx
  • apps/docs/components/docs-sidebar.tsx
  • apps/docs/components/on-this-page.tsx
  • apps/docs/components/terminal-block.tsx
  • apps/docs/content/docs/authentication.mdx
  • apps/docs/content/docs/intro.mdx
  • apps/docs/content/docs/providers.mdx
  • apps/docs/content/docs/quickstart.mdx
  • apps/docs/content/docs/repositories.mdx
  • apps/docs/content/docs/settings.mdx
  • apps/docs/content/docs/terminal-architecture.mdx
  • apps/docs/content/docs/terminal-getting-started.mdx
  • apps/docs/lib/docs-nav.ts
  • apps/docs/next.config.ts
  • apps/docs/package.json
  • apps/web/app/page.tsx
  • apps/web/components/homepage/faq-section.tsx
  • apps/web/components/homepage/footer.tsx
  • apps/web/components/homepage/hero.tsx
  • apps/web/components/homepage/providers-section.tsx
💤 Files with no reviewable changes (2)
  • apps/docs/content/docs/repositories.mdx
  • apps/docs/content/docs/settings.mdx

Comment thread apps/docs/app/globals.css
Comment on lines +20 to +21
--destructive: oklch(0.5940 0.0443 196.0233);
--destructive-foreground: oklch(0.1797 0.0043 308.1928);

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

printf 'Repo files matching globals.css:\n'
fd -a 'globals\.css$' . | sed 's#^\./##'

printf '\napps/docs/app/globals.css relevant lines:\n'
if [ -f apps/docs/app/globals.css ]; then
  nl -ba apps/docs/app/globals.css | sed -n '1,40p'
else
  printf 'apps/docs/app/globals.css not found\n'
fi

printf '\nDestructive/secondary CSS variable usages:\n'
rg -n --glob '*.css' --glob '*.tsx' --glob '*.ts' '--glob *.mdx' --glob '*.md' 'destructive|secondary' apps/docs || true

printf '\nExtract exact variable declarations:\n'
python3 - <<'PY'
from pathlib import Path
p=Path('apps/docs/app/globals.css')
if p.exists():
    txt=p.read_text()
    for needle in ['--destructive', '--secondary']:
        lines=[(i,line.strip()) for i,line in enumerate(txt.splitlines(),1) if needle in line]
        print(needle, lines)
PY

Repository: yashdev9274/supercli

Length of output: 476


🏁 Script executed:

#!/bin/bash
set -euo pipefail

printf 'apps/docs/app/globals.css relevant lines (1-40):\n'
sed -n '1,40p' apps/docs/app/globals.css

printf '\nExtract exact variable declarations:\n'
python3 - <<'PY'
from pathlib import Path
p = Path('apps/docs/app/globals.css')
txt = p.read_text()
for needle in ['--destructive', '--secondary']:
    hits = [(i, line.strip()) for i, line in enumerate(txt.splitlines(), 1) if needle in line]
    print(needle, hits)
PY

printf '\nDestructive/secondary CSS variable usages (docs only):\n'
rg -n --glob '*.css' --glob '*.tsx' --glob '*.ts' --glob '*.mdx' --glob '*.md' 'destructive|secondary' apps/docs || true

Repository: yashdev9274/supercli

Length of output: 2941


Make --destructive distinct from --secondary.

--destructive: oklch(0.5940 0.0443 196.0233) matches --secondary exactly, so destructive/error states will resolve to the same neutral-ish color instead of a clearly destructive red/orange warning token.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@apps/docs/app/globals.css` around lines 20 - 21, Update the --destructive
token in the global theme variables to use a clearly distinct red or orange
color value instead of duplicating --secondary; leave --destructive-foreground
unchanged.

Comment thread apps/docs/app/layout.tsx
Comment on lines +42 to +47
<ThemeProvider
attribute="class"
defaultTheme="dark"
enableSystem
disableTransitionOnChange
>

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🗄️ Data Integrity & Integration | 🟠 Major | 🏗️ Heavy lift

enableSystem theme switching has no visual effect — no light theme tokens exist.

ThemeProvider is configured with enableSystem (and users could later toggle to light), but apps/docs/app/globals.css defines all color tokens unconditionally on :root with no .light/[data-theme="light"]/prefers-color-scheme override anywhere in the file. Switching away from dark will change the html class but the CSS variables never change, so the docs site is effectively dark-only despite the theme-switching capability being wired up.

Either add a corresponding light palette in globals.css scoped to the resolved light state, or drop enableSystem (and the associated light-mode plumbing) until a light theme is implemented.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@apps/docs/app/layout.tsx` around lines 42 - 47, Update the ThemeProvider
configuration in the layout to remove enableSystem and any associated light-mode
plumbing, keeping the docs site explicitly dark-only until light theme tokens
are implemented. Preserve the existing dark theme configuration.

>
<span className="text-[12px] text-[var(--muted-foreground)] font-mono">← Previous</span>
<span className="text-[14px] text-[var(--foreground)] group-hover:text-[var(--primary)] transition-colors">
<span className="text-[14px] text-[var(--foreground)] group-hover:text-[var(--primary)] transition-colors 150ms var(--ease-out)">

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "Locate file and related files"
git ls-files | rg '(^|/)docs-footer\.tsx$|(^|/)docs-sidebar\.tsx|(^|/)on-this-page\.tsx|(^|/)terminal-block\.tsx|package.json|tailwind\.config\.|app/config|postcss\.config' || true

echo
echo "Relevant docs-footer.tsx lines if present"
for f in $(git ls-files | rg 'docs-footer\.tsx$'); do
  echo "--- $f"
  nl -ba "$f" | sed -n '1,90p'
done

echo
echo "Search transition-colors bare 150ms var patterns"
rg -n "transition-colors\s+150ms\s+var\(--ease-out\)|duration-150 ease-\(--ease-out\)|ease-\(--ease-out\)" -S . || true

echo
echo "Check Tailwind-related files"
git ls-files | rg '(^|/)(tailwind\.config|postcss\.config|package\.json|components\.json|styles)' | sed -n '1,120p'

Repository: yashdev9274/supercli

Length of output: 1237


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "Inspect target file with sed"
sed -n '1,90p' apps/docs/components/docs-footer.tsx | awk '{printf "%6d\t%s\n", NR, $0}'

echo
echo "Search the bare transition tokens across repository"
rg -n "transition-colors\s+150ms\s+var\(--ease-out\)|duration-150\s+ease-\(--ease-out\)|ease-\(--ease-out\)|transition-colors" apps || true

echo
echo "Inspect related components where duration-150 is used"
for f in apps/docs/components/docs-sidebar.tsx apps/docs/components/on-this-page.tsx apps/docs/components/terminal-block.tsx; do
  if [ -f "$f" ]; then
    echo "--- $f"
    rg -n "duration-150|ease-\(--ease-out\)|transition-colors|var\(--ease-out\)" "$f" -n || true
  fi
done

echo
echo "Inspect docs package/postcss deps"
sed -n '1,160p' apps/docs/package.json | awk '{printf "%4d\t%s\n", NR, $0}'
echo
sed -n '1,80p' apps/docs/postcss.config.mjs | awk '{printf "%4d\t%s\n", NR, $0}'
echo
sed -n '1,80p' packages/config/package.json | awk '{printf "%4d\t%s\n", NR, $0}'

Repository: yashdev9274/supercli

Length of output: 30726


Use real Tailwind transition utilities for the duration and easing overrides.

In Tailwind 4 this still applies transition-colors, but 150ms and var(--ease-out) are parsed as plain classes rather than duration and timing-function values, so the custom easing and 150ms duration are dropped. Apply the same utility form used elsewhere in apps/docs/components: lines 17, 32, 48, and 60 (transition-colors duration-150 ease-(--ease-out)).

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@apps/docs/components/docs-footer.tsx` at line 17, Update the className on the
footer span to replace the invalid “150ms” and “var(--ease-out)” classes with
Tailwind utilities “duration-150” and “ease-(--ease-out)”, matching the existing
transition-colors pattern used by the other footer elements.

Comment on lines +36 to +38
style={{
animation: `sidebarItemIn 0.3s var(--ease-out) ${index * 0.03}s both`,
}}

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== locate file =="
git ls-files | rg '(^|/)apps/docs/components/docs-sidebar\.tsx$|(^|/)docs-sidebar\.tsx$' || true

echo "== file outline/size =="
wc -l apps/docs/components/docs-sidebar.tsx 2>/dev/null || true
sed -n '1,120p' apps/docs/components/docs-sidebar.tsx 2>/dev/null

echo "== styled-jsx deps/config mentions =="
rg -n "styled-jsx|`@styled-jsx`|styled-jsx/webpack|styled-jsx/react|jsx styling|style jsx global|style jsx" -S package.json apps package.json pnpm-lock.yaml yarn.lock package-lock.json bun.lockb 2>/dev/null || true

Repository: yashdev9274/supercli

Length of output: 3883


🌐 Web query:

styled-jsx styled-jsx keyframes scoped keyframe name hashed @Keyframes global keyframes documentation

💡 Result:

In styled-jsx, @keyframes are automatically scoped by default to ensure complete isolation [1][2][3]. When you define a @keyframes rule within a standard <style jsx> block, styled-jsx transpiles the animation name by appending a unique, hash-based style ID (e.g., @keyframes animationName-jsx-123456789) [4]. This ensures that animations do not collide with other animations in different components [1][2]. Key considerations for keyframes in styled-jsx: 1. Scoped Behavior: When you use a name in an animation property (e.g., animation: myAnim 2s), styled-jsx automatically updates both the animation property and the @keyframes definition with the corresponding hash to match them, provided they are defined in the same <style jsx> tag [4]. 2. Global Keyframes: If you need an animation that is not scoped (e.g., for reuse across multiple components or when integrating with external CSS), you must define the @keyframes in a global style block [1][2]. You can achieve this by adding the global prop to your style tag: <style jsx global>{ @KeyframesmyGlobalAnimation { from { opacity: 0; } to { opacity: 1; } }}</style> Alternatively, you can use css.global from styled-jsx/css to define global styles in separate JavaScript modules [1][5]. 3. Common Pitfalls: - Dynamic Animations: If you try to generate animation names dynamically (e.g., using template literals for the animation name), styled-jsx may fail to automatically associate the animation property with the @keyframes definition because the mapping is determined at compile-time [4]. In such cases, using global styles is often the recommended workaround [6]. - Separate Tags: If the @keyframes definition and the animation usage are in different <style jsx> tags, they may not share the same hash, causing the animation to break [4]. Keep them within the same tag or define them globally if they need to be shared [1][2]. For further details, refer to the official styled-jsx documentation regarding global styles and scoping [1][5].

Citations:


Use a global keyframe for the inline animation.

<style jsx> scopes the keyframe name, and the hash applied to @keyframes sidebarItemIn won’t be applied to the literal animation: sidebarItemIn ... in the inline style, so the staggered entrance animation won’t run.

🐛 Proposed fix
-      <style jsx>{`
+      <style jsx global>{`
         `@keyframes` sidebarItemIn {
           0% { opacity: 0; transform: translateX(-4px); }
           100% { opacity: 1; transform: translateX(0); }
         }
       `}</style>
📝 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
style={{
animation: `sidebarItemIn 0.3s var(--ease-out) ${index * 0.03}s both`,
}}
<style jsx global>{`
`@keyframes` sidebarItemIn {
0% { opacity: 0; transform: translateX(-4px); }
100% { opacity: 1; transform: translateX(0); }
}
`}</style>
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@apps/docs/components/docs-sidebar.tsx` around lines 36 - 38, Update the
inline animation in the docs sidebar item rendering to reference the globally
scoped keyframe name, using the framework’s global keyframe declaration rather
than the scoped `sidebarItemIn` name. Preserve the existing duration, easing,
delay, and fill-mode values.

---

# Intro
Supercode is an open source AI coding agent that works where you work — terminal, web, IDE, Slack, and more. Describe what you need, and Supercode handles the rest.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Hyphenate the compound adjective.

Use “open-source AI coding agent” in this user-facing description.

🧰 Tools
🪛 LanguageTool

[grammar] ~6-~6: Use a hyphen to join words.
Context: ... web, and IDE. --- Supercode is an open source AI coding agent that works where ...

(QB_NEW_EN_HYPHEN)

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@apps/docs/content/docs/intro.mdx` at line 6, Update the user-facing
description in the opening content to hyphenate “open source” as “open-source,”
preserving the rest of the sentence unchanged.

Source: Linters/SAST tools

Comment on lines +3 to +9
import React from "react"
import {
Accordion,
AccordionItem,
AccordionTrigger,
AccordionContent,
} from "@/components/ui/accordion"

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Separate external and internal import groups.

Add a blank line between the React import and the @/components import. As per coding guidelines: Follow import order in the web app: React/Next → external libs → internal aliases → relative imports, with blank lines between groups.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@apps/web/components/homepage/faq-section.tsx` around lines 3 - 9, Separate
the import groups in faq-section.tsx by adding a blank line after the React
import and before the internal `@/components/ui/accordion` import, preserving the
specified React/Next, external, internal-alias, and relative-import ordering.

Source: Coding guidelines

Comment on lines +21 to +30
q: "What models are available on each plan?",
a: "Spark grants access to open-weight models (DeepSeek,Minimax, Moonshot, Mistral, etc.) at a lower ctx window and low query limits. Pro adds premium models (Claude Opus, GPT-4o, Gemini Ultra) with expanded context. Ultra unlocks the full model catalog at maximum context.",
},
{
q: "What does the Spark $1 deposit cover?",
a: "Spark cost $1/month for all new users — fully refundable(terms & conditions applied). It is free for existing users. You can request a refund at any time.",
},
{
q: "How does regional pricing work for Pro?",
a: "We offer location-based pricing for the Pro plan. Indian users pay $9/month (or $100/year). International users pay $12/month (or $140/year). All other plans are priced uniformly worldwide.",

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Correct the customer-facing plan copy.

“DeepSeek,Minimax,” “Spark cost,” and “refundable(terms” contain visible spacing and grammar errors.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@apps/web/components/homepage/faq-section.tsx` around lines 21 - 30, Update
the FAQ answer strings in the homepage FAQ data: add spacing in “DeepSeek,
Minimax,” correct “Spark cost” to “Spark costs,” and separate “refundable” from
the parenthetical terms text in “refundable (terms & conditions applied).”


const FAQSection = () => {
return (
<section className="py-24 px-6 border-t border-border">

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Add data-slot identifiers to both new section roots.

  • apps/web/components/homepage/faq-section.tsx#L53-L53: add data-slot="faq-section" to the <section>.
  • apps/web/components/homepage/providers-section.tsx#L51-L54: add data-slot="providers-section" to the <section>.

As per coding guidelines: use data-slot attributes for component identification.

📍 Affects 2 files
  • apps/web/components/homepage/faq-section.tsx#L53-L53 (this comment)
  • apps/web/components/homepage/providers-section.tsx#L51-L54
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@apps/web/components/homepage/faq-section.tsx` at line 53, Add
data-slot="faq-section" to the root section in
apps/web/components/homepage/faq-section.tsx at lines 53-53, and add
data-slot="providers-section" to the root section in
apps/web/components/homepage/providers-section.tsx at lines 51-54. Use these
identifiers for component identification without changing the sections’ existing
structure or styling.

Source: Coding guidelines

Comment on lines +3 to +5
import React, { useEffect, useRef, useState } from "react"
import Link from "next/link"
import { ArrowUpRight } from "lucide-react"

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Separate the React/Next and external import groups.

Add a blank line before the lucide-react import. As per coding guidelines: Follow import order in the web app: React/Next → external libs → internal aliases → relative imports, with blank lines between groups.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@apps/web/components/homepage/providers-section.tsx` around lines 3 - 5,
Update the imports in the providers section so the React/Next imports are
separated from the external lucide-react import by a blank line, preserving the
prescribed import grouping order.

Source: Coding guidelines

Comment on lines +116 to +123
<div className="mt-8">
<Link
href="/docs/providers"
className="inline-flex items-center gap-2 text-[13px] font-mono text-muted-foreground hover:text-foreground transition-colors group"
>
<span>see all providers</span>
<ArrowUpRight className="w-3.5 h-3.5 group-hover:translate-x-0.5 group-hover:-translate-y-0.5 transition-transform duration-200" />
</Link>

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Route the provider CTA through the docs application.

/docs/providers resolves on the web app origin, while the supplied homepage context configures documentation as a separate app (including a localhost:3001 fallback). Use the configured docs origin/base when building this URL; otherwise the CTA breaks in local development.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@apps/web/components/homepage/providers-section.tsx` around lines 116 - 123,
Update the provider CTA Link in the providers section to build its destination
from the configured documentation origin/base, including the existing
localhost:3001 fallback, instead of the web-relative "/docs/providers" path.
Preserve the "/docs/providers" route suffix while reusing the established docs
configuration symbol.

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