Operational and maintenance scripts for Aesthetic Computer backend systems.
atproto/- ATProto sync, backfill, and verification scriptsrecovery/- Data recovery and repair scriptsmigration/- One-off database migrations (historical)
-
sync-atproto.mjs- Master sync script for all content types (kidlisp, paintings, tapes, moods)- Usage:
node scripts/atproto/sync-atproto.mjs [live] [--type] [--user] [--anonymous-only] - Syncs MongoDB content to ATProto PDS and updates rkey backrefs
- Usage:
-
backfill-kidlisp-rkeys.mjs- Match existing ATProto kidlisp to MongoDB and update rkeys- Usage:
node scripts/atproto/backfill-kidlisp-rkeys.mjs [live] - For @jeffrey, art-guest, and @fifi accounts
- Usage:
-
sync-jeffrey-kidlisp.mjs- Focused sync for @jeffrey's missing kidlisp- Usage:
node scripts/atproto/sync-jeffrey-kidlisp.mjs [live] - Creates ATProto records for kidlisp missing from PDS
- Usage:
-
sync-fifi-kidlisp.mjs- Focused sync for @fifi's missing kidlisp- Usage:
node scripts/atproto/sync-fifi-kidlisp.mjs [live] - Batch processes kidlisp records (10 at a time)
- Usage:
-
check-kidlisp-atproto.mjs- Compare MongoDB vs PDS state for @jeffrey and art-guest- Usage:
node scripts/atproto/check-kidlisp-atproto.mjs - Reports discrepancies and missing rkeys
- Usage:
-
check-fifi-kidlisp.mjs- Compare MongoDB vs PDS state for @fifi- Usage:
node scripts/atproto/check-fifi-kidlisp.mjs - Detailed analysis of sync status
- Usage:
-
sync-mongodb-from-atproto.mjs- Reverse sync: pull data from PDS into MongoDB- Usage:
node scripts/atproto/sync-mongodb-from-atproto.mjs - Useful for testing and data recovery scenarios
- Usage:
-
test-mood-sync.mjs- Test mood syncing to ATProto- Usage:
node scripts/atproto/test-mood-sync.mjs - Development/debugging script
- Usage:
-
recover-deleted-tapes.mjs- Recover tapes from DigitalOcean Spaces backups- Usage:
node scripts/recovery/recover-deleted-tapes.mjs [--dry-run] [--codes=...] [--rebake] [--recreate] - Locates ZIP/MP4 files and optionally recreates MongoDB + ATProto records
- Requires: DO_SPACES_KEY, DO_SPACES_SECRET env vars
- Usage:
-
check-tape-zips-in-spaces.mjs- List all tape ZIP files in DigitalOcean Spaces- Usage:
node scripts/recovery/check-tape-zips-in-spaces.mjs - Quick inventory of available tape backups
- Usage:
node scripts/atproto/check-kidlisp-atproto.mjs node scripts/atproto/check-fifi-kidlisp.mjs# Dry run first node scripts/atproto/backfill-kidlisp-rkeys.mjs # Then live node scripts/atproto/backfill-kidlisp-rkeys.mjs live# Kidlisp only node scripts/atproto/sync-atproto.mjs live --kidlisp-only # Anonymous content only (uses art-guest account) node scripts/atproto/sync-atproto.mjs live --anonymous-only # Specific user node scripts/atproto/sync-atproto.mjs live --user=jeffrey# Check what can be recovered node scripts/recovery/recover-deleted-tapes.mjs --dry-run # Recover specific codes node scripts/recovery/recover-deleted-tapes.mjs --codes=abc,xyz --recreate- All scripts support
--dry-runor run withoutliveargument for safe preview - Scripts automatically use MongoDB from MONGODB_CONNECTION_STRING env var
- ATProto scripts require PDS_URL and PDS_ADMIN_PASSWORD env vars
- Always run verification scripts after sync/backfill operations
- Backend modules:
system/backend/ - Netlify functions:
system/netlify/functions/ - AT Protocol tools:
at/scripts/atproto/(external federation tools)