VSXHub is a modern, comprehensive directory for discovering and exploring Visual Studio Code extensions. Built with Next.js, TypeScript, and Tailwind CSS, it provides a curated collection of the most popular and useful VSCode extensions to supercharge your development workflow.
- π Smart Search: Find extensions quickly with intelligent search functionality
- π Category Filtering: Browse extensions organized by categories (Productivity, Themes, Languages, etc.)
- β Curated Collection: Hand-picked extensions based on popularity, quality, and developer feedback
- π± Responsive Design: Fully responsive design that works perfectly on all devices
- π Dark/Light Mode: Beautiful theme switching with system preference detection
- β‘ Lightning Fast: Built with Next.js 16 for optimal performance
- π Direct Links: Direct links to VSCode Marketplace for easy installation
- π Extension Details: Comprehensive information including downloads, ratings, and descriptions
Visit the live site: VSXHub.top
- Next.js 16 - React framework with App Router
- TypeScript - Type-safe JavaScript
- Tailwind CSS v4 - Utility-first CSS framework
- Radix UI - Accessible component primitives
- Directus - Headless CMS for content management
- Lucide React - Beautiful icons
- Biome - Linter and formatter
- Node.js 18.0.0 or higher
- pnpm (recommended) or npm/yarn
-
Clone the repository
git clone https://github.com/SymphonyIceAttack/vsxhub.git cd vsxhub -
Install dependencies
pnpm install
-
Set up environment variables
cp .env.example .env.local
Add your Directus configuration:
NEXT_PUBLIC_DIRECTUS_URL=your_directus_instance_url DIRECTUS_ACCESS_TOKEN=your_access_token -
Start the development server
pnpm dev
-
Open your browser Navigate to http://localhost:3000
vsxhub/
βββ app/ # Next.js App Router
β βββ api/ # API routes
β βββ [category]/ # Dynamic category pages
β βββ posts/ # Blog pages
β βββ layout.tsx # Root layout
β βββ page.tsx # Homepage
β βββ globals.css # Global styles
βββ components/ # Reusable components
β βββ ui/ # Base UI components
β βββ blog/ # Blog-specific components
β βββ extension-card.tsx
β βββ extension-grid.tsx
β βββ ...
βββ lib/ # Utility libraries
β βββ directus.ts # Directus client
β βββ utils.ts # General utilities
β βββ category-utils.ts
βββ public/ # Static assets
βββ ...
# Development
pnpm dev # Start development server
pnpm build # Build for production
pnpm start # Start production server
# Code Quality
pnpm lint # Run Biome linter
pnpm format # Format code with Biome
pnpm type-check # TypeScript type checkingCreate a .env.local file in the root directory:
# Directus Configuration
NEXT_PUBLIC_DIRECTUS_URL=https://your-directus-instance.com
DIRECTUS_ACCESS_TOKEN=your_access_token
# Analytics (Optional)
NEXT_PUBLIC_VERCEL_ANALYTICS_ID=your_analytics_id- Create a Directus instance at directus.io
- Set up collections for extensions with the following fields:
name(string)description(text)category(string)downloads(number)rating(number)image_url(string)marketplace_url(string)
- Create a static access token
- Add the credentials to your
.env.local
- Hero section with call-to-action
- Search bar with real-time filtering
- Category-based filtering
- Grid of featured extensions
- Responsive design for all devices
- Intelligent search across extension names and descriptions
- Category-based filtering system
- Real-time search results
- Mobile-optimized search interface
- Detailed extension information
- Direct links to VSCode Marketplace
- Category tags and metadata
- Responsive card layout
- Powered by Directus CMS
- Easy content updates without code changes
- Structured data for extensions
- SEO-optimized content
- Component Library: Built on Radix UI primitives
- Styling: Tailwind CSS v4 with custom design tokens
- Icons: Lucide React icon set
- Typography: System fonts with optimized loading
- Color Scheme: Dark/light mode support with automatic detection
- Push your code to GitHub
- Connect your repository to Vercel
- Add environment variables in Vercel dashboard
- Deploy automatically on every push
-
Build the project
pnpm build
-
Start production server
pnpm start
We welcome contributions! Please see our Contributing Guide for details.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes
- Run quality checks (
pnpm lint && pnpm format) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Linting: Powered by Biome for consistent code style
- Formatting: Automated formatting with Biome
- TypeScript: Strict type checking enabled
- Commit Messages: Follow conventional commit format
This project is licensed under the MIT License - see the LICENSE file for details.
- SymphoneIceAttack - Initial work - GitHub
- VSCode Marketplace for extension data
- Directus for the excellent headless CMS
- Radix UI for accessible components
- Tailwind Labs for the amazing CSS framework
- Next.js team for the incredible React framework
- Website: https://vsxhub.top
- Email: hello@vsxhub.top
- GitHub Issues: Report bugs and feature requests
Made with β€οΈ by developers, for developers