The execution forge — tasks, milestones, documents, Definition of Done
Project description
ike.md
The execution forge. Tasks, milestones, documents, Definition of Done.
Named for Eisenhower — the man who planned D-Day and then ran the free world. Ike didn't just plan. He executed at scale, across many agents, under time pressure, with contracts that had to be honored.
The Trilogy
ike.md is the third leg of a three-tool system for AI-driven work:
| Tool | Role | When to use |
|---|---|---|
| research.md | Decide with evidence | Before making architectural choices |
| visionlog | Record vision, goals, guardrails, ADRs | Contracts all execution must honor |
| ike.md | Execute within those contracts | Daily work: tasks, milestones, docs |
The trilogy is one loop with three stages:
research.md → visionlog → ike.md
DECIDE CONTRACT EXECUTE
↑ │
└───────────────────────────┘
execution reveals gaps
When ike.md reveals that a strategy is wrong — a task fails, a pattern repeats, a direction proves misguided — the feedback loop doesn't short-circuit back to visionlog directly. It goes all the way back to research.md:
- ike.md — execution surfaces a gap or contradiction
- research.md — earn the new answer with evidence before acting on it
- visionlog — record the decision as an ADR
- ike.md — execute the new direction
Skipping research.md means ADRs written under pressure, strategy updated on instinct, decisions that contradict each other three sessions later. The loop must complete fully to be trustworthy.
Session protocol: Read visionlog first (it tells you where the ladder points and what you must not cross). Then open ike.md and work. If execution reveals a gap in strategy, go back to research.md before updating visionlog.
Install
# Clone
git clone git@github.com:eidos-agi/ike.md.git
cd ike.md
npm install
npm run build
Add to your .mcp.json:
{
"mcpServers": {
"ike": {
"type": "stdio",
"command": "node",
"args": ["/absolute/path/to/ike.md/dist/index.js"]
}
}
}
GUID Workflow
ike.md uses a stable GUID registry — not fragile CWD scanning.
- New project:
project_init→ writes.ike/ike.jsonwith a stable GUID - Existing project:
project_set→ registers path→GUID in session memory - Every other call: pass
project_id(the GUID)
If you forget the GUID, the error message tells you exactly what to call to recover.
File Structure
your-project/
└── .ike/
├── ike.json ← project config + stable GUID
├── tasks/ ← active tasks (TASK-0001 - slug.md)
├── completed/ ← Done tasks
├── archive/ ← Cancelled / superseded tasks
├── milestones/ ← MS-0001 - slug.md
└── documents/ ← DOC-0001 - slug.md
All files are plain markdown with YAML frontmatter — readable without ike.md.
Tool Reference
Project
| Tool | What |
|---|---|
project_init |
Initialize new project, get GUID |
project_set |
Register existing project for session |
project_list |
List registered projects |
project_info |
Stats: task counts, milestones, docs |
Tasks
| Tool | What |
|---|---|
task_create |
Create task with optional priority, milestone, DoD |
task_list |
List with status/milestone/assignee/tag filters |
task_view |
Full detail for one task |
task_edit |
Update any field; append notes |
task_complete |
Mark Done, move to completed/ |
task_archive |
Cancel/supersede, move to archive/ |
task_search |
Keyword search across title + notes |
Milestones
| Tool | What |
|---|---|
milestone_create |
New milestone with optional due date |
milestone_list |
All milestones (open + closed) |
milestone_view |
Full detail |
milestone_close |
Mark complete |
Documents
| Tool | What |
|---|---|
document_create |
New doc with content + tags |
document_list |
All documents |
document_view |
View by DOC-XXXX |
document_update |
Replace or append content |
Task Frontmatter
---
id: TASK-0001
title: Build the thing
status: To Do # To Do | In Progress | Done | Draft
priority: high # high | medium | low
milestone: MS-0001
assignees: [daniel]
tags: [infra, core]
dependencies: [TASK-0000]
acceptance-criteria:
- Users can log in
definition-of-done:
- Tests passing
- Deployed to staging
created: 2026-03-20
updated: 2026-03-20
---
Notes go here as markdown body.
Philosophy
Tasks without contracts drift. Contracts without tasks are wishes.
ike.md is where the two meet. Before you create a task, the visionlog guardrail has already told you what you cannot do. The Definition of Done field is the contract written before the work begins — machine-checkable, not vibes.
19 tools across project, task, milestone, and document management. Inspired by backlog.md. Zero forked code. Full credit for the concept.
MIT License © 2025 Daniel Shanklin
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ike_md-0.2.0.tar.gz.
File metadata
- Download URL: ike_md-0.2.0.tar.gz
- Upload date:
- Size: 71.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6858235b930797955db4564264aeacf45ff5cee1a1af6bd80913151f1794e7c2
|
|
| MD5 |
a4133d5367b05e92cb8f18a2529ed935
|
|
| BLAKE2b-256 |
101daed98c283a6d3461382d49b9d9d829267eb91d817fdda47e8946f0a62504
|
Provenance
The following attestation bundles were made for ike_md-0.2.0.tar.gz:
Publisher:
publish.yml on eidos-agi/ike.md
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ike_md-0.2.0.tar.gz -
Subject digest:
6858235b930797955db4564264aeacf45ff5cee1a1af6bd80913151f1794e7c2 - Sigstore transparency entry: 1155346869
- Sigstore integration time:
-
Permalink:
eidos-agi/ike.md@37ecc0b78ce5e907f90ff81ff047540651658abe -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/eidos-agi
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@37ecc0b78ce5e907f90ff81ff047540651658abe -
Trigger Event:
push
-
Statement type:
File details
Details for the file ike_md-0.2.0-py3-none-any.whl.
File metadata
- Download URL: ike_md-0.2.0-py3-none-any.whl
- Upload date:
- Size: 13.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2bb85c135e6c164392585dec7488ff012dc74fb15c03ad6bd9eca10cb06ed710
|
|
| MD5 |
3204e061df46f44d8c39176514033e22
|
|
| BLAKE2b-256 |
c4859c9cb67e918feb09d613198bee73b4d352e763e1e12fd465cbcd66b7b422
|
Provenance
The following attestation bundles were made for ike_md-0.2.0-py3-none-any.whl:
Publisher:
publish.yml on eidos-agi/ike.md
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ike_md-0.2.0-py3-none-any.whl -
Subject digest:
2bb85c135e6c164392585dec7488ff012dc74fb15c03ad6bd9eca10cb06ed710 - Sigstore transparency entry: 1155346877
- Sigstore integration time:
-
Permalink:
eidos-agi/ike.md@37ecc0b78ce5e907f90ff81ff047540651658abe -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/eidos-agi
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@37ecc0b78ce5e907f90ff81ff047540651658abe -
Trigger Event:
push
-
Statement type: