A community-driven platform for discovering, sharing, and mastering Cursor AI agent commands. Built with Next.js 15, Clerk authentication, and modern web technologies.
- 🔍 Smart Search: Find Cursor commands by name, description, or content with instant search
- 📚 Category Organization: Browse commands by categories like "Code Review", "Testing", "Documentation"
- ⭐ Bookmarks & Favorites: Save your most-used commands for quick access
- 📝 Personal Notes: Add your own context and usage notes to commands
- 🏷️ Tag System: Find commands by tech stack, framework, and specific goals
- 🚀 One-Click Copy: Copy commands instantly with detailed usage instructions
- 👥 Community Driven: Commands curated and tested by real Cursor power users
- 🎨 Modern UI: Clean, responsive interface with dark/light mode support
- Framework: Next.js 15 (App Router) with Turbopack
- Authentication: Clerk (User management & auth)
- Database: Neon Postgres (Serverless PostgreSQL)
- ORM: Drizzle ORM with TypeScript
- UI: Tailwind CSS v4 + Radix UI Components
- Code Quality: Ultracite (Biome-based linting & formatting)
- Testing: Playwright (E2E testing)
- Analytics: Vercel Analytics
- Package Manager: pnpm
- Node.js 20+
- pnpm package manager
- Neon Postgres database account
- Clerk account for authentication
-
Clone the repository: ```bash git clone cd cursor-commands-explorer ```
-
Install dependencies: ```bash pnpm install ```
-
Set up environment variables: ```bash cp .env.example .env.local ```
Then fill in your credentials in .env.local
:
DATABASE_URL
: Your Neon Postgres connection stringNEXT_PUBLIC_CLERK_PUBLISHABLE_KEY
: Your Clerk publishable keyCLERK_SECRET_KEY
: Your Clerk secret key
-
Generate and push the database schema: ```bash pnpm db:push ```
-
Seed the database with initial data: ```bash pnpm db:seed ```
-
Start the development server: ```bash pnpm dev ```
Visit http://localhost:3000 to see the application.
pnpm dev
- Start development serverpnpm build
- Build for productionpnpm start
- Start production serverpnpm lint
- Run Ultracite linterpnpm lint:fix
- Fix code issues with Ultracitepnpm db:generate
- Generate Drizzle migrationspnpm db:migrate
- Run migrationspnpm db:push
- Push schema to database (development)pnpm db:studio
- Open Drizzle Studiopnpm db:seed
- Seed database with initial datapnpm test:e2e
- Run Playwright E2E tests (headless)
``` ├── app/ # Next.js app directory │ ├── api/ # API routes │ │ ├── commands/ # Commands API │ │ ├── bookmarks/ # Bookmarks API │ │ ├── notes/ # Notes API │ │ ├── reports/ # Reports API │ │ └── export/ # Export API │ ├── commands/ # Commands pages │ ├── favorites/ # Favorites page │ ├── sign-in/ # Clerk sign-in │ └── sign-up/ # Clerk sign-up ├── components/ # React components │ ├── ui/ # UI components (Radix) │ ├── command-card.tsx # Command card component │ ├── command-filters.tsx │ ├── search-bar.tsx │ └── onboarding-modal.tsx ├── db/ # Database │ ├── schema/ # Drizzle schemas │ └── index.ts # Database connection ├── hooks/ # Custom React hooks ├── scripts/ # Utility scripts │ └── seed.ts # Database seeding ├── tests/ # E2E tests └── middleware.ts # Clerk middleware ```
- commands: Cursor command definitions with content, status, and metadata
- categories: Command categories (e.g., "Code Review", "Testing", "Documentation")
- command_tags: Tags for organizing commands by tech stack and goals
- command_tag_map: Many-to-many relationship between commands and tags
- bookmarks: User-saved favorite commands
- notes: User notes attached to commands
- reports: User-submitted issue reports
- user_profiles: User preferences and onboarding state
GET /api/commands
- List commands with search & filtersGET /api/commands/[slug]
- Get command detailsPOST /api/commands
- Submit new command (auth required)
GET /api/bookmarks
- Get user bookmarks (auth required)POST /api/bookmarks
- Add bookmark (auth required)DELETE /api/bookmarks
- Remove bookmark (auth required)
GET /api/notes
- Get user notes (auth required)POST /api/notes
- Create note (auth required)PUT /api/notes
- Update note (auth required)DELETE /api/notes
- Delete note (auth required)
GET /api/reports
- List reports (auth required)POST /api/reports
- Submit report
GET /api/export
- Export commands (JSON/CSV)
GET /api/admin/commands
- Admin command managementPOST /api/admin/commands
- Approve/reject commands
Run E2E tests with Playwright:
```bash pnpm test:e2e ```
Tests cover:
- Home page loading and hero section
- Navigation between pages
- Search functionality and command filtering
- Command detail views and copying
- User authentication flows
- Bookmark and favorites functionality
- Push your code to GitHub
- Import the project in Vercel
- Add environment variables
- Deploy
For production deployments, run migrations:
```bash pnpm db:migrate ```
Then seed the database:
```bash pnpm db:seed ```
Contributions are welcome! This project is community-driven and we'd love your help:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Make your changes following the Ultracite code quality standards
- Run linting and tests: ```bash pnpm lint:fix pnpm test:e2e ```
- Commit your changes (
git commit -m 'Add amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
To add new Cursor commands to the platform:
- Sign up and log in
- Navigate to the "Submit Command" page
- Fill in the command details, category, and tags
- Submit for community review
- Commands are reviewed and approved by moderators
MIT License - see LICENSE file for details
For issues and questions:
- Open an issue on GitHub for bugs or feature requests
- Join our community discussions for help and sharing commands
- Check the documentation for common questions
Cursor is an AI-powered code editor that helps developers write code faster and more efficiently. This platform provides a curated collection of proven commands that work with Cursor's AI agent, helping you get the most out of your development workflow.
Built with ❤️ by the Cursor community