Project Export Command
Export the entire Bookstrap project for backup, sharing, or archiving.
What It Does
Creates a complete project export including:
- •Manuscript files
- •Database backup
- •Configuration files
- •Source documents
- •Research notes
- •Edit reports
- •Git history (optional)
Usage
bash
/bookstrap-export-project --output project-export.zip
Options
bash
/bookstrap-export-project \ --output export.zip \ --include-git \ --include-sources \ --format zip
Export Contents
Always Included
- •
manuscript/- All written sections - •
BRD.md- Book Requirements Document - •
bookstrap.config.json- Project configuration - •
database-backup.surql- Full database export - •
export-manifest.json- Metadata about the export
Optional Inclusions
- •
--include-git: Include.gitdirectory (version history) - •
--include-sources: Include ingested source documents - •
--include-logs: Include edit reports and logs - •
--include-schema: Include database schema files
Export Formats
ZIP Archive (default)
bash
/bookstrap-export-project --output my-book.zip
Creates a compressed ZIP file.
TAR.GZ Archive
bash
/bookstrap-export-project --output my-book.tar.gz --format tar.gz
Creates a compressed tarball.
Directory
bash
/bookstrap-export-project --output my-book-export --format directory
Exports to a directory (no compression).
Export Manifest
Each export includes export-manifest.json:
json
{
"project_name": "My Book",
"exported_at": "2026-02-01T12:00:00Z",
"bookstrap_version": "1.0.0",
"export_format": "zip",
"contents": {
"manuscript": {
"chapters": 12,
"sections": 48,
"total_words": 75420,
"status": "draft"
},
"database": {
"sources": 42,
"entities": 156,
"relationships": 384
},
"configuration": {
"embedding_provider": "openai",
"search_provider": "tavily"
}
},
"checksums": {
"manuscript": "sha256:abc123...",
"database": "sha256:def456..."
}
}
Implementation
bash
#!/bin/bash
OUTPUT=$1
FORMAT=${2:-zip}
# Create temporary export directory
EXPORT_DIR=$(mktemp -d)
PROJECT_NAME=$(basename $(pwd))
echo "Exporting project to: $OUTPUT"
# Export manuscript
cp -r manuscript/ $EXPORT_DIR/manuscript/
# Export configuration
cp BRD.md $EXPORT_DIR/
cp bookstrap.config.json $EXPORT_DIR/
# Backup database
./scripts/backup-db.sh $EXPORT_DIR/database-backup.surql
# Generate manifest
python ./scripts/generate-export-manifest.py \
--output $EXPORT_DIR/export-manifest.json
# Optional: Include git history
if [[ "$INCLUDE_GIT" == "true" ]]; then
cp -r .git $EXPORT_DIR/
fi
# Create archive
if [[ "$FORMAT" == "zip" ]]; then
cd $EXPORT_DIR && zip -r $OUTPUT *
elif [[ "$FORMAT" == "tar.gz" ]]; then
tar -czf $OUTPUT -C $EXPORT_DIR .
else
mv $EXPORT_DIR $OUTPUT
fi
echo "Export complete: $OUTPUT"
Import/Restore
To restore from an export:
bash
/bookstrap-import-project --input project-export.zip
This will:
- •Extract archive
- •Restore database from backup
- •Copy manuscript files
- •Restore configuration
- •Verify integrity using checksums
Best Practices
- •Export regularly for backup
- •Include git history for version control
- •Exclude sources if large files (can re-ingest)
- •Verify export before deleting originals
- •Use semantic versioning for export filenames
Use Cases
Backup
bash
/bookstrap-export-project \ --output backups/my-book-$(date +%Y%m%d).zip \ --include-git
Sharing with Collaborators
bash
/bookstrap-export-project \ --output my-book-collab.zip \ --include-sources \ --include-logs
Archiving Final Version
bash
/bookstrap-export-project \ --output my-book-final-v1.0.zip \ --include-git \ --include-sources \ --include-logs
Example Output
code
Exporting Bookstrap project... Preparing export directory... ├─ Copying manuscript (48 sections, 75,420 words) ├─ Copying configuration files ├─ Backing up database (42 sources, 156 entities) ├─ Generating export manifest ├─ Calculating checksums └─ Creating ZIP archive Export complete! File: my-book-export.zip Size: 12.4 MB Contents: - Manuscript: 48 sections - Database: 42 sources, 156 entities - Configuration: bookstrap.config.json - Git history: 127 commits Verify with: unzip -l my-book-export.zip