# Source files (excluded since we bundle to dist/)
src/
out/
lib/

# Large asset images (README uses external URLs, not needed in VSIX)
# These are ~670KB each and duplicate - saves ~1.3MB
assets/banner.png
assets/github-vscode.png
media/icons/
media/icons/**
media/snapback-icon.svg
media/vscode-banner-dark.png

# Source maps (not needed in production - saves ~11MB!)
**/*.map

# Build config files
esbuild.config.js
esbuild.config.cjs
tsconfig*.json
svgo.config.js
postcss.config.js

# Proposed API type definitions
vscode.proposed.*.d.ts

# Development files
.vscode/**
.github/**
.turbo/
.size-limit.json

# Documentation (not needed at runtime)
docs/
claudedocs/

# Webview source (compiled to dist/webview/)
webview/

# Test files and fixtures
src/test/**
src/**/*.test.ts
test/**
test-fixtures/
test-workspace/
test-file.txt
test-suppressions.ts
__mocks__/**
coverage/**
playwright.config.ts
playwright.config.js
playwright-report/
.vscodetest.mjs
.vscode-test.mjs
.vscode-test-packaged.mjs
.vscode-test-worker.mjs
*.test.*
*.spec.*
actual-e2e-execution.js
demo-e2e-test.js
run-e2e-demo.js
mock-inventory.csv

# Build artifacts
*.tsbuildinfo
node_modules/.cache/
dist/bundle-analysis.html
dist/server/
dist/server/**

# Development tools
biome.json
vitest.config.ts
consolidate.sh

# Scripts directory (build scripts)
# Note: We exclude scripts but need to keep dist/node_modules for native modules
scripts/

# Spike/experimental code (CRITICAL - contains process.exit())
spike/

# SnapBack config files (user creates their own)
.snapbackignore
.snapbackprotected
.snapbackrc
.snapbackrc.example

# Misc dev files
0
server/
production-readiness-assessment.ts
validation-integration.txt
untitled:*
package.json.packaging-backup
package.json.lint-scripts
package.base.json
svgo-config-*.json
redirects.json
types/

# IMPORTANT: Include dist/node_modules ONLY for native dependencies like better-sqlite3
!dist/node_modules/
# But exclude sql.js - we copy only minimal WASM file to dist/sql-wasm.wasm manually
dist/node_modules/sql.js/

# Exclude unnecessary files from all node_modules
dist/node_modules/**/*.md
dist/node_modules/**/README*
dist/node_modules/**/LICENSE*
dist/node_modules/**/CHANGELOG*
dist/node_modules/**/CONTRIBUTING*
dist/node_modules/**/.npmignore
dist/node_modules/**/.gitignore
dist/node_modules/**/package-lock.json
dist/node_modules/**/yarn.lock
dist/node_modules/**/*.map
dist/node_modules/**/*.d.ts
dist/node_modules/**/test/
dist/node_modules/**/tests/
dist/node_modules/**/__tests__/
dist/node_modules/**/examples/
dist/node_modules/**/docs/

# IMPORTANT: Include the manually copied sql.js WASM file
!dist/sql-wasm.wasm

# Documentation
*.md
!README.md
!CHANGELOG.md

# Environment files
.env*
!*.example

# Temporary files
.DS_Store
Thumbs.db
*.tmp
*.temp
*.log

# SnapBack development data (CRITICAL - checkpoint history)
.snapback/

# Development configuration
.claude/

# Backup files
backup/

# Temporary test directories
test-temp*/

# VSCode test installation
.vscode-test/
.vscode-test-workspace/

# Archived development files
ARCHIVE/

# =====================================
# IP PROTECTION - CRITICAL SECURITY
# =====================================
# These patterns MUST be excluded from published extension
# to prevent proprietary algorithm leakage

# Engine package (contains proprietary AI detection algorithms)
# NOTE: Engine should be bundled but obfuscated via javascript-obfuscator
packages/engine/

# IP validation scripts (development only)
scripts/validate-ip-protection.js

# Any unobfuscated source that might leak through
**/*.ts.bak
**/*.original

# Build analysis that could reveal architecture
dist/bundle-analysis.html
dist/stats.json
dist/metafile.json
