# SQLite index — regenerable con `fn index` + completable con `fn sync`
registry.db
registry.db-journal
registry.db-wal
registry.db-shm

# operations.db — datos vivos, cada app genera el suyo con fn ops init
**/operations.db
**/operations.db-journal
**/operations.db-wal
**/operations.db-shm

# Binario CLI
/fn

# Go
*.exe
*.test
*.out

# IDE
.vscode/
.idea/
*.swp
*.swo
*~

# Secrets
**/.env
**/.env.*

# Python
**/__pycache__/
**/*.pyc
**/*.pyo
python/.venv/

# Externalized apps and analysis (each is its own Gitea repo)
apps/*/
analysis/*/

# Projects (each is its own git repo, only project.md templates are versioned)
projects/*/

# Vaults — data stores (symlinks, dirs, files); only vault.yaml manifest is versioned
vaults/*/
!vaults/vault.yaml

# Node / pnpm
**/node_modules/

# Sources — repos externos clonados (solo se versiona el manifest)
sources/*/

# Subrepos — mirrors/espejos externos (cada uno su propio git remote)
subrepos/*/

# External — symlinks a repos ajenos (ej: repo_Claude con skills/commands)
external/

# Worktrees — git worktrees para issues paralelos (parallel-fix-issues)
worktrees/

# Claude runtime locks
.claude/scheduled_tasks.lock

# Temp — workspace efimero para pruebas rapidas (APIs, scripts, analisis)
temp/

# C++ build artifacts
cpp/build/

# OS
.DS_Store
Thumbs.db

# Archivos locales
.local

broken_paths.txt
imgui.ini
prompts/
kotlin/functions/ui/
