mirror of
https://github.com/alirezarezvani/ClaudeForge.git
synced 2026-07-03 02:13:15 -04: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:
- 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