{"id":50659432,"url":"https://github.com/malbiruk/frond","last_synced_at":"2026-06-08T01:08:10.544Z","repository":{"id":300395975,"uuid":"1006067857","full_name":"malbiruk/frond","owner":"malbiruk","description":"TUI LLM chat client with branching and complete context control, built in Rust","archived":false,"fork":false,"pushed_at":"2025-08-09T11:18:24.000Z","size":306,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-09T11:36:46.437Z","etag":null,"topics":["chat-client","chatgpt","cli","context-management","conversation-branching","editable-chat","knowledge-management","llm","prompt-engineering","rust","structured-thinking","tui"],"latest_commit_sha":null,"homepage":"","language":"Rust","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/malbiruk.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-06-21T12:22:22.000Z","updated_at":"2025-06-21T17:10:16.000Z","dependencies_parsed_at":"2025-07-24T10:23:13.622Z","dependency_job_id":"564bcd54-8381-4878-8119-f5130ccf3145","html_url":"https://github.com/malbiruk/frond","commit_stats":null,"previous_names":["malbiruk/frond"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/malbiruk/frond","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/malbiruk%2Ffrond","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/malbiruk%2Ffrond/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/malbiruk%2Ffrond/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/malbiruk%2Ffrond/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/malbiruk","download_url":"https://codeload.github.com/malbiruk/frond/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/malbiruk%2Ffrond/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34043840,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-07T02:00:07.652Z","response_time":124,"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":["chat-client","chatgpt","cli","context-management","conversation-branching","editable-chat","knowledge-management","llm","prompt-engineering","rust","structured-thinking","tui"],"created_at":"2026-06-08T01:08:10.479Z","updated_at":"2026-06-08T01:08:10.533Z","avatar_url":"https://github.com/malbiruk.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# frond\n## about\n`frond` 🌿 -- TUI LLM chat client with branching and complete context control, built in Rust.\n## idea\n1. **full context control**\n\t- you choose what the LLM sees. edit, hide, reorder messages. switch roles (user/assistant), split or merge messages.\n\n2. **flexible, branchable conversations**\n\t- fork from anywhere. explore side paths without losing the main thread. flow data in and out easily. remix and reuse.\n\n3. **structured thinking space**\n\t- you see the full picture: folders → dialogues → trees → branches → messages. context for the llm stays tight, but you don’t lose the broader map.\n\n## why?\n\ninteracting with LLMs is powerful — to learn, code, brainstorm, write — but most clients limit how you manage the conversation.\n\nusual web apps:\n- let you edit only user messages (not agent)\n- always auto-branch on edit\n- don't show token count\n- silently drop old messages\n- hard to navigate or search past chats\n\n`frond` gives you:\n- full context control (edit anything, reorder, hide, split/merge, switch roles)\n- clear token usage\n- branching, folders, tags\n- full edit history and checkpoints\n- proper search (by folder/dialogue/branch/message, filtered by tag etc.)\n\nit’s also fast, and TUI makes it easy to pass folder structures, files, or other context to the LLM.\n\nheavily inspired by zed’s text threads — but zed has no branching or extensive history organization features, and web UIs don’t give you this level of control.\n\n## features\n\n- **core**\n\t- fully editable context (user and assistant messages)\n\t   - switch roles, split/merge messages, reorder\n\t- branching conversations\n\t   - fork from any message, navigate trees and branches\n\t- token count per branch\n\t   - know how much context you’re sending\n- **editing \u0026 history**\n\t- ctrl+z / ctrl+shift+z for undo/redo\n\t- per-message edit history (if not last)\n\t- full tree history (snapshots / checkpoints)\n\t- clone, detach, attach branches\n\t- save trees or branches to new dialogue\n\t- import or mention other dialogues/trees/branches/messages\n- **commands \u0026 input**\n\t- special commands: `/file`, `/tree`, `/prompt`, `/now`, `/fetch`\n\t- support for images/files (not just text)\n\t- paste folding (large blocks, syntax-aware)\n\t- syntax highlighting (markdown and code)\n\t- copy sections between \\`\\`\\` and \\`\\`\\`\n- **organization**\n\t- saved trees and branches\n\t   - pins, tags + folder-based organization\n\t- create a dialogue from folder/tag\n\t   - shows as multiple orphaned trees\n\t- trash system (per tree, branch, or full dialogue)\n\t- my prompts (reusable prompt library)\n- **navigation \u0026 ui**\n\t- search by folder, dialogue, branch, message\n\t   - filter by tag, search contents or titles\n\t- live updates across sessions\n\t   - editing one view updates others (sqlite-based)\n\t- gui tabs \u0026 windows (planned)\n\t   - tui is split-friendly already, gui will support tabbed workflows\n- **context visibility**\n\t- hide messages from llm (for notes or pruning)\n\t   - keeps them in tree, out of prompt\n\t- optional links/mentions (reference other trees/branches, not sent to llm)\n- **later ideas**\n\t- RAG (chat with documents)\n\t- mcps and agentic capabilities (multi-chain or planner support)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmalbiruk%2Ffrond","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmalbiruk%2Ffrond","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmalbiruk%2Ffrond/lists"}