-
Notifications
You must be signed in to change notification settings - Fork 0
Migration Guide
Upgrading from legacy agent names: follow the source-checkout migration procedure before using an old installed updater. It explains how to preserve edited legacy agents and recover the previous installation.
Use this when moving an existing local Claude install to the current Forgeflow layout.
Managed Forgeflow files live under:
~/.claude/agents/
~/.claude/commands/
~/.claude/hooks/
~/.claude/templates/
~/.claude/project-rules/
~/.claude/forgeflow-patterns/
~/.claude/forgeflow/scripts/forgeflow/
The installed commit is tracked at:
~/.claude/forgeflow-version
Custom agents named custom-*.md are preserved by the updater.
Check what is installed:
/forgeflow-version
/forgeflow-health
If /forgeflow-version is unavailable, run from a repo checkout:
scripts/forgeflow/forgeflow-version.js --offlineOptional backup (the archive may contain private configuration or custom prompts; keep it local):
tar -czf ~/forgeflow-claude-backup.tgz \
~/.claude/agents \
~/.claude/commands \
~/.claude/hooks \
~/.claude/templates \
~/.claude/project-rules \
~/.claude/forgeflow-patterns \
~/.claude/forgeflow-versionFrom Claude Code:
/update-forgeflow
Restart Claude Code, then run:
/forgeflow-version
/forgeflow-health
Expected result:
Status: up-to-date
Summary: 0 failures
If commands or hooks are installed on disk but unavailable in the current Claude session, restart Claude Code again.
Use repair mode when a managed command, agent, hook, template, pattern, or runtime helper is missing or corrupted:
/update-forgeflow --repair
Repair reinstalls all managed Forgeflow files from upstream main, even when the installed SHA already matches upstream.
It does not touch:
~/.claude/settings.json~/.claude/agents/custom-*.md- non-Forgeflow files
The script-backed updater preserves one managed-file snapshot before writes:
~/.claude/forgeflow/backups/previous/
To restore it:
/update-forgeflow --rollback
Rollback restores previous managed file contents and file modes, removes managed files that were newly created by the last update, and restores ~/.claude/forgeflow-version to the snapshot version.
Rollback does not mutate settings.json.
The template installer and updater can register Ember's prompt hook, preserving existing entries and a separate settings backup. Other hooks and the status line remain manual. If /forgeflow-health reports drift in those settings, follow Settings and Recovery.
Statusline:
"statusLine": {
"type": "command",
"command": "node \"$HOME/.claude/hooks/forgeflow-statusline.js\""
}PostToolUse hooks:
{
"type": "command",
"command": "node \"$HOME/.claude/hooks/forgeflow-context-monitor.js\""
}{
"type": "command",
"command": "node \"$HOME/.claude/hooks/forgeflow-gate.js\""
}{
"type": "command",
"command": "node \"$HOME/.claude/hooks/forgeflow-telemetry.js\""
}After settings changes, restart Claude Code and rerun:
/forgeflow-health
/forgeflow-health may report a legacy gsd-statusline.js statusline. That is not automatically replaced.
To use Forgeflow context monitoring, set statusLine.command to:
node "$HOME/.claude/hooks/forgeflow-statusline.js"
Keep the old GSD hook file if you want a manual rollback reference. It is not a Forgeflow-managed file.
Run this inside each git project where you want Forgeflow memory:
~/.claude/forgeflow/scripts/forgeflow/health-check.js --fix --jsonThis creates:
.forgeflow/<project-name>/
.forgeflow/<project-name>/agent-notes/
.forgeflow-budget.json
It also adds .forgeflow/ to .gitignore when needed.
From a git project:
/forgeflow-version
/forgeflow-health
/quick summarize this repository structure
/review
For docs-only or empty diffs, /review may route to skip-mode or thin-mode. That is expected.