Polaris is an AI-powered real-time code editor designed for professional developer workflows. Built on Next.js 16 with Convex for real-time data, it provides a modern foundation for collaborative coding with AI assistance.
- Real-time data powered by Convex with live queries and mutations.
- AI-assisted coding using Google Gemini for code generation and suggestions.
- Background job execution via Inngest for async AI workflows.
- Authentication with Clerk for secure user sessions.
- Modern UI with Tailwind CSS, Radix primitives, and shadcn/ui components.
- Monitoring with Sentry for error tracking and performance insights.
Polaris is in early development. The foundation is set up with:
- ✅ Authentication flow (Clerk)
- ✅ Real-time database (Convex)
- ✅ Background jobs (Inngest)
- ✅ Error monitoring (Sentry)
- ✅ Modern UI components (Radix + shadcn/ui)
- 🔲 CodeMirror editor integration
- 🔲 AI-powered code suggestions
- 🔲 Real-time collaboration features
- Frontend: Next.js 16 (App Router), React 19, TypeScript 5
- Styling: Tailwind CSS 4, Radix UI, shadcn/ui
- Realtime: Convex
- AI: Google Gemini (via Vercel AI SDK)
- Auth: Clerk
- Background Jobs: Inngest
- Monitoring: Sentry
- Node.js 24+
- pnpm 11+
- Convex account + deployed project
- Clerk account
- Google AI API key
- Inngest account
git clone <your-repo-url>
cd cursor-clone
pnpm installCopy .env.example to .env.local and fill in the required values:
cp .env.example .env.localRequired variables:
CLERK_SECRET_KEY- Clerk secret keyCLERK_JWT_ISSUER_DOMAIN- Clerk JWT issuerNEXT_PUBLIC_CLERK_PUBLISHABLE_KEY- Clerk publishable keyCONVEX_DEPLOYMENT- Convex deployment URLNEXT_PUBLIC_CONVEX_URL- Convex public URLGOOGLE_GENERATIVE_AI_API_KEY- Google AI API keySENTRY_AUTH_TOKEN- Sentry auth token
Start all services (Next.js, Convex, Inngest):
pnpm dev:allOr run them separately:
# Terminal 1 - Next.js
pnpm dev
# Terminal 2 - Convex
pnpm convex:dev
# Terminal 3 - Inngest
pnpm inngest:devOpen http://localhost:3000 to view the application.
├── app/ # Next.js App Router pages and layouts
├── components/ # Shared UI components
│ └── ui/ # shadcn/ui components
├── convex/ # Convex functions, schema, and backend logic
├── features/ # Feature-specific modules
│ └── auth/ # Authentication components
├── hooks/ # React hooks
├── inngest/ # Background job functions
├── lib/ # Utility functions and helpers
└── public/ # Static assets
Contributions are welcome! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feat/amazing-feature) - Commit your changes (
git commit -m 'feat: add amazing feature') - Push to the branch (
git push origin feat/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License.
If you discover a security vulnerability, please report it responsibly. Do not open a public issue.
For questions or collaboration, open an issue or reach out to the maintainer.