{"id":14069267,"url":"https://github.com/warpy-ai/tgs","last_synced_at":"2026-01-27T00:36:13.863Z","repository":{"id":187632339,"uuid":"677267731","full_name":"warpy-ai/tgs","owner":"warpy-ai","description":"Terminal Generative Shell","archived":false,"fork":false,"pushed_at":"2024-09-01T04:11:11.000Z","size":1211,"stargazers_count":53,"open_issues_count":10,"forks_count":8,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-07-30T05:54:20.149Z","etag":null,"topics":["ai","bash","nlp","shell","t5-small","terminal"],"latest_commit_sha":null,"homepage":"https://www.warpy.io","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/warpy-ai.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2023-08-11T06:32:27.000Z","updated_at":"2025-06-03T07:51:18.000Z","dependencies_parsed_at":"2023-09-04T13:03:29.105Z","dependency_job_id":"6c48335b-04e2-4e39-9d19-da6361b12401","html_url":"https://github.com/warpy-ai/tgs","commit_stats":null,"previous_names":["warpy-ai/tgs"],"tags_count":20,"template":false,"template_full_name":"jucasoliveira/terminalGPT","purl":"pkg:github/warpy-ai/tgs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/warpy-ai%2Ftgs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/warpy-ai%2Ftgs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/warpy-ai%2Ftgs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/warpy-ai%2Ftgs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/warpy-ai","download_url":"https://codeload.github.com/warpy-ai/tgs/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/warpy-ai%2Ftgs/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28793705,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-26T21:49:50.245Z","status":"ssl_error","status_checked_at":"2026-01-26T21:48:29.455Z","response_time":59,"last_error":"SSL_read: 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":["ai","bash","nlp","shell","t5-small","terminal"],"created_at":"2024-08-13T07:06:46.892Z","updated_at":"2026-01-27T00:36:13.846Z","avatar_url":"https://github.com/warpy-ai.png","language":"Rust","funding_links":[],"categories":["Rust"],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg width=\"200\" alt=\"TGS logo\" src=\"https://github.com/warpy-ai/tgs/assets/11979969/1349328d-83e2-49d8-bebe-e61af6e9ae60\"/\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n   \u003cimg width=\"80\" alt=\"TGS\" src=\"https://img.shields.io/github/actions/workflow/status/warpy-ai/tgs/pr.yml\"/\u003e\n   \u003cimg width=\"100\" alt=\"TGS\" src=\"https://img.shields.io/github/contributors/warpy-ai/tgs\"/\u003e\n\u003c/p\u003e\n\n# TGS (Terminal Generative Shell)\n\nTGS is a conversational shell that combines Rust's power with the intelligence of GPT-based natural language processing. Designed as a spinoff of the TerminalGPT project, it aims to redefine the way users interact with their terminals.\n\n## Features\n\n- **Conversational Interface**: Interact with your terminal in natural language. Instead of remembering complex commands, tell TGS what you want to do.\n- **Rust Integration**: It is built with the robustness and efficiency of Rust, ensuring a fast and reliable terminal experience.\n- **Intelligent Suggestions**: TGS provides smart suggestions and corrections, making your terminal experience smoother and more intuitive.\n- **Safety Measures**: TGS has built-in safety checks to prevent accidental execution of potentially harmful commands.\n\n## Installation\n\nYou can install TGS using the following command. This script will automatically determine your OS, download the latest version of TGS, and install it:\n\n```bash\ncurl -sSL https://raw.githubusercontent.com/warpy-ai/tgs/main/install.sh | bash\n```\n\nTo install a specific version of TGS, append the version number to the command:\n\n```bash\ncurl -sSL https://raw.githubusercontent.com/warpy-ai/tgs/main/install.sh | bash -s -- \u003cversion_number\u003e\n```\n\nFor example, to install version `v0.2.8`:\n\n```bash\ncurl -sSL https://raw.githubusercontent.com/warpy-ai/tgs/main/install.sh | bash -s -- v0.2.8\n```\n\n## Usage\n\nStart TGS with the following command:\n\n```bash\ntgs\n```\n\nOnce inside TGS, you can start conversing with your terminal. Here are a few examples:\n\n```\ntgs\u003e Create a new directory called \"projects\"\nDirectory \"projects\" created.\n\ntgs\u003e List all files in the current directory\n...output...\n```\n\n## Testing\n\nTo run the unit tests for TGS:\n\n```bash\ncargo test\n```\n\n## Contributing\n\nWe welcome contributions! Please see our [CONTRIBUTING.md](path_to_contributing.md) for guidelines.\n\n## Working with the project\n\nThis library relies on the [tch](https://github.com/LaurentMazare/tch-rs) crate for bindings to the C++ Libtorch API.\nThe `libtorch` library must be downloaded automatically or manually. The following references how to set up your environment\nto use these bindings. Please refer to [tch](https://github.com/LaurentMazare/tch-rs) for detailed information and support.\n\nFurthermore, this library relies on a cache folder for downloading pre-trained models.\nThe default cache folder is `~/.cache/.rustbert` but can be changed by setting the `RUSTBERT_CACHE` environment variable. Note that the language models used by this library are in the order of 100s of MBs to GBs.\n\n### Manual installation (recommended)\n\n1. Download `libtorch` from https://pytorch.org/get-started/locally/. This package requires `v2.1`: if this version is no longer available on the \"get started\" page,\n   the file should be accessible by modifying the target link, for example `https://download.pytorch.org/libtorch/cu118/libtorch-cxx11-abi-shared-with-deps-2.1.1%2Bcu118.zip` for a Linux version with CUDA11. **NOTE:** When using `rust-bert` as a dependency from [crates.io](https://crates.io), please check the required `LIBTORCH` on the published package [readme](https://crates.io/crates/rust-bert) as it may differ from the version documented here (applying to the current repository version).\n2. Extract the library to a location of your choice\n3. Set the following environment variables\n\n### Convert weights to .ot\n\n```bash\npython ./utils/convert_model.py model/pytorch_model.bin\n```\n\n##### Linux:\n\n```bash\nexport LIBTORCH=/path/to/libtorch\nexport LD_LIBRARY_PATH=${LIBTORCH}/lib:$LD_LIBRARY_PATH\n```\n\n##### Windows\n\n```powershell\n$Env:LIBTORCH = \"X:\\path\\to\\libtorch\"\n$Env:Path += \";X:\\path\\to\\libtorch\\lib\"\n```\n\n#### macOS + Homebrew\n\n```bash\nbrew install pytorch jq\nexport LIBTORCH=$(brew --cellar pytorch)/$(brew info --json pytorch | jq -r '.[0].installed[0].version')\nexport LD_LIBRARY_PATH=${LIBTORCH}/lib:$LD_LIBRARY_PATH\n```\n\n### Automatic installation\n\nAlternatively, you can let the `build` script automatically download the `libtorch` library. The `download-libtorch` feature flag needs to be enabled.\nThe CPU version of `libtorch` will be downloaded by default. To download a CUDA version, please set the environment variable `TORCH_CUDA_VERSION` to `cu118`.\nNote that the libtorch library is large (several GBs for the CUDA-enabled version), and the first build may, therefore, take several minutes to complete.\n\n### Verifying installation\n\nVerify your installation (and linking with `libtorch`) by adding the `rust-bert` dependency to your `Cargo.toml` or by cloning the rust-bert source and running an example:\n\n```bash\ngit clone git@github.com:guillaume-be/rust-bert.git\ncd rust-bert\ncargo run --example sentence_embeddings\n```\n\n## License\n\nTGS is licensed under the [Apache License](https://github.com/warpy-ai/tgs?tab=readme-ov-file#Apache-2.0-1-ov-file).\n\n## Research references\n\n- [Translating Natural Language to Bash Commands using Deep Neural Networks](https://web.stanford.edu/class/archive/cs/cs224n/cs224n.1224/reports/custom_116997097.pdf)\n- [NL2CMD: An Updated Workflow for Natural Language to Bash Commands Translation](https://arxiv.org/pdf/2302.07845.pdf)\n- [Dataset](https://github.com/magnumresearchgroup/magnum-nlc2cmd)\n- [End-to-end NLP Pipelines in Rust](https://aclanthology.org/2020.nlposs-1.4.pdf)\n\n---\n\nFeel free to customize the README further to match the specific features, installation steps, and other details of your project. Remember to replace placeholders (like `\u003crepository_link\u003e`, `path_to_logo.png`, etc.) with links or paths as needed.\n\n## Citations\n\n```\n@inproceedings{becquin-2020-end,\n    title = \"End-to-end {NLP} Pipelines in Rust\",\n    author = \"Becquin, Guillaume\",\n    booktitle = \"Proceedings of Second Workshop for NLP Open Source Software (NLP-OSS)\",\n    year = \"2020\",\n    publisher = \"Association for Computational Linguistics\",\n    url = \"https://www.aclweb.org/anthology/2020.nlposs-1.4\",\n    pages = \"20--25\",\n}\n```\n\n## Troubleshooting\n\n### For Mac.\n\nIn case of running into `torch-sys` error, refer to this [solution](https://github.com/LaurentMazare/tch-rs/issues/488#issuecomment-1664261286)\n\n## Contributors\n\n\u003ca href=\"https://github.com/warpy-ai/tgs/graphs/contributors\"\u003e\n  \u003cimg src=\"https://contrib.rocks/image?repo=warpy-ai/tgs\" /\u003e\n\u003c/a\u003e\n\n## Acknowledgements\n\nThis project is a fork of the [shrs](https://github.com/MrPicklePinosaur/shrs) repository. The core functionality of the CLI architecture is derived from it. We want to express our gratitude to the original authors for their work. The original project is licensed under Apache-2.0/MIT.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwarpy-ai%2Ftgs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwarpy-ai%2Ftgs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwarpy-ai%2Ftgs/lists"}