{"id":19880092,"url":"https://github.com/tiskw/nishiki","last_synced_at":"2026-04-09T08:55:45.089Z","repository":{"id":50482425,"uuid":"509666079","full_name":"tiskw/nishiki","owner":"tiskw","description":"A simple shell wrapper for Unix-like OS","archived":false,"fork":false,"pushed_at":"2025-02-09T13:07:43.000Z","size":1575,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-09T14:22:19.807Z","etag":null,"topics":["cplusplus","shell","terminal"],"latest_commit_sha":null,"homepage":"https://tiskw.github.io/nishiki/","language":"C++","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/tiskw.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":"2022-07-02T05:21:16.000Z","updated_at":"2025-01-25T03:30:56.000Z","dependencies_parsed_at":"2024-01-12T05:19:28.558Z","dependency_job_id":"5002b9a5-fe5c-4246-a306-d16ed2fb8ec9","html_url":"https://github.com/tiskw/nishiki","commit_stats":{"total_commits":1,"total_committers":1,"mean_commits":1.0,"dds":0.0,"last_synced_commit":"f2014e56effa3ab6c5aa76c943620580ea2e2c8c"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tiskw%2Fnishiki","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tiskw%2Fnishiki/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tiskw%2Fnishiki/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tiskw%2Fnishiki/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tiskw","download_url":"https://codeload.github.com/tiskw/nishiki/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241309105,"owners_count":19941724,"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":["cplusplus","shell","terminal"],"created_at":"2024-11-12T17:10:13.846Z","updated_at":"2026-04-09T08:55:45.082Z","avatar_url":"https://github.com/tiskw.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"docs/images/icon.svg\" width=\"75%\" alt=\"NiShiKi logo\" /\u003e\n\u003c/div\u003e\n\nNiShiKi - a simple shell wrapper\n====================================================================================================\n\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/C++-23-blue?stype=for-the-badge\" /\u003e \u0026nbsp;\n    \u003cimg src=\"https://img.shields.io/badge/license-MIT-orange?stype=for-the-badge\" /\u003e \u0026nbsp;\n    \u003cimg src=\"https://img.shields.io/badge/coverage-97.1%25-green?stype=for-the-badge\" /\u003e\n\u003c/p\u003e\u003cp align=\"center\"\u003e\n    \u003ca href=\"#features\"\u003eFeatures\u003c/a\u003e \u0026nbsp;\u0026bull;\u0026nbsp;\n    \u003ca href=\"#installation\"\u003eInstallation\u003c/a\u003e \u0026nbsp;\u0026bull;\u0026nbsp;\n    \u003ca href=\"#usage\"\u003eUsage\u003c/a\u003e \u0026nbsp;\u0026bull;\u0026nbsp;\n    \u003ca href=\"#for-developers\"\u003eFor developers\u003c/a\u003e \u0026nbsp;\u0026bull;\u0026nbsp;\n    \u003ca href=\"#gratitude\"\u003eGratitude\u003c/a\u003e \u0026nbsp;\u0026bull;\u0026nbsp;\n    \u003ca href=\"#license\"\u003eLicense\u003c/a\u003e\n\u003c/p\u003e\n\nNiShiKi is a simple shell wrapper for UNIX-like OS, such as Debian, Ubuntu, and WSL. It has\nreal-time completion functions to assist user command editing, and all completions are customizable\nby a user-defined config file. NiShiKi's completions tend to be more extensive than other famous\nshells such as [Bash](https://www.gnu.org/software/bash/), [Zsh](https://www.zsh.org/), and\n[Fish](https://fishshell.com/). Although NiShiKi's completions can be customized, it's difficult to\nreduce the amount of completions by the customization. Therefore, if you feel NiShiKi's completions\nare too noisy, it's better to use Bash or something similar.\n\nNote that NiShiKi is NOT a shell, just a shell wrapper to make command editing works easier.\nInput commands are processed by your background shell.\n\nFor more information, please visit [the online document](https://tiskw.github.io/nishiki/).\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"docs/images/nishiki_screenshot.webp\" alt=\"NiShiKi screenshot\" /\u003e\n\u003c/div\u003e\n\n\nFeatures\n----------------------------------------------------------------------------------------------------\n  \n- **Simple**: NiShiKi is provided as C++ source code that can be compiled easily by common build\n  tools (e.g. G++ and Make), and the source code of NiShiKi is designed not to exceed 3,000\n  effective rows excluding comment lines, empty lines, and the configuration file.\n- **Extensible**: NiShiKi is customizable (e.g. propmt strings, command aliases, keybindings, etc.)\n  through the config file, or writing a short external software in any language you like.\n- **Fast**: NiShiKi is written in C++ and carefully designed to be fast enough for supporting\n  user's command editing work.\n\n\nInstallation\n----------------------------------------------------------------------------------------------------\n\nSee [the getting started section of the online document](https://tiskw.github.io/nishiki/index.html#getting-started).\nThe following is a summary of the installation process on Ubuntu using the Clang compiler.\n\n```console\n# Install GNU C++ compiler, make and ncurses library.\nsudo apt install g++ make libncurses-dev\n\n# Build NiShiKi.\nmake\n\n# Copy the NiShiKi binary to \"~/bin\" and config files to \"~/.config/nishiki\".\nmake install\n```\n\n\nUsage\n----------------------------------------------------------------------------------------------------\n\nThe usage of NiShiKi is almost the same as the other shells, just type a command and hit enter key.\n\nAs an example, launch `nishiki` in the root directory of this repository that you've cloned,\nand please type `git diff README.md`. You can enjoy various types of command completions provided\nby `nishiki` while typing the words. A list of completion candidates is shown under your editing\nline, and if the number of candidates is only one, you can complete it by typing the `TAB` key.\nFor example, `git d\u003cTAB\u003e` results in `git diff` and also, `git diff R\u003cTAB\u003e` results in\n`git diff README.md`.\n\nFor more details about the usage of NiShiKi,\nsee [the online document](https://tiskw.github.io/nishiki/index.html#usage).\n\n\nFor Developers\n----------------------------------------------------------------------------------------------------\n\n### Additional preparations\n\nYou need to install the following packages to run `make check`, `make count` and `make test`.\n\n```console\napt install cloc cppcheck lcov\n```\n\n### Test and coveerage measurement\n\nOur code provides a procedure to test NiShiKi and measure the coverage of the source code.\nSee [the online document](https://tiskw.github.io/nishiki/test_and_coverage.html)\nfor more details.\n\n\nGratitude\n----------------------------------------------------------------------------------------------------\n\n* This software uses the following libraries. I appreciate their devoted contribution\n  to these libraries.\n  - [cxxopts](https://github.com/jarro2783/cxxopts):\n    lightweight but enough rich command line parser (MIT license).\n  - [glob](https://github.com/p-ranav/glob):\n    Glob pattern matching for C++17 (MIT license).\n  - [PocketPy](https://github.com/pocketpy/pocketpy):\n    Portable Python 3.x interpreter, written in C11 (MIT license).\n\n* And, of course, [C/C++](https://isocpp.org/) and [Bash](https://www.gnu.org/software/bash/)\n  maintainers. NiShiKi is written in C/C++, and utility scripts like build script are written in\n  Bash.\n\n* The author also would appreciate the [Nim language](https://nim-lang.org/) maintainers. Because\n  the first version of NiShiKi was written in the Nim language. The author learned a lot from it.\n\n\nLicense\n----------------------------------------------------------------------------------------------------\n\nThis software is released under [MIT license](LICENSE.md).\n\n\nAuthor\n----------------------------------------------------------------------------------------------------\n\nTetsuya Ishikawa ([EMail](mailto:tiskw111@gmail.com), [Website](https://tiskw.github.io/about_en.html))\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftiskw%2Fnishiki","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftiskw%2Fnishiki","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftiskw%2Fnishiki/lists"}