Ajiya keeps the plan, progress and blockers with your project. Use it alongside the coding agent you already run from your terminal. When one session ends, the next can read the same project state and continue the work. Review what is ready, what is blocked and what needs your attention in the local dashboard.
$ 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 |
The next session can read the project's tasks, status and dependencies. You do not have to rebuild the plan from an old chat.
Follow the tasks behind a launch goal. Ajiya shows blocked work and tasks that need a person.
Link tickets to commits and, if you choose, require passing tests. Your team can review the evidence behind a completed task.
Use the CLI to set up a plan in your repo. The project has a clear home from the first session.
Agents use CLI commands to read and update the plan. The next session or another agent can continue from the saved project state.
The local dashboard shows ready work, blockers and decisions that need you. You do not need to read every agent transcript to check the project.
Connect tasks to commits and optionally require tests. You can check what changed before you mark the work done.
Ajiya stores phases, tickets, dependencies and completion criteria with your code. The CLI and local dashboard use the same project state. Each session can see where the work stands.
learning-platform/ ├── ajiya.toml config · apps · launch ├── ajiya/ │ ├── accounts.md phase │ ├── course-catalog.md phase │ ├── production.md phase · launch target │ └── PROGRESS.md generated ├── apps/api/ app └── apps/web/ app
ajiya initSets up the manager, finds apps and plans, installs hooks and the agent kitajiya app addAdds an app or shared library from its folderajiya phase addCreates a phase and records its goalajiya ticket addAssigns an ID, app, dependencies and a done conditionajiya ticket doneCloses a ticket with commit evidence; can run tests firstajiya nextLists work that can start, with launch work firstajiya launch setMarks a target and its dependencies as launch workajiya checkChecks dependency loops, evidence, files and commitsajiya serveServes the task manager dashboard on 127.0.0.1ajiya importImports work from TODO files, GitHub issues or an older WBSA ticket closes only against a commit that names it. Add --test to require passing tests.
A Git hook checks each commit. CI checks again if the hook did not run. Merges, reverts and chores are exempt.
The CLI writes the task files in one format. ajiya check reports manual edits that do not match it.
Set a launch target, and Ajiya includes its dependencies. If Course Player depends on Enrollment, and Enrollment depends on Accounts, all three count as launch work.
Ajiya runs locally and uses the coding agent you choose. Your agent handles its own model connection. Ajiya keeps the project plan in your repo.
Ajiya works with Claude Code and Codex, and with Python, PHP, Go or JavaScript projects.
$ ajiya init Project name? Learning Platform Ticket prefix? LP ✓ ajiya.toml, hooks, agent kit
$ ajiya init Apps: api (composer.json) web (package.json) Plans: TODO.md · GitHub issues ✓ imported as draft tickets
The dashboard shows ready work, launch dependencies and decisions waiting for you. This sample LMS project shows how one plan can guide a release.
We use Ajiya to plan the release, connect changes to commits and review what remains. The same project view we are building for you helps us see our next task.