Files
ClaudeForge/test
Reza Rezvani 35d17b0ba3 feat(v2.0.0): migrate to Claude Code v2.1.4+ architecture
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>
2026-01-13 13:26:46 +01:00
..

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:

  1. File existence (skill, command, agent)
  2. v2.1.4 syntax validation (permissions: fields)
  3. Hooks configuration (SessionStart, PreToolUse, PostToolUse)
  4. Fork-safe mode enabled
  5. Python modules integrity
  6. Legacy syntax cleanup
  7. Documentation updates
  8. 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

  1. Backup manually (extra safety):

    cp -r ~/.claude/skills/claudeforge-skill ~/.claude/skills/claudeforge-skill.manual.backup
    
  2. Note your current version:

    grep "^name:" ~/.claude/skills/claudeforge-skill/SKILL.md
    

After Installation

  1. Run validation:

    ./test/validate_migration.sh
    
  2. Test functionality:

    claude
    /enhance-claude-md
    
  3. Check hooks (restart Claude Code first):

    • Look for "Guardian: Checking for CLAUDE.md updates..." on startup

If Something Goes Wrong

  1. Run rollback:

    ./test/rollback.sh
    
  2. 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.sh
3. Validate
All files installed with v2.1.4 syntax
Upgrade from v1.x 1. Have v1.x installed
2. Run ./install.sh
3. 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.sh
2. 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