AIM is a release-ready operating system for agentic software delivery.
It gives AI work a real Agile shape instead of a chaotic prompt spiral.
One explicit loop:
PO -> TDO -> Dev -> Reviewer -> TDO -> PO
That means:
- the Epic is owned by
PO - the next single Done Increment is owned by
TDO - implementation stays scoped
- review happens before acceptance
- the work is always judged as end-to-end user value, not random partial progress
If you want agentic magic without agentic chaos, this is the point.
Without a method, agentic development usually breaks in predictable ways:
- the agent jumps between theories without proving anything
- scope expands silently
- "progress" becomes a pile of partial edits instead of a shippable slice
- no one knows what the next approval actually means
AIM fixes that with explicit roles, explicit gates, and explicit ownership.
AIM 1.3 is the release where AIM stops feeling like a clever prompt pattern and starts feeling like a real operating model.
The core loop stays stable. The runtime becomes explicit.
.aim/is the official repo-local AIM workspace.aim/state.jsonis the durable checkpoint for start, resume, and gate tracking- Codex and Copilot can share one conceptual runtime contract
- adapter limitations are treated as limitations, not silent method drift
- Controlled parallelism lets AIM use bounded subagents for faster analysis, discovery and verification when the runtime and repo policy allow it, while keeping shared state, gate progression and acceptance centrally owned.
This release makes AIM much easier to trust, explain, and adopt:
- you can resume real work instead of re-explaining context every session
- you can inspect runtime state instead of guessing what the agent thinks is happening
- you can use Codex and Copilot with one shared conceptual model
- you can delegate bounded work without losing ownership of gates or acceptance
- you can install AIM into a real repo without turning the repo into an experiment
- Faster where it helps: AIM can use bounded subagents for analysis, discovery and verification in complex repos, while still keeping one central runtime state and one clear decision path.
Before AIM 1.3, the method was strong but the runtime story was too implicit.
With AIM 1.3:
.aim/is the official repo-local AIM workspace.aim/state.jsonis the durable checkpoint for start, resume, and gate tracking- startup, resume, validation, and fallback behavior are documented
- repo-aware policy is a first-class part of the method
- platform adapters are explicit instead of hidden
That is the big upgrade: AIM 1.3 makes agentic delivery operational, not mystical.
Choose the path that matches your situation:
- Starting a new repository with AIM
- Installing AIM into an existing repository
Use this path when the repository does not exist yet, or when you want to bootstrap a new repo around AIM from day one.
Required:
AGENTS.mddocs/workflow/agile-iteration-method.md
Recommended:
docs/workflow/quick-start-aim-1.3.mddocs/workflow/install-aim-1.3.mddocs/workflow/migrate-aim-1.2-to-1.3.mddocs/workflow/troubleshoot-aim-1.3.mdexamples/epics/example-epic.md
If you want GitHub Copilot support too, also copy:
.github/agents/aim.agent.md.github/agents/aim-planner.agent.md.github/agents/aim-builder.agent.md.github/agents/aim-reviewer.agent.md.github/prompts/start-aim.prompt.md.github/prompts/install-aim.prompt.md.github/prompts/help-aim.prompt.md.github/prompts/upgrade-aim-1.2-to-1.3.prompt.md
Add this to .gitignore if it is not already there:
/.aim.aim/ is runtime state, not release material. AIM creates it automatically on first valid start.
Before the first run, make sure your repo profile is real, not generic. At minimum, define:
- stack and runtime assumptions
- verification and testing strategy
- deployment and migration constraints
- role-specific constraints for
PO,TDO,Dev, andReviewer
This is what makes AIM behave like your repo instead of a generic chatbot.
In Codex:
[$agile-iteration-method](...) Start new AIM loop with:
EPIC: <desired user outcome>
Mode: Strict
In Copilot:
/aim start "EPIC: <desired user outcome>"
Mode: Strict
If you want automatic continuation between increments, use Mode: Auto instead of Mode: Strict.
Use this path when the product, codebase, tests, and CI already exist and you want AIM to become the operating model on top of that repo.
You do not need to restructure the application first.
Add the AIM files:
AGENTS.mddocs/workflow/agile-iteration-method.md
Add Copilot packaging too if needed:
.github/agents/.github/prompts/
For an existing repo, this is the most important step.
Update AGENTS.md so it reflects reality:
- what stack the repo uses
- how verification should be done
- what commands are safe
- what must never be done without escalation
- whether parallel or delegated work is allowed
If these rules stay vague, AIM will stay vague.
AIM does not replace your tests, CI, review standards, or release process.
It adds:
- role discipline
- increment discipline
- runtime state and resume behavior
- better approval semantics
Bad start:
Fix file X, then maybe refactor Y, then add tests
Good start:
EPIC: Make the onboarding flow understandable for first-time users without breaking existing signup behavior
Mode: Strict
PO owns the outcome. TDO owns the next single Done Increment.
If someone lands on this repo and wants the shortest possible path, this is it:
- Copy
AGENTS.mdanddocs/workflow/agile-iteration-method.mdinto the target repo. - Add
/.aimto.gitignore. - If using Copilot, copy
.github/agents/and.github/prompts/. - Open the repo in Codex or Copilot.
- Start with
EPIC: <desired outcome>andMode: StrictorMode: Auto.
Most AI coding workflows optimize for speed of output.
AIM optimizes for:
- correctness you can explain
- scope you can control
- increments you can actually ship
- approvals that mean something
- runtime state you can inspect
That is why AIM works better on real software delivery than "just ask the model again."
On first valid start, AIM creates .aim/ if it does not already exist.
Important runtime artifacts:
.aim/epic.md.aim/state.json.aim/increments/.aim/decisions/.aim/reviews/
The main AIM thread owns gate progression and .aim/state.json.
Subagents, when allowed, must stay bounded and must not take over shared state or acceptance decisions.
For each Done Increment, AIM runs this sequence:
POframes the EpicTDOproposes the next single Done IncrementDevimplements that incrementReviewerchecks correctness, risk, and readinessTDOpresents the increment as a demo/test checkpointPOdecides whether the Epic continues or closes
The meaningful approval points are:
- Gate A: Epic framing
- Gate B: next Done Increment
- Gate E: accept the increment or request adjustment
Mode: StrictPauses at the meaningful hard gates.Mode: AutoContinues through increments automatically unless an escalation condition is hit.
Use Strict by default for new teams or high-trust-sensitive work.
Use Auto when the Epic is clear and you want faster throughput with the same gate logic.
AIM 1.3 explicitly separates:
- AIM core
- AIM runtime
- repo-aware policy
- platform adapters
That matters because Codex and Copilot do not always expose the same runtime capabilities.
The rule is simple:
- same method where parity is possible
- explicit fallback where parity is not possible
- no silent redefinition of gates, ownership, or acceptance
If you are evaluating AIM:
README.mddocs/workflow/quick-start-aim-1.3.mddocs/workflow/agile-iteration-method.mddocs/workflow/install-aim-1.3.md
If you are installing AIM in a repo:
docs/workflow/install-aim-1.3.mdAGENTS.mddocs/workflow/quick-start-aim-1.3.mddocs/workflow/troubleshoot-aim-1.3.md
If you are upgrading from an older AIM version:
docs/workflow/migrate-aim-1.2-to-1.3.mddocs/workflow/release-aim-1.3.md
AGENTS.mdOperational AIM rules for Codex-style execution.docs/workflow/agile-iteration-method.mdThe method and runtime explanation.docs/workflow/quick-start-aim-1.3.mdThe shortest correct start path.docs/workflow/install-aim-1.3.mdMinimum viable installation guidance.docs/workflow/copilot-layer.mdOptional GitHub Copilot packaging and workflow layer.docs/workflow/migrate-aim-1.2-to-1.3.mdUpgrade guidance for existing AIM repos.docs/workflow/troubleshoot-aim-1.3.mdStartup, resume, validator, and fallback troubleshooting.docs/workflow/example-aim-1.3-reference-run.mdConcrete example of an AIM 1.3 run.examples/epics/example-epic.mdExample Epic input.
Use AIM to improve AIM.
See CONTRIBUTING.md for consistency rules, scope rules, and documentation expectations.
Documentation in this repository is licensed under CC BY 4.0.
Created by Jonas Eriksson.
Contributors: