{"id":27256873,"url":"https://github.com/prime-run/togo","last_synced_at":"2026-03-12T03:33:00.493Z","repository":{"id":283897115,"uuid":"953210081","full_name":"prime-run/togo","owner":"prime-run","description":"A fast and simple terminal-based task and todo manager built in go","archived":false,"fork":false,"pushed_at":"2026-02-01T18:43:10.000Z","size":12278,"stargazers_count":145,"open_issues_count":3,"forks_count":12,"subscribers_count":4,"default_branch":"master","last_synced_at":"2026-02-02T03:08:33.782Z","etag":null,"topics":["go","productivity","terminal-tool","todo-app","tui"],"latest_commit_sha":null,"homepage":"","language":"Go","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/prime-run.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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-03-22T20:24:56.000Z","updated_at":"2026-02-01T18:43:14.000Z","dependencies_parsed_at":"2026-01-30T01:04:11.980Z","dependency_job_id":null,"html_url":"https://github.com/prime-run/togo","commit_stats":null,"previous_names":["ashkansamadiyan/to-go","ashkansamadiyan/togo","prime-run/togo"],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/prime-run/togo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prime-run%2Ftogo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prime-run%2Ftogo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prime-run%2Ftogo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prime-run%2Ftogo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/prime-run","download_url":"https://codeload.github.com/prime-run/togo/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prime-run%2Ftogo/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30414330,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-12T00:40:14.898Z","status":"online","status_checked_at":"2026-03-12T02:00:07.260Z","response_time":114,"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":["go","productivity","terminal-tool","todo-app","tui"],"created_at":"2025-04-11T03:02:05.116Z","updated_at":"2026-03-12T03:33:00.488Z","avatar_url":"https://github.com/prime-run.png","language":"Go","funding_links":[],"categories":["\u003ca name=\"todo-manager\"\u003e\u003c/a\u003eTodo managers","Applications"],"sub_categories":["Productivity and Organization"],"readme":"\u003c!-- \u003cdiv align=\"center\"\u003e --\u003e\n  \u003c!-- \u003ca href=\"https://github.com/prime-run/togo\"\u003e --\u003e\n  \u003c!--   \u003cimg src=\"https://github.com/SenaThenu/readme-forge/blob/main/src/assets/logo.svg?raw=true\" alt=\"Repo Logo\" height=\"100\"\u003e --\u003e\n  \u003c!-- \u003c/a\u003e --\u003e\n\u003c!-- \u003c/div\u003e --\u003e\n\n# Togo\n\ntogo is a command line task/todo management utility designed to be simple, fast, and easy to use.\n\n\u003cdiv align=\"center\"\u003e\n\u003cp align=\"center\"\u003e  \n  \u003cimg src=\"https://github.com/user-attachments/assets/ebc01ece-9a64-4812-b96c-f851dcad099b\"\n  alt=\"main-togo-screen-shot\"\n  width=\"633\" height=\"353\"\u003e\n\u003c/p\u003e\n\u003c/div\u003e\n\n- [Features](#features)\n- [Installation](#installation)\n  - [Arch Linux](#arch-linux)\n  - [Pre-built Binaries (Recommended)](#pre-built-binaries-recommended)\n  - [Go CLI](#go-cli)\n  - [Build from Source](#build-from-source)\n- [Usage](#usage)\n  - [1. Interactive Mode](#1-interactive-mode)\n  - [2. Command-Line Operations](#2-command-line-operations)\n    - [a) Direct selection by partial name](#a-direct-selection-by-partial-name)\n    - [b) Interactive selection list](#b-interactive-selection-list)\n    - [c) Shell completion integration](#c-shell-completion-integration)\n  - [Available Commands](#available-commands)\n- [Features in Depth](#features-in-depth)\n  - [Shell Completion](#shell-completion)\n\n---\n\n## Features\n\n- **CLI \u0026 TUI Interfaces**: A CLI for single-task operations and an interactive TUI for bulk operations and list view.\n- **Vim Keybinds**: A handful of Vim actions are built into the TUI (more will be added soon).\n- **Fuzzy Search \u0026 Filtering**: Find tasks quickly with partial name matching.\n- **Tab Completion**: Shell completion with fuzzy matching support built into the completion script.\n- **Project/Global Sources**: Load/save from the closest `.togo` file in the project tree, with a global fallback. Force with `--source project|global`.\n\n\n## Installation\n\n### Arch Linux\n\n`togo` is available on the [Arch User Repository (AUR)](https://aur.archlinux.org/packages/togo-bin)\n\n```bash\nparu -S togo-bin\n```\n\n### Pre-built Binaries (Recommended)\n\nDownload the latest pre-built binaries from the [Releases](https://github.com/prime-run/togo/releases) page.\n\n\u003e [!NOTE]\n\u003e Don't forget to set the `PATH` environment variable.\n\n```bash\nexport PATH=\"$HOME/.local/bin:$PATH\"\n```\n\n### Go CLI\n\n```bash\ngo install github.com/prime-run/togo@latest\n```\n\n### Build from Source\n\n```bash\n# Clone the repository\ngit clone https://github.com/prime-run/togo.git\ncd togo\nmake\n# And follow the prompts\n```\n\nAll `make` installation methods should set up shell completion out of the box.\nIn case your shell isn't detected, you can run `togo completion --help`.\n\n## Usage\n\nTo add a task:\n\n```bash\ntogo add \"Task description\"\n# or without quotes, it's treated as stdin!\ntogo add Call the client about project scope\n```\n\n### Storage: project vs global\n\nTogo tasks can be loaded/saved in 2 levels:\n\n- **project** (default): Uses a `todos.json` file in project directory. Togo searches upward through parent directories to find the nearest `todos.json` file, creating a hierarchical task structure. If no project file is found, it falls back to the global storage.\n- **global**: Reads `personal` task file under `~/.config/togo/todos.json`.\n\nControl the storage location with the `--source` flag:\n\n```bash\n# project (default)\ntogo list\ntogo add \"Write docs\" -s project\n\n# force global\ntogo list --source global\n```\n\nInitialize project-local storage in current working directory:\n\n```bash\ntogo init   # initializes todos.json file in the current directory (project level)\n```\n\nIn the TUI, the header shows the active source as `source: project` or `source: global`.\n\n### Managing Tasks\n\nTogo provides two primary modes of operation:\n\n#### 1. Interactive Mode (TUI)\n\nThe TUI allows managing todos visually and allows for bulk actions:\n\n```bash\ntogo\n# or\ntogo list           # Active todos only\ntogo list --all     # All todos\ntogo list --archived # Archived todos only\n```\n\n#### 2. Command-Line Operations\n\nTogo offers flexible command syntax with three usage patterns:\n\n\u003e All commands accept the persistent `--source|-s` flag: `project` (default) or `global`.\n\n##### a) Direct selection by partial name\n\n```bash\ntogo toggle meeting\n# force using global source\ntogo toggle meeting --source global\n```\n\nIf only one task contains \"meeting,\" it executes immediately—no selection needed. If multiple tasks match (e.g., \"team meeting\" and \"client meeting\"), Togo automatically opens the selection list so you can choose the one you meant.\n\n##### b) Interactive selection list\n\n```bash\ntogo toggle\n# against project-local source explicitly\ntogo toggle -s project\n```\n\nOpens a selection list where you can choose from available tasks:\n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"https://github.com/user-attachments/assets/aa0c3005-af4c-4f2e-bf4c-df6681050ad6\"\n  alt=\"main-togo-screen-shot\"\n  width=\"738\"\u003e\n  \n\u003c/p\u003e\n\nAs you type, Togo searches through tasks and filters the results.\n\n##### c) Shell completion integration\n\nIf you've configured shell completion (see below), you can use tab-completion:\n\n```bash\ntogo toggle [TAB]\n```\n\nYour shell will present available tasks. Type a few letters to filter by name:\n\n```bash\ntogo toggle me[TAB]\n```\n\nThe shell will show only tasks containing \"me\"—perfect for quick selection.\n\n`--source` also supports completion to `project` and `global`.\n\n\u003e [!TIP]\n\u003e This really speeds up task management since fuzzy matching is supported by the completion script.\n\u003e For example, to mark the task `Auto ***snapshot*** /boot ...` as `completed`,\n\u003e just running `togo toggle snap` would toggle it. If `snap` matches more than one task,\n\u003e you'll be prompted to select from the matches.\n\n### Available Commands\n\n- `togo add \"Task description\"` - Add a new task\n- `togo toggle [task]` - Toggle completion status\n- `togo archive [task]` - Archive a completed task\n- `togo unarchive [task]` - Restore an archived task\n- `togo delete [task]` - Remove a task permanently\n- `togo list [flags]` - View tasks (`--all`, `--archived`)\n- `togo init` - Create an empty `todos.json` file in the current directory (enable project-local storage)\n\nNotes:\n\n- All commands accept `--source|-s {project|global}` to control where tasks are read/written.\n\n### Features in Depth\n\n### Shell Completion\n\nEnabling shell completion allows for tab-completion of commands and task names, improving efficiency.\n\n#### Zsh\n\n```bash\n# 1. Create completion directory\nmkdir -p ~/.zsh/completion\necho \"fpath=(~/.zsh/completion \\$fpath)\" \u003e\u003e ~/.zshrc\n\n# 2. Enable completions\necho \"autoload -Uz compinit \u0026\u0026 compinit\" \u003e\u003e ~/.zshrc\n\n# 3. Apply Togo completion\ntogo completion zsh \u003e ~/.zsh/completion/_togo\nsource ~/.zshrc\n```\n\n#### Bash\n\n```bash\n# 1. Ensure completion is sourced\necho \"[ -r /usr/share/bash-completion/bash_completion ] \u0026\u0026 . /usr/share/bash-completion/bash_completion\" \u003e\u003e ~/.bashrc\nsource ~/.bashrc\n\n# 2. Install Togo completion\ntogo completion bash \u003e ~/.bash_completion\nsource ~/.bash_completion\n```\n\n#### Fish\n\n```bash\nmkdir -p ~/.config/fish/completions\ntogo completion fish \u003e ~/.config/fish/completions/togo.fish\n```\n\n\u003e Storage locations:\n\u003e\n\u003e - Project: nearest `./todos.json` file (JSON).\n\u003e - Global: `$XDG_CONFIG_HOME/togo/todos.json` (or `$HOME/.config/togo/todos.json`).\n\n## Built With 🔧\n\n[![Go](https://img.shields.io/badge/Go-00ADD8?style=for-the-badge\u0026logo=go\u0026logoColor=white)](https://go.dev/)\n[![Cobra](https://img.shields.io/badge/Cobra-00ADD8?style=for-the-badge\u0026logo=go\u0026logoColor=white)](https://github.com/spf13/cobra)\n[![Bubble Tea](https://img.shields.io/badge/Bubble%20Tea-FF75B7?style=for-the-badge\u0026logo=go\u0026logoColor=white)](https://github.com/charmbracelet/bubbletea)\n[![Lip Gloss](https://img.shields.io/badge/Lip%20Gloss-FFABE7?style=for-the-badge\u0026logo=go\u0026logoColor=white)](https://github.com/charmbracelet/lipgloss)\n\n## License\n\nThis project is licensed under MIT - see the [LICENSE](LICENSE) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprime-run%2Ftogo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprime-run%2Ftogo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprime-run%2Ftogo/lists"}