{"id":25174134,"url":"https://github.com/l2700l/reterm","last_synced_at":"2026-04-15T05:32:05.868Z","repository":{"id":153030174,"uuid":"627882178","full_name":"l2700l/ReTerm","owner":"l2700l","description":"Full featured terminal simulator","archived":false,"fork":false,"pushed_at":"2023-08-08T00:55:20.000Z","size":314,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-23T11:01:45.558Z","etag":null,"topics":["npm","package","react","simulator","terminal"],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/reterm","language":"TypeScript","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/l2700l.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"docs/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"docs/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"docs/SECURITY.md","support":null,"governance":null}},"created_at":"2023-04-14T12:08:08.000Z","updated_at":"2023-04-16T18:02:59.000Z","dependencies_parsed_at":null,"dependency_job_id":"75bad116-70ff-4254-8c1e-bc5b26935ca2","html_url":"https://github.com/l2700l/ReTerm","commit_stats":{"total_commits":29,"total_committers":3,"mean_commits":9.666666666666666,"dds":0.4137931034482759,"last_synced_commit":"eaf063698abc429471db9b76cd009efc78cef836"},"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/l2700l%2FReTerm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/l2700l%2FReTerm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/l2700l%2FReTerm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/l2700l%2FReTerm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/l2700l","download_url":"https://codeload.github.com/l2700l/ReTerm/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246939201,"owners_count":20857919,"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","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":["npm","package","react","simulator","terminal"],"created_at":"2025-02-09T11:19:11.299Z","updated_at":"2026-04-15T05:32:05.830Z","avatar_url":"https://github.com/l2700l.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e \n  \u003ca href=\"https://github.com/l2700l/reterm\"\u003e\n    \u003cimg src=\"docs/images/logo.svg\" alt=\"Logo\" width=\"100\" height=\"100\"\u003e\n  \u003c/a\u003e\n\u003c/h1\u003e\n\n\u003cdiv align=\"center\"\u003e\n  ReTerm\n  \u003cbr /\u003e\n  \u003ca href=\"#about\"\u003e\u003cstrong\u003eExplore the screenshots »\u003c/strong\u003e\u003c/a\u003e\n  \u003cbr /\u003e\n  \u003cbr /\u003e\n  \u003ca href=\"https://github.com/l2700l/reterm/issues/new?assignees=\u0026labels=bug\u0026template=01_BUG_REPORT.md\u0026title=bug%3A+\"\u003eReport a Bug\u003c/a\u003e\n  ·\n  \u003ca href=\"https://github.com/l2700l/reterm/issues/new?assignees=\u0026labels=enhancement\u0026template=02_FEATURE_REQUEST.md\u0026title=feat%3A+\"\u003eRequest a Feature\u003c/a\u003e\n  .\n  \u003ca href=\"https://github.com/l2700l/reterm/issues/new?assignees=\u0026labels=question\u0026template=04_SUPPORT_QUESTION.md\u0026title=support%3A+\"\u003eAsk a Question\u003c/a\u003e\n  .\n  \u003ca href=\"https://github.com/l2700l/reterm/wiki\"\u003eWiki\u003c/a\u003e\n  \n\u003c/div\u003e\n\n\u003cdiv align=\"center\"\u003e\n\u003cbr /\u003e\n\n[![Project license](https://img.shields.io/github/license/l2700l/reterm.svg?style=flat-square)](LICENSE)\n\n[![Pull Requests welcome](https://img.shields.io/badge/PRs-welcome-ff69b4.svg?style=flat-square)](https://github.com/l2700l/reterm/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22)\n[![code with love by l2700l](https://img.shields.io/badge/%3C%2F%3E%20with%20%E2%99%A5%20by-l2700l-ff1414.svg?style=flat-square)](https://github.com/l2700l)\n\n\u003c/div\u003e\n\n\u003cdetails open=\"open\"\u003e\n\u003csummary\u003eTable of Contents\u003c/summary\u003e\n\n- [About](#about)\n  - [Built With](#built-with)\n- [Getting Started](#getting-started)\n  - [Prerequisites](#prerequisites)\n  - [Installation](#installation)\n- [Usage](#usage)\n- [Props](#props)\n- [Roadmap](#roadmap)\n- [Support](#support)\n- [Project assistance](#project-assistance)\n- [Contributing](#contributing)\n- [Authors \u0026 contributors](#authors--contributors)\n- [Security](#security)\n- [License](#license)\n\n\u003c/details\u003e\n\n---\n\n## About\n\n\u003ctable\u003e\u003ctr\u003e\u003ctd\u003e\n\nFull featured terminal simulator.\n\nThere are many implementations of such terminals on the Internet, but, in my opinion, they are not functional enough. They represent the output of texts or elements on a predetermined command. \nThis simulator also supports the launch of third-party applications, the configuration of which is set from the outside.\n\nThe goal of the project is to create a universal simulator with support for a virtual file system and running third-party applications\n\n- Customizable commands,  user, name and prompt.\n- Virtual file system.\n- Support third-party applications.\n- Command history using arrow up and down.\n- Support for copy/paste.\n- Customizing theme.\n\n\u003cdetails\u003e\n\u003csummary\u003eScreenshots\u003c/summary\u003e\n\u003cbr\u003e\n\n\n|                               Main                               |                                 Help command                                  |\n|:----------------------------------------------------------------:|:-----------------------------------------------------------------------------:|\n| \u003cimg src=\"docs/images/screenshot.png\" title=\"Main\" width=\"100%\"\u003e | \u003cimg src=\"docs/images/screenshot-help.png\" title=\"Help command\" width=\"100%\"\u003e |\n\n\u003c/details\u003e\n\n\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e\n\n### Built With\n\n- [Typescript](https://www.typescriptlang.org/)\n- [React](https://react.dev/)\n- [react-device-detect](https://www.npmjs.com/package/react-device-detect)\n- [SASS](https://sass-lang.com/)\n\n## Getting Started\n\n### Prerequisites\n\nYour project must be a React app, version 17 or higher\n\n### Installation\n\nTo install the library, write\n```npm install reterm``` (or another package manager)\nin your project.\n\nThis will also install the react-detect-device library.\n\n## Usage\n\nYou can use both the simulator itself and the terminal, which is a GUI wrapper over the simulator.\n\n```typescript jsx\nimport {Terminal} from 'reterm';\n\n\nfunction App(props) {\n  return (\n    \u003cTerminal\n      startMessage={'Hi!'}\n      prompt={'\u003e\u003e\u003e'}\n    /\u003e\n  );\n}\n```\n```typescript jsx\nimport {Simulator} from 'reterm';\n\n\nfunction App(props) {\n  const fs = {\n    'file': 'someText',\n    Directory: {\n      'file1': '=)',\n      'file2': 'UwU'\n    }\n  }\n  return (\n    \u003cSimulator\n      user={'reterm'}\n      name={'prod'}\n      fs={fs}\n      borderRadius={{topLeft: '1rem', topRight: '16px', bottomLeft: '10%', bottomRight: '1vw'}}\n    /\u003e\n  );\n}\n```\n\n## Props\n\n| name            | description                                                                                                 | default       |\n|-----------------|-------------------------------------------------------------------------------------------------------------|---------------|\n| user            | Username displayed on the command line. Value can be either a string or undefined                           | user          |\n| name            | Computer name displayed on the command line. Value can be either a string or undefined                      | computer      |\n| borderRadius    | An object that defines the rounding of the border                                                           | 0,0,0,0       |\n| startMessage    | A welcome message to show at the start, before the prompt begins. Value can be either a string or undefined | undefined     |\n| prompt          | Terminal prompt                                                                                             | $             |\n| theme           | Custom theme                                                                                                | colors in css |\n| fs              | Virtual file system - an object whose keys are only either strings or other similar objects                 | {}            |\n| applications    | An object whose keys are commands and whose values - are objects implementing the TermApp interface         | {}            |\n| builtInCommands | Object responsible for the ability to use built-in commands                                                 | all true      |\n\n\n## Roadmap\n\nSee the [open issues](https://github.com/l2700l/reterm/issues) for a list of proposed features (and known issues).\n\n- [Top Feature Requests](https://github.com/l2700l/reterm/issues?q=label%3Aenhancement+is%3Aopen+sort%3Areactions-%2B1-desc) (Add your votes using the 👍 reaction)\n- [Top Bugs](https://github.com/l2700l/reterm/issues?q=is%3Aissue+is%3Aopen+label%3Abug+sort%3Areactions-%2B1-desc) (Add your votes using the 👍 reaction)\n- [Newest Bugs](https://github.com/l2700l/reterm/issues?q=is%3Aopen+is%3Aissue+label%3Abug)\n\n## Support\n\nReach out to the maintainer at one of the following places:\n\n- [GitHub issues](https://github.com/l2700l/reterm/issues/new?assignees=\u0026labels=question\u0026template=04_SUPPORT_QUESTION.md\u0026title=support%3A+)\n- Contact options listed on [my site](https://l2700l.github.io)\n\n## Project assistance\n\nIf you want to say **thank you** or/and support active development of ReTerm:\n\n- Add a [GitHub Star](https://github.com/l2700l/reterm) to the project.\n- Tweet about the ReTerm.\n- Write interesting articles about the project on [Dev.to](https://dev.to/), [Medium](https://medium.com/) or your personal blog.\n\nTogether, we can make ReTerm **better**!\n\n## Contributing\n\nFirst off, thanks for taking the time to contribute! Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make will benefit everybody else and are **greatly appreciated**.\n\n\nPlease read [our contribution guidelines](docs/CONTRIBUTING.md), and thank you for being involved!\n\n## Authors \u0026 contributors\n\nThe original setup of this repository is by [Alexander Hoffman](https://github.com/l2700l).\n\nFor a full list of all authors and contributors, see [the contributors page](https://github.com/l2700l/reterm/contributors).\n\n## Security\n\nReTerm follows good practices of security, but 100% security cannot be assured.\nReTerm is provided **\"as is\"** without any **warranty**. Use at your own risk.\n\n_For more information and to report security issues, please refer to our [security documentation](docs/SECURITY.md)._\n\n## License\n\nThis project is licensed under the **MIT license**.\n\nSee [LICENSE](LICENSE) for more information.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fl2700l%2Freterm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fl2700l%2Freterm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fl2700l%2Freterm/lists"}