Install
Prerequisites & supported platforms
devAgent is developed and tested on Linux (including
WSL on Windows), inside Claude
Code. macOS is currently untested: the workflow scripts assume GNU
coreutils (stat -c, GNU sed -i,
readlink -f) and bash ≥ 4.4 (the resolver libs use
namerefs), and CI runs Linux only. You need:
- Claude Code — developed and verified against 2.1.223; earlier versions are untested.
bash≥ 4.4,python3≥ 3.11 (or 3.8-3.10 plustomli, e.g.apt install python3-tomli— the TOML parser moved into the stdlib astomllibin 3.11),jq, andgit— the workflow scripts' toolchain.- A forge CLI for your backend:
gh(GitHub),glaborcurl(GitLab),curl(JIRA). - For a project with
analyze = "shellcheck":shellcheckon PATH — step 13 stops without it. devAgent is tested againstshellcheck0.9.0 or newer; nothing checks the version at run time (/devagent:analyzesays where it is recorded). - Contributors additionally need
batsandshellcheck >= 0.9.0(the test suite and the CI lint gate).
Contributors running the test suite have three further requirements —
a POSIX filesystem where chmod actually changes the mode, a
UTF-8 locale, and, for a tree with tests/test_*.py, an
interpreter that can run pytest. On Windows that means a WSL clone on
ext4. scripts/run-suite.sh enforces the first two by
refusing to write an artifact at all — the first only when the suite
references a file mode, which devAgent's own suite does (#600). The
third it RECORDS: it prefers <tree>/.venv/bin/python
over ambient python3, and if no candidate can run pytest
the artifact reads pytest: (error) and
scripts/preship-evidence.sh refuses it. Set
DEVAGENT_PYTEST_PYTHON to point at an interpreter for any
other layout (#466). See Running
the test suite.
Install the plugin
devAgent is a Claude Code plugin. Add its marketplace, then install the plugin:
# 1. Add the marketplace (the devagent repo)
claude plugin marketplace add mtibbits/devagent
# 2. Install the plugin
claude plugin install devagent@devagent
The install reports two userConfig options not yet set
(devdoc_root, default_project); they only seed
the /devagent:init interview and can be left unset.
Recommended: superpowers
When the superpowers
plugin is installed, devAgent's implement and review steps — and draft
on its inline (non-dispatched) path — use its skills. When it is absent,
those steps fall back to compact built-in paths and print a one-line
install nudge; devAgent itself always loads either way, and
/devagent:doctor warns when the plugin is missing or
disabled. It is recommended, never hard-required (#541):
# Not configured on a fresh install (measured on 2.1.260; not version-specific)
claude plugin marketplace add anthropics/claude-plugins-official
claude plugin install superpowers@claude-plugins-official
Updates
Releases are tagged semver versions
(.claude-plugin/plugin.json carries the
version), so updating picks up the next release without an
uninstall + reinstall. Merges to master between releases do
not reach an installed plugin; a release does:
claude plugin update devagent@devagent
Installs from before #541: run the update once — the old manifest declared superpowers as a hard dependency, and a cached copy of it keeps devAgent disabled until updated.
Permissions
Workflow-script calls auto-approve: as of 2.1.223,
${CLAUDE_PLUGIN_ROOT} substitutes inside
allowed-tools, and devAgent ships the probe-verified quoted
grant form
Bash(bash "${CLAUDE_PLUGIN_ROOT}/scripts/*"), Bash(bash "${CLAUDE_PLUGIN_ROOT}/scripts/*" *)
that matches the quoted script invocations the command bodies emit (#548
decision doc). On older Claude Code (measured at 2.1.211 in #533, where
the substitution does not fire; older versions are untested but assumed
the same, and the exact landing version between 2.1.211 and 2.1.223 is
unmeasured, so intermediate versions may or may not prompt) every
workflow script call prompts; approve-and-remember there, or upgrade.
The model can occasionally retype a command in a form that misses the
literal prefix match (e.g. a different drive-letter case) — that falls
back to a one-off prompt, never to a wider grant. Never widen to bare
Bash.