BuilderForge is a smart AI chat interface with integrated code editing capabilities. It provides a seamless experience for developers to interact with an AI assistant while working on coding tasks.
- Smart Chat Interface: Full-page chat that transitions to split-screen mode when code is detected
- Code Editor Integration: Monaco editor for code editing and viewing
- Authentication: Secure user management with Clerk
- Database Storage: Data persistence with Supabase
- Server-First Processing: Optimized for performance with client fallback
- Modern UI: Clean, responsive interface built with Tailwind CSS and Radix UI
- Frontend: Next.js 15, React 19
- Authentication: Clerk
- Database: Supabase
- Styling: Tailwind CSS, Radix UI components
- Code Editing: Monaco Editor
- AI Integration: Azure AI and Model Context Protocol
- Node.js 18+
- npm, yarn, or pnpm
-
Clone the repository
git clone https://github.com/yourusername/builderforge.git cd builderforge -
Install dependencies
npm install # or yarn install # or pnpm install
-
Create a
.envfile based on the.env.examplefilecp .env.example .env
-
Update the environment variables with your own credentials
Required environment variables:
# Clerk Authentication
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=
CLERK_SECRET_KEY=
# Supabase Database
NEXT_PUBLIC_SUPABASE_URL=
NEXT_PUBLIC_SUPABASE_ANON_KEY=
# Optional: Add any other services you're using
Start the development server:
npm run dev
# or
yarn dev
# or
pnpm devOpen http://localhost:3000 in your browser to see the application.
npm run build
# or
yarn build
# or
pnpm buildBuilderForge uses Clerk for authentication and user management. The authentication flow includes:
- Sign up/Sign in pages
- User profile management
- Protected routes with middleware
While Clerk handles authentication, Supabase is used for database operations. The Supabase client is configured not to handle authentication sessions.
builderforge/
├── app/ # Next.js app router pages
│ ├── api/ # API routes
│ ├── chat/ # Chat interface
│ ├── sign-in/ # Authentication pages
│ └── sign-up/
├── components/ # Reusable UI components
├── lib/ # Utility functions and shared logic
├── public/ # Static assets
├── styles/ # Global styles
└── ...