# ============================================
# Homoeopathy System - Git Ignore Rules
# Kent's Repertory | Classical Homeopathy
# ============================================

# -------------------------------
# PHP & Server Configuration
# -------------------------------

# PHP error logs
*.log
error_log
php_errors.log
php_error.log

# Server configuration files
.env
.env.local
.env.production
.env.development
.env.testing

# IDE and editor files
.vscode/
.idea/
*.swp
*.swo
*~
.DS_Store
Thumbs.db
*.sublime-*
.editorconfig
.phpstorm.meta.php

# -------------------------------
# Application Specific
# -------------------------------

# Configuration files (sensitive)
/config/config.php
/config/database.php
/config/.env

# Installation lock file
/install.lock
/installed.txt

# API keys and secrets
/api_keys.php
/secrets.php
/credentials.php

# -------------------------------
# Uploaded Files
# -------------------------------

# User uploads
/assets/uploads/cases/*
/assets/uploads/profiles/*
/assets/uploads/temp/*
!assets/uploads/cases/.gitkeep
!assets/uploads/profiles/.gitkeep
!assets/uploads/temp/.gitkeep

# Temporary files
/tmp/*
!/tmp/.gitkeep
/tmp/cache/*
!/tmp/cache/.gitkeep
/tmp/sessions/*
!/tmp/sessions/.gitkeep
/tmp/login_attempts/*
!/tmp/login_attempts/.gitkeep

# -------------------------------
# Logs
# -------------------------------

# System logs
/logs/*.log
/logs/*.log.*
/logs/*.bak
/logs/*.gz
!/logs/.gitkeep

# Cron logs
/cron.log
/cron_error.log

# -------------------------------
# Backups
# -------------------------------

# Database backups
/backups/*.sql
/backups/*.sql.gz
/backups/*.zip
/backups/*.tar
/backups/*.tar.gz
!/backups/.gitkeep

# -------------------------------
# Dependencies
# -------------------------------

# Composer
/vendor/
composer.lock
composer.phar

# NPM
/node_modules/
package-lock.json
yarn.lock

# Bower
/bower_components/

# -------------------------------
# Build & Compiled Files
# -------------------------------

# Compiled CSS/JS
/assets/css/*.min.css
/assets/js/*.min.js
/assets/css/*.map
/assets/js/*.map

# Sass/SCSS cache
.sass-cache/
*.css.map
*.scssc

# -------------------------------
# OS Generated Files
# -------------------------------

# macOS
.DS_Store
.AppleDouble
.LSOverride
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db

# Windows
Desktop.ini
$RECYCLE.BIN/
*.cab
*.msi
*.msm
*.msp

# Linux
.directory
*.orig
*.rej

# -------------------------------
# Archive Files
# -------------------------------

# Archives
*.zip
*.tar.gz
*.rar
*.7z
*.bak
*.old
*.backup

# -------------------------------
# Testing & Coverage
# -------------------------------

# Testing
/tests/coverage/
/tests/reports/
.phpunit.result.cache
*.coverage
*.xml

# -------------------------------
# Documentation
# -------------------------------

# Generated documentation
/docs/api/
/docs/generated/
/docs/_build/

# -------------------------------
# Database
# -------------------------------

# Local database files
*.sqlite
*.sqlite3
*.db
*.mdb
*.accdb

# -------------------------------
# Session & Cache
# -------------------------------

# PHP sessions
sess_*
/tmp/sessions/*

# Cache files
*.cache
*.cache.json
/tmp/cache/*

# -------------------------------
# SSL Certificates
# -------------------------------

# Certificate files
*.crt
*.key
*.pem
*.csr
*.p12

# -------------------------------
# Email Attachments
# -------------------------------

# Email temp files
/emails/tmp/
/emails/attachments/

# -------------------------------
# Development Tools
# -------------------------------

# Local development
.env.local
.env.*.local
.phpintel/
.phalcon/
.phpunit/

# Debugging
xdebug.log
debug.log
*.xdebug

# -------------------------------
# Project Specific
# -------------------------------

# Kent's Repertory import data (keep template but ignore actual data)
/data/kent_repertory.csv
/data/import/*.csv
!/data/import/template.csv

# Export files
/exports/*.csv
/exports/*.xlsx
/exports/*.json
!/exports/.gitkeep

# Report files
/reports/generated/*.pdf
/reports/generated/*.html

# AI cache (optional)
/tmp/ai_cache/*

# User preferences
.user_prefs
*.userprefs

# -------------------------------
# Security Files
# -------------------------------

# Security scan reports
/security/
/scan_results/

# -------------------------------
# README & Documentation
# -------------------------------

# Ignore generated documentation
/docs/generated/

# -------------------------------
# Keep essential directories
# -------------------------------

# Preserve directory structure
!assets/uploads/cases/.gitkeep
!assets/uploads/profiles/.gitkeep
!assets/uploads/temp/.gitkeep
!logs/.gitkeep
!backups/.gitkeep
!tmp/.gitkeep
!tmp/cache/.gitkeep
!tmp/sessions/.gitkeep
!tmp/login_attempts/.gitkeep
!exports/.gitkeep

# -------------------------------
# Environment Specific
# -------------------------------

# Production environment files
.env.production.local

# Staging environment files
.env.staging.local

# Development environment files
.env.development.local

# -------------------------------
# Docker
# -------------------------------

# Docker files
docker-compose.override.yml
.dockerignore
Dockerfile.local

# -------------------------------
# CI/CD
# -------------------------------

# CI/CD configuration
.gitlab-ci.yml
.travis.yml
circle.yml
.github/

# -------------------------------
# Note: The following should be COMMITTED:
# - .gitignore (this file)
# - .htaccess
# - robots.txt
# - sitemap.xml (generated, but base template should be committed)
# - composer.json
# - package.json
# - README.md
# - CHANGELOG.md
# - LICENSE
# -------------------------------