mirror of
https://github.com/alirezarezvani/ClaudeForge.git
synced 2026-07-03 10:23:15 -04:00
35d17b0ba3
Major architectural update to support Claude Code v2.1.4+ features including hooks, modern permission syntax, and hot-reload capabilities. ## Core Component Updates ### Skill (skill/SKILL.md) - Updated frontmatter from old `tools:` to `permissions.allow:` array - Added wildcard Bash permissions: Bash(ls:*), Bash(find:*), Bash(git:*) - Python modules unchanged (backward compatible) ### Command (command/enhance-claude-md.md) - Updated frontmatter from `allowed-tools:` to `permissions.allow:` array - Added startup hook for workflow initiation - 3-phase discovery workflow unchanged ### Guardian Agent (agent/claude-md-guardian.md) - Updated frontmatter from `tools:` to `permissions.allow:` array - Added SessionStart hook for auto-updates on new sessions - Added PreToolUse/PostToolUse hooks for Write validation - Added fork_safe: true for independent operation - Removed obsolete mcp_tools field - Agent workflow logic unchanged ## Installation Scripts ### install.sh - Added Claude Code version detection (checks for 2.1.0+) - Added auto-migration logic with timestamped backups - Added post-installation v2.1.4 compatibility validation - Updated version to 2.0.0 - Updated download URLs to main branch ### install.ps1 - Added equivalent PowerShell version detection - Added auto-migration logic with timestamped backups - Added post-installation v2.1.4 compatibility validation - Updated version to 2.0.0 - Updated download URLs to main branch ## Documentation ### New Files - docs/MIGRATION_V2.md: Comprehensive migration guide - test/validate_migration.sh: Validation script (18 tests) - test/rollback.sh: Rollback script for v1.x restoration - test/README.md: Testing documentation ### Updated Files - README.md: Updated version badges (2.0.0, Claude Code 2.1.4+) - README.md: Added "New in v2.0" section highlighting features - CHANGELOG.md: Added comprehensive v2.0.0 release entry - CHANGELOG.md: Documented all changes, fixes, and breaking changes ## Validation All changes validated: ✓ Python modules compile without errors ✓ install.sh bash syntax valid ✓ YAML frontmatter syntax valid (skill, command, agent) ✓ No Python code modified (2,190 lines unchanged) ✓ Backward compatible with existing installations ## Breaking Changes - Minimum Claude Code version: 2.1.0+ (was 2.0+) - Old permission syntax deprecated (but backward compatible) - Users on Claude Code < 2.1.0 should use ClaudeForge v1.0.0 ## Migration Path Installer automatically: 1. Detects Claude Code version 2. Backs up v1.x installations 3. Installs v2.0 with new syntax 4. Validates compatibility See docs/MIGRATION_V2.md for detailed instructions. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 (1M context) <noreply@anthropic.com>
ClaudeForge Testing Scripts
This directory contains validation and rollback scripts for the v2.0.0 migration.
Scripts
validate_migration.sh
Validates that the ClaudeForge v2.0.0 migration completed successfully.
Tests:
- File existence (skill, command, agent)
- v2.1.4 syntax validation (
permissions:fields) - Hooks configuration (SessionStart, PreToolUse, PostToolUse)
- Fork-safe mode enabled
- Python modules integrity
- Legacy syntax cleanup
- Documentation updates
- Example files unchanged
Usage:
cd /path/to/ClaudeForge
./test/validate_migration.sh
Expected Output:
=== ClaudeForge v2.1.4 Migration Validation ===
Test 1: File Existence
----------------------
✓ Skill file exists
✓ Command file exists
✓ Agent file exists
[... more tests ...]
===================================
Validation Complete
===================================
Passed: 18
Failed: 0
✅ All tests passed! Migration successful.
rollback.sh
Rolls back ClaudeForge installation from v2.0.0 to v1.0.0 using automatic backups.
What it does:
- Searches for timestamped backups created by the installer
- Restores skill, command, and agent from backups
- Provides alternative manual rollback instructions if no backups found
Usage:
cd /path/to/ClaudeForge
./test/rollback.sh
Expected Output:
=== ClaudeForge Rollback to v1.x ===
Searching for skill backup...
Found backup: claudeforge-skill.backup.20260107_120000
✓ Restored skill from: claudeforge-skill.backup.20260107_120000
[... more restorations ...]
====================================
Rollback Summary
====================================
Components restored: 3
✅ Rollback complete!
Next steps:
1. Restart Claude Code
2. Test with: /enhance-claude-md
Testing Workflow
Before Installation
-
Backup manually (extra safety):
cp -r ~/.claude/skills/claudeforge-skill ~/.claude/skills/claudeforge-skill.manual.backup -
Note your current version:
grep "^name:" ~/.claude/skills/claudeforge-skill/SKILL.md
After Installation
-
Run validation:
./test/validate_migration.sh -
Test functionality:
claude /enhance-claude-md -
Check hooks (restart Claude Code first):
- Look for "Guardian: Checking for CLAUDE.md updates..." on startup
If Something Goes Wrong
-
Run rollback:
./test/rollback.sh -
Or restore manual backup:
rm -rf ~/.claude/skills/claudeforge-skill cp -r ~/.claude/skills/claudeforge-skill.manual.backup ~/.claude/skills/claudeforge-skill
Test Matrix for Installation
| Scenario | Test Steps | Expected Result |
|---|---|---|
| Fresh Install | 1. No existing ClaudeForge 2. Run ./install.sh3. Validate |
All files installed with v2.1.4 syntax |
| Upgrade from v1.x | 1. Have v1.x installed 2. Run ./install.sh3. Validate |
Auto-backup created, v2.0 installed |
| Version Check | 1. Claude Code 2.1.4+ 2. Run installer |
Version detected, no warnings |
| Version Check | 1. Claude Code < 2.1.0 2. Run installer |
Warning displayed about limited features |
| Rollback | 1. Run ./test/rollback.sh2. Restart Claude |
v1.x restored, no hooks |
Continuous Integration
These test scripts can be integrated into CI/CD:
# .github/workflows/validate-migration.yml
name: Validate Migration
on:
push:
branches: [feature/migrate-v2.1.4-architecture]
jobs:
test-migration:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run migration validation
run: |
# Install to temporary location
export HOME=/tmp/test-home
./install.sh <<< "1"
# Run validation
./test/validate_migration.sh
Notes
- Test scripts are designed to be idempotent (can run multiple times)
- All scripts exit with proper codes (0 = success, 1 = failure)
- Scripts provide detailed output for debugging
- Compatible with both macOS and Linux