Cursorist Docs
Contributing

Contributing

How to set up the Cursorist project locally and submit your first contribution.

Thank you for your interest in contributing to Cursorist. This guide walks you through the local setup, project structure, and contribution workflow.

Prerequisites

  • Node.js 18+ and npm
  • Git
  • Supabase CLI (optional, for running the backend locally)

Clone and Install

git clone https://github.com/gurkanfikretgunak/cursorist.git
cd cursorist
npm install

Run the Development Server

npm run dev

Open http://localhost:3000. The app hot-reloads on file changes.

Project Structure

DirectoryWhat It Contains
app/Next.js App Router pages and API routes
components/React components (UI, navigation, plugin wizard)
lib/Shared utilities, Supabase client, source loader
cli/CLI tool source (commands, types, utilities)
content/docs/Documentation pages (Fumadocs MDX)
supabase/Migrations, edge functions, seed data
hooks/Custom React hooks
public/Static assets

Tech Stack

TechnologyRole
Next.js 16App Router, React Server Components, API routes
SupabaseAuth (GitHub OAuth), Postgres database, storage, edge functions
Tailwind CSS 4Styling, CSS-based configuration
FumadocsMDX-powered documentation
TypeScriptType safety across the entire project
Shadcn UIReusable UI components

Making Changes

  1. Create a branch from main:
git checkout -b feature/your-feature
  1. Make your changes — code, docs, or both.

  2. Test locally — run npm run dev and verify your changes work.

  3. Build check — make sure the production build passes:

npm run build
  1. Commit with a descriptive message:
git commit -m "feat: add plugin upgrade notification"
  1. Push and open a PR:
git push origin feature/your-feature

Commit Message Convention

Use conventional commits:

PrefixWhen to Use
feat:New feature
fix:Bug fix
docs:Documentation only
refactor:Code change that does not add a feature or fix a bug
chore:Build config, dependencies, tooling

Contributing to Documentation

Docs live in content/docs/ as .mdx files. Each file needs YAML frontmatter:

---
title: Page Title
description: One-line description for search and SEO.
---

Your content here...

When adding a new page:

  1. Create the .mdx file in the appropriate section folder
  2. Update the meta.json in that folder to include your new page slug
  3. Run npm run dev to preview

Code Style

  • TypeScript strict mode — no any unless absolutely necessary
  • Tailwind CSS — use utility classes, avoid custom CSS
  • Shadcn UI — use existing components before creating new ones
  • Functional components — with hooks, no class components

Where to Start

Not sure what to work on? Good first contributions:

  • Improve documentation clarity or add missing examples
  • Fix typos or broken links
  • Add error handling to CLI commands
  • Improve accessibility in UI components