{"id":27140401,"url":"https://github.com/simo-03/java-shell","last_synced_at":"2026-02-18T16:01:02.301Z","repository":{"id":286642838,"uuid":"960912186","full_name":"Simo-03/java-shell","owner":"Simo-03","description":"Lightweight custom shell in Java, built for StudentHack 2025 (1st place individual challenge).","archived":false,"fork":false,"pushed_at":"2025-04-07T18:23:22.000Z","size":9,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-06-14T11:43:17.290Z","etag":null,"topics":["cli","command-line","hackathon","java","shell","studenthack"],"latest_commit_sha":null,"homepage":"","language":"Java","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/Simo-03.png","metadata":{"files":{"readme":"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}},"created_at":"2025-04-05T10:40:01.000Z","updated_at":"2025-04-07T18:24:34.000Z","dependencies_parsed_at":"2025-04-10T00:49:16.387Z","dependency_job_id":null,"html_url":"https://github.com/Simo-03/java-shell","commit_stats":null,"previous_names":["simo-03/java-shell"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Simo-03/java-shell","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Simo-03%2Fjava-shell","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Simo-03%2Fjava-shell/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Simo-03%2Fjava-shell/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Simo-03%2Fjava-shell/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Simo-03","download_url":"https://codeload.github.com/Simo-03/java-shell/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Simo-03%2Fjava-shell/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29585441,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-18T13:56:48.962Z","status":"ssl_error","status_checked_at":"2026-02-18T13:54:34.145Z","response_time":162,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["cli","command-line","hackathon","java","shell","studenthack"],"created_at":"2025-04-08T05:52:01.962Z","updated_at":"2026-02-18T16:01:02.292Z","avatar_url":"https://github.com/Simo-03.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n\n# Java Shell ![StudentHack Winner](https://img.shields.io/badge/StudentHack2025-Winner-blueviolet)\n\nA lightweight shell implementation written in Java, developed for the StudentHack 2025 hackathon (hosted by the University of Manchester), where it secured 1st place in the individual challenge.\nWhile Java isn't the conventional choice for shell development, this project showcases how it can be leveraged to build a functional, responsive, and feature-rich command-line interface from scratch.\n\n## Features\n\n- Basic command execution with support for external programs\n- Output redirection (`\u003e`, `\u003e\u003e`, `2\u003e`, `2\u003e\u003e`)\n- Tab autocompletion for commands and file paths\n- Built-in commands:\n  - `echo`: Print text to standard output\n  - `pwd`: Print working directory\n  - `cd`: Change directory\n  - `type`: Display command type information\n  - `exit`: Exit the shell\n- Command history navigation\n- Support for command arguments and options\n\n## Running the Shell\n\n1. Ensure you have Java 11 or later installed\n2. Clone this repository\n3. Compile the project:\n   ```bash\n   javac Main.java\n   ```\n4. Run the shell:\n   ```bash\n   java Main\n   ```\n\n## Planned Improvements\n\n### Code Refactoring\n\n- [ ] Improve code organization and modularity\n- [ ] Implement better error handling patterns\n- [ ] Enhance code documentation\n- [ ] Optimize performance-critical sections\n- [ ] Add comprehensive test suite (planned for future updates)\n\n### New Features\n\n- [ ] Support for command pipelines (`|`)\n- [ ] Environment variable management\n- [ ] Background process execution\n- [ ] Custom prompt configuration\n- [ ] Command aliases\n- [ ] Script execution support\n- [ ] Enhanced error handling and reporting\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimo-03%2Fjava-shell","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsimo-03%2Fjava-shell","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimo-03%2Fjava-shell/lists"}