{"id":26555220,"url":"https://github.com/dtg-lucifer/rust-shell","last_synced_at":"2026-04-12T23:54:34.911Z","repository":{"id":283062074,"uuid":"950475408","full_name":"dtg-lucifer/rust-shell","owner":"dtg-lucifer","description":"A basic shell with some basic commands made with rust to understand the language","archived":false,"fork":false,"pushed_at":"2025-03-18T10:51:10.000Z","size":4,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-18T11:39:38.598Z","etag":null,"topics":["codecrafters","rust","shell"],"latest_commit_sha":null,"homepage":"","language":"Rust","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/dtg-lucifer.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":"2025-03-18T08:13:36.000Z","updated_at":"2025-03-18T10:51:13.000Z","dependencies_parsed_at":"2025-03-18T11:39:47.813Z","dependency_job_id":"af2f7b3a-a2c9-43e6-9abf-95108cd878e3","html_url":"https://github.com/dtg-lucifer/rust-shell","commit_stats":null,"previous_names":["dtg-lucifer/rust-shell"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/dtg-lucifer/rust-shell","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dtg-lucifer%2Frust-shell","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dtg-lucifer%2Frust-shell/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dtg-lucifer%2Frust-shell/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dtg-lucifer%2Frust-shell/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dtg-lucifer","download_url":"https://codeload.github.com/dtg-lucifer/rust-shell/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dtg-lucifer%2Frust-shell/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270364971,"owners_count":24571423,"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","status":"online","status_checked_at":"2025-08-14T02:00:10.309Z","response_time":75,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["codecrafters","rust","shell"],"created_at":"2025-03-22T10:25:27.911Z","updated_at":"2026-04-12T23:54:29.878Z","avatar_url":"https://github.com/dtg-lucifer.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Rust Shell Implementation\n\n[![Codecrafters Shell Challenge](https://img.shields.io/badge/Codecrafters-Shell%20Challenge-blue)](https://app.codecrafters.io/courses/shell/overview)\n\nA lightweight POSIX-compliant shell written in Rust, built as part of the \"Build Your Own Shell\" challenge from Codecrafters.\n\n## 📋 Features\n\n- Command execution from PATH locations\n- Built-in commands:\n  - `cd` - Change directory\n  - `pwd` - Print current working directory\n  - `echo` - Display text\n  - `type` - Display command type information\n- Custom executable support\n- Interactive command prompt\n\n## 🚀 Getting Started\n\n### Prerequisites\n\n- Rust 1.80 or higher\n- Cargo 1.82 or higher\n\n### Installation\n\nClone this repository:\n\n```bash\ngit clone https://github.com/dtg-lucifer/rust-shell.git\ncd rust-shell\n```\n\n### Running the Shell\n\nBuild and run the shell:\n\n```bash\ncargo run\n```\n\n## 🧰 Project Structure\n\n```\nsrc/\n├── main.rs       # Entry point\n└── cmd/          # Command modules\n    ├── mod.rs    # Module definitions\n    ├── cd.rs     # cd builtin command\n    ├── command.rs # Command handling\n    ├── custom_exe.rs # Custom executable handling\n    ├── echo.rs   # echo builtin command\n    ├── pwd.rs    # pwd builtin command\n    └── type_cmd.rs # type builtin command\n```\n\n## 🤓 How It Works\n\nThe shell provides a simple REPL (Read-Evaluate-Print Loop) interface:\n\n1. Displays a prompt (`$`)\n2. Reads user input\n3. Parses the command and arguments\n4. Executes the appropriate built-in command or external program\n5. Returns to step 1\n\nExternal commands are searched in the directories specified in the PATH environment variable.\n\n## 🔧 Development\n\nTo contribute or modify:\n\n1. Make your changes\n2. Run tests: `cargo test`\n3. Build: `cargo build`\n\n## 📄 License\n\nThis project is available under the [MIT License](LICENSE).\n\n## 🙏 Acknowledgements\n\n- [Codecrafters](https://codecrafters.io) for the shell implementation challenge\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdtg-lucifer%2Frust-shell","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdtg-lucifer%2Frust-shell","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdtg-lucifer%2Frust-shell/lists"}