Repository navigation
Archflow 2.4.0
Added
-
Archflow runs on hosts other than Claude Code.
scripts/build-adapters.mjsgenerates a
host-native package from the plugin for OpenAI Codex, GitHub Copilot CLI, Cursor, Gemini CLI,
OpenCode, and a genericAGENTS.md+ Agent Skills package for anything else. Each lands in
adapters/<host>/with its own README describing install steps and what that host cannot do.
The.archflow/state files, schemas, phases, design systems and stack profiles are identical
across hosts, so one project can be worked on from several tools. CI fails if the adapters drift
from the plugin (node scripts/build-adapters.mjs --check).Codex and Copilot CLI also load the unmodified Claude Code plugin directly
(copilot --plugin-dir plugin, Codex's plugin importer); the adapters exist for teams that want
host-native, repo-committed configuration. -
npx archflow install(npm packagearchflow;archflowaiis an alias) installs Archflow into a
project for any of those hosts, and for Claude
Code itself (--host claudeinstalls the marketplace plugin at project scope through theclaude
CLI, or writes the same.claude/settings.jsonkeys when the CLI is absent). It detects the hosts
on the machine (or takes--host), copies the adapter in, merges theAGENTS.md
block between<!-- archflow:start/end -->markers (one section per host when several share a
project), merges Codex'sconfig.tomlflags without overriding a human's values, installs
Gemini as an extension, and installs the git guard. Re-running upgrades in place and never
deletes a user's file.--dry-runshows the plan. The rootpackage.jsonpublishes it with
the adapters bundled.The adapters are fetched from the latest GitHub release by default and cached per tag under
~/.cache/archflow/, so an npx-cached installer never installs stale files.--version
pins a release,--bundledskips the network. The release workflow now attaches the packed
installer to every release and checkspackage.jsonagainst the tag. Re-running the installer
is the upgrade path on every host; on Claude Code it also runsclaude plugin update. -
A session-start notice when a newer Archflow release exists. The upgrade hook compares the
installed version with a cache of the latest GitHub release tag, refreshed by a detached child at
most once a day, so nothing blocks on the network. On Claude Code it names the plugin update; on
other hosts the installer. Off withupdate_check: falseinproject-settings.yaml. -
A git
pre-pushguard (plugin/scripts/archflow-pre-push.sh) gives hosts without a
PreToolUsehook the same protection Claude Code has: no force-push tomain/master, no push
tomainwhile an autopilot run is live./archflow:doctor --fixoffers to install it (Step 5d),
chaining any existing hook. It also protects the human's own terminal.
Changed
/archflow:initand/archflow:onboardnow write the Archflow section toAGENTS.md(read by
every host) as well asCLAUDE.md, wrapped in<!-- archflow:start/end -->markers.hooks/guard-git.mjsaccepts the shell tool names other hosts use (bash,
run_shell_command) in addition to Claude Code'sBash.
Not ported
/archflow:studiostays Claude Code only: it drives theclaudebinary's session fork.memory: useragent memory has no equivalent elsewhere.- OpenCode plugin hooks do not fire inside subagents (upstream #5894), so its git guard covers the
primary agent only; use thepre-pushguard as well.