feat: initial open marketplace with llm-security, config-audit, ultraplan-local
This commit is contained in:
commit
f93d6abdae
380 changed files with 65935 additions and 0 deletions
83
plugins/config-audit/commands/rollback.md
Normal file
83
plugins/config-audit/commands/rollback.md
Normal file
|
|
@ -0,0 +1,83 @@
|
|||
---
|
||||
name: config-audit:rollback
|
||||
description: Restore configuration from backup — list available backups or rollback a specific one
|
||||
argument-hint: "[backup-id]"
|
||||
allowed-tools: Read, Write, Glob, Grep, Bash, AskUserQuestion
|
||||
model: sonnet
|
||||
---
|
||||
|
||||
# Config-Audit: Rollback
|
||||
|
||||
Restore configuration files from a previous backup. Without arguments, lists available backups. With a backup ID, restores files from that backup.
|
||||
|
||||
## Arguments
|
||||
|
||||
- `$ARGUMENTS` may contain a backup ID (format: `YYYYMMDD_HHMMSS`)
|
||||
|
||||
## Behavior
|
||||
|
||||
### List mode (no argument)
|
||||
|
||||
List available backups from `~/.claude/config-audit/backups/`:
|
||||
|
||||
```
|
||||
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||
Available Backups
|
||||
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||
|
||||
1. 20260403_163045 — 3 files (settings.json, hooks.json, typescript.md)
|
||||
2. 20260403_141230 — 1 file (CLAUDE.md)
|
||||
3. 20260402_092015 — 5 files (full audit)
|
||||
|
||||
Usage: /config-audit rollback 20260403_163045
|
||||
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||
```
|
||||
|
||||
Read each backup's `manifest.yaml` to extract file list and timestamps.
|
||||
|
||||
### Restore mode (with backup ID)
|
||||
|
||||
1. Read manifest from `~/.claude/config-audit/backups/{backup-id}/manifest.yaml`
|
||||
2. Show files that will be restored — ask for confirmation:
|
||||
```
|
||||
AskUserQuestion:
|
||||
question: "Restore 3 files from backup 20260403_163045?"
|
||||
options:
|
||||
- "Yes, restore"
|
||||
- "Cancel"
|
||||
```
|
||||
3. For each file in manifest:
|
||||
a. Read backup file from `~/.claude/config-audit/backups/{backup-id}/files/{safeName}`
|
||||
b. Write to original path
|
||||
c. Verify checksum matches manifest
|
||||
4. Show result:
|
||||
```
|
||||
Restored 3 files from backup 20260403_163045
|
||||
- .claude/settings.json (checksum verified)
|
||||
- hooks/hooks.json (checksum verified)
|
||||
- .claude/rules/typescript.md (checksum verified)
|
||||
```
|
||||
|
||||
### Delete mode
|
||||
|
||||
If user says "delete" after listing, confirm and remove the backup directory.
|
||||
|
||||
## Implementation
|
||||
|
||||
Use the backup and rollback libraries directly:
|
||||
```javascript
|
||||
import { listBackups, restoreBackup, deleteBackup } from '../scanners/rollback-engine.mjs';
|
||||
import { parseManifest } from '../scanners/lib/backup.mjs';
|
||||
```
|
||||
|
||||
Or via Bash:
|
||||
```bash
|
||||
# List backups
|
||||
ls -1 ~/.claude/config-audit/backups/
|
||||
|
||||
# Read manifest
|
||||
cat ~/.claude/config-audit/backups/{id}/manifest.yaml
|
||||
|
||||
# Restore (copy back)
|
||||
cp ~/.claude/config-audit/backups/{id}/files/{safeName} {originalPath}
|
||||
```
|
||||
Loading…
Add table
Add a link
Reference in a new issue