{"id":16009180,"url":"https://github.com/afnanenayet/enayet-shell","last_synced_at":"2026-06-19T18:31:30.410Z","repository":{"id":79267275,"uuid":"94591934","full_name":"afnanenayet/Enayet-Shell","owner":"afnanenayet","description":"A minimal shell created in Rust","archived":false,"fork":false,"pushed_at":"2018-05-29T15:52:38.000Z","size":103,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-05-13T12:49:39.741Z","etag":null,"topics":["cargo","code","coverage","rust","shell","test","unit"],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/afnanenayet.png","metadata":{"files":{"readme":"docs/README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"zenodo":null}},"created_at":"2017-06-17T01:01:47.000Z","updated_at":"2018-04-14T18:28:33.000Z","dependencies_parsed_at":"2023-03-07T15:00:37.751Z","dependency_job_id":null,"html_url":"https://github.com/afnanenayet/Enayet-Shell","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/afnanenayet/Enayet-Shell","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/afnanenayet%2FEnayet-Shell","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/afnanenayet%2FEnayet-Shell/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/afnanenayet%2FEnayet-Shell/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/afnanenayet%2FEnayet-Shell/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/afnanenayet","download_url":"https://codeload.github.com/afnanenayet/Enayet-Shell/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/afnanenayet%2FEnayet-Shell/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34544403,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-19T02:00:06.005Z","response_time":61,"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":["cargo","code","coverage","rust","shell","test","unit"],"created_at":"2024-10-08T13:01:25.591Z","updated_at":"2026-06-19T18:31:30.406Z","avatar_url":"https://github.com/afnanenayet.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Enayet Shell\n| master branch build status | develop branch build status | codecov status |\n|:-:|:-:|:-:|\n| [![Build Status](https://travis-ci.org/afnanenayet/Enayet-Shell.svg?branch=master)](https://travis-ci.org/afnanenayet/Enayet-Shell) | [![Build Status](https://travis-ci.org/afnanenayet/Enayet-Shell.svg?branch=develop)](https://travis-ci.org/afnanenayet/Enayet-Shell) | [![codecov](https://codecov.io/gh/afnanenayet/Enayet-Shell/branch/master/graph/badge.svg)](https://codecov.io/gh/afnanenayet/Enayet-Shell) |\n\nThe Enayet Shell is a pet project so that I can get familiar with Rust, and\nhave fun creating a shell (something I've been meaning to get to but never\nquite got the chance to do). This is a fairly minimal shell but I hope to\nadd on to it as time goes on. I will also rewrite small shell utilities\nin Rust (such as `cd` and `ls`).\n\n# Building the shell\n\nI built this on MacOS 10.12, 10.13 and on Linux (Ubuntu Precise via Travis CI).\nIt has not been tested on any other platform. It's probably not going to work\non Windows.\n\nTo modify or build this shell:\n\n    git clone https://github.com/afnanenayet/Enayet-Shell.git\n    cargo build --release\n\nNote that the shell must be built with Cargo so that the program knows what\nversion it is (shell output relies on a cargo variable)\n\nIf you want to build the compressed version of the shell (using gzexe):\n\n    git clone https://github.com/afnanenayet/Enayet-Shell.git\n    ./build_release.sh\n\n## Dependencies\n\nIn order to create the shell, you will need to have the Rust language installed.\nIf you want to create the compressed version of the shell, you will need the\nfollowing dependencies installed and available in your `PATH`:\n\n- gzip\n- gzexe\n- basename\n- chmod\n- ln\n- mkdir\n- mktemp\n- rm\n- sleep\n- tail\n\nThe development of this shell also depends on `git-flow`. The development branch\nis called `develop`.\n\n# Usage\nThe shell will be built as an executable. To run the shell\n\n    ./ensh [config_path]\n\n## Arguments\n* `config_path` - the file path to the configuration file for the shell. The\nthe default config file is named `.ensh_config`. The system looks for\n`~/.ensh_config` by default, but an alternate path can name any file in any\nlocation, as long as it conforms to the format and is reachable by the shell\nbinary.\n\n# Configuration\nThe config file has a very simple format that is subject to change with any\nupdate. Currently, the config file contains path directories, separated by\nlines. The config file may contain nonexistent directories - this will not\nthrow an error, the shell will search for executables in the directories it\ncan find.\n\nThe default config file includes the following paths:\n\n    /usr/bin\n    /usr/local/bin\n    /usr/local/sbin\n    /bin\n    /usr/sbin\n\n# Roadmap 2018\n- [ ] tab completion\n- [ ] style customization via config file\n- [ ] python/python style scripting\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fafnanenayet%2Fenayet-shell","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fafnanenayet%2Fenayet-shell","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fafnanenayet%2Fenayet-shell/lists"}