A CLI task manager for coding agents

Start each agent session with the next task in view.

Ajiya keeps the project plan in your repo while your agent works through one task at a time. When a session ends, the next can pick up from the same status and dependencies. Use the local dashboard to see what is ready, blocked or waiting for you.

See how it works
npm install -g @ajiya/cli

Then run ajiya init in your project. More options

next session · ready to continue
$ 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
ajiya/course-catalog.md ajiya.toml
# 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 |
ajiya /a·jee·ya/ · Hausa Your project plan stays with the code, ready for the next agent session.
What changes

Keep a handoff from becoming a restart.

Resume from the shared plan

The next session can read the project's tasks, status and dependencies. You do not have to rebuild the plan from an old chat.

See what is holding up launch

Follow the tasks behind a launch goal. Ajiya shows blocked work and tasks that need a person.

Check completed work

Link tickets to commits and, if you choose, require passing tests. Your team can review the evidence behind a completed task.

How it works

Turn a project goal into work each agent can continue.

01
Start with the project plan

Use the CLI to set up a plan in your repo. The project has a clear home from the first session.

02
Give each session a next task

Agents use CLI commands to read and update the plan. The next session or another agent can continue from the saved project state.

03
See what needs your attention

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.

04
Review completed changes

Connect tasks to commits and optionally require tests. You can check what changed before you mark the work done.

One plan for the app, CLI and agents.

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
Commands

Use the CLI to keep project work moving.

ajiya initSets up the manager, finds apps and plans, installs hooks and the agent kit
ajiya app addAdds an app or shared library from its folder
ajiya phase addCreates a phase and records its goal
ajiya ticket addAssigns an ID, app, dependencies and a done condition
ajiya ticket startStarts a ticket so work is tracked
ajiya ticket listLists tickets, with filters
ajiya ticket doneCloses a ticket with commit evidence; can run tests first
ajiya statusShows a short summary to start each session
ajiya nextLists work that can start, with launch work first
ajiya launch setMarks a target and its dependencies as launch work
ajiya checkChecks dependency loops, evidence, files and commits
ajiya serveServes the task manager dashboard on 127.0.0.1
ajiya mcpRuns an MCP server so agents get Ajiya tools
ajiya mcp installRegisters Ajiya with Claude Code, Codex and Cursor
ajiya importImports work from TODO files, GitHub issues or an older WBS
The rules

Check the evidence before you call work done.

A ticket needs commit evidence

A ticket closes only against a commit that names it. Add --test to require passing tests.

Keep each commit focused

A Git hook checks each commit. CI checks again if the hook did not run. Merges, reverts and chores are exempt.

Agents update work through commands

The CLI writes the task files in one format. ajiya check reports manual edits that do not match it.

Launch work follows dependencies

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.

Keep the project in your repo

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.

Use your existing tools

Ajiya works with Claude Code and Codex, and with Python, PHP, Go or JavaScript projects.

Get started

Review the plan before your agent starts work.

Start a new project
$ ajiya init
Project name? Learning Platform
Ticket prefix? LP
✓ ajiya.toml, hooks, agent kit
  1. Describe the project goal to your agent.
  2. Your agent creates phases, tasks and dependencies with CLI commands.
  3. Review launch work and tasks that need a person.
  4. Approve the plan. The agent can start with a defined task.
Bring in an existing project
$ ajiya init
Apps:  api (composer.json)  web (package.json)
Plans: TODO.md · GitHub issues
✓ imported as draft tickets
  1. Import existing tasks without changing their wording.
  2. Group them into phases and connect dependencies.
  3. Let your agent record completed work and identify missing tasks.
  4. Review the plan and choose what should start next.
Or tell your agent
New project
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.
Existing project
Set up Ajiya in this repository and bring in the work we already track. If the ajiya command is missing, install it with npm install -g @ajiya/cli (or the install script from https://github.com/AliyuYahaya/Ajiya). Run ajiya init --yes and ajiya hook install, import our GitHub issues with ajiya import github (or our TODO.md with ajiya import todo TODO.md), then organise them as .ajiya/guide/setup.md describes and hand over a summary. List duplicates for me instead of dropping anything.

Works in Claude Code, Codex, Cursor and other coding agents — terminal, IDE or desktop app. After setup, agents pick Ajiya up from the repository on their own.

The dashboard

See what can move and what is blocked.

The dashboard shows ready work, launch dependencies and decisions waiting for you. This sample LMS project shows how one plan can guide a release.

Learning Platformsample LMS project
Search ticketsStatus: allLaunch workNeeds review
Work areasSample project plan
Course catalogAPI · course discovery
EnrollmentAPI · learner access
Course playerWeb · lessons
AssessmentsAPI · quizzes
Instructor toolsWeb · course authoring
Progress trackingAPI · learner progress
NotificationsIntegrations
Production readinessLaunch work
Roadmap

See the path to launch. Keep the plan when priorities change.

v0.1 and v0.2 are released. v0.2.0 adds four ways to install: a script, Windows PowerShell, npm and Homebrew. v0.2.1 polish is in progress.

v0.1 · complete

Keep the project plan and handoff in your repo

All 37 v0.1 milestone tickets are complete. The CLI, local dashboard, project setup, ordered milestones, imports, checks and release build are in place.

v0.2 · released

Connect agents and simplify installation

All 74 v0.2 milestone tickets are complete. Shipped: ajiya status, ajiya ticket list, the MCP server (ajiya mcp), ajiya mcp install for Claude Code, Codex and Cursor, the install script and PowerShell script, npm packages, a Homebrew cask, signed and notarised macOS binaries and the Claude Code plugin. Now in progress: v0.2.1, nine small polish tickets.

v0.3 · planned

Change direction without losing the work behind you

Record technical decisions with the plan. When one changes, Ajiya will find tickets that may be affected. An agent assesses the impact, then a person approves the update. Replaced work keeps its history and evidence.

Ajiya tracks its own release work.

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.