Skip to content

Conversation

@antoinekm
Copy link
Member

@antoinekm antoinekm commented Dec 28, 2025

Summary by CodeRabbit

  • Documentation
    • Added comprehensive developer guidance documentation for the project, including architecture overview, setup instructions, and code patterns.

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

Copilot AI review requested due to automatic review settings December 28, 2025 00:45
@vercel
Copy link

vercel bot commented Dec 28, 2025

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

Project Deployment Review Updated (UTC)
onruntime-website Ready Ready Preview, Comment Dec 28, 2025 0:50am

@coderabbitai
Copy link

coderabbitai bot commented Dec 28, 2025

📝 Walkthrough

Walkthrough

A new developer guidance file CLAUDE.md has been added to document the repository architecture, development patterns, and configurations. It covers monorepo setup with Turborepo and pnpm, service initialization patterns, environment variable management, API route caching strategies, and required configuration details.

Changes

Cohort / File(s) Summary
Documentation
CLAUDE.md
New developer guide documenting Turborepo+pnpm monorepo architecture, service patterns with lazy initialization, environment variable handling via @t3-oss/env-nextjs, API route caching with unstable_cache, and required env vars (RESEND_API_KEY, JOIN_API_KEY)

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Poem

A guide for Claude now takes its place,
With patterns, paths, and developer grace,
Through monorepo's halls and caches deep,
This document helps the knowledge we keep. 🐰✨

Pre-merge checks and finishing touches

✅ 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 claude.md' accurately describes the main change: adding a new CLAUDE.md file. However, it uses an emoji which adds visual noise rather than clarity.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch antoinekm/claude

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

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR adds a CLAUDE.md file to provide guidance for Claude Code (claude.ai/code) when working with this repository. The file documents development commands, architecture patterns, and environment variables to help the AI assistant understand the codebase structure and conventions.

Key changes:

  • Added comprehensive documentation covering development commands, monorepo structure, and key architectural patterns
  • Documented the lazy initialization pattern used for external API clients to handle missing environment variables during CI builds
  • Provided reference information for environment variables and their usage

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

/
├── apps/
│ └── web/ # Next.js 16 website (@onruntime/web)
├── packages/ # Shared packages (future)
Copy link

Copilot AI Dec 28, 2025

Choose a reason for hiding this comment

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

The documentation states that there is a packages/ directory for shared packages with the comment "(future)", but this directory does not currently exist in the repository. This could be misleading to someone using this documentation. Consider either removing this line entirely or making it clearer that this is a planned directory structure that doesn't exist yet (e.g., "packages/ (planned)" or removing it until the directory is actually created).

Suggested change
├── packages/ # Shared packages (future)
├── packages/ # Shared packages (planned, directory not yet created)

Copilot uses AI. Check for mistakes.
Comment on lines +33 to +39
- **app/**: Next.js App Router pages and API routes
- **components/**: React components (ui/, layout/, marketing/)
- **services/**: External API clients with lazy initialization
- **constants/**: Static data (projects, agencies, services, team members)
- **content/**: MDX content (glossary, legal pages)
- **lib/**: Utilities and helpers
- **types/**: TypeScript type definitions
Copy link

Copilot AI Dec 28, 2025

Choose a reason for hiding this comment

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

The Web App Structure section lists several directories but omits some that exist in the actual codebase (such as hooks/, logos/, screens/, and styles/). While not every directory needs to be documented, consider whether hooks/ and screens/ should be included for completeness, as they may contain important patterns for developers to understand.

Copilot uses AI. Check for mistakes.
// services/email.ts - Proxy pattern for lazy init
export const resend = new Proxy({} as Resend, {
get(_, prop) {
if (!instance) {
Copy link

Copilot AI Dec 28, 2025

Choose a reason for hiding this comment

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

The code example shows new Resend(env.RESEND_API_KEY) but the actual implementation in apps/web/src/services/email.ts includes additional error handling that checks if the API key exists before creating the Resend instance. The example would be more accurate if it included the error handling or added a comment noting that error handling is omitted for brevity.

Suggested change
if (!instance) {
if (!instance) {
// Note: The real implementation checks that env.RESEND_API_KEY is defined
// before creating the Resend instance; this example omits that error handling
// for brevity.

Copilot uses AI. Check for mistakes.
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

📜 Review details

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between d834e53 and 42e1b96.

📒 Files selected for processing (1)
  • CLAUDE.md
🧰 Additional context used
🪛 markdownlint-cli2 (0.18.1)
CLAUDE.md

22-22: Fenced code blocks should have a language specified

(MD040, fenced-code-language)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: Agent
🔇 Additional comments (1)
CLAUDE.md (1)

1-70: Developer guidance is comprehensive and well-structured.

The file effectively documents monorepo architecture, setup commands, key patterns, and environment variables. The examples for lazy initialization and service patterns are practical and directly applicable.

Comment on lines +22 to +29
```
/
├── apps/
│ └── web/ # Next.js 16 website (@onruntime/web)
├── packages/ # Shared packages (future)
├── turbo.json # Turborepo configuration
└── pnpm-workspace.yaml # pnpm workspace config
```
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

Add language specifier to the directory tree code block.

The fenced code block showing the monorepo structure is missing a language identifier, which markdown linters require for best practices.

🔎 Proposed fix
-```
+```text
 /
 ├── apps/
 │   └── web/              # Next.js 16 website (@onruntime/web)
 ├── packages/             # Shared packages (future)
 ├── turbo.json            # Turborepo configuration
 └── pnpm-workspace.yaml   # pnpm workspace config
-```
+```
📝 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
```
/
├── apps/
│ └── web/ # Next.js 16 website (@onruntime/web)
├── packages/ # Shared packages (future)
├── turbo.json # Turborepo configuration
└── pnpm-workspace.yaml # pnpm workspace config
```
🧰 Tools
🪛 markdownlint-cli2 (0.18.1)

22-22: Fenced code blocks should have a language specified

(MD040, fenced-code-language)

🤖 Prompt for AI Agents
In CLAUDE.md around lines 22 to 29 the fenced code block showing the directory
tree lacks a language specifier; update the opening fence to include a language
tag such as "text" (i.e. change ``` to ```text) so markdown linters recognize
it, leaving the block content unchanged and keeping the closing ``` as is.

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.

2 participants