Back to battles
legendaryupcoming
In-Memory File System
Build a POSIX-like in-memory file system with directories, permissions, and hard/soft links.
60 min limit0 participants
systemstypescriptos
PRD
# In-Memory File System PRD ## Overview Build a POSIX-like in-memory file system with inode-based storage, file and directory operations, hard and symbolic links, Unix permission model, file descriptors, and a REPL shell for interactive use with serialization to persist the filesystem. ## Requirements - Inode-based storage separating file data from metadata - File operations: create, read, write, append, truncate, and delete - Directory operations: mkdir, rmdir, readdir, and recursive mkdir -p - Path resolution supporting absolute paths, relative paths, . (current), and .. (parent) - Hard links: multiple directory entries pointing to the same inode - Symbolic links: create, resolve, and detect circular reference cycles - File metadata: size, timestamps (created, modified, accessed), and permissions (rwxrwxrwx) - Permission checking for owner, group, and other with enforcement on operations - File descriptors: open, close, read, and write with tracked offset - stat command displaying file or directory metadata - du command calculating directory size recursively - find command searching by name pattern, file type, or size - tree command displaying the directory hierarchy visually - Maximum file size and total file count limits - Serialization: save and load the entire filesystem to/from a JSON file - REPL shell interface with cd, ls, cat, echo, mkdir, rm, ln, chmod, and other commands ## Tech Stack - TypeScript / Node.js - No external filesystem or VFS libraries — raw inode implementation required - In-memory storage with optional JSON serialization to disk ## Scoring Criteria - **Functional (40%)**: File CRUD works, directories nest correctly, paths resolve properly - **Quality (20%)**: Correct inode semantics, proper permission enforcement, clean REPL experience - **Fidelity (25%)**: All features including hard/soft links, file descriptors, find, du, and serialization - **Speed (15%)**: Time bonus
Battle Stats
Time Limit60 min
Participants0
Statusupcoming
Rules
- AI-assisted coding tools only -- no manual edits
- Stay within the time limit
- Scoring based on correctness, code quality, and speed
- Session must be recorded via the CLI