# RedFlag .gitignore
# Comprehensive ignore file for Go, Node.js, and development files

# =============================================================================
# Go / Go Modules
# =============================================================================
# Binaries for programs and plugins
*.exe
*.exe~
*.dll
*.so
*.dylib

# All documentation goes in docs/ folder (private development)
docs/
*.md
!README.md
!LICENSE
!.env.example

# Test binary, built with `go test -c`
*.test

# Output of go coverage tool, specifically when used with LiteIDE
*.out

# Go workspace file
go.work

# Dependency directories (remove comment if using vendoring)
vendor/

# Go build cache
.cache/

# Go mod download cache (can be large)
*.modcache

# =============================================================================
# Node.js / npm / yarn / pnpm
# =============================================================================
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*

# Diagnostic reports (https://nodejs.org/api/report.html)
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json

# Runtime data
pids
*.pid
*.seed
*.pid.lock

# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov

# Coverage directory used by tools like istanbul
coverage/
*.lcov

# nyc test coverage
.nyc_output

# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
.grunt

# Bower dependency directory (https://bower.io/)
bower_components

# node-waf configuration
.lock-wscript

# Compiled binary addons (https://nodejs.org/api/addons.html)
build/Release

# Dependency directories
node_modules/
jspm_packages/

# Snowpack dependency directory (https://snowpack.dev/)
web_modules/

# TypeScript cache
*.tsbuildinfo

# Optional npm cache directory
.npm

# Optional eslint cache
.eslintcache

# Optional stylelint cache
.stylelintcache

# Microbundle cache
.rpt2_cache/
.rts2_cache_cjs/
.rts2_cache_es/
.rts2_cache_umd/

# Optional REPL history
.node_repl_history

# Output of 'npm pack'
*.tgz

# Yarn Integrity file
.yarn-integrity

# dotenv environment variable files
.env
.env.development.local
.env.test.local
.env.production.local
.env.local

# parcel-bundler cache (https://parceljs.org/)
.cache
.parcel-cache

# Next.js build output
.next
out

# Nuxt.js build / generate output
.nuxt
dist

# vuepress build output
.vuepress/dist

# vuepress v2.x temp and cache directory
.temp
.cache

# Docusaurus cache and generated files
.docusaurus

# Serverless directories
.serverless/

# FuseBox cache
.fusebox

# DynamoDB Local files
.dynamodb/

# TernJS port file
.tern-port

# Stores VSCode versions used for testing VSCode extensions
.vscode-test

# =============================================================================
# IDE / Editor Files
# =============================================================================
# VSCode
.vscode/
!.vscode/extensions.json
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json

# JetBrains / IntelliJ IDEA
.idea/
*.iml
*.ipr
*.iws

# Vim
*.swp
*.swo
*~

# Emacs
*~
\#*\#
/.emacs.desktop
/.emacs.desktop.lock
*.elc
auto-save-list
tramp
.\#*

# Sublime Text
*.sublime-project
*.sublime-workspace

# Kate
.session

# Gedit
*~

# =============================================================================
# OS Generated Files
# =============================================================================
# macOS
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db

# Windows
*.cab
*.msi
*.msix
*.msm
*.msp
*.lnk

# Linux
*~
.fuse_hidden*
.directory
.Trash-*
.nfs*

# =============================================================================
# Application Specific
# =============================================================================
# RedFlag specific files
*.db
*.sqlite
*.sqlite3

# Compiled binaries (project-specific)
redflag-agent
redflag-server
aggregator-agent/redflag-agent
aggregator-server/redflag-server
aggregator-server/server

# Agent configuration (may contain sensitive data)
aggregator-agent/config.json
aggregator-agent/.agent-id
aggregator-agent/.token

# Server runtime files
aggregator-server/logs/
aggregator-server/data/
aggregator-server/uploads/

# Local cache files
aggregator-agent/cache/
aggregator-agent/*.cache
/var/lib/aggregator/
/var/cache/aggregator/
/var/log/aggregator/

# Test files and coverage
coverage.txt
coverage.html
*.cover
*.prof
test-results/

# Local development files
*.local
*.dev
.devenv/
dev/

# Development packages and scripts
aggregator-agent/pkg/
aggregator-server/scripts/
aggregator-server/internal/utils/

# Build artifacts
*.tar.gz
*.zip
*.rpm
*.deb
*.snap

# Documentation build
docs/_build/
docs/build/

# =============================================================================
# Docker / Container Related
# =============================================================================
# Docker volumes (avoid committing data)
volumes/
data/

# Docker build context
.dockerignore

# =============================================================================
# Security / Credentials
# =============================================================================
# Private keys and certificates
*.key
*.pem
*.crt
*.p12
*.pfx
id_rsa
id_rsa.pub
id_ed25519
id_ed25519.pub

# Passwords and secrets
secrets/
*.secret
*.password
*.token
.auth

# Cloud provider credentials
.aws/
.azure/
.gcp/
.kube/

# =============================================================================
# Miscellaneous
# =============================================================================
# Large files
*.iso
*.dmg
*.img
*.bin
*.dat

# Backup files
*.bak
*.backup
*.old
*.orig
*.save

# Temporary files
*.tmp
*.temp
*.swp
*.swo

# Lock files (keep some, ignore others)
*.lock
# Keep package-lock.json and yarn.lock for dependency management
# yarn.lock
# package-lock.json

# Archive files
*.7z
*.rar
*.tar
*.tgz
*.gz

# Profiling and performance data
*.prof
*.pprof
*.cpu
*.mem

# Local database files
*.db-shm
*.db-wal

# =============================================================================
# AI / LLM Development Files
# =============================================================================
# Claude AI settings and cache
.claude/
*claude*

# =============================================================================
# Essential files to INCLUDE for GitHub alpha release
# =============================================================================
# Include essential documentation files
!README.md
!LICENSE
!.env.example
!docker-compose.yml
!Makefile

# Screenshots (needed for README)
!Screenshots/
!Screenshots/*.png
!Screenshots/*.jpg
!Screenshots/*.jpeg

# Core functionality (needed for working system)
!aggregator-agent/internal/installer/
!aggregator-agent/internal/scanner/dnf.go
!aggregator-server/internal/api/handlers/
!aggregator-server/internal/services/
!aggregator-server/internal/database/migrations/

# Only minimal README, no other documentation

# =============================================================================
# AI / LLM Development Files
# =============================================================================
.claude/