Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: add comprehensive local setup guide #23

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

kiridharan
Copy link

@kiridharan kiridharan commented Feb 19, 2025

Description

Added a detailed LocalSetup.md guide to help new contributors get started with the project quickly and efficiently.

Changes

  • Created LocalSetup.md in the root directory
  • Added detailed prerequisites and installation steps
  • Included environment variable configuration instructions
  • Added development workflow guidelines
  • Included troubleshooting section and contribution guidelines

Documentation

  • Added step-by-step instructions for:
    • Initial setup
    • Environment configuration
    • Running development servers
    • Development workflow
    • Available scripts
    • Troubleshooting common issues

Additional Notes

  • All paths and commands are OS-agnostic
  • Included optional PostHog configuration
  • Added links to required tools and dependencies

Summary by CodeRabbit

  • Documentation
    • Introduced a comprehensive local setup guide for developers.
    • The guide details prerequisites, installation and configuration steps, and instructions for launching local development servers.
    • It includes troubleshooting tips and outlines best practices for contribution and workflow.

Copy link

vercel bot commented Feb 19, 2025

@kiridharan is attempting to deploy a commit to the taishik0903's projects Team on Vercel.

A member of the Team first needs to authorize it.

@taishikato
Copy link
Owner

@coderabbitai review

Copy link

coderabbitai bot commented Feb 25, 2025

✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

Copy link

coderabbitai bot commented Feb 25, 2025

Walkthrough

A new file, LocalSetup.md, has been added to the repository. This document provides detailed instructions for setting up the Supavec project locally. It covers prerequisites (such as Bun, Node.js, Supabase CLI, and Docker), cloning the repository, installing dependencies, configuring environment variables for both the web app and API, and starting the respective development servers. Additionally, it outlines the development workflow—including branch creation, commits, and pushes—as well as available scripts, troubleshooting tips, and guidelines for contributing.

Changes

File(s) Change Summary
LocalSetup.md Added a comprehensive guide for local development setup covering prerequisites, environment configuration for the web app (apps/web/.env.local) and API (packages/api/.env), server startup instructions, development workflow, troubleshooting, and contribution guidelines.

Poem

I'm a happy rabbit in a code field so bright,
Hopping through LocalSetup with guidance in sight,
Bun, Node, and Docker lead the cheerful way,
With clear docs to brighten each development day,
I nibble on updates with a joyful, swift hop—yip, yip, and non-stop!


🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR. (Beta)
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@taishikato
Copy link
Owner

@coderabbitai full review

Copy link

coderabbitai bot commented Feb 25, 2025

✅ Actions performed

Full review triggered.

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: 0

🧹 Nitpick comments (4)
LocalSetup.md (4)

45-64: Detailed Environment Variables Configuration:
The comprehensive listing of environment variables for both the web app and API is very helpful.

  • Punctuation & Formatting: Consider reviewing punctuation consistency for the list items on lines 49 and 57 by, for example, adding a trailing period or ensuring a uniform style.
  • Bare URL Formatting: The bare URL on line 53 (http://localhost:3001) may trigger markdownlint warnings. You might enclose it in angle brackets (e.g., <http://localhost:3001>) or convert it into a markdown link for improved compliance.
🧰 Tools
🪛 LanguageTool

[uncategorized] ~49-~49: Loose punctuation mark.
Context: ...v.local): - NEXT_PUBLIC_SUPABASE_URL: Your Supabase project URL - NEXT_PUBLI...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~57-~57: Loose punctuation mark.
Context: ...packages/api/.env): - OPENAI_API_KEY: Your OpenAI API key - SUPABASE_URL`: Y...

(UNLIKELY_OPENING_PUNCTUATION)

🪛 markdownlint-cli2 (0.17.2)

53-53: Bare URL used
null

(MD034, no-bare-urls)


65-94: Clear Development Environment Instructions:
The instructions for starting the Supabase environment and then running the API and web servers are well-organized and clear.

  • Markdownlint Note: Consider updating the bare URLs on lines 92 and 93 to a proper markdown link format or enclosing them in angle brackets to satisfy markdown linting guidelines.
🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

92-92: Bare URL used
null

(MD034, no-bare-urls)


93-93: Bare URL used
null

(MD034, no-bare-urls)


116-125: Well-Organized Listing of Available Scripts:
The available scripts are clearly enumerated with their descriptions. To polish the document further, consider ensuring consistent punctuation (as noted on line 120) in the script descriptions.

🧰 Tools
🪛 LanguageTool

[uncategorized] ~120-~120: Loose punctuation mark.
Context: ...rom the root directory: - bun run dev: Start all development servers - `bun ru...

(UNLIKELY_OPENING_PUNCTUATION)


147-151: Contributing Guidelines Clarity:
The contributing guidelines are concise and direct. For grammatical consistency, consider revising line 151 to:
“to follow the conventional commits specification for commit messages” instead of “Follow the conventional commits specification for commit messages.”

🧰 Tools
🪛 LanguageTool

[grammar] ~151-~151: The verb “Follow” needs to be in the to-infinitive form.
Context: ...n applicable 3. Update documentation as needed 4. Follow the conventional commits specification ...

(MISSING_TO_BEFORE_A_VERB)

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 80dc920 and e48e28a.

📒 Files selected for processing (1)
  • LocalSetup.md (1 hunks)
🧰 Additional context used
🪛 LanguageTool
LocalSetup.md

[uncategorized] ~49-~49: Loose punctuation mark.
Context: ...v.local): - NEXT_PUBLIC_SUPABASE_URL: Your Supabase project URL - NEXT_PUBLI...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~57-~57: Loose punctuation mark.
Context: ...packages/api/.env): - OPENAI_API_KEY: Your OpenAI API key - SUPABASE_URL`: Y...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~120-~120: Loose punctuation mark.
Context: ...rom the root directory: - bun run dev: Start all development servers - `bun ru...

(UNLIKELY_OPENING_PUNCTUATION)


[grammar] ~151-~151: The verb “Follow” needs to be in the to-infinitive form.
Context: ...n applicable 3. Update documentation as needed 4. Follow the conventional commits specification ...

(MISSING_TO_BEFORE_A_VERB)

🪛 markdownlint-cli2 (0.17.2)
LocalSetup.md

53-53: Bare URL used
null

(MD034, no-bare-urls)


92-92: Bare URL used
null

(MD034, no-bare-urls)


93-93: Bare URL used
null

(MD034, no-bare-urls)

🔇 Additional comments (9)
LocalSetup.md (9)

1-4: Excellent Introduction and Title: The document begins with a clear title and a concise introductory statement that effectively sets the stage for the guide.


5-11: Clear Prerequisites Section: The prerequisites are well-listed with appropriate links and version recommendations. This section adequately prepares users with the required tools for the local setup.


12-20: Comprehensive Initial Setup Instructions: The steps to clone the repository are straightforward and the provided code block is clear. Consider adding a note for Windows users if specific command variations are needed to keep the guide truly OS-agnostic.


21-26: Concise Dependency Installation: The installation instructions via bun install are succinct and clear. If there's any room for alternative instructions for users not using Bun, a brief note might be beneficial.


27-35: Straightforward Web App Environment Setup: The guidance for setting up environment variables for the web app is clear and easy to follow. The use of a code block for the copy command enhances clarity.


37-43: Effective API Environment Setup: Mirroring the web app setup, the instructions to set up environment variables for the API are clear and consistent.


95-115: Solid Development Workflow Section:
The section outlining the development workflow—including branch creation, committing, and pushing changes—is clear and aligns with standard Git practices.


126-139: Helpful Troubleshooting Guidance:
The troubleshooting section provides practical commands and tips to resolve dependency and server issues, which will be beneficial for new contributors encountering common pitfalls.


140-146: Accessible Help Section:
The "Need Help?" section effectively directs users to existing GitHub issues and offers a clear path for seeking further assistance.

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: 0

🔭 Outside diff range comments (1)
LocalSetup.md (1)

147-153: 🛠️ Refactor suggestion

Contributing Guidelines Section - Revise Grammar in Step 4.
The contributing steps are clear; however, static analysis suggests the verb in step 4 should use the to-infinitive form. Consider updating:

-4. Follow the conventional commits specification for commit messages
+4. To follow the conventional commits specification for commit messages

This small change enhances grammatical consistency.

🧰 Tools
🪛 LanguageTool

[grammar] ~151-~151: The verb “Follow” needs to be in the to-infinitive form.
Context: ...n applicable 3. Update documentation as needed 4. Follow the conventional commits specification ...

(MISSING_TO_BEFORE_A_VERB)

🧹 Nitpick comments (5)
LocalSetup.md (5)

45-54: Web App Environment Variables Section is Clear but Consider Uniform Punctuation.
The list of environment variables (e.g., NEXT_PUBLIC_SUPABASE_URL) is easy to read. However, static analysis notes “loose punctuation” on these lines. Ensure that the colon usage and trailing punctuation are consistent with your documentation style.

🧰 Tools
🪛 LanguageTool

[uncategorized] ~49-~49: Loose punctuation mark.
Context: ...v.local): - NEXT_PUBLIC_SUPABASE_URL: Your Supabase project URL - NEXT_PUBLI...

(UNLIKELY_OPENING_PUNCTUATION)

🪛 markdownlint-cli2 (0.17.2)

53-53: Bare URL used
null

(MD034, no-bare-urls)


55-64: API Environment Variables Section is Informative.
The variables are well documented. Like the previous block, consider a review of punctuation (e.g., after the colon) for consistency with the style guidelines.

🧰 Tools
🪛 LanguageTool

[uncategorized] ~57-~57: Loose punctuation mark.
Context: ...packages/api/.env): - OPENAI_API_KEY: Your OpenAI API key - SUPABASE_URL`: Y...

(UNLIKELY_OPENING_PUNCTUATION)


90-94: URLs Display Could Use Improved Markdown Formatting.
Listing the endpoints as bare URLs (e.g., http://localhost:3000) may trigger markdownlint warnings. Consider wrapping them in angle brackets (e.g., <http://localhost:3000>) or using a link format for consistency.

🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

92-92: Bare URL used
null

(MD034, no-bare-urls)


93-93: Bare URL used
null

(MD034, no-bare-urls)


116-125: Available Scripts Section is Informative.
The list of scripts available from the repository root is useful for developers. Minor punctuation consistency checks (e.g., in the descriptions) could enhance readability.

🧰 Tools
🪛 LanguageTool

[uncategorized] ~120-~120: Loose punctuation mark.
Context: ...rom the root directory: - bun run dev: Start all development servers - `bun ru...

(UNLIKELY_OPENING_PUNCTUATION)


140-146: Help and Issue Reporting Section is Useful.
The guide directs contributors to existing issues and how to create a new one, though the bare URL in the link might be reformatted to comply with markdownlint guidelines.

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 80dc920 and e48e28a.

📒 Files selected for processing (1)
  • LocalSetup.md (1 hunks)
🧰 Additional context used
🪛 LanguageTool
LocalSetup.md

[uncategorized] ~49-~49: Loose punctuation mark.
Context: ...v.local): - NEXT_PUBLIC_SUPABASE_URL: Your Supabase project URL - NEXT_PUBLI...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~57-~57: Loose punctuation mark.
Context: ...packages/api/.env): - OPENAI_API_KEY: Your OpenAI API key - SUPABASE_URL`: Y...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~120-~120: Loose punctuation mark.
Context: ...rom the root directory: - bun run dev: Start all development servers - `bun ru...

(UNLIKELY_OPENING_PUNCTUATION)


[grammar] ~151-~151: The verb “Follow” needs to be in the to-infinitive form.
Context: ...n applicable 3. Update documentation as needed 4. Follow the conventional commits specification ...

(MISSING_TO_BEFORE_A_VERB)

🪛 markdownlint-cli2 (0.17.2)
LocalSetup.md

53-53: Bare URL used
null

(MD034, no-bare-urls)


92-92: Bare URL used
null

(MD034, no-bare-urls)


93-93: Bare URL used
null

(MD034, no-bare-urls)

🔇 Additional comments (12)
LocalSetup.md (12)

1-4: Document Introduction is Clear and Concise.
The header and opening sentences clearly state the purpose of the guide.


5-11: Prerequisites Section is Informative.
The list of prerequisites includes helpful links and version recommendations, which is beneficial for new contributors.


12-20: Initial Setup Instructions are Well Structured.
The clone instructions using a code block are clear and follow a logical sequence.


21-26: Installation of Dependencies is Clear.
The step-by-step instruction with bun install is straightforward and easy to follow.


27-44: Environment Variables Setup Section is Detailed.
The guide correctly distinguishes between web app and API environment setup using clear instructions and code blocks.


65-73: Supabase Local Environment Instructions are Clear.
The step-by-step commands to start the Supabase environment are easy to understand and follow.


74-89: Development Servers Section is Well-Outlined.
The separation of API and web server startup instructions using distinct terminals aids clarity.


95-102: Development Workflow for Branch Creation is Accurate.
The instructions and accompanying code block for creating a feature branch are clear and follow best practices.


103-109: Commit Instructions are Straightforward.
The commit section properly demonstrates how to add changes and commit them with a descriptive message.


110-115: Push and PR Instructions are Concise.
The steps for pushing changes and initiating a pull request maintain clarity and simplicity.


126-133: Troubleshooting - Dependency Issue Resolution is Helpful.
The troubleshooting tip offering bun install --force for dependency issues is clear and actionable.


134-139: Troubleshooting - Server Issues Section Provides Practical Tips.
Instructions to check environment variables, verify Supabase is active, and ensure port availability are practical and clear.

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