Skip to content

revamp README for Supercode branding; enhance installation instructions and features overview; update footer with new company name and year; modify dashboard layout to remove ThemeProvider; implement authentication check in homepage.#12

Merged
yashdev9274 merged 1 commit intomainfrom
supercli-#1
Jan 23, 2026

Conversation

@yashdev9274
Copy link
Owner

@yashdev9274 yashdev9274 commented Jan 23, 2026

Summary by CodeRabbit

  • New Features

    • Added authentication requirement for the application
    • Expanded features documentation including multi-platform support, AI-powered assistance, and direct codebase integration
  • Documentation

    • Comprehensive README overhaul with installation instructions, getting started guide, tech stack details, and project structure
    • Added available scripts and command reference
  • Chores

    • Rebranded product from "superCli" to "Supercode"
    • Updated copyright year and social media links

✏️ Tip: You can customize this high-level summary in your review settings.

…ns and features overview; update footer with new company name and year; modify dashboard layout to remove ThemeProvider; implement authentication check in homepage.
@vercel
Copy link

vercel bot commented Jan 23, 2026

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

Project Deployment Review Updated (UTC)
supercli Ready Ready Preview, Comment Jan 23, 2026 1:20pm

@coderabbitai
Copy link

coderabbitai bot commented Jan 23, 2026

Walkthrough

The pull request rebrands "superCli" to "Supercode" across documentation and UI components, updates the README with comprehensive installation and setup guides, adds authentication requirement to the home page, and removes theme provider wrappers from the dashboard layout.

Changes

Cohort / File(s) Summary
Branding & Documentation Updates
README.md, components/homepage/footer.tsx
README restructured with Supercode branding block, features section, expanded installation methods (curl, npm, bun, Homebrew, Arch Linux), comprehensive getting started guide, detailed tech stack, and project structure diagram. Footer component updated with "Supercode" branding, copyright year changed to 2026, and GitHub/Twitter social links replaced with actual URLs.
Authentication Control Flow
app/page.tsx
Home component converted to async function with await requireAuth() checkpoint invoked before rendering, enforcing authentication requirement at page entry.
Layout Structure Refactoring
app/dashboard/layout.tsx
ThemeProvider wrapper and html/body element scaffolding removed; component now returns a fragment containing layout structure, main content, and Script/ErrorReporter/VisualEditsMessenger components, eliminating explicit theme provider and altering top-level DOM hierarchy.

Possibly Related PRs

  • PR #10 — Concurrent rebranding changes from "SuperCli" to "Supercode/SuperCode" across UI elements and footer components
  • PR #7 — Conflicting modifications to app/page.tsx authentication flow (removes requireAuth while this PR adds it)
  • PR #2 — Opposing structural changes to app/dashboard/layout.tsx (adds ThemeProvider/html-body wrappers while this PR removes them)

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes


🐰 Supercode takes its stage with grace,
New branding claims its rightful place,
Auth guards the door, docs light the way,
A cleaner layout starts today! 🚀

🚥 Pre-merge checks | ✅ 2 | ❌ 1
❌ Failed checks (1 warning)
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.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title comprehensively covers all major changes: README revamp, branding updates, installation instructions, features, footer updates, dashboard layout modification, and authentication implementation.

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

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch supercli-#1

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.

@greptile-apps
Copy link

greptile-apps bot commented Jan 23, 2026

Greptile Summary

This PR performs a comprehensive rebranding from "superCli" to "Supercode" across documentation and UI components. The README was transformed from a basic Next.js template into production-ready documentation with installation instructions, tech stack details, and project structure. Footer branding and social links were updated accordingly.

However, the PR introduces two critical bugs:

Critical Issues:

  • Infinite redirect loop: The homepage now requires authentication via requireAuth(), but the login page redirects authenticated users back to / via requireUnAuth(). Unauthenticated users will bounce endlessly between these two pages.
  • Broken layout structure: The dashboard layout was changed to return a React fragment instead of proper html/body tags, which breaks Next.js layout conventions and will cause rendering issues.

Changes Made:

  • Updated all branding from "superCli" to "Supercode"
  • Enhanced README with comprehensive setup instructions and documentation
  • Removed duplicate ThemeProvider from dashboard layout (correct, as root layout already has it)
  • Added authentication gate to homepage
  • Updated footer copyright to 2026 and added valid GitHub/Twitter links

The authentication logic needs immediate attention - either the homepage should be public (remove requireAuth()) or the login redirect should point to /dashboard instead of /.

Confidence Score: 1/5

  • This PR has critical bugs that will break core functionality - do not merge without fixes
  • The infinite redirect loop makes the application completely unusable for unauthenticated users, and the broken dashboard layout structure will cause rendering errors. While the README improvements and footer updates are good, the authentication and layout bugs are blockers.
  • Critical attention needed: app/page.tsx (infinite redirect) and app/dashboard/layout.tsx (broken structure)

Important Files Changed

Filename Overview
README.md Comprehensive documentation overhaul with installation instructions, tech stack, and project structure - improved from basic Next.js template to production-ready README
app/dashboard/layout.tsx Removed ThemeProvider and html/body tags - breaking change that returns fragment instead of proper layout structure
app/page.tsx Added authentication check that creates infinite redirect loop between homepage and login page
components/homepage/footer.tsx Updated branding from superCli to Supercode, fixed copyright year to 2026, and added valid social media links

Sequence Diagram

sequenceDiagram
    participant User
    participant Homepage as / (Homepage)
    participant Login as /login
    participant Dashboard as /dashboard
    participant Auth as requireAuth()
    participant UnAuth as requireUnAuth()

    Note over User,UnAuth: Current PR Implementation (Broken)
    
    User->>Homepage: Navigate to /
    Homepage->>Auth: await requireAuth()
    Auth->>Auth: Check session
    alt No session
        Auth->>Login: redirect("/login")
        Login->>UnAuth: await requireUnAuth()
        UnAuth->>UnAuth: Check session
        UnAuth->>Homepage: redirect("/")
        Note over Homepage,Login: Infinite redirect loop!
    else Has session
        Auth->>Homepage: return session
        Homepage->>User: Show homepage
    end

    Note over User,Dashboard: Expected Flow
    
    User->>Homepage: Navigate to /
    Note over Homepage: Should be public
    Homepage->>User: Show public homepage
    
    User->>Login: Click login
    Login->>UnAuth: await requireUnAuth()
    UnAuth->>UnAuth: Check session
    alt Has session
        UnAuth->>Dashboard: redirect("/dashboard")
    else No session
        Login->>User: Show login form
    end
Loading

Copy link

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

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

4 files reviewed, 2 comments

Edit Code Review Agent Settings | Greptile

enableSystem
disableTransitionOnChange
>
<>
Copy link

Choose a reason for hiding this comment

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

syntax: returning a fragment <> instead of proper html and body tags breaks Next.js layout structure - nested layouts must not duplicate html/body tags, but this component previously had them which suggests it was intended as a standalone layout

Suggested change
<>
<html lang="en" suppressHydrationWarning>
<body className="antialiased font-sans">
Prompt To Fix With AI
This is a comment left during a code review.
Path: app/dashboard/layout.tsx
Line: 13:13

Comment:
**syntax:** returning a fragment `<>` instead of proper `html` and `body` tags breaks Next.js layout structure - nested layouts must not duplicate html/body tags, but this component previously had them which suggests it was intended as a standalone layout

```suggestion
        <html lang="en" suppressHydrationWarning>
      <body className="antialiased font-sans">
```

How can I resolve this? If you propose a fix, please make it concise.


export default function Home() {
export default async function Home() {
await requireAuth();
Copy link

Choose a reason for hiding this comment

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

logic: calling requireAuth() on the homepage creates an infinite redirect loop - unauthenticated users are redirected to /login, which uses requireUnAuth() that redirects authenticated users back to /, creating endless redirects

if the homepage should be protected, redirect to /dashboard instead of / in requireUnAuth() at modules/components/utils/auth-utils.ts:24, or remove this auth check if the homepage should be public. Is the homepage intended to be a public landing page or a protected page requiring authentication?

Prompt To Fix With AI
This is a comment left during a code review.
Path: app/page.tsx
Line: 7:7

Comment:
**logic:** calling `requireAuth()` on the homepage creates an infinite redirect loop - unauthenticated users are redirected to `/login`, which uses `requireUnAuth()` that redirects authenticated users back to `/`, creating endless redirects

if the homepage should be protected, redirect to `/dashboard` instead of `/` in `requireUnAuth()` at modules/components/utils/auth-utils.ts:24, or remove this auth check if the homepage should be public. Is the homepage intended to be a public landing page or a protected page requiring authentication?

How can I resolve this? If you propose a fix, please make it concise.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (2)
app/dashboard/layout.tsx (2)

29-31: Fix the double slash typo in the script URL.

The script src URL contains a double slash (scripts//route-messenger.js) which appears to be a typo.

Proposed fix
          <Script
-           src="https://slelguoygbfzlpylpxfs.supabase.co/storage/v1/object/public/scripts//route-messenger.js"
+           src="https://slelguoygbfzlpylpxfs.supabase.co/storage/v1/object/public/scripts/route-messenger.js"
            strategy="afterInteractive"

13-40: Fix double slash typo in script URL.

The external script URL on line 30 contains a double slash (scripts//route-messenger.js) that should be corrected to scripts/route-messenger.js.

ThemeProvider is already provided at the root layout level, so its removal from the dashboard layout is correct.

🤖 Fix all issues with AI agents
In `@README.md`:
- Around line 4-8: Update the branding in the README so it’s consistent: replace
the two occurrences of "superCli" in the description with "Supercode" to match
the header "Supercode" and ensure the phrasing still reads naturally (e.g.,
"Work with Supercode directly in your codebase" and "Describe what you need, and
Supercode handles the rest.").
🧹 Nitpick comments (2)
components/homepage/footer.tsx (1)

29-38: Consider adding security attributes to external links.

External links should include target="_blank" with rel="noopener noreferrer" to prevent potential security issues (reverse tabnabbing) and improve user experience by opening in a new tab.

Suggested improvement
              <a
                href="https://github.com/yashdev9274/superCli" 
-               className="text-muted-foreground hover:text-foreground transition-colors">
+               className="text-muted-foreground hover:text-foreground transition-colors"
+               target="_blank"
+               rel="noopener noreferrer">
                <Github className="w-4 h-4" />
              </a>
              <a 
                href="https://x.com/dew_yashtwt" 
-               className="text-muted-foreground hover:text-foreground transition-colors">
+               className="text-muted-foreground hover:text-foreground transition-colors"
+               target="_blank"
+               rel="noopener noreferrer">
                <Twitter className="w-4 h-4" />
              </a>
README.md (1)

107-123: Add language specifier to the code block.

The directory structure code block should specify a language (e.g., text or plaintext) to satisfy markdown linting rules and improve rendering consistency.

Proposed fix
-```
+```text
 supercli/
 ├── app/                    # Next.js app directory

Based on static analysis hints (MD040).

Comment on lines +4 to +8
# Supercode

**CLI AI Coding Agent for developers**

Work with superCli directly in your codebase. Build, debug, and ship from your terminal, IDE, Slack, or the web. Describe what you need, and superCli handles the rest.
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Fix inconsistent branding in description.

The header uses "Supercode" but the description still references "superCli" twice. This should be updated for consistent branding.

Proposed fix
  # Supercode
  
  **CLI AI Coding Agent for developers**
  
- Work with superCli directly in your codebase. Build, debug, and ship from your terminal, IDE, Slack, or the web. Describe what you need, and superCli handles the rest.
+ Work with Supercode directly in your codebase. Build, debug, and ship from your terminal, IDE, Slack, or the web. Describe what you need, and Supercode handles the rest.
📝 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
# Supercode
**CLI AI Coding Agent for developers**
Work with superCli directly in your codebase. Build, debug, and ship from your terminal, IDE, Slack, or the web. Describe what you need, and superCli handles the rest.
# Supercode
**CLI AI Coding Agent for developers**
Work with Supercode directly in your codebase. Build, debug, and ship from your terminal, IDE, Slack, or the web. Describe what you need, and Supercode handles the rest.
🧰 Tools
🪛 markdownlint-cli2 (0.18.1)

4-4: Headings must start at the beginning of the line

(MD023, heading-start-left)


6-6: Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)

🤖 Prompt for AI Agents
In `@README.md` around lines 4 - 8, Update the branding in the README so it’s
consistent: replace the two occurrences of "superCli" in the description with
"Supercode" to match the header "Supercode" and ensure the phrasing still reads
naturally (e.g., "Work with Supercode directly in your codebase" and "Describe
what you need, and Supercode handles the rest.").

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