AIState is a CLI for tracking AI-assisted development context inside a repository.
It stores project state in a local .aistate/ directory so you can move between tools or sessions without rebuilding context from scratch.
AIState currently supports:
- task tracking with
init,add,done, andstatus - note logging with
log - handoff generation with
handoff - project rules with
rules add,rules list, andrules init - template-based planning with
plan
npm install -g @abhir/aistategit clone https://github.com/Abhir22/aistate
cd aistate
npm install
npm run build
node ./bin/aistate.js --helpRelease binaries are published for Windows, Linux, and macOS:
aistate-win.exeaistate-linuxaistate-macos
Example for Windows PowerShell:
Invoke-WebRequest -Uri "https://github.com/Abhir22/aistate/releases/latest/download/aistate-win.exe" -OutFile "aistate.exe"| Command | Description |
|---|---|
aistate init |
Create .aistate/ in the current project |
aistate add "task" |
Add a new task |
aistate done <id> |
Mark a task as complete |
aistate log "note" |
Append a note to .aistate/logs.md |
aistate status |
Show current task status |
aistate handoff |
Generate a handoff summary and try to copy it to the clipboard |
aistate plan "description" |
Generate a task plan from a feature description |
| Command | Description |
|---|---|
aistate rules add "rule" |
Add a project rule |
aistate rules list |
List saved rules |
aistate rules init |
Run the interactive rules setup wizard |
aistate initThis creates:
.aistate/
state.json
logs.md
context.md
counter.json
rules.md
aistate add "build auth middleware"
aistate add "write auth tests"
aistate done T1aistate log "using JWT access tokens with refresh rotation"aistate rules add "Do not change database schema without approval"
aistate rules add "Run tests before handoff"
aistate rules listOr use the wizard:
aistate rules initaistate plan "build jwt auth flow"The command:
- detects a matching template such as
auth,payment,api,database, orfrontend - previews the generated tasks
- asks for confirmation
- adds confirmed tasks to
state.json
If no keyword matches, AIState uses a generic template.
aistate handoffThe handoff includes:
- completed tasks
- pending tasks
- recent notes
- project context
- saved rules
- next task guidance
==========================================================
AIState Handoff
==========================================================
Project: my-project
Current Focus: none
Completed (1)
[T1] Define auth requirements
created 2026-05-01T10:00:00.000Z (2 hours ago)
updated 2026-05-01T10:30:00.000Z (90 minutes ago)
Pending (2)
[T2] Implement login endpoint
created 2026-05-01T10:31:00.000Z (89 minutes ago)
updated 2026-05-01T10:31:00.000Z (89 minutes ago)
[T3] Write auth integration tests
created 2026-05-01T10:32:00.000Z (88 minutes ago)
updated 2026-05-01T10:32:00.000Z (88 minutes ago)
Rules (2)
- Do not change database schema without approval
- Run tests before handoff
Next Task
Implement login endpoint
Continue from here without redoing completed work.
==========================================================
- AIState only writes inside
.aistate/. - It does not modify your application source code.
- The
focuscommand shown in older docs is not currently implemented.
npm install
npm run build
node ./bin/aistate.js --helpUseful command checks:
node ./bin/aistate.js rules --help
node ./bin/aistate.js plan --helpMIT