Creates compressed long-term archives of project state as a single timestamped .tar.gz file suitable for cold storage or off-site transfer
Supports selective inclusion โ archive just snapshot bundles, just project files, or everything. Includes integrity verification and optional pruning of archived bundles to reclaim storage.
Project Archiver
TL;DR
How To Start
STEP 1Configure Archive
-
project_root
· string · required
Root directory of the CRAFT project to archive. -
archive_scope
· string · optional · default: full
What to include: “bundles” = snapshot bundles only, “project” = project + framework files without bundles, “full” = everything. -
archive_dir
· string · optional · default: {project_root}/archives
Directory to write the archive file. -
archive_label
· string · optional · default: empty
Optional label appended to the filename (e.g., “pre-v2-migration”). If empty, uses scope name. -
prune_archived_bundles
· boolean · optional · default: false
If true and scope includes bundles, offers to delete archived bundles after verification. Human confirmation required. -
exclude_patterns
· list · optional · default: [".git", "node_modules", "__pycache__", "*.pyc"]
Glob patterns to exclude from the archive.
Usage Examples
EXAMPLE 1Full project archive at milestone
EXAMPLE 2Bundle consolidation with pruning
EXAMPLE 3Project files only for sharing
How AI Reads This Recipe
- Validate project root. Confirm directory exists. Check for .git presence. Report project root, git status, and archive scope.
- Inventory content. Based on archive_scope, count and size snapshot bundles and project files (excluding .git, backups, archives, and exclude_patterns). Abort if no archivable content found.
- Prepare output directory. Create archive_dir if it doesn’t exist.
- Build archive. Generate timestamped filename with scope and optional label. Execute tar -czf with scope-appropriate includes and exclusions. Report name and compressed size.
- Verify integrity. Count files in archive. Preview first 20 entries. Run gzip -t integrity check. If verification fails, report error and do NOT proceed to pruning.
- Optional bundle pruning. If prune_archived_bundles is true and scope includes bundles, ask human to confirm deletion. Delete only after explicit confirmation.
- Update archive log. Write or append to ARCHIVE-LOG.txt with archive metadata: name, date, scope, label, size, file count, bundle count, integrity status, path.
- Report. Present final summary: filename, size, scope, file count, bundle count, integrity status, location.
When To Use This Recipe
Recipe FAQ
What’s the difference between CWK-044 and CWK-037?
Can I restore from a CWK-044 archive?
Why is .git excluded from archives?
Is it safe to prune bundles after archiving?
How are archives named?
Version History
Get this recipe with CRAFT for Claude Cowork
Cowork recipes ship bundled with CRAFT for Claude Cowork — there’s no separate download. Clone the framework once, and your AI runs every recipe automatically when invoked.
Pull anytime to stay on the latest version — free to clone, no login or email required.
Then start your session
Once CRAFT is in your project folder, open a new Cowork session and ask Claude to initialize. For example:
You
Claude
Not familiar with Git? Download as a ZIP
No command line needed. Just download, move, and unzip:
- Open the CRAFT framework repo on GitHub.
- Click the green Code button, then choose Download ZIP.
- Move the downloaded ZIP into your Claude Cowork project folder.
- Unzip it: double-click on Mac, or right-click → Extract All on Windows.
