Skip to content

A scaffold demonstrating how to use a turbo, mono repo, trpc, better auth, react, postgres and cursor ai rules.

License

Notifications You must be signed in to change notification settings

devops-best-practices/ai-monorepo-scaffold

 
 

Repository files navigation

Monorepo Scaffold

This is a scaffold for a modern web application using a monorepo architecture. It's designed to provide a solid foundation for new projects, with a focus on type-safety, developer experience, and scalability.

What's inside?

This monorepo includes:

  • apps/web: An Astro application for the frontend.
  • packages/api: A tRPC API for type-safe client-server communication.
  • packages/db: Database schemas, migrations, and query utilities using Kysely.
  • packages/utils: Shared utilities used across the monorepo.
  • Authentication: Example implementation using better-auth with GitHub as an OAuth provider.
  • UI: Basic UI setup with Tailwind CSS and shadcn/ui.
  • Tooling:

Perfect for AI-Assisted Development

This scaffold is specifically designed to excel with AI coding assistants and "vibe coding" workflows:

  • Rich Examples: The codebase provides comprehensive examples of common patterns like API routing, database connections, migrations, authentication flows, and UI components that AI can learn from and replicate.
  • Comprehensive Cursor Rules: Pre-configured .cursor/rules/ directory with detailed guidelines for:
    • Database patterns and Kysely type helpers
    • tRPC and React Query integration patterns
    • React component conventions and shadcn/ui usage
    • TypeScript best practices and naming conventions
    • Environment variable management
    • Code organization and project structure
  • Consistent Patterns: Standardized approaches across the entire stack make it easy for AI to understand and extend the codebase following established conventions.
  • Type Safety: Full TypeScript coverage provides clear contracts and interfaces that AI can work with confidently.

Whether you're pair programming with Claude, GitHub Copilot, or Cursor's AI, this scaffold gives your AI assistant the context and examples it needs to generate high-quality, consistent code that follows your project's patterns.

Getting Started

  1. Clone the repository:

    git clone https://github.com/your-repo/monorepo-scaffold.git
    cd monorepo-scaffold
  2. Install dependencies:

    pnpm install
  3. Set up environment variables:

    Create a .env file in apps/web and add the following variables:

    # Generate a secret with `openssl rand -base64 32`
    AUTH_SECRET="your_auth_secret"
    
    # From your GitHub OAuth application
    GITHUB_CLIENT_ID="your_github_client_id"
    GITHUB_CLIENT_SECRET="your_github_client_secret"
    
    # Your local PostgreSQL connection string
    DATABASE_URL="postgres://user:password@localhost:5432/monorepo-scaffold"
  4. Set up the database:

    Make sure you have a PostgreSQL server running. Then, run the migrations:

    DATABASE_URL="postgres://user:password@localhost:5432/monorepo-scaffold" pnpm --filter @app/db db:migrate
  5. Run the development server:

    pnpm dev

    The web application will be available at http://localhost:3001.

Development

  • pnpm build: Build all apps and packages.
  • pnpm lint: Lint all code.
  • pnpm typecheck: Run TypeScript to check for type errors.
  • pnpm test: Run tests.

Authors

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

A scaffold demonstrating how to use a turbo, mono repo, trpc, better auth, react, postgres and cursor ai rules.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 76.6%
  • PLpgSQL 16.5%
  • CSS 4.1%
  • JavaScript 2.0%
  • Astro 0.8%