The shell parses and tokenizes user input across semicolons, pipes, spaces, and I/O redirection operators, then dispatches to a set of built-in command implementations I wrote myself — including cd (with ~, -, and relative path handling), ls (with flag support and multi-directory input), pwd, and echo. I implemented background/foreground process control so the shell can manage job execution the way a real terminal does, plus a pinfo utility that reports PID, virtual memory usage, process status, and executable path by reading directly from the OS. It also handles POSIX signals (Ctrl+C, Ctrl+D, Ctrl+Z) correctly, supports recursive file/directory search, and includes a command history system with up/down arrow navigation and tab-based autosuggestion, built with raw character-level input handling.