mirror of
https://github.com/google-gemini/gemini-cli.git
synced 2026-04-21 18:44:30 -07:00
62 lines
2.5 KiB
Markdown
62 lines
2.5 KiB
Markdown
|
|
# Tracker tools (`tracker_*`)
|
||
|
|
|
||
|
|
<!-- prettier-ignore -->
|
||
|
|
> [!NOTE]
|
||
|
|
> This is an experimental feature currently under active development.
|
||
|
|
|
||
|
|
The `tracker_*` tools allow the Gemini agent to maintain an internal, persistent
|
||
|
|
graph of tasks and dependencies for multi-step requests. This suite of tools
|
||
|
|
provides a more robust and granular way to manage execution plans than the
|
||
|
|
legacy `write_todos` tool.
|
||
|
|
|
||
|
|
## Technical reference
|
||
|
|
|
||
|
|
The agent uses these tools to manage its execution plan, decompose complex goals
|
||
|
|
into actionable sub-tasks, and provide real-time progress updates to the CLI
|
||
|
|
interface. The task state is stored in the `.gemini/tmp/tracker/<session-id>`
|
||
|
|
directory, allowing the agent to manage its plan for the current session.
|
||
|
|
|
||
|
|
### Available Tools
|
||
|
|
|
||
|
|
- `tracker_create_task`: Creates a new task in the tracker. You can specify a
|
||
|
|
title, description, and task type (`epic`, `task`, `bug`).
|
||
|
|
- `tracker_update_task`: Updates an existing task's status (`open`,
|
||
|
|
`in_progress`, `blocked`, `closed`), description, or dependencies.
|
||
|
|
- `tracker_get_task`: Retrieves the full details of a specific task by its
|
||
|
|
6-character hex ID.
|
||
|
|
- `tracker_list_tasks`: Lists tasks in the tracker, optionally filtered by
|
||
|
|
status, type, or parent ID.
|
||
|
|
- `tracker_add_dependency`: Adds a dependency between two tasks, ensuring
|
||
|
|
topological execution.
|
||
|
|
- `tracker_visualize`: Renders an ASCII tree visualization of the current task
|
||
|
|
graph.
|
||
|
|
|
||
|
|
## Technical behavior
|
||
|
|
|
||
|
|
- **Interface:** Updates the progress indicator and task tree above the CLI
|
||
|
|
input prompt.
|
||
|
|
- **Persistence:** Task state is saved automatically to the
|
||
|
|
`.gemini/tmp/tracker/<session-id>` directory. Task states are session-specific
|
||
|
|
and do not persist across different sessions.
|
||
|
|
- **Dependencies:** Tasks can depend on other tasks, forming a directed acyclic
|
||
|
|
graph (DAG). The agent must resolve dependencies before starting blocked
|
||
|
|
tasks.
|
||
|
|
- **Interaction:** Users can view the current state of the tracker by asking the
|
||
|
|
agent to visualize it, or by running `gemini-cli` commands if implemented.
|
||
|
|
|
||
|
|
## Use cases
|
||
|
|
|
||
|
|
- Coordinating multi-file refactoring projects.
|
||
|
|
- Breaking down a mission into a hierarchy of epics and tasks for better
|
||
|
|
visibility.
|
||
|
|
- Tracking bugs and feature requests directly within the context of an active
|
||
|
|
codebase.
|
||
|
|
- Providing visibility into the agent's current focus and remaining work.
|
||
|
|
|
||
|
|
## Next steps
|
||
|
|
|
||
|
|
- Follow the [Task planning tutorial](../cli/tutorials/task-planning.md) for
|
||
|
|
usage details and migration from the legacy todo list.
|
||
|
|
- Learn about [Session management](../cli/session-management.md) for context on
|
||
|
|
persistent state.
|