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>
181 lines
4.1 KiB
Markdown
181 lines
4.1 KiB
Markdown
# 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:**
|
|
```bash
|
|
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:**
|
|
```bash
|
|
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):
|
|
```bash
|
|
cp -r ~/.claude/skills/claudeforge-skill ~/.claude/skills/claudeforge-skill.manual.backup
|
|
```
|
|
|
|
2. **Note your current version**:
|
|
```bash
|
|
grep "^name:" ~/.claude/skills/claudeforge-skill/SKILL.md
|
|
```
|
|
|
|
### After Installation
|
|
|
|
1. **Run validation**:
|
|
```bash
|
|
./test/validate_migration.sh
|
|
```
|
|
|
|
2. **Test functionality**:
|
|
```bash
|
|
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**:
|
|
```bash
|
|
./test/rollback.sh
|
|
```
|
|
|
|
2. **Or restore manual backup**:
|
|
```bash
|
|
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<br>2. Run `./install.sh`<br>3. Validate | All files installed with v2.1.4 syntax |
|
|
| **Upgrade from v1.x** | 1. Have v1.x installed<br>2. Run `./install.sh`<br>3. Validate | Auto-backup created, v2.0 installed |
|
|
| **Version Check** | 1. Claude Code 2.1.4+<br>2. Run installer | Version detected, no warnings |
|
|
| **Version Check** | 1. Claude Code < 2.1.0<br>2. Run installer | Warning displayed about limited features |
|
|
| **Rollback** | 1. Run `./test/rollback.sh`<br>2. Restart Claude | v1.x restored, no hooks |
|
|
|
|
---
|
|
|
|
## Continuous Integration
|
|
|
|
These test scripts can be integrated into CI/CD:
|
|
|
|
```yaml
|
|
# .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
|