A standalone Next.js 16 application for exploring and learning from arbitrary software source code with an interactive, VS Code-like interface. Perfect for studying the Linux kernel, Python CPython, glibc, LLVM, and any GitHub repository.
π Live Site: explorar.dev
π GitHub: pkill37/explorar.dev
Explore these popular repositories instantly:
| Repository | Description | Live Demo |
|---|---|---|
| π§ Linux Kernel | Core operating system kernel | explorar.dev/torvalds/linux |
| π CPython | Python interpreter implementation | explorar.dev/python/cpython |
| π§ LLVM | Compiler infrastructure project | explorar.dev/llvm/llvm-project |
| π glibc | GNU C Library implementation | explorar.dev/bminor/glibc |
π‘ Tip: Each repository uses smart downloading to fetch only essential files, making exploration fast and efficient!
- π Interactive File Browser: Navigate any software source tree with VS Code-like interface
- π» Monaco Code Editor: Full-featured editor with syntax highlighting for 100+ languages
- π Guided Learning: Chapter-based learning paths with interactive quizzes
- ποΈ Data Structures View: Browse and explore kernel data structures and APIs
- π GitHub Integration: Browse any GitHub repository's source code instantly
- π Kernel Study Mode: Annotated code with kernel concepts and educational markers
- β‘ Smart Downloads: Selective downloading of essential files for large repositories
- πΎ Local Storage: IndexedDB-based persistent storage with offline access
- π Smart Caching: IndexedDB caching with exponential backoff retry logic
- π‘οΈ Fault Tolerance: Circuit breaker pattern for resilient API calls
- π― Zero Setup: No installation required - works entirely in your browser
Simply visit explorar.dev and:
- Quick Start: Click any of the pre-configured repositories (Linux, Python, LLVM, glibc)
- Custom Repository: Enter any GitHub repository URL (e.g.,
github.com/owner/repo)
# Install dependencies
npm install
# Start development server
npm run devOpen http://localhost:3000 in your browser. The wizard will guide you through selecting or downloading a repository to explore.
npm run buildsrc/
βββ app/
β βββ [owner]/[repo]/ # Dynamic repository routes
β βββ layout.tsx # Root layout with metadata
β βββ page.tsx # Main wizard page
βββ components/
β βββ KernelExplorer.tsx # Main repository explorer
β βββ FileTree.tsx # File tree navigation
β βββ CodeEditorContainer.tsx # Editor with tabs
β βββ MonacoCodeEditor.tsx # Monaco editor wrapper
β βββ GuidePanel.tsx # Learning guides
β βββ QuickStarts.tsx # Repository quick starts
β βββ ... # Other UI components
βββ contexts/
β βββ RepositoryContext.tsx # Repository state management
βββ hooks/
βββ lib/
β βββ repo-storage.ts # IndexedDB storage management
β βββ github-archive.ts # Repository downloading
β βββ selective-download.ts # Smart downloading for large repos
β βββ github-api.ts # GitHub API integration
β βββ github-cache.ts # Caching layer
β βββ ... # Other utilities
βββ types/
βββ index.ts # TypeScript definitions
- Next.js 16: React framework with App Router
- React 19: Latest React with concurrent features
- Monaco Editor: VS Code editor component
- TypeScript: Full type safety
- IndexedDB: Browser database for persistent storage (works in all modern browsers)
- JSZip: Client-side zip file handling
- Selective Downloads: Large repositories (Linux kernel, LLVM) download only essential directories
- Lazy Loading: Branches are downloaded only when requested
- Offline Access: Downloaded repositories work completely offline
- IndexedDB Storage: Persistent browser storage that survives page refreshes (works in all modern browsers including Firefox)
- Storage Management: View usage, manage repositories, clear storage
Optional environment variables:
NEXT_PUBLIC_SITE_URL: Site URL for metadata (default:https://explorar.dev)
The application uses a sophisticated caching system with:
- IndexedDB as primary storage with localStorage fallback
- Automatic cache size management (50MB limit)
- Cache versioning and migration support
Built-in fault tolerance with:
- Exponential backoff retry mechanism
- Configurable retry strategies
- Circuit breaker pattern to prevent cascading failures
- Automatic recovery after service restoration
This is a private project, but contributions and feedback are welcome!
Private project.
- π Website: explorar.dev
- π GitHub: github.com/pkill37/explorar.dev
- π¬ Discord: discord.gg/fuXYz44tSs
- π± Telegram: t.me/explorardev
- π§ BrainSpeed.ai: AI-powered development tools
- π Reverser.dev: Reverse engineering platform