{"id":15132559,"url":"https://github.com/honhimw/ratisui","last_synced_at":"2025-08-17T13:15:17.307Z","repository":{"id":256538485,"uuid":"849834504","full_name":"honhimW/ratisui","owner":"honhimW","description":"Redis TUI build with Ratatui","archived":false,"fork":false,"pushed_at":"2025-08-08T19:06:37.000Z","size":2743,"stargazers_count":30,"open_issues_count":5,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-08T21:22:53.993Z","etag":null,"topics":["command-line-tool","ratatui","redis","rust","tui"],"latest_commit_sha":null,"homepage":"","language":"Rust","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/honhimW.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,"zenodo":null}},"created_at":"2024-08-30T10:44:24.000Z","updated_at":"2025-08-04T03:30:31.000Z","dependencies_parsed_at":"2024-10-24T10:45:55.720Z","dependency_job_id":"aad2eea8-fffb-4c26-9f7d-f04b3af1fb20","html_url":"https://github.com/honhimW/ratisui","commit_stats":{"total_commits":98,"total_committers":2,"mean_commits":49.0,"dds":0.04081632653061229,"last_synced_commit":"154e3aa2191a9b1911217b864c8439cd67baa073"},"previous_names":["honhimw/ratisui"],"tags_count":33,"template":false,"template_full_name":null,"purl":"pkg:github/honhimW/ratisui","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/honhimW%2Fratisui","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/honhimW%2Fratisui/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/honhimW%2Fratisui/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/honhimW%2Fratisui/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/honhimW","download_url":"https://codeload.github.com/honhimW/ratisui/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/honhimW%2Fratisui/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270852254,"owners_count":24656851,"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-17T02:00:09.016Z","response_time":129,"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":["command-line-tool","ratatui","redis","rust","tui"],"created_at":"2024-09-26T04:20:50.621Z","updated_at":"2025-08-17T13:15:17.297Z","avatar_url":"https://github.com/honhimW.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Ratisui\n\n![gif](./assets/ratisui.gif)\n\n- [Installation](#Installation)\n  - [Package Manager](#package-manager)\n    - [Windows](#Windows)\n    - [Mac](#Mac)\n  - [Cargo](#Cargo)\n  - [Download](#download)\n- [Quick Start](#quick-start)\n- [Configuration](#data-storage)\n- [Features](#Features)\n\n## Installation\n\n### Shell\n```shell\ncurl --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/honhimW/ratisui/main/scripts/install.sh | sh\n```\n\n### Package Manager\n\n#### Windows\n\n##### WinGet\n```shell\nwinget install HonhimW.Ratisui\n```\n\n#### Mac\n\n##### Homebrew Tap\n```shell\nbrew install honhimW/tap/ratisui\n```\n\n### Cargo\n```shell\ncargo install --git=https://github.com/honhimW/ratisui.git\n```\n\n### Download\n\u003e Currently, only linux_x86_64/linux_aarch64/macOS_aarch64/windows_x86_64 is automatically available.   \n\u003e If you **need** other platforms, you may try to build via [GitHub Actions](./.github/workflows/build-specified-target.yml).  \n\u003e Please **note** that not all platforms can guarantee successful compilation and normal operation.\n\n[Github Release](https://github.com/honhimW/ratisui/releases)\n\n### Build from source\n```shell\n# clone repo\ngit clone https://github.com/honhimW/ratisui.git\n# enter\ncd ratisui\n# build and run\ncargo run\n```\n\n## Quick Start\n\n\u003e create a data source \n\n1. Press 's' (open server popup)\n2. Press 'c' (create data source) \n3. config data source\n4. Press 'Enter' for confirm\n5. select data source\n6. Press 'Esc' (close data source popup)\n7. Enjoy!\n\n\u003e save configuration, auto save on exit\n\n## Data storage\nUser's data will be stored in `~/.config/ratisui/`:\n\n### Application Configuration\n```ron\n// ~/.config/ratisui/config.ron\n(\n    fps: 45,                               // tui render fps limitation\n    scan_size: 500,                        // redis key scan size,\n    try_format: false,                     // fotmat raw data\n    theme: Some(\"your-theme\"),             // ～/.config/ratisui/theme/your-theme.ron\n    history_size: 1000,                    // ～/.config/ratisui/cli.history\n    cli_output_format: Redis,              // Redis(default) | Ron\n    console_capacity: 2000,                // CLI output capacity, default as 3000\n)\n```\n### Databases Configuration\n```ron\n// ~/.config/ratisui/databases.ron\n(\n    default_database: Some(\"remote standalone\"),\n    databases: {\n        \"remote standalone\": (\n            host: \"standalone.host\",\n            port: 6379,\n            username: Some(\"foo\"),\n            password: Some(\"bar\"),\n            use_tls: false,\n            use_ssh_tunnel: false,\n            db: 0,\n            protocol: RESP3,\n        ),\n        \"remote cluster\": (   // Cluster mode automatically detected\n            host: \"cluster.host\",\n            port: 6000,\n            username: None,\n            password: Some(\"password\"),\n            use_tls: false,\n            use_ssh_tunnel: false,\n            db: 0,\n            protocol: RESP3,\n        ),\n    },\n)\n```\n### Themes Configuration\n\n\u003e [!NOTE]\n\u003e \n\u003e See [Theme template](./assets/theme-template.ron) for more details.\n```ron\n// ~/.config/ratisui/theme/your-theme.ron\n(\n    kind: Dark,\n    toast: (\n        info: Tailwind(GREEN, C700),\n        warn: Yellow,\n        error: Rgb(255, 0, 0),\n    ),\n)\n```\n\n## Features\n\n**Connection mode**\n- [x] standalone mode\n- [x] cluster mode\n\n**Data Type**\n- [x] String\n- [x] List\n- [x] Set\n- [x] Sorted Set\n- [x] Hash\n- [x] Stream\n- [x] ReJson\n- [x] TSDB-TYPE\n\n**Explorer**\n- [x] Key scan (Fuzzy/Pattern)\n- [x] Keys tree\n- [x] Key create, rename, delete\n- [x] Async query \u0026 render\n- [x] Highlight \u0026 format for raw data\n    - [x] UTF-8/Hex deserialization\n    - [x] Java deserialization ([jaded](https://crates.io/crates/jaded))\n    - [x] Protobuf deserialization ([protobuf](https://crates.io/crates/protobuf))\n    - [x] JSON highlighter ([tree-sitter-json](https://crates.io/crates/tree-sitter-json))\n    - [x] XML highlighter ([tree-sitter-html](https://crates.io/crates/tree-sitter-html))\n    - [x] RON highlighter ([tree-sitter-ron](https://crates.io/crates/tree-sitter-ron))\n- [x] Table view for list, set, sorted set, hash, stream, TimeSeries\n- [x] RedisSearch, completion for indexes/FT.SEARCH\n\n**Command line tool**\n- [x] Auto Completion\n- [x] Command history\n- [x] Command execution\n- [x] Monitor/(P)Subscribe listening\n- [x] Output format: Redis | Ron\n- [x] Redis8+\n\n**Misc**\n- [x] Logger viewer([TuiLogger](https://crates.io/crates/tui-logger))\n- [x] Non-blocking command execution\n- [x] Configuration persistence\n- [x] Use SSH tunnel([russh](https://crates.io/crates/russh))\n- [x] Connection pool([deadpool-redis](https://crates.io/crates/deadpool-redis))\n- [x] Configurable theme\n\n**TODO**\n- [ ] reduces binary size\n- [ ] nothing to do...🤔\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhonhimw%2Fratisui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhonhimw%2Fratisui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhonhimw%2Fratisui/lists"}