{"id":23152017,"url":"https://github.com/md-talim/shell-cpp","last_synced_at":"2025-04-04T15:34:28.098Z","repository":{"id":267311689,"uuid":"900172946","full_name":"Md-Talim/shell-cpp","owner":"Md-Talim","description":"POSIX compliant shell that's capable of interpreting shell commands, running external programs and builtin commands like cd, pwd, echo and more.","archived":false,"fork":false,"pushed_at":"2025-02-08T02:33:59.000Z","size":43,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-08T03:23:18.728Z","etag":null,"topics":["build-your-own-x","cpp","shell"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Md-Talim.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-12-08T03:52:26.000Z","updated_at":"2025-02-08T02:34:01.000Z","dependencies_parsed_at":"2025-01-18T14:29:41.922Z","dependency_job_id":"ecd07721-5070-4738-b5c1-43877b7f459e","html_url":"https://github.com/Md-Talim/shell-cpp","commit_stats":null,"previous_names":["md-talim/shell-cpp"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Md-Talim%2Fshell-cpp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Md-Talim%2Fshell-cpp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Md-Talim%2Fshell-cpp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Md-Talim%2Fshell-cpp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Md-Talim","download_url":"https://codeload.github.com/Md-Talim/shell-cpp/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247203532,"owners_count":20900988,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["build-your-own-x","cpp","shell"],"created_at":"2024-12-17T19:12:59.963Z","updated_at":"2025-04-04T15:34:28.080Z","avatar_url":"https://github.com/Md-Talim.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# My Own Shell in C++\n\n[![progress-banner](https://backend.codecrafters.io/progress/shell/2487ac07-6422-4974-b2aa-f78a1039e2f8)](https://app.codecrafters.io/users/codecrafters-bot?r=2qF)\n\nThis repository contains the code for a POSIX-compliant shell written in C++. This project is part of the [\"Build Your Own Shell\"](https://app.codecrafters.io/courses/shell/overview) Challenge on CodeCrafters.\n\n\n## Overview\n\nThis shell can interpret shell commands, run external programs, and handle built-in commands like `cd`, `pwd`, `echo`, and more. It includes features such as command parsing, REPL (Read-Eval-Print Loop), and built-in commands. Future updates will include support for output redirection and autocompletion.\n\n## Project Structure\n\n\n- **`.codecrafters/`**: Contains scripts for compiling and running your program on CodeCrafters.\n- **`.vscode/`**: Contains Visual Studio Code settings.\n- **`build/`**: Directory where the build files are generated.\n- **`include/`**: Contains header files.\n- **`src/`**: Contains the source code for the shell and its utilities.\n- **`CMakeLists.txt`**: CMake configuration file.\n- **`codecrafters.yml`**: Configuration file for CodeCrafters.\n- **`your_program.sh`**: Script to run your program locally.\n\n## Getting Started\n\n### Prerequisites\n\n- Ensure you have `cmake` installed locally.\n- Ensure you have `vcpkg` installed and configured.\n\n### Building the Project\n\nTo build the project, run the following command:\n\n```sh\n./your_program.sh\n```\n\nThis script will compile the project using CMake and build the executable.\n\n### Running the Shell\n\nTo run the shell, execute the following command:\n\n```sh\n./build/shell\n```\n\nThis will start the shell, and you can begin entering commands.\n\n## Built-in Commands\n\nThe shell supports the following built-in commands:\n\n| Command          | Description                                |\n|------------------|--------------------------------------------|\n| `cd \u003cdirectory\u003e` | Change the current directory.              |\n| `pwd`            | Print the current working directory.       |\n| `echo \u003ctext\u003e`    | Print the text to the standard output.     |\n| `type \u003ccommand\u003e` | Display information about the command.     |\n| `exit`           | Exit the shell.                            |\n\n## External Commands\n\nThe shell can also execute external commands found in the system's `PATH`.\n\n## Acknowledgements\n\nThis project is part of the CodeCrafters \"Build Your Own Shell\" Challenge. Special thanks to the CodeCrafters team for providing the challenge and resources.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmd-talim%2Fshell-cpp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmd-talim%2Fshell-cpp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmd-talim%2Fshell-cpp/lists"}