Guide Origin: Official | ArcKit Version: [VERSION]
How to upgrade the ArcKit CLI and update your existing projects.
Step 1: Upgrade the CLI
# If installed with pip:
pip install --upgrade git+https://github.com/tractorjuice/arc-kit.git
# If installed with uv:
uv tool install --force arckit-cli --from git+https://github.com/tractorjuice/arc-kit.git
# Verify the new version:
arckit --help
Step 2: Update Your Existing Project
Navigate to your existing ArcKit project directory and re-run init with --here:
cd /path/to/your-existing-project
# Re-initialize in place (updates commands, templates, scripts)
arckit init --here --ai codex
What Gets Updated
| Updated | Preserved |
|---|---|
Skills (.agents/skills/) |
Project data (projects/) |
Default templates (.arckit/templates/) |
Custom templates (.arckit/templates-custom/) |
Helper scripts (.arckit/scripts/) |
|
Documentation and guides (docs/) |
|
VERSION, CHANGELOG.md |
Note: For Claude Code users, commands and agents are provided by the ArcKit plugin and update automatically via the marketplace. No
arckit initneeded.
Note: For Gemini CLI users, use the ArcKit extension (
gemini extensions install https://github.com/tractorjuice/arckit-gemini). Updates viagemini extensions update arckit.
Note:
README.mdwill be overwritten. If you've customized it, back it up first:cp README.md README.md.bak arckit init --here --ai codex mv README.md.bak README.md
Options
| Flag | Description |
|---|---|
--ai codex |
Update Codex CLI commands |
--minimal |
Skip updating docs and guides |
Step 3 (Optional): Migrate Legacy Filenames
If upgrading from v0.x to v1.x, your project artifacts may use old-style filenames (e.g., requirements.md, stakeholder-drivers.md). ArcKit v1.x uses standardized Document IDs:
Old: requirements.md
New: ARC-001-REQ-v1.0.md
Run the migration script to rename files automatically:
# Preview changes first (no files modified)
.arckit/scripts/bash/migrate-filenames.sh --all --dry-run
# Apply the migration
.arckit/scripts/bash/migrate-filenames.sh --all
The script:
- Creates timestamped backups before making changes
- Skips files that are already migrated
- Handles subdirectories (decisions, diagrams, wardley-maps, etc.)
- Moves legacy locations (e.g.,
.arckit/memory/principles.mdtoprojects/000-global/)
See the migration guide for the complete filename mapping table and advanced options.
Checking Your Version
# Check installed CLI version
arckit --help
# Check project version (in an ArcKit project directory)
cat VERSION
Troubleshooting
"Directory already exists" error
Use --here (or .) to update an existing project in place:
# These are equivalent:
arckit init --here --ai codex
arckit init . --ai codex
Commands not updating
Make sure you upgraded the CLI first (Step 1), then re-ran init (Step 2). The init command copies the latest commands from the installed package.
Claude Code plugin or hook issue
Start Claude Code in safe mode before changing ArcKit files:
claude --safe-mode
You can also set CLAUDE_CODE_SAFE_MODE=1 for the session. Safe mode is the
fastest way to isolate whether an ArcKit hook, command, skill, or installed
plugin is involved.
disableBundledSkills disables Claude Code's bundled skills; it does not
disable ArcKit plugin skills. To remove ArcKit from the test path, use safe
mode, disable the plugin in /plugin, or uninstall the plugin.
Custom templates lost
Custom templates in .arckit/templates-custom/ are preserved across upgrades. Only default templates in .arckit/templates/ are refreshed. If you edited files in .arckit/templates/ directly (instead of .arckit/templates-custom/), those edits will be overwritten. Use /arckit:customize to set up the override workflow:
/arckit:customize requirements # Copy template for safe customization