This repository contains the SQLite embedded SQL database engine source code, mirrored from the actively maintained SQLite project. The core is a C library that parses SQL, compiles it into a custom bytecode virtual machine (VDBE), and executes it against a B-tree storage layer backed by a transactional pager and a pluggable OS abstraction (VFS). Primary entry points are the public C API in src/sqlite.h.in, the sqlite3 command-line shell built from src/shell.c.in, and the init functions of many loadable extensions.
simplefs is a Linux kernel module that implements a simple extent-based filesystem for educational use, accompanied by a userspace mkfs.simplefs formatter. The kernel component registers a VFS filesystem type and implements superblock, inode, file, and directory operations. The on-disk layout is a fixed 4 KiB block format: superblock, inode store, inode free bitmap, block free bitmap, and data blocks. Inodes are 72 bytes and point to an extent-index block; regular files use extents of up to 8 contiguous blocks (maximum file size around 10.65 MiB), while directories use a hashed ring of extents to support up to 40,920 entries. Functionally, the filesystem supports create, lookup, unlink, rename, hard links, symbolic links, mkdir, rmdir, and read/write. File I/O is implemented through both traditional VFS page-cache helpers and simpler direct buffer-head read/write paths, making the code a useful teaching reference for how Linux VFS callbacks and buffer management interact. External journaling is supported via the kernel's jbd2 subsystem, mounted with a journal_path or journal_dev option, though only extent metadata is journaled and the journal size is currently hardcoded. Entry points are module_init/module_exit in fs.c, the mount path through simplefs_fill_super in super.c, and main() in mkfs.c. Dependencies are Linux kernel headers, jbd2, block-device APIs, and a Linux or macOS host for mkfs. The repository includes shell-based integration tests that exercise maximum directory fill, large-file behavior, remount persistence, random create/delete, and free-block reclamation, plus CI jobs for formatting and macOS mkfs verification. The code maintains compatibility macros spanning Linux 5.10 through 7.3, reflecting active upkeep.
Lifo is a browser-based virtual machine and sandbox environment that emulates a Linux-like OS entirely in JavaScript. It provides a virtual filesystem (VFS), network stack, process management, shell, and an extensive Node.js compatibility layer that allows running real npm packages, dev servers (Vite, Expo, Express), and CLI tools inside the sandbox. The repository is a pnpm monorepo containing multiple packages: `@lifo-sh/core` (kernel, VFS, shell, node-compat), `@lifo-sh/ui` (React components for terminal, file explorer, preview), `lifo-sh` (CLI for daemon/session management), `apps/playground` (interactive web demo), `apps/desktop` (macOS-style web desktop), and many `lifo-pkg-*` command packages (git, ffmpeg, vi, etc.). The architecture is modular: the core kernel is framework-agnostic and can be embedded in Node.js or browser environments, while the UI and CLI are separate consumers. Key data flows involve user input through the shell, command execution against the VFS and network stack, and Node API calls intercepted by the compatibility layer. External dependencies include `acorn`, `browser-metro`, `ws`, and optional `esbuild`. The project is actively maintained with frequent releases, extensive tests, and a clear roadmap for expanding the sandbox capabilities.