auto-save 2026-07-13

This commit is contained in:
Ray
2026-07-13 02:00:15 -04:00
parent dab5a4ebc6
commit 473729267c
14 changed files with 579 additions and 38 deletions
@@ -0,0 +1,108 @@
# Credentials & secrets (DO NOT COMMIT)
.env
auth.json
auth.lock
honcho.json
credentials*
secrets*
# Logs
logs/
*.log
interrupt_debug.log
# Caches
cache/
audio_cache/
image_cache/
models_dev_cache.json
ollama_cloud_models_cache.json
provider_models_cache.json
context_length_cache.yaml
# Sessions (runtime conversation data)
sessions/
profiles/*/sessions/
profiles/*/memories/
profiles/*/cache/
profiles/*/logs/
profiles/*/audio_cache/
# Databases (runtime state)
state.db
state.db-shm
state.db-wal
response_store.db
response_store.db-shm
response_store.db-wal
kanban.db
kanban.db-shm
kanban.db-wal
kanban.db.dispatch.lock
kanban.db.init.lock
verification_evidence.db
verification_evidence.db-shm
verification_evidence.db-wal
# Runtime / process files
gateway.pid
gateway.lock
gateway_state.json
processes.json
channel_directory.json
# State snapshots
state-snapshots/
checkpoints/
# Internal tracking files
.hermes_history
.skills_prompt_snapshot.json
.update_check
.restart_last_processed.json
# Hermes agent source (separate repo, clone on demand)
hermes-agent/
# Node / npm
node/
node_modules/
# Python
__pycache__/
*.pyc
*.pyo
# Generated / sandbox dirs
sandboxes/
pastes/
lsp/
webui/
platforms/
pairing/
images/
image_cache/
# Cron runtime output
cron/output/
cron/ticker_heartbeat
cron/ticker_last_success
# State dir
state/
# Memories (personal data — network topology, passwords, preferences)
memories/
# Kanban board data
kanban/
# Backup files
*.bak
# IDE / editor
.idea/
.vscode/
*.swp
*.swo
*~
@@ -0,0 +1,59 @@
#!/usr/bin/env bash
# Verify .gitignore is excluding sensitive files and tracking key config files.
# Run from ~/.hermes/ after git init and .gitignore creation.
set -euo pipefail
cd ~/.hermes
errors=0
echo "=== Verifying .gitignore exclusions ==="
# Files that MUST be excluded
for pattern in \
".env" \
"auth.json" \
"honcho.json" \
"memories/MEMORY.md" \
"memories/USER.md" \
"state.db" \
"kanban.db" \
"response_store.db" \
"logs/" \
"cache/" \
"sessions/" \
"hermes-agent/" \
"node_modules/" \
"__pycache__/" \
"*.pyc"
do
if git check-ignore -q "$pattern" 2>/dev/null; then
echo " PASS: '$pattern' is excluded"
else
echo " FAIL: '$pattern' is NOT excluded"
((errors++)) || true
fi
done
echo ""
echo "=== Files that SHOULD be tracked ==="
for file in \
"config.yaml" \
".gitignore" \
"SOUL.md" \
"cron/jobs.json" \
"profiles/advisor/config.yaml"
do
if git ls-files --error-unmatch "$file" >/dev/null 2>&1; then
echo " PASS: '$file' is tracked"
else
echo " FAIL: '$file' is NOT tracked"
((errors++)) || true
fi
done
echo ""
if [ "$errors" -eq 0 ]; then
echo "ALL CHECKS PASSED"
else
echo "$errors FAILURE(S)"
fi
exit $errors