Skip to content

v1.3.0 — Worktree isolation, hooks, plugin bundles, autofix-pr, @mention

Choose a tag to compare

@knight22-21 knight22-21 released this 25 Sep 18:50
· 79 commits to main since this release

What's new in v1.3.0

Nine new capabilities shipped across Phases 18–26.

Worktree isolation for agents

AgentDef.isolation = "worktree" runs a named agent in a fresh git worktree so parallel agents never conflict. The worktree is created, used, and cleaned up automatically.

LLM-generated DEVAGENT.md

devagent init-project --generate uses the active LLM to analyse your codebase (pyproject.toml, README.md, directory layout) and write a project-specific DEVAGENT.md. Falls back to a static template when offline. The loader now also walks ancestor directories (outermost first) so nested projects inherit parent-level instructions.

Per-agent persistent memory

AgentDef.memory = "project" wires .devagent/agent-memory/<name>/memory.md — the agent reads it at session start and appends to it via the remember_persistent tool. Survives between invocations.

HTTP and prompt hook types

Two new hook types: http (POST JSON to an external endpoint) and prompt (inject text into the next LLM call). Lifecycle events session_start and session_end now fire for all hook types. New command: devagent hooks test <event> <tool>.

Structured output (--json-schema)

devagent do "extract the API endpoints from src/" --json-schema '{"type":"array","items":{"type":"string"}}'

Validates FinalAnswerEvent.text against a JSON Schema. Retries once with an augmented prompt on mismatch. Exits code 2 if the second attempt still fails.

/model mid-session switch

> /model anthropic/claude-opus-4-8
Model switched to anthropic/claude-opus-4-8

Hot-swap the active LLM without restarting the session. Supports provider/model and model-only forms.

autofix-pr watch mode

devagent autofix-pr https://github.com/owner/repo/pull/42

Polls a PR in a loop. On each new failed CI run it fetches job logs and fires an agent to fix and push. On each new review comment it fires an agent to address it. Supports --poll-interval and --max-polls.

@agent-name REPL mention syntax

> @code-reviewer please check the auth changes
Spawned @code-reviewer [a3f2d1c0]: please check the auth changes
Check progress with /tasks

Spawns a named agent definition as a background daemon thread. Use /tasks to monitor. Respects AgentDef.isolation = "worktree".

Plugin bundle format

Third-party packages can now extend DevAgent with tools, skills, hooks, and MCP servers by declaring a devagent.plugins entry point:

devagent plugins install devagent-docker
devagent plugins list

Full changelog: CHANGELOG.md