Start each agent session on the next ticket.
Ajiya keeps the project plan in your repo while your agent works through one ticket at a time. When a session ends, the next one picks up from the same status and dependencies. The local dashboard shows what is ready, blocked or waiting for you.
npm install -g @ajiya/cliThen run ajiya init in your project. More options
Works with Claude Code, Codex and Cursor.
See what can move and what is blocked.
Run ajiya serve to open the local dashboard. It shows ready work, launch dependencies and decisions waiting for you. This sample project is a learning platform.
Next up
Next up
Tickets that can start now, in the order ajiya next gives: earliest milestone first, then what unblocks most.
Milestone launch 1
Not in a milestone 2
Board
Board
Every ticket by where it stands.
Can start now
3In progress
1Waiting
3Needs a human
0Done
2Dependencies
Dependencies
What waits on what. An arrow points from a dependency to what needs it; columns go left to right by depth.
Checks
Checks
What ajiya check reports. Fix errors first.
| Level | Code | Where | Problem | Fix |
|---|---|---|---|---|
| error | E002 | ajiya/course-catalog.md:9 | file is not in the form ajiya writes (edited by hand?) | restore it with git checkout -- ajiya/course-catalog.md and make the change with ajiya commands |
| warning | W010 | ajiya.toml | 2 open tickets in no milestone: LP-0011 LP-0012 | make a milestone's targets depend on them, or add a milestone for the later work |
| warning | W007 | ajiya.toml | nothing required for launch mentions deployment or hosting | add a ticket for deployment or hosting that the launch target depends on |
$ ajiya ticket done LP-0008 ✗ ticket done LP-0008: no commit since LP-0008 was started names it
$ ajiya next LP-0007 api Add course catalog endpoint launch task · unblocks 2 $ ajiya ticket start LP-0007 ■ LP-0007 in progress $ git commit -m "Add course catalog endpoint" \ -m "Ajiya: LP-0007" ✓ 1 ticket referenced $ ajiya ticket done LP-0007 --test ✓ Done · 4f2a91c · tests passed
# Course catalog · phase Goal: learners can find and enroll in a course | ID | App | Ticket | Depends | Status | |---------|-----|----------------------|---------|-----------| | LP-0007 | api | Course catalog API | none | ■ Done | | LP-0008 | api | Learner enrollment | LP-0007 | ■ Started | | LP-0009 | web | Course player | LP-0008 | ■ Pending |
Hand off work without a restart.
The next session reads the tickets, status and dependencies. You do not rebuild the plan from an old chat.
Ajiya shows blocked tickets and tickets that need a person.
Tickets link to commits. Add --test to require passing tests.
The same four steps each session.
Pick a ticket that can start.
Start it. Ajiya tracks the work.
Commit with the Ajiya trailer.
Close the ticket with commit evidence.
Check the evidence before you call work done.
- A ticket needs commit evidence. It closes only against a commit that names it.
- Each commit names its tickets. A Git hook checks it, and CI checks again.
- Agents change the plan through commands.
ajiya checkreports manual edits.
Review the plan before your agent starts work.
Set up Ajiya in this repository and plan: <what you want to build>. If the ajiya command is missing, install it with npm install -g @ajiya/cli (or the install script from https://github.com/AliyuYahaya/Ajiya). Then run ajiya init --yes and ajiya hook install, and follow .ajiya/guide/setup.md: ask me at most three questions, then hand over a summary. Don't start building until I say so.
Try Ajiya in your next agent session.
Then run ajiya init in your project. The docs cover Homebrew, the install script, Windows and other options.
npm install -g @ajiya/cli