{"id":14235912,"url":"https://github.com/repl-cli/REPL","last_synced_at":"2025-08-11T00:33:05.596Z","repository":{"id":37256024,"uuid":"161803718","full_name":"repl-cli/REPL","owner":"repl-cli","description":"REPL- Simple bash script for creating and running REPLs locally, offline, and out of the browser","archived":false,"fork":false,"pushed_at":"2023-10-01T02:08:22.000Z","size":99,"stargazers_count":16,"open_issues_count":1,"forks_count":7,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-12-13T01:34:37.980Z","etag":null,"topics":["bash","command-line","repl","shell","terminal","utility"],"latest_commit_sha":null,"homepage":"","language":"Shell","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/repl-cli.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":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-12-14T15:26:40.000Z","updated_at":"2024-11-10T16:48:15.000Z","dependencies_parsed_at":"2024-12-13T01:31:01.814Z","dependency_job_id":"069a7637-32ee-44ad-a7b8-e26e4caa42d5","html_url":"https://github.com/repl-cli/REPL","commit_stats":null,"previous_names":[],"tags_count":18,"template":false,"template_full_name":null,"purl":"pkg:github/repl-cli/REPL","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/repl-cli%2FREPL","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/repl-cli%2FREPL/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/repl-cli%2FREPL/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/repl-cli%2FREPL/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/repl-cli","download_url":"https://codeload.github.com/repl-cli/REPL/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/repl-cli%2FREPL/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269813626,"owners_count":24479340,"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-10T02:00:08.965Z","response_time":71,"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":["bash","command-line","repl","shell","terminal","utility"],"created_at":"2024-08-20T21:02:30.472Z","updated_at":"2025-08-11T00:33:05.148Z","avatar_url":"https://github.com/repl-cli.png","language":"Shell","funding_links":[],"categories":["Shell"],"sub_categories":[],"readme":"# REPL\n\n![Version](https://img.shields.io/github/tag/repl-cli/REPL.svg?label=release)\n[![Build Status](https://travis-ci.com/repl-cli/REPL.svg?branch=master)](https://travis-ci.com/repl-cli/REPL)\n[![license: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](https://opensource.org/licenses/MIT)\n\n`REPL` is a simple bash script for creating and running self-deleting programs locally, offline, and out of the browser.\n\nWhy REPL? Take a look at our [vision](VISION.md) for this project.\n\n**REPL is now in Beta.**\n\nRepls are saved to the OS's `/tmp` folder. This means that you don't have to worry about managing the files. The OS will delete them automatically when you shut down your computer!\n\n## Getting Started\n\n### Install Script ( Linux/macOS )\n\n1. REPL is installed through the terminal with the following command:\n\n```\ncurl -o- https://raw.githubusercontent.com/repl-cli/REPL/v0.12.0/install.sh | bash\n```\n\n2. That's it!\n\n\u003csub\u003eThe script clones to `~/.repl` and adds it to your PATH. You may have to restart your shell.\u003c/sub\u003e\n\nDuring installation REPL will attempt to configure the PATH. Because of differences between platforms, command shells, and bugs in REPL, the modifications to PATH may not take effect until the console is restarted, or the user is logged out, or it may not succeed at all.\n\nIf, after installation, running `repl status` in the console fails, this is the most likely reason.\n\n### Manual Install\n\n1. Run `cd ~`\n\n2. Run `git clone https://github.com/repl-cli/REPL.git .repl`\n\n3. Add the installation directory to your `PATH`\n\nTo add REPL to your `PATH`, add the following to your `.bashrc`, `.zshrc`, or `.profile`:\n\n```bash\nexport PATH=\"$HOME/.repl/bin:$PATH\"\n```\n\n\u003csub\u003e**Advanced Windows Users**: I've received news that REPL works with `Git Bash` on Windows. The `/tmp` directory in git bash redirects to `C:\\Users\\\u003cuser\u003e\\AppData\\Local\\Temp`.\u003c/sub\u003e\n\n### Using REPL\n\nREPL is fairly simple to use, but if you want more details check out the [docs](docs/).\n\n**NOTICE: REPL uses `nano` by default. I highly suggest changing this to your favorite editor before your first use:**\n\nFor example, changing the editor to VS Code:\n\n```bash\nrepl config editor code\n```\n\nTo start a new repl, run `repl \u003clang\u003e`, where `\u003clang\u003e` is the file extension for the programming language you'd like to use.\n\nExample:\n\n```\nrepl js\n```\n\n`REPL` will open your editor set in the config file. You can configure this to your liking. To run your repl, go back to the terminal and run:\n\n```\nrepl run\n```\n\n`REPL` already knows which repl you last opened and it will run the repl for you. No need to worry about compilation or using the correct runtime for each language!\n\nIf time passes and you forget which repl you are on, simply run:\n\n```\nrepl status\n```\n\nTo list the currently supported languages, run:\n\n```\nrepl languages\n```\n\nCheck out our list of [supported languages](#supported-languages), and their file extensions, below.\n\n## Configuring REPL\n\nYou can configure REPL by editing the [config](config) file in the source folder.\n\nTo change the editor that REPL uses, edit the `EDITOR=` field:\n\n```bash\nEDITOR=\"code\"\n```\n\nYou can also change which compilers are used by REPL:\n\n```bash\nC_COMPILER=\"clang\"\n```\n\n**NOTICE**: The config file is a bash script. Make sure there are no spaces before, and after, the equals sign, `=`.\n\nIf you break the config file and you're not sure how to fix it, you can copy the contents of `config.default` over to `config` to reset it.\n\n## Supported Languages\n\n[//]: # \"COMMENT: When editing, the list below must be kept in alphabetical order\"\n\n- C (`c`)\n- C++ (`cpp`)\n- C# (`cs`)\n- Go (`go`)\n- Java (`java`)\n- JavaScript (`js`)\n- Python (`py`)\n- Ruby (`rb`)\n- Rust (`rs`)\n- Swift (`swift`)\n- Typescript (`ts`)\n\n\u003csub\u003eYou must have the necessary compilers/runtimes installed (e.g., `node.js` for JavaScript or `rustc` for Rust). Edit the `config` file to configure the compilers/runtimes that REPL uses.\u003c/sub\u003e\n\nCan't find your programming language? Let us know in a new issue, or better yet, submit it in a pull request! :)\n\n## Contributing\n\nWas REPL useful to you? Maybe you just like the project? Donate a star :)\n\nCheck out our [Contributing Guidelines](CONTRIBUTING.md) if you'd like to help out with the project (including adding new language support!).\n\nI'm far from a bash expert, so any and all help is much appreciated! That includes anyone who can test REPL in a variety of configurations and environments (i.e., lesser used compilers and/or Linux distros).\n\nBelow are some ideas for the project. If you'd like to start a conversation regarding anything below, or anything in general, feel free to open a new issue!\n\n### To-Do / Ideas\n\n- [x] Properly handle compilation and execution of compiled languages\n- [x] Create repls with required boilerplate (e.g., Java class)\n- [x] Configure REPL through the CLI (e.g., `repl config editor $(which vim)`)\n- [x] Option to customize where new repls are created\n- [ ] Option to save repls to a specified location\n- [ ] Handle flags\n- [ ] `--help` for instructions\n- [ ] `-n` to open a brand new repl (come up with a naming system)\n- [ ] `-o` open a new repl online at repl.it\n- [ ] `-e` to specify an editor\n- [x] Streamline installation with a script similar to [nvm](https://github.com/creationix/nvm) or [oh-my-zsh](https://github.com/robbyrussell/oh-my-zsh)\n- [x] Windows Subsystem for Linux support.\n\n## Copyright\n\n© 2022 Damian Rivas and `repl` contributors\n\nREPL is released under an MIT license; see [`LICENSE`](LICENSE) for details.\n\n---\n\nI want to dedicate this section to acknowledge the help and inspiration this project received from other FOSS projects. REPL wouldn't be what it is without them!\n\n- [Oh My Zsh](https://github.com/robbyrussell/oh-my-zsh)\n\n- [Node Version Manager(nvm)](https://github.com/creationix/nvm).\n\n- [shellcheck](https://www.shellcheck.net/)\n\n- [shUnit2](https://github.com/kward/shunit2/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frepl-cli%2FREPL","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frepl-cli%2FREPL","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frepl-cli%2FREPL/lists"}