InPlan Interactive Planning Editor
Turn an ambiguous coding request into a reviewable Markdown plan before implementation begins.
- Source repo
- melly-lgtm/inplan
- Stars
- ★ 24
- Last updated
- 3d ago
- License
- AGPL-3.0
- Primary language
- TypeScript
- FA score
- 64/100 · Some gaps
At a glance
- How it runs
- Works with
- Universal · cross-platformClaude CodeCodex (Partial support)
- Cost
- Free tier plus a paid hosted plan
- Setup effort
- Low · running in minutes
- You'll need
- Typical use
- A developer preparing an authentication rewrite can ask an agent to draft requirements, surface migration questions, and resolve them before implementation.
- Not a fit if
- Teams that cannot let install add agent skills and hooks
- Windows users needing a well-tested experience (macOS-first)
- Closed-source or SaaS teams unwilling to accept AGPL copyleft
- Source review
- 64/100 · Some gaps
What does this agent do, and when should you use it?
InPlan is a Markdown workspace where a person and a coding agent refine an evolving requirement into a versioned specification before code is written. The repository contains @inplan/core for embeddable editing and plan-format logic, @inplan/cli for the agent-facing command loop, and @inplan/app for the human-facing Electron editor. A bundled skill has the coding agent create a plan, open the editor, raise inline questions, and react to the user's comments or direct edits. The resulting artifact is a normal Markdown file whose comment records live in a trailing HTML-comment JSON array, allowing the plan and its rationale to travel together through Git. The open core can be run locally, while a hosted edition is available at inplan.ai; the documented maturity is strongest on macOS with Claude Code in Turn mode.
The coding agent creates a <name>.plan.md file, drafts the requirements, and anchors comment threads with links such as [text](#cmt-id). Comments, replies, document-level notes, and structured choice questions are recorded in one trailing <!--inplan ... --> JSON block. The agent runs inplan open <file> to launch the desktop editor and block until the user acts. The user can reply to a thread, select a choice, or edit the Markdown directly, using Auto-accept or Review and Turn or Instant modes. The agent then reads the updated plan, revises it, and continues the exchange; inplan wait <file> waits for another action, while inplan signal <file> --done proposes that the plan is ready without overriding the user's decision. Control logs, canonical bases, and backups are kept under ~/.inplan/sidecars/<key>, while the portable output remains the Markdown plan.
- A developer preparing an authentication rewrite can ask an agent to draft requirements, surface migration questions, and resolve them before implementation.
- An engineering team with changing requirements can preserve answers, rationale, and revisions as inline discussions inside the same Markdown plan.
- A senior engineer supervising risky agent work can use Review and Turn modes to inspect each proposed planning change before accepting it.
- A solo developer doing rapid prototyping can replace an ephemeral chat trail with a Git-reviewable specification that remains available during later refactoring.
- A product manager, developer, and architect can work against one document while contributing product requirements, implementation detail, and architectural decisions.
- A team working from a source checkout or in a restricted environment can run the open core and configure the application and sidecar locations through the documented environment variables.
How do you install or deploy this agent?
Node.js 22 or newer is required. For the packaged installation, run npm install -g inplan, followed by inplan --version. This installs the inplan command, bundles the desktop editor launched by inplan open, and attempts to install the agent skill for detected Claude Code, Pi, and Codex environments. Set INPLAN_NO_SKILL_INSTALL=1 to skip that step, or run inplan install-skill later. For development from source, run git clone https://github.com/melly-lgtm/inplan.git, cd inplan, npm install, and npm run build. In a source checkout, point INPLAN_APP_CMD at the built @inplan/app, or start the editor separately with npm run dev -w @inplan/app.
How do you use this agent?
After installation, ask a supported coding agent to plan a task in plain language, for example: “Plan the auth rewrite with me.” The bundled skill directs the agent to create <name>.plan.md, run inplan open <file>, and place its unresolved questions in inline comment threads. Reply to those comments, select choice chips, or edit the plan directly in the desktop editor, then review the agent's next revision. The underlying loop uses inplan open <file>, inplan wait <file>, and inplan signal <file> --done. If agent detection fails, point the agent to the bundled skill/SKILL.md; the agent must be able to read that skill and execute the inplan CLI.
What are this agent's strengths and limitations?
- The specification, comments, and decision history remain in one readable Markdown artifact that can be versioned and reviewed through Git.
- Auto-accept versus Review and Turn versus Instant modes provide concrete choices about review strictness and collaboration cadence.
- The separation between
@inplan/core, the CLI, and the Electron application supports both the packaged desktop workflow and source-level embedding or development. - The skill-and-CLI integration covers Claude Code, Codex, and Pi instead of requiring one model provider.
- Adoption requires Node.js 22 or newer, local filesystem access, shell execution, and a coding agent capable of invoking the CLI.
- The project is primarily developed and tested on macOS with Claude Code in Turn mode; Windows, Instant mode, Codex, and Pi are described as lightly exercised.
- Comments use an InPlan-specific Markdown-link and trailing-JSON convention. Other Markdown software can render or diff the file, but no compatible interactive comment behavior is documented.
- The README specifies AGPL-3.0-or-later for the open-source edition; proprietary or SaaS adoption without its copyleft requires a separate commercial license.
- The default installation detects agent environments and installs skills and hooks, so users who do not want those changes must set
INPLAN_NO_SKILL_INSTALL=1.
How does this agent compare with similar options?
Unlike a linear coding-agent chat, InPlan places requirements, open questions, answers, and revisions in a versioned Markdown specification and adds review behavior resembling document comments and pull-request diffs. It complements an existing coding agent rather than replacing its code-generation model.
Key facts side by side with the most closely related agents.
| Agent | Source review | Form / cost | Stars | Updated | Language | Full support on |
|---|---|---|---|---|---|---|
| InPlan Interactive Planning Editor This agent | 64 · Some gaps | CLIFreemium | ★ 24 | 3d ago | TypeScript | Claude Code |
| Pilot Shell | 70 · Some gaps | CLIPaid | ★ 2.1k | today | Shell | Claude Code |
| Aegis Method Pack | 74 · Some gaps | Agent plugin / skillFree + model costs | ★ 1.4k | 4d ago | Python | Codex |
| JS Mastery Engineering Workflow Skills | 71 · Some gaps | Agent plugin / skillFree + model costs | ★ 1.6k | 3mo ago | JavaScript | Codex · Claude Code |
How does FollowAgents rate this agent?
Why each dimension lost points
The skill limits auto-approved edits to plan files, ~/.inplan sidecars, and the inplan CLI, while the editor provides human review; cloud sign-in is explicitly completed by the user in a browser. The telemetry test excerpt also describes opt-in events with throwaway IDs and no PII, supporting partial confirmation and privacy handling. Deductions: Bash(inplan *) and automatic npm installation remain broad within the CLI, the skill can edit sidecars, and installation deploys the skill to detected agents. Cloud requests and Electron downloads have external effects, while the packet does not fully document data flows, credential storage, or recovery. Lockfile checking and CI are visible, but no dependency audit evidence is supplied. Publisher identity is unknown, and CLA/contribution references do not establish a verifiable maintainer.
The README, skill, and package scripts describe a broadly coherent CLI, desktop editor, and cloud workflow. The skill gives guidance for missing Electron binaries, offline operation, and login timeouts, and the test excerpts cover several states. Deductions: the README says Windows, instant mode, and Codex/Pi are only lightly exercised, and the packet lacks complete source, full test results, and runtime evidence, so ordinary failure handling is supported but not comprehensive.
The material clearly targets individuals and teams planning with coding agents, and names Claude Code, Codex, Pi, macOS/Windows, and different collaboration cadences. The skill distinguishes co-developing a spec from breaking an agreed spec into implementation tasks. Deductions: the trigger applies to “any” planning request and is broad; non-use cases are sparsely described, and support maturity varies across environments.
The README has clear information architecture, installation and Node.js requirements, a quick start, format examples, keyboard shortcuts, and an environment-reference pointer; it also states known support limits. AGPL-3.0-or-later and a commercial licensing path are described, with AGPL text supplied. Deductions: the packet provides no release changelog or version policy; publisher identity is unknown, and contribution/CLA references do not establish ongoing maintenance responsibility.
The product produces plans viewable and diffable in ordinary Markdown tools, with inline comments, question choices, and a review-oriented change flow that directly supports collaboration. Deductions: the claimed correctness gains are primarily described in the README and are not independently established by this packet; the desktop application, installation, and collaboration steps add user cost.
The README, skill, package scripts, and test excerpts give concrete leads for installation, privacy, session, and build behavior, and some test intent is traceable to code. Deductions: the evidence packet is sampled and truncated, tests are shown as source rather than executed results, and the README’s quantitative blog claims have no supporting data or methods here. Explicitly stated support maturity and opt-in telemetry can be separated from inference, but cross-source corroboration remains limited.
- The skill permits the agent to install inplan globally with npm and edit scoped paths during planning; check the executing agent’s command policy and global npm permissions.
- A telemetry test excerpt describes opt-in anonymous events, but the packet lacks the full telemetry implementation and configuration documentation; verify the shipped build configuration before use.
- The README says Windows, instant mode, and Codex/Pi support are only lightly exercised; those combinations may have rough edges.
Recent releases
Latest entries from the project's GitHub Releases. Notes are quoted from upstream as written, not rewritten or tested by FollowAgents.
-
v0.3.0 v0.3.0 — an agent can put an image in a cloud doc
Release notes excerpt
Minor. Adds a capability agents didn't have, and changes what the skill tells them to do. asset-upload reaches the docs agents actually attach to (#114) It resolved its doc id from the status sidecar — which only a promoted local file has. A doc attached by wait --remote <docId> has no status file, and --remote wasn't a recognized route either: it fell through to the generic remote handler and ran a *sync* instead of an upload. …View on GitHub ↗ -
v0.2.2 v0.2.2 — a switched tab is no longer a crashed editor
Release notes excerpt
Patch release. Fixes a bug in the loop the CLI exists for — everyone on 0.2.1 is affected. A switched tab was reported as a crashed editor inplan wait --remote returned closed / crashed_or_killed right after a normal review-mode accept, while the same response's own entries showed the turn completing cleanly. Reconnecting closed again immediately, appending one agent_revised per attempt instead of blocking for the human — so the collaboration loop ended itself and then spun. …View on GitHub ↗ -
v0.2.1 v0.2.1 — sign-in stops reporting success it hasn't verified
Release notes excerpt
Patch release. No interface changes, and no older-CLI-versus-current-host incompatibility — unlike 0.2.0, where upgrading was required against row-backed hosts. inplan login now proves the credential it stores The rendezvous handoff carries a single-use refresh token, and the sign-in page rotates the session it just sealed — so the token can arrive already spent. The only code that would have noticed was persistCloudIdentity, whose catch {} swallowed it. Login printed {"status":"logged_in"} and the failure resurfaced later as an unexplained "not logged in" on an unrelated command. …View on GitHub ↗
FAQ
Can it run entirely on my machine?
Is Claude Code mandatory?
Where are plans, comments, and auxiliary data stored?
.plan.md file, with comments encoded as JSON inside a trailing HTML comment. Control logs, canonical bases, and backups are stored centrally under ~/.inplan/sidecars/<key>.Can a proprietary or SaaS product adopt it?
What happens if the desktop app is not configured in a source checkout?
INPLAN_APP_CMD to the built @inplan/app; otherwise the CLI runs headless. The editor can also be started separately with npm run dev -w @inplan/app.Thanks — we use this to improve the page.