{"id":33185832,"url":"https://github.com/alexaldearroyo/catselector","last_synced_at":"2025-11-27T00:01:05.520Z","repository":{"id":290073561,"uuid":"973291290","full_name":"alexaldearroyo/catselector","owner":"alexaldearroyo","description":"Interactive file selector for concatenating and exporting text files","archived":false,"fork":false,"pushed_at":"2025-08-09T15:45:08.000Z","size":6115,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-09T17:37:57.690Z","etag":null,"topics":["bubbletea","cli","go","golang","lipgloss","tui"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/alexaldearroyo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2025-04-26T17:12:38.000Z","updated_at":"2025-08-09T15:45:06.000Z","dependencies_parsed_at":"2025-05-18T16:44:22.550Z","dependency_job_id":null,"html_url":"https://github.com/alexaldearroyo/catselector","commit_stats":null,"previous_names":["alexaldearroyo/catexplorer","alexaldearroyo/catselector"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/alexaldearroyo/catselector","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexaldearroyo%2Fcatselector","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexaldearroyo%2Fcatselector/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexaldearroyo%2Fcatselector/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexaldearroyo%2Fcatselector/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alexaldearroyo","download_url":"https://codeload.github.com/alexaldearroyo/catselector/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexaldearroyo%2Fcatselector/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286079811,"owners_count":27282121,"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-11-26T02:00:06.075Z","response_time":193,"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":["bubbletea","cli","go","golang","lipgloss","tui"],"created_at":"2025-11-16T05:00:20.102Z","updated_at":"2025-11-27T00:01:05.505Z","avatar_url":"https://github.com/alexaldearroyo.png","language":"Go","funding_links":[],"categories":["\u003ca name=\"text-processing\"\u003e\u003c/a\u003eText processing"],"sub_categories":[],"readme":"# 🐱 Cat Selector\n\n\u003e The fastest way to explore, select and concatenate files from your terminal.\n\n![Demo](demo.gif)\n\n\nCat Selector is an interactive terminal tool for browsing, selecting, concatenating, and exporting text content in files and directories, combining multiple actions into a single seamless flow.\n\n## Why Cat Selector?\nUnlike traditional file managers (ranger, lf) or basic commands (find, cat, less), Cat Selector provides:\n- True multi-selection across directories and files.\n- Instant generation and single concatenated text output.\n\nA direct, visual, and straight-forward content selector and concatenated text file exporter.\n\n## Key Features\n\n- **Split Navigation**: Divided panels for directory, file navigation and file and subdirectories preview.\n- **Multiple Selection**: Quick selection of multiple files and subdirectories\n- **Concatenation**: Combine selected content into a single output.\n- **Flexible Export**: \n  - Export to temporary file\n  - Direct clipboard copying\n- **Intuitive Navigation**: Keyboard keybindings optimized for productivity\n\n## Keybindings\n\n| Key | Action |\n|-------|--------|\n| `j` / `↓` | Move down |\n| `k` / `↑` | Move up |\n| `Enter` / `l` | Enter directory |\n| `Esc` / `h` | Go to previous directory |\n| `s` | Select/Deselect |\n| `a` | Select/Deselect all |\n| `i` | Toggle include subdirectories |\n| `o` | Concatenate and open in external editor |\n| `c` | Concatenate and copy to clipboard |\n| `Tab` | Switch panel |\n| `f` | Go to files panel |\n| `d` | Go to directories panel |\n| `/` | Search |\n| `q` | Quit |\n\n## Technologies\n\nBuilt in Go using:\n- [Bubble Tea](https://github.com/charmbracelet/bubbletea) for terminal interface\n- [Lip Gloss](https://github.com/charmbracelet/lipgloss) for visual styling\n\n## Technical Features\n\n- Efficient handling of plain text files\n- Support for complex folder structures\n- Optional subdirectory inclusion\n- Cross-platform compatibility\n- Intuitive and responsive user interface\n\n\n## Installation\n\n### Requirements\n\n- [Go](https://go.dev/dl/) (\u003e=1.20) — needed for manual builds\n- [Nerd Fonts](https://www.nerdfonts.com/) — required for correct icon rendering\n\n### macOS (via Homebrew)\n\n```bash\nbrew tap alexaldearroyo/catselector\nbrew install catsel\n```\n\n### Manual Installation (macOS / Linux)\n\nFirst, clone the repository:\n\n```bash\ngit clone https://github.com/alexaldearroyo/catselector.git\ncd catselector\n```\n\nThen build and install:\n\n```bash\nmake build\nsudo make install\n```\nThis will compile the project and install the catsel binary into `/usr/local/bin`.\n\n## Usage\n\n```bash\ncatsel            # Start Cat Selector\ncatsel --help     # Show help message\ncatsel --version  # Show version information\n```\n\n## Contributing\n\nContributions are welcome. Please open an issue to discuss major changes before submitting a pull request.\n\n## License\n\nThis project is licensed under the MIT License — see the [LICENSE](LICENSE) file for details.\n\n\n© Alex Arroyo 2025\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falexaldearroyo%2Fcatselector","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falexaldearroyo%2Fcatselector","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falexaldearroyo%2Fcatselector/lists"}