Files
homelab/.gitignore
Jordan Ramos 4f69420aaa refactor(repo): reorganize repository structure for improved navigation and maintainability
Implement comprehensive directory reorganization to improve discoverability,
logical grouping, and separation of concerns across documentation, scripts,
and infrastructure snapshots.

Major Changes:

1. Documentation Reorganization:
   - Created start-here-docs/ for onboarding documentation
     * Moved QUICK-START.md, START-HERE.md, GIT-SETUP-GUIDE.md
     * Moved GIT-QUICK-REFERENCE.md, SCRIPT-USAGE.md, SETUP-COMPLETE.md
   - Created troubleshooting/ directory
     * Moved BUGFIX-SUMMARY.md for centralized issue resolution
   - Created mcp/ directory for Model Context Protocol configurations
     * Moved OBSIDIAN-MCP-SETUP.md to mcp/obsidian/

2. Scripts Reorganization:
   - Created scripts/crawlers-exporters/ for infrastructure collection
     * Moved collect*.sh scripts and collection documentation
     * Consolidates Proxmox homelab export tooling
   - Created scripts/fixers/ for operational repair scripts
     * Moved fix_n8n_db_*.sh scripts
     * Isolated scripts with embedded credentials (templates tracked)
   - Created scripts/qol/ for quality-of-life utilities
     * Moved git-aliases.sh and git-first-commit.sh

3. Infrastructure Snapshots:
   - Created disaster-recovery/ for active infrastructure state
     * Moved latest homelab-export-20251202-204939/ snapshot
     * Contains current VM/CT configurations and system state
   - Created archive-homelab/ for historical snapshots
     * Moved homelab-export-*.tar.gz archives
     * Preserves point-in-time backups for reference

4. Agent Definitions:
   - Created sub-agents/ directory
     * Added backend-builder.md (development agent)
     * Added lab-operator.md (infrastructure operations agent)
     * Added librarian.md (git/version control agent)
     * Added scribe.md (documentation agent)

5. Updated INDEX.md:
   - Reflects new directory structure throughout
   - Updated all file path references
   - Enhanced navigation with new sections
   - Added agent roles documentation
   - Updated quick reference commands

6. Security Improvements:
   - Updated .gitignore to match reorganized file locations
   - Corrected path for scripts/fixers/fix_n8n_db_c_locale.sh exclusion
   - Maintained template-based credential management pattern

Infrastructure State Update:
   - Latest snapshot: 2025-12-02 20:49:54
   - Removed: VM 101 (gitlab), CT 112 (Anytype)
   - Added: CT 113 (n8n)
   - Total: 9 VMs, 3 Containers

Impact:
   - Improved repository navigation and discoverability
   - Logical separation of documentation, scripts, and snapshots
   - Clearer onboarding path for new users
   - Enhanced maintainability through organized structure
   - Foundation for multi-agent workflow support

Files changed: 90 files (+935/-349)
   - 3 modified, 14 new files, 73 renames/moves

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-02 21:39:33 -07:00

141 lines
5.6 KiB
Plaintext

# Homelab Git Ignore Configuration
# =================================
# This file tells git which files to ignore (not track in version control)
# Environment Files (contain sensitive information)
# ------------------------------------------------
.env # Your actual environment configuration
*.env.local # Local environment overrides
*.env.production # Production environment files
*.env.*.local # Any local environment variations
# Secrets and Credentials
# ----------------------
secrets/ # Directory for any secret files
*.key # Private keys
*.pem # SSL certificates and keys
*.crt # Certificate files (unless you explicitly need them tracked)
*.pfx # Certificate files
*.p12 # Certificate files
credentials.json # Credential files
auth.json # Authentication files
*.token # Token files
*.secret # Secret files
# Proxmox & Virtual Machine Data
# -----------------------------
*.iso # ISO files (too large for git)
*.qcow2 # QEMU disk images
*.vmdk # VMware disk images
*.vdi # VirtualBox disk images
*.img # Raw disk images
*.ova # Virtual appliance packages
*.ovf # Open virtualization format
# Backup and Export Files
# ----------------------
*.tar.gz # Compressed archives
*.tgz # Compressed archives
*.zip # Zip archives
*.bak # Backup files
*.backup # Backup files
backups/ # Backup directory
exports/ # Export directory (if not needed in git)
homelab-export-*/ # Your homelab export directories
*.log # Log files (unless you specifically want to track them)
# Temporary Files
# --------------
*.tmp # Temporary files
*.temp # Temporary files
*.cache # Cache files
*.swp # Vim swap files
*.swo # Vim swap files
*~ # Backup files created by editors
.DS_Store # macOS metadata files
Thumbs.db # Windows thumbnail cache
# IDE and Editor Files
# -------------------
.vscode/ # VS Code settings (unless you want to share them)
.idea/ # JetBrains IDE settings
*.sublime-* # Sublime Text settings
.project # Eclipse project files
.classpath # Eclipse classpath
# Terraform State (if you use Terraform)
# -------------------------------------
*.tfstate # Terraform state files (contain sensitive data)
*.tfstate.* # Terraform state backups
.terraform/ # Terraform plugin directory
.terraform.lock.hcl # Terraform lock file (some prefer to track this)
# Ansible Vault (if you use Ansible)
# ---------------------------------
# Note: You might want to track encrypted vault files
# but ignore the decrypted versions
*.vault.yml.dec # Decrypted vault files
vault-password.txt # Vault password file
# Python (if you have Python scripts)
# ----------------------------------
__pycache__/ # Python cache
*.py[cod] # Python compiled files
*$py.class # Python class files
venv/ # Python virtual environment
env/ # Python virtual environment
.Python # Python runtime
# Node.js (if you have Node.js projects)
# -------------------------------------
node_modules/ # Node.js dependencies
npm-debug.log* # npm debug logs
yarn-debug.log* # Yarn debug logs
yarn-error.log* # Yarn error logs
# Claude Code Configuration Files
# -------------------------------
.claude.json # Claude MCP server configuration (contains API keys)
*.claude.json # Any Claude config files
.claude/ # Claude configuration directory
# Script Variants (with embedded credentials)
# -------------------------------------------
# Sanitized scripts are tracked in git, but variants with
# real credentials embedded should be kept local only
scripts/**/*_with_creds.* # Any script with embedded credentials
scripts/**/*.local.* # Local script variants
scripts/**/*_prod.* # Production script variants
scripts/**/fix_*_original.sh # Original unsanitized fix scripts
# Docker Compose Service Exclusions
# ---------------------------------
# Ignore runtime data and sensitive files in services directory
services/**/.env # Service environment files with secrets
services/**/.env.local # Local environment overrides
services/**/volumes/ # Docker volume mount directories
services/**/data/ # Data directories
services/**/*.log # Service log files
services/**/logs/ # Log directories
services/**/node_modules/ # Node.js dependencies in services
services/**/*.db # Database files
services/**/*.sqlite # SQLite database files
services/**/*.sqlite3 # SQLite3 database files
# Homepage Configuration (Sensitive)
# ----------------------------------
# Exclude the actual configuration file (contains API keys/passwords)
# Template file (.template) is tracked for reference
services/homepage/services.yaml
# Operational Scripts (Sensitive)
# -------------------------------
# Exclude scripts with embedded credentials
# Template files (.template) are tracked for reference
scripts/fixers/fix_n8n_db_c_locale.sh
# Custom Exclusions
# ----------------
# Add any custom patterns specific to your homelab below:
.env