{"id":47982473,"url":"https://github.com/andev0x/guts","last_synced_at":"2026-04-06T13:00:59.262Z","repository":{"id":348587600,"uuid":"1198681296","full_name":"andev0x/guts","owner":"andev0x","description":"A faster, Guts is designed for speed and clarity when exploring CSV, JSON, and SQLite data directly in the terminal.","archived":false,"fork":false,"pushed_at":"2026-04-04T17:20:49.000Z","size":136,"stargazers_count":4,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-05T12:24:41.009Z","etag":null,"topics":["csv","json","open-source","rust","terminal"],"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/andev0x.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-01T16:50:46.000Z","updated_at":"2026-04-04T17:20:54.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/andev0x/guts","commit_stats":null,"previous_names":["andev0x/guts"],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/andev0x/guts","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andev0x%2Fguts","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andev0x%2Fguts/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andev0x%2Fguts/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andev0x%2Fguts/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/andev0x","download_url":"https://codeload.github.com/andev0x/guts/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andev0x%2Fguts/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31473271,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-06T08:36:52.050Z","status":"ssl_error","status_checked_at":"2026-04-06T08:36:51.267Z","response_time":112,"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":["csv","json","open-source","rust","terminal"],"created_at":"2026-04-04T11:13:27.501Z","updated_at":"2026-04-06T13:00:59.246Z","avatar_url":"https://github.com/andev0x.png","language":"Rust","readme":"# Guts\n\n[![Latest Release](https://img.shields.io/github/v/release/andev0x/guts?style=flat-square\u0026color=A6E3A1)](https://github.com/andev0x/guts/releases)\n[![CI Status](https://img.shields.io/github/actions/workflow/status/andev0x/guts/ci.yml?branch=main\u0026style=flat-square)](https://github.com/andev0x/guts/actions)\n[![Stars](https://img.shields.io/github/stars/andev0x/guts?style=flat-square\u0026color=F9E2AF)](https://github.com/andev0x/guts/stargazers)\n[![Downloads](https://img.shields.io/github/downloads/andev0x/guts/total?style=flat-square\u0026color=89B4FA)](https://github.com/andev0x/guts/releases)\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg?style=flat-square)](https://opensource.org/licenses/MIT)\n\nA keyboard-first terminal data explorer designed for engineers who need speed and clarity when inspecting data. Guts provides an intuitive interface for exploring CSV, JSON, SQLite, and remote database sources directly from your terminal, inspired by Vim navigation principles and Unix philosophy.\n\n## Overview\n\nGuts streamlines data exploration and analysis through a fast, terminal-native interface. Whether you're analyzing local data files or querying remote databases, Guts delivers a responsive, keyboard-driven experience optimized for modern development workflows.\n\n## Demo\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/andev0x/description-image-archive/refs/heads/main/guts/guts.gif\" width=\"80%\" alt=\"Guts terminal interface demonstration\" /\u003e\n\u003c/div\u003e\n\n## Features\n\n### Data Source Support\n- **Local Files**: CSV, JSON, SQLite databases\n- **Remote Databases**: PostgreSQL, MySQL, MongoDB\n\n### Navigation \u0026 Interaction\n- Vim-style keyboard navigation (h/j/k/l, g, G, Page Up/Down)\n- Efficient table rendering with sticky headers and row selection\n- Virtual scrolling for large datasets with minimal performance impact\n- Smart cell type detection (URLs, emails, IP addresses, numbers)\n- Direct URL and email interaction from cells\n\n### Search \u0026 Filtering\n- Incremental search with next/previous navigation\n- Fuzzy search across columns, rows, and query history\n- Powerful query mode with SQL and text filtering support\n- MongoDB collection queries\n\n### Data Operations\n- Execute SQL files directly from command line or interactive mode\n- Import CSV and JSON files into SQLite tables\n- SQLite backup and restore functionality\n- Copy cell values to clipboard\n\n### Customization\n- Theme system with TOML configuration\n- Four built-in theme presets: Nord, Gruvbox, Catppuccin, Monochrome\n- Automatic 16-color ANSI fallback for compatibility\n- Fully configurable keybindings\n\n## Installation\n\n### Homebrew (macOS)\n\nInstall via the community tap:\n\n```bash\nbrew tap andev0x/tap\nbrew install guts\n```\n\n### AUR (Arch Linux)\n\nInstall from the Arch User Repository:\n\n```bash\nparu -S guts\n# or\nyay -S guts\n```\n\n### Prebuilt Binaries\n\nDownload prebuilt binaries for Linux, macOS, and Windows from [GitHub Releases](https://github.com/andev0x/guts/releases). These are automatically published with each tagged release.\n\n### Building from Source\n\n**Prerequisites**: Rust toolchain (stable or later)\n\n1. Clone the repository:\n```bash\ngit clone https://github.com/andev0x/guts.git\ncd guts/guts\n```\n\n2. Build the project:\n```bash\ncargo build --release\n```\n\n3. Install the binary:\n```bash\ncargo install --path .\n```\n\n4. Verify the installation:\n```bash\nguts --help\n```\n\n## Quick Start\n\n### Basic Usage\n\nRun Guts with any supported data source:\n\n```bash\nguts \u003csource\u003e\n```\n\nSupported sources include:\n- **Local files**: CSV, JSON, SQLite (`.db`, `.sqlite`)\n- **Remote databases**: `postgres://`, `mysql://`, `mongodb://`\n\n### Common Examples\n\n```bash\n# Explore a CSV file\nguts users.csv\n\n# Explore CSV with irregular row lengths\nguts users.csv --relaxed\n\n# Open and browse a JSON file\nguts data.json\n\n# Browse SQLite database tables\nguts app.db\n\n# Execute a custom SQL query\nguts app.db --query \"SELECT id, email FROM users LIMIT 100\"\n\n# Execute SQL statements from a file\nguts app.db --sql-file migrations/init.sql\n\n# Connect to PostgreSQL database\nguts \"postgres://user:password@localhost:5432/database\"\n\n# Import CSV into SQLite table\nguts app.db --import-file users.csv --import-table users\n\n# Import CSV with automatic row width correction\nguts app.db --import-file users.csv --import-table users --relaxed\n\n# Backup SQLite database\nguts app.db --backup-to backups/app-backup.db\n\n# Restore from backup\nguts app.db --restore-from backups/app-backup.db\n```\n\n### Initial Setup\n\nInitialize the default configuration:\n\n```bash\nguts --init-config\n```\n\nThis creates a configuration file at `~/.config/guts/theme.toml` with `monochrome` as the default preset. You can customize it at any time in `~/.config/guts/`.\n\n## Configuration\n\n### Themes\n\nGuts includes a TOML-based theming system. Configuration files are discovered in the following order:\n\n1. `GUTS_THEME_FILE` environment variable (absolute or relative path)\n2. `./theme.toml` (current working directory)\n3. `$XDG_CONFIG_HOME/guts/theme.toml`\n4. `$HOME/.config/guts/theme.toml`\n\nIf no theme file is found, Guts defaults to the built-in `monochrome` theme on first run. If your terminal doesn't support TrueColor, Guts automatically falls back to a 16-color ANSI palette.\n\n#### Built-in Theme Presets\n\n- `nord` — Cool, soothing theme inspired by arctic colors\n- `gruvbox` — Warm, retro-inspired theme with vintage accents\n- `catppuccin` — Modern, pastel-based color scheme\n- `monochrome` — Minimalist grayscale palette\n\n#### Theme Configuration Example\n\nCreate or edit `~/.config/guts/theme.toml`:\n\n```toml\npreset = \"monochrome\"\n\n[colors]\nborder = \"#81A1C1\"\nselected_background = \"#5E81AC\"\nstatus_mode_background = \"#A3BE8C\"\n```\n\n### Keyboard Shortcuts\n\nGuts uses Vim-inspired keybindings by default. Create `~/.config/guts/config.toml` to customize shortcuts.\n\n#### Navigation\n\n| Key | Action |\n|-----|--------|\n| `h` / `←` | Move left |\n| `l` / `→` | Move right |\n| `k` / `↑` | Move up |\n| `j` / `↓` | Move down |\n| `g` | Jump to top |\n| `G` | Jump to bottom |\n| `PageUp` | Scroll up one page |\n| `PageDown` | Scroll down one page |\n\n#### Search \u0026 Query\n\n| Key | Action |\n|-----|--------|\n| `/` | Enter search mode (incremental) |\n| `n` | Jump to next match |\n| `N` | Jump to previous match |\n| `:` | Enter query/filter mode |\n| `Ctrl-f` | Open fuzzy search overlay |\n| `Tab` | Cycle fuzzy search scope (Columns → Rows → History) |\n| `Ctrl-p` | Previous query history |\n| `Ctrl-n` | Next query history |\n\n#### Actions\n\n| Key | Action |\n|-----|--------|\n| `o` | Open URL or email from cell |\n| `y` | Copy cell value to clipboard |\n| `E` | Export current data |\n| `v` | View/expand cell details |\n| `Enter` | Confirm selection |\n| `q` | Exit Guts |\n\n#### Custom Keybindings\n\nEdit `~/.config/guts/config.toml`:\n\n```toml\n[keybindings.navigation]\nleft = [\"h\", \"Left\"]\nright = [\"l\", \"Right\"]\nup = [\"k\", \"Up\"]\ndown = [\"j\", \"Down\"]\n\n[keybindings.search]\nfuzzy_mode = [\"Ctrl-f\"]\nfuzzy_cycle_scope = [\"Tab\"]\n\n[keybindings.actions]\ncopy = [\"y\"]\nopen = [\"o\"]\nexport_csv = [\"E\"]\ntoggle_preview = [\"v\"]\nconfirm = [\"Enter\"]\n```\n\n## Project Status\n\nGuts is actively maintained and production-ready. The 1.0 release includes stable support for:\n\n- CSV and JSON file parsing\n- SQLite, PostgreSQL, MySQL, and MongoDB database integration\n- Full table navigation and rendering\n- Virtual scrolling for large datasets\n- Advanced query execution and filtering\n- Intelligent cell type detection and interaction\n- Comprehensive theming and customization\n- Configurable keyboard shortcuts\n\n## Contributing\n\nWe welcome contributions to Guts! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for:\n- Development setup instructions\n- Code style guidelines\n- Pull request process\n- Issue reporting guidelines\n\n## Getting Help\n\n- **Report bugs or request features**: Open an issue on [GitHub](https://github.com/andev0x/guts/issues)\n- **Discuss ideas**: Use GitHub Discussions for feature proposals and questions\n- **See examples**: Check the Quick Start section above\n\n## License\n\nGuts is distributed under the MIT License. See [LICENSE](LICENSE) for complete details.\n\n## Acknowledgments\n\nWe appreciate all contributions to Guts. View the complete list of contributors on [GitHub](https://github.com/andev0x/guts/graphs/contributors).\n\n\u003ca href=\"https://github.com/andev0x/guts/graphs/contributors\"\u003e\n  \u003cimg src=\"https://contrib.rocks/image?repo=andev0x/guts\" /\u003e\n\u003c/a\u003e\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandev0x%2Fguts","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandev0x%2Fguts","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandev0x%2Fguts/lists"}