- One solid loop: brief → plan → ship → debrief. No vibe-coding spirals.
- Work breaks down into reviewable chunks: architecture decisions land in the plan, then the plan is chopped into single-commit-sized tasks.
- The loop fully covers mid-session pivots, flexible but durable. A request that contradicts an architecture decision raises a review flag, so you decide whether to abort or override it.
Coding ops,
end to end.
AI coding without the vicious spiral. Infil into the codebase, brief the task, ship in splashes, exfil with the diff — under your command, not the model's.
Built for developers, not vibe coders.
Ship every change through a written, military-style OP cycle that stays disciplined, recoverable, and accountable. A web app plans the ops, a CLI gives agents every tool they need in your codebase, and AI skills drive the cycle.
- Naholo's skills make agents keep durable, user-controllable context in the filesystem.
- OPERATION.md holds the canonical state of the operation, and TIMELINE.md tracks progress and any course changes.
- You never run /compact. When an agent starts hallucinating or the context window fills up, open a new session and it catches up on the operation instantly.
- Token usage pins to the OP, not just a chat thread, and uploads to the server on exfil.
- Review token usage and estimated budgets per skill and per session.
- A project-wide token usage and budget dashboard is under construction.
One cycle. Every op.
Two landscapes, one loop. Intel lives in Mission HQ. Code lives in the battlefield. AI skills sync between them or operate on the ground.
┌────────────────────────────────────────────────────────┐ │ Mission HQ: Naholo web app │ │ │ │ [Ideation: Drop intel as logs or notes] │ └────────────────────────────────────────────────────────┘ │ /infil ^ /sitrep ^ /exfil v (pull OP data) │ (push OP data) │ (push + close) ┌────────────────────────────────────────────────────────┐ │ Battlefield: Your codebase │ │ │ │ /warno (write architecture decisions) │ │ ↓ │ │ [Review architecture decisions] │ │ ↓ │ │ /opord (cut into single-commit tasks) │ │ ↓ │ │ [Review specs] │ │ ↓ │ │ /splash (ship one task) ◂┐ │ │ ↓ │ [Repeat] │ │ [Review diff] │ (/opord if revising tasks) │ │ └────────────────┘ │ └────────────────────────────────────────────────────────┘
/infilInfil
Pull notes, tasks, and logs from the server into a local working dir.
- OPERATION
- TASKS
/warnoWarno
Research the codebase and lock-in the architecture decisions before any tasks are cut.
- WARNING ORDER
/opordOpord
Cut the WARNO into single-commit-sized tasks. Each task ships in one splash.
- OPERATION ORDER
- TASKS
/splashSplash
Ship one taskl implement the change, then write an After-Action Report that flags any deviations from the plan.
- Code changes
- After-Action Report
/sitrepSitrep
Checkpoint mid-mission: your tasks, notes, and a summary log sync to the server without closing the operation.
- Sitrep Log
- Server sync
/exfilExfil
Close out the operation and push all local context to the server: notes, tasks, and agent usage stats.
- Debrief log
- Server sync
- Operation close
Plan ops the way you plan issues.
The web app is an issue tracker for your codebase: operations are the issues, logs are the comments, and notes are markdown scratchpads.
Operations as issues
The OP is the unit of work — the cycle revolves around it. Drop context as logs (comments) and freeform notes (markdown) onto each operation; the CLI infils both into the local working dir when you start work.

Per-OP usage stats
Tokens spent, model breakdown, and session timing are all recorded to the OP on exfil. Review the usage and run the next op more efficiently.

- Campaigns & Kanban — Campaigns roll ops into epics; watch them flow across a Kanban board.
- Token usage dashboard — Per-op stats roll up into a project dashboard that breaks spend down by operator across the day, week, or month.
- Corps — A Corps groups projects and teams under one command, with bulk member control, shared settings, and a cross-project view.
Skills and tools on the ground.
A local CLI wires your AI agent into the OP: it exposes MCP tools and commands for Mission HQ, tracks each session per OP, and stays worktree-safe.
- Skill installation — One command installs the workflow skills into your AI agent, along with the side branches:
/fobstarts an OP from the codebase,/recontalks one out,/raidis the small-OP shortcut, and/chopsplits an OP. - MCP server — Basic OP operations (create OP, log a comment, CRUD a task, close out) are exposed via MCP. The agent drives Mission HQ from the battlefield without leaving its loop.
- Agent session tracking — Every agent session pins to the active OP. Usage shows up in the web app's per-OP stats on exfil.
- Worktree-aware — Concurrent sessions in different worktrees each register against the right OP, so nothing gets crossed.
Classify your project.
The loop is the same either way; what changes is how naholo lives in your codebase. Classify your project by how much control you have over it.
Covert Ops
You deploy into territory you don't control, so no base goes up: nothing is committed and no trace is left behind. Your kit stays in your ruck (~/.naholo). Run naholo covert init and go dark.
Choose this when you're working on a team project but don't want to, or can't, introduce naholo to the rest of the team. You'll need to run naholo covert init each time you create a new worktree.
Full Control
This is your territory, so you set the rules. Deploy a full base at .naholo/ in the project root with config checked into source, so every operator runs the same loop. Run naholo init and push forward with your team.
Choose this when you own the repo or have the authority to introduce naholo to your team. Config lives in source, so new worktrees work out of the box; no extra setup required.
Gear check.
What you need before boots hit the ground.
OpenAI Codex will be supported later.
May work on other Unix systems(not yet confirmed). Linux and Windows will be supported later.
Workflow involves reviewing and editing markdown docs.
- Only tested with VS Code + Claude Code for VS Code extension.
- Doesn't work well with chat-only tools like Claude Code Desktop due to its limited editing experience.
Ready to deploy?
Start your first operation, or fork it and spin up your own instance. Available under MIT as open source.