goal 1.0.0 copy "goal: ^1.0.0" to clipboard
goal: ^1.0.0 copied to clipboard

AI-first goal ledger CLI. A tiny, idempotent, type-safe goal tracker for AI agents and humans.

[goal logo]

goal #

Track goals and tasks from the command line. Built for AI agents, and for the people who work with them.

简体中文 | English

pub version pub points ci MIT

Install #

dart pub global activate goal

Requires Dart 3.4 or later.

Quick start #

$ goal init
ok ledger at .goal

$ goal add "Fix login crash on iOS" -p1 --round R12
ok #1 created (todo) round=R12 Fix login crash on iOS

$ goal set 1 wip --agent agent_a
ok 1 todo -> wip +agent=agent_a

$ goal set 1 done "fixed login.dart; flutter test green"
ok 1 wip -> done +note="fixed login.dart; flutter test green"

$ goal add "Add offline mode" -p2
ok #2 created (todo) Add offline mode

$ goal ready
2  P2  todo  5m  -  Add offline mode
-- 1 ready

Commands #

command what it does
goal init create a ledger in ./.goal (once per project)
goal add <title> add a ticket; flags: -p0..-p3 --deps a,b --round R -m <text>
goal set <id> [status] [note...] update a ticket — change status, add a note, set --agent, --deps, --round, -pN. No arguments = heartbeat.
goal list [filters] list tickets. Filter by bare words: status, round, priority, #id, or title text — combined freely (goal list wip R12). The same filters accept flags: -pN --round <R> --id <id>
goal ready todo tickets whose dependencies are all done, highest priority first
goal show <id> everything about one ticket
goal render [-o file] [--json] export a readable markdown view, or JSON
goal archive [--dry-run] move done tickets out of the active ledger; --dry-run previews what would move

Statuses: todo wip done blocked failed parked.

Notes are timestamped and append-only — use them for settlement details: files changed, verification commands, evidence links.

$ goal set 3 done "files: a.dart, b.dart; verify: dart test; evidence: docs/3.png"

Long notes can be piped in to avoid quoting trouble: goal set 3 done -m - reads the note from stdin.

Multiline and special characters are welcome everywhere: titles, details and notes are stored verbatim — show is the verbatim view — while receipts, list and render always print structurally safe single-line entries. Bare words after goal add join into one title, so an unquoted title still succeeds on the first try, and every receipt states the new values (+agent=… +deps=1,2 +note="…") so no follow-up show is needed.

Dependencies #

A ticket with --deps waits until every dependency is done (or archived) before it shows up in goal ready. Cycles are rejected outright.

$ goal add "Re-review fix" --deps 3
$ goal ready          # empty until ticket 3 is done

Where is my data? #

Everything lives in ./.goal/ next to your project. Add .goal/ to your .gitignore. Point GOAL_HOME elsewhere if you want it out of the repo.

Done tickets are moved to the archive by goal archive; the active ledger stays small. goal render gives you a markdown or JSON snapshot at any time.

License #

MIT

1
likes
0
points
231
downloads

Publisher

verified publisherfluttercandies.com

Weekly Downloads

AI-first goal ledger CLI. A tiny, idempotent, type-safe goal tracker for AI agents and humans.

Repository (GitHub)
View/report issues

Topics

#cli #tools #ai #storage #productivity

License

unknown (license)

Dependencies

hive_ce

More

Packages that depend on goal