Skip to content

pkill37/explorar.dev

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

22 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ Explorar.dev

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

🎯 Live Examples

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: Curated repositories are pre-downloaded at build time β€” exploration is instant with no API calls needed!

✨ Features

  • πŸ“ 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 for curated repositories
  • πŸ—‚οΈ Data Structures View: Browse and explore kernel data structures and APIs
  • ⚑ Static & Fast: Curated repos are pre-built; no server needed
  • πŸ’Ύ Local Storage: IndexedDB-based persistent storage with offline access
  • 🎯 Zero Setup: No installation required β€” works entirely in your browser

πŸš€ Getting Started

🌐 Using the Live Site

Simply visit explorar.dev and click any of the pre-configured repositories (Linux, Python, LLVM, glibc).

πŸ› οΈ Local Development

npm install
npm run dev

Opens at http://localhost:3000. The predev script automatically downloads the CPython repository for local testing.

See DEVELOPMENT.md for complete development instructions.

πŸ“ Project Structure

explorar.dev/
β”œβ”€β”€ src/                         # Frontend (Next.js)
β”‚   β”œβ”€β”€ app/
β”‚   β”‚   β”œβ”€β”€ [owner]/[repo]/     # Dynamic repository routes
β”‚   β”‚   β”œβ”€β”€ layout.tsx          # Root layout with metadata
β”‚   β”‚   └── page.tsx            # Home 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
β”‚   β”‚   └── ...                 # Other UI components
β”‚   β”œβ”€β”€ contexts/
β”‚   β”‚   └── RepositoryContext.tsx # Repository state management
β”‚   β”œβ”€β”€ lib/
β”‚   β”‚   β”œβ”€β”€ repo-storage.ts     # IndexedDB storage
β”‚   β”‚   β”œβ”€β”€ github-archive.ts   # Repository downloading
β”‚   β”‚   β”œβ”€β”€ github-api.ts       # GitHub API integration
β”‚   β”‚   β”œβ”€β”€ repo-static.ts      # Static file serving
β”‚   β”‚   └── ...                 # Other utilities
β”‚   └── types/
β”‚       └── index.ts            # TypeScript type definitions
β”œβ”€β”€ docs/                        # Markdown guides for curated repos
β”œβ”€β”€ public/
β”‚   └── repos/                  # Pre-downloaded curated repos (build artifact)
└── scripts/
    └── download-repos.ts       # Build-time repo downloader

πŸ› οΈ Technologies

πŸ’Ύ Storage & Download System

Curated Repositories (Static)

Pre-downloaded at build time via scripts/download-repos.ts. Files are served from /public/repos/ β€” no API calls required, full offline support.

Arbitrary Repositories (Dynamic)

User-entered GitHub repositories are downloaded on-demand into IndexedDB. Files are lazy-loaded when opened. Requires GitHub API access (60 req/hr unauthenticated).

πŸ“š Documentation

🀝 Contributing

Contributions and feedback are welcome!

πŸ“„ License

Private project.

πŸ”— Links

About

πŸ—ΊοΈ 🧭 Explore complex software projects like the Linux Kernel or any arbitrary git repository

Topics

Resources

Stars

Watchers

Forks

Contributors