# Laravel standard ignores
/node_modules
/.env
/.dev
/public/hot
/public/storage
/storage/*.key
/storage/installed
/storage/activation
/storage/verified
/public/vendor/argonfront
/storage/framework/views
/storage/multilanguagemigrated
/storage/auth0sync
/vendor
/tigermodules
.env*
ngrok
.phpunit.result.cache
Homestead.json
Homestead.yaml
npm-debug.log
yarn-error.log
.diff-files.txt
.idea
*.zip
*.log
.aider*

# Vendor assets and builds (themes, JS libs like Argon, PrismJS, flags)
public/vendor/**
public/build/**
public/hot
public/storage

# Storage runtime files (cache, uploads, sessions, logs, temp JSON)
storage/**
!storage/app/modules/modules.used  # Keep this if it's config
!storage/.gitkeep  # Optional placeholder
/storage/framework/**
/storage/app/public/**
/storage/app/**.json
/storage/logs/**
/storage/tests/**
/storage/*.wav
/storage/*.ogg

# Node modules and builds
node_modules/
npm-debug.log
yarn-error.log

# Sensitive/local files
.env*
*.log
error_log
php.ini
.user.ini
.ftpquota
ntest.txt
*.zip
*.wav
*.ogg
*.json
*.png
*.jpg
*.svg

# IDE and temp files
.idea
.aider*
.diff-files.txt
*.tmp
*.bak
*.swp
.DS_Store

# Custom manual packages (Google API client - keep but slim if possible)
google-api-client/
google-api-client/**
/google-api-client/vendor/**  # Ignore nested vendor in custom package if not needed

# JS libraries in public (TinyMCE, Quill, html2pdf — manual placement)
public/js/**
!public/js/app.js  # Keep custom app.js
!public/js/bootstrap.js  # Keep if custom

# Custom/public assets if generated
public/byadmin/**
public/custom/**
public/beta/**
public/landing/**
public/smtp-test/**

# Uploaded media/files (user uploads, docs, videos — NEVER commit)
public/uploads/**
!public/uploads/.gitkeep
public/uploads/media/**
public/uploads/flowmaker/**
public/uploads/companies/**
public/uploads/settings/**
public/uploads/default/**

# Mix/Vite builds and manifests
public/build/**
public/mix-manifest.json
public/site.webmanifest

# More runtime/temp files
public/*.html  # e.g., disclaimer.html, privacy.html (force add if core)
public/*.js    # e.g., OneSignalSDKWorker.js (force add if core)
error_log
*.mp4
*.mp3
*.pdf
*.phar

# Reinforce storage/public links
public/storage/**
storage/app/public/**

# Exceptions for core public files (to ensure they're tracked despite broad ignores)
!public/index.php
!public/.htaccess
!public/robots.txt
!public/web.config
!public/css/**
!public/css/app.css
!public/css/custom.css
!public/js/app.js


# Ignore all modules except Flowmaker
modules/
!modules/Flowmaker/
!modules/Flowmaker/**