AI-Powered Collaborative Workspace for Developer Teams
An all-in-one developer workspace designed to streamline team collaboration, project management, and codebase understanding through the power of Generative AI.
Codaborate goes beyond generic project management by deeply integrating with your source code. By leveraging vector embeddings and Large Language Models, Codaborate reads your codebase, understands it, and allows you to chat directly with your repositories.
Paired with AI-driven meeting transcriptions, automated commit summaries, and a seamless credit-based billing system, Codaborate ensures your team stays aligned, focused, and productive.
- Connect a GitHub repository and let Codaborate index the complete source code.
- Generates vector embeddings using
@google/generative-aiand stores them efficiently in a PostgreSQL database usingpgvector. - Chat directly with your codebase to ask architectural questions, find specific logic, or get onboarding help.
- Automatically cites file references for all its answers.
- Automatically polls commits from your linked GitHub repository.
- Uses Google Gemini to analyze
git diffsand generates concise, human-readable summaries of code changes, making code reviews and tracking updates effortless.
- Upload or record team meetings directly on the platform.
- Powered by AssemblyAI, the app transcribes audio to text and automatically extracts summaries, actionable items, and tracks generated issues directly to the project dashboard.
- Full-fledged billing system integrated with Stripe.
- Users start with a base amount of credits (e.g., 150) which are consumed when indexing repositories (based on file count) or using AI features.
- Seamless top-ups and subscription management.
- Create Workspaces and Projects.
- Send secure invite links to bring team members aboard.
- Unified dashboard for tracking commits, active Q&A, and scheduled meetings.
| Technology | Purpose |
|---|---|
| Next.js 15 (App Router) | Full-stack React framework for UI and API routes. |
| tRPC | End-to-end typesafe APIs between the client and server. |
| PostgreSQL & Prisma | Relational database and ORM. Uses pgvector for semantic search. |
| Tailwind CSS & Shadcn UI | Utility-first styling with accessible, customizable UI components. |
| Google Gemini API | Large Language Model used for commit summarizations and Codebase Q&A. |
| AssemblyAI | Audio processing for meeting transcriptions and issue extraction. |
| Clerk | Secure and scalable user authentication and management. |
| Stripe | Payment processing for handling the user credit system. |
Before you begin, ensure you have the following installed and set up:
- Node.js:
v18+ - Docker: For running the local PostgreSQL database (with
pgvectorextension). - API Keys for Clerk, Google Gemini, AssemblyAI, and Stripe.
git clone https://github.com/your-username/codaborate.git
cd codaboratenpm install
# or
yarn install
# or
pnpm installCreate a .env file in the root directory and configure the necessary keys:
# Database (Ensure pgvector is enabled in your Postgres instance)
DATABASE_URL="postgresql://postgres:password@localhost:5432/codaborate"
# Setup Clerk Auth
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=pk_test_...
CLERK_SECRET_KEY=sk_test_...
# Google Gemini API
GEMINI_API_KEY=your_gemini_api_key
# AssemblyAI (Meeting transcripts)
ASSEMBLYAI_API_KEY=your_assemblyai_api_key
# Stripe (Billing)
STRIPE_SECRET_KEY=sk_test_...
STRIPE_WEBHOOK_SECRET=whsec_...The project includes a convenient script to start a Docker container for a local Postgres dev database:
./start-database.shGenerate the Prisma Client and push the database schema:
npm run postinstall
npm run db:pushnpm run devNavigate to http://localhost:3000 to start using your local Codaborate workspace!
Contributions are always welcome! Feel free to open a Pull Request or create an Issue to discuss improvements, bugs, or new features.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request