Quickstart

Follow this guide to track your first files and sync them across machines. Prerequisite: DaemonHound installed.

1. Initialize DaemonHound

Create a private Git repository on GitHub. This is your encrypted vault.

Shell
dhd init --remote git@github.com:you/my-vault.git
# Enter master password: ••••••••
# Confirm master password: ••••••••

2. Track files

Navigate into any project with a Git remote:

Shell
cd ~/projects/my-api
dhd track .env.local
# ✓ Tracking .env.local → github.com/you/my-api

dhd track .env.test
# ✓ Tracking .env.test → github.com/you/my-api
Files outside a repo? Use dhd track ~/.gitconfig (global namespace). Use --mode backup for machine-specific files.

3. Sync with the vault

Shell
dhd sync
# ✓ Pushed 2 files to vault
#   github.com/you/my-api: .env.local, .env.test

4. Check status

Shell
dhd status
# github.com/you/my-api
#   .env.local    clean
#   .env.test     dirty  (modified locally, not yet pushed)

5. Set up a second machine

On the first machine:

Shell
dhd export-identity
# → AGE-SECRET-KEY-1xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

On the second machine:

Shell
dhd init --remote git@github.com:you/my-vault.git --age-key AGE-SECRET-KEY-1...
dhd discover ~/projects
# Scanning ~/projects (depth 4)...
# github.com/you/my-api   2 tracked files  ✓ restored

No need to re-run dhd track. dhd discover restores everything in one step.

6. Store a named secret

Shell
dhd secret set openai-key
# Enter secret value: ••••••••
# ✓ Secret stored

dhd secret ref openai-key .env.local OPENAI_API_KEY
# ✓ Mapped openai-key → OPENAI_API_KEY in .env.local

Rotate it once, every file updates. See Managing Secrets.

What's next?