Kechup – a simple CLI task tracker for AI agents A developer released kechup, a command-line task tracker that stores AI agent tasks, claims, notes and history in the project folder and in git so a new agent session can read what the last one did. kechup requires Python 3.12 or newer and git, uses only the Python standard library, needs no server, database, account, network access or API key, and is installed via `pip install kechup`; it does not support Windows because it relies on `fcntl` file locks. Every kechup write is one git commit authored with the agent ID, a task closes only when its REPORT.md is committed and clean, and a plain `git revert` of finished work reopens the task and re-blocks the tasks that depend on it. kechup is a command-line task tracker for one project folder, made for AI agents and the people who run them. The problem: a new agent session does not know what the last session did. kechup keeps the tasks, claims, notes and history in the project folder and in git, so the next session can read them. In a project folder made with kechup new : kechup add task "Write the FAQ" --by alice kechup next --claim --by agent-1 echo "The FAQ is done." tasks/T1-write-the-faq/REPORT.md kechup commit tasks/T1-write-the-faq/REPORT.md -m "FAQ report" --task T1 --by agent-1 kechup done T1 --evidence tasks/T1-write-the-faq/REPORT.md --by agent-1 keche.md is the project notes file. After kechup new , kechup changes only its Work section, and every kechup write keeps that section current. kechup uses the Python standard library and the git command. It has no other dependencies. Agents forget. kechup puts the project state in the project folder, where every agent can read it: - keche.md has a Work section that shows what is doing, blocked, todo, and done. - .kechup/tasks.json holds the tasks. - git holds the history. Every kechup write is one git commit, with the agent ID as the author. keche.md is a plain Markdown file with notes about the project: the goal, the decisions, and the open questions. An agent reads it first when it starts work. kechup changes only the Work section. You write the rest. kechup also watches git. If someone reverts accepted work with a plain git revert , kechup shows the task as reverted, and the tasks that depend on it become blocked again. - Only Python and git. kechup needs no server, no database, no account, no network access and no API key. It runs on a locked-down server and in a sandbox. - git is the only record. kechup keeps no second copy of the state. Every claim, note and close is one git commit, with the agent ID as the author. Use git log , git blame and git revert to review agent work. - Done needs evidence. A task closes only when its REPORT.md is committed and clean. A status change alone does not close a task. - kechup follows git. A plain git revert of finished work reopens the task. The tasks that wait for it become blocked again. - Safe for many agents. A lock stops two agents from claiming the same task. kechup next gives the next task with no open blockers. - Small footprint. Setup adds .kechup/ , the Work section of keche.md , a .gitignore if the project has none, and one git hook. - Made for agents. Every command accepts --json and returns stable error codes. kechup help prints the full agent guide. kechup is a good choice when you want agent work to stay in plain git, with a clear trail and a clear close. Use a different tool if you need a visual board, sync between machines, or tasks that an AI writes for you. - Python 3.12 or newer - git - Linux or macOS Windows is not supported. kechup uses fcntl file locks, and Windows does not have fcntl . pip install kechup kechup --help Or install it as an isolated command with pipx https://pipx.pypa.io/ : pipx install kechup kechup --help For development, install from a clone: git clone https://github.com/erogol/kechup cd kechup pip install -e . kechup does nothing until your agent knows about it. Use one of these two methods. Instruction file. Add these lines to the instruction file of your agent, for example AGENTS.md or CLAUDE.md : Tasks This project uses kechup for tasks. Run kechup help once before you start work. Pass --by