Skip to content

Shikhar-Shetty/Shell

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

51 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Custom Shell - Codecrafters.io Challenge

Welcome to my custom shell project, built as part of the Codecrafters.io shell challenge.


Overview

This project is a custom Unix-like shell implemented in C++23, supporting features such as:

  • Command parsing with quoting and escaping
  • Built-in commands (echo, cd, pwd, history, exit, etc.)
  • Command history with limited display and recall using arrow keys
  • Input line editing and history navigation using the readline library
  • Support for redirection and pipelines

The goal was to create a functional shell from scratch, with an emphasis on core Unix shell features and user-friendly command history management.


How It Was Built

  • Language: C++23
  • Build System: CMake
  • Libraries: GNU Readline for input handling and history
  • Development: Leveraged AI tools (ChatGPT) extensively for coding assistance, debugging, and feature implementation.
  • Testing: Validated against Codecrafters.io test suites for compliance with challenge specifications.

Note: This project was largely developed with the help of AI assistance to accelerate learning and development. I used this opportunity to explore system programming concepts while embracing modern developer tools.


How to Build and Run Locally

Prerequisites

  • C++ compiler (g++ 11+ or clang++)
  • CMake 3.13+
  • GNU Readline library (libreadline-dev on Debian/Ubuntu)
  • make build tool

Build and Run steps

git clone <your-repo-url>
cd codecrafters-shell-cpp
./your_program.sh

Thank you for checking out this project!

About

A simple Unix-like shell 🐚 built for the Codecrafters.io challenge. Supports command execution, built-ins like history πŸ“œ, cd πŸšͺ, and command recall ⬆️. Made with C++23 βš™οΈ and readline for smooth input. Built with help from AI πŸ€– β€” learning as I go!

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors