Skip to main content
Your repr stories are valuable. They represent months (or years) of work you’ve shipped. You don’t want to lose them. Good news: repr stores everything as plain JSON files in ~/.repr/. But having an explicit backup workflow is still smart. Here’s how.

Quick Backup

Want a backup right now? One command:
Output:
Done. You now have a complete backup of all your repr data in a single JSON file.

What Gets Backed Up?

The backup includes:
  • All stories (titles, narratives, metadata, featured/hidden status)
  • Profile settings (bio, location, availability)
  • Configuration (LLM settings, tracked repos, hooks)
  • Queue (pending commits waiting for generation)
What doesn’t get backed up:
  • ❌ Your git repositories (use git for that)
  • ❌ Your API keys (stored in OS keychain, not in repr)
  • ❌ Auth tokens (you’ll re-login after restore)

Where to Store Backups

Some good options:
Now your backup syncs automatically across devices and stays safe in the cloud.

2. External Drive

Good for air-gapped systems or if you don’t trust cloud storage.

3. Version Control

Gives you version history of your backups. Useful if you want to roll back to an earlier state.

Automated Backups

Don’t rely on remembering to run backups. Automate it.

Weekly Backup (macOS)

Create a launchd service:
Then set up a weekly cron job:

Weekly Backup (Linux)

Same script, same cron job. Works everywhere.

Weekly Backup (Windows)

Use Task Scheduler to run:

Restore from Backup

You got a new laptop. Or your hard drive died. Or you accidentally deleted your stories. Time to restore from backup.

Full Restore (Replace Everything)

Output:
Everything is back.

Merge Restore (Keep Both)

Already have some stories on the new machine? Want to merge with your backup?
Output:
Now you have stories from both the backup and your local machine.

Migrating to a New Computer

Full workflow for setting up repr on a new machine with all your existing data.
1

Install repr on new machine

2

Copy your backup to the new machine

Transfer your backup file (via USB, cloud storage, etc):
3

Restore from backup

Your stories, config, and settings are now on the new machine.
4

Initialize with your new repos

Point repr at your code folder on the new machine:
This scans for repos. The repos don’t have to match your old machine—repr works with whatever you have locally.
5

(Optional) Re-authenticate

If you use cloud sync:
This connects the new machine to your account. Your auth token is not in the backup (it’s in your OS keychain), so you’ll need to log in again.
6

Verify everything works

Check that all your stories are there and repr is healthy.

Incremental Backups

Don’t want to back up everything every time? Use incremental backups:
This creates a smaller backup with just recent work. Combine with periodic full backups:
  • Weekly: Incremental backup (fast, small)
  • Monthly: Full backup (slower, complete)

Checking What You Have

Want to see how much data you’re storing before backing up?
Output:
Not much! Your stories are text files, so they don’t take up much space.

Housekeeping

Clear Cache (Keeps Stories)

Repr caches some data for performance. You can safely clear it:
Your stories are untouched. Only temp files are removed.

Export Individual Stories

Want to back up just one important story?

Backup Best Practices

1. Backup Before Major Changes

Before doing anything destructive:
Then make your changes. If something breaks, restore from ~/temp-backup.json.

2. Keep Multiple Backups

Don’t overwrite the same backup file. Use dated filenames:
This way you have history. If you realize you need something from 2 weeks ago, you have it.

3. Test Your Backups

Occasionally verify your backup actually works:
A backup you haven’t tested is not a backup.

4. Use Cloud Sync as Secondary Backup

If you use repr’s cloud sync, your stories are already backed up to repr.dev. But don’t rely on this alone—also keep local backups. Cloud sync is great for:
  • ✅ Multi-device access
  • ✅ Automatic synchronization
  • ✅ Secondary backup
But local backups are better for:
  • ✅ Complete control
  • ✅ Offline access
  • ✅ No dependency on repr.dev being online
Use both.

Disaster Recovery

Your hard drive crashed. Everything is gone. What do you do?

If You Have Cloud Sync

You’re back up and running. This is why cloud sync is valuable even if you primarily work offline.

If You Only Have Local Backups

All your stories are back.

If You Have Neither

This is bad. Your stories are gone. But your git history still exists! You can regenerate:
You’ll get new stories based on your git history. They won’t be exactly the same as before (LLMs are non-deterministic), but you’ll recover most of your work. This is why backups matter.

Migration Checklist

Moving to a new machine? Follow this checklist:
  • Create fresh backup on old machine: repr data backup
  • Transfer backup file to new machine (USB, cloud, etc)
  • Install repr on new machine
  • Restore from backup: repr data restore --replace
  • Initialize with new repos: repr init ~/code
  • (Optional) Re-authenticate: repr login
  • Verify: repr stories and repr doctor
  • Test generate: repr generate --local
  • Set up new automated backup schedule

The Bottom Line

Repr stores everything as human-readable JSON files in ~/.repr/. You can back them up like any other files. But using repr data backup is easier because:
  1. It bundles everything into one file
  2. It’s guaranteed to capture the right structure
  3. It’s designed to work with repr data restore
Back up regularly. You’ll thank yourself later.