# ============================================
# Node.js & NPM
# ============================================
# Dependencies
node_modules/
node_modules/*
jspm_packages/
bower_components/

# Package manager files
# The lockfile is committed on purpose: `npm ci` and the CI workflows depend on
# it for reproducible installs. Only the lockfiles of other managers are ignored.
yarn.lock
pnpm-lock.yaml
.pnpm-store/
.pnp/
.pnp.*
.yarn/*
!.yarn/patches
!.yarn/plugins
!.yarn/releases
!.yarn/sdks
!.yarn/versions

# NPM
.npm
.npmrc
npm-debug.log*
.npmignore

# Yarn
yarn-debug.log*
yarn-error.log*
.yarn-integrity
.yarnrc

# PNPM
pnpm-debug.log*
.pnpm-debug.log

# Lerna
lerna-debug.log*

# ESLint
.eslintcache

# Optional npm cache directory
.npm

# Optional REPL history
.node_repl_history

# Output of 'npm pack'
*.tgz

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

# ============================================
# TypeScript Build Outputs
# ============================================
dist/
build/
!src/build/
out/
lib/

# TypeScript cache and build info
*.tsbuildinfo
.tsc/
.tsbuildinfo

# Compiled JavaScript files (with exceptions)
*.js
*.js.map
*.d.ts
*.d.ts.map

# Keep configuration and setup files
!*.config.js
!*.config.mjs
!*.config.cjs
!jest.config.js
!babel.config.js
!webpack.config.js
!rollup.config.js
!vite.config.js
!vitest.config.js

# ============================================
# Testing & Coverage
# ============================================
coverage/
coverage-*/
.nyc_output/
.vitest/
*.lcov
*.coverage

# ============================================
# Logs & Debugging
# ============================================
*.log
logs/
*.pid
*.seed
*.pid.lock

# ============================================
# Environment Variables & Secrets
# ============================================
.env
.env.local
.env.*.local
.env.development
.env.test
.env.production
.envrc

# API Keys and Credentials
*.pem
*.key
*.cert
*.p12
*.pfx
secrets.json
credentials.json
service-account*.json
*-credentials.json
auth.json
token.json
.npmrc-local

# AWS
.aws/
aws-exports.js

# Azure
.azure/

# Google Cloud
gcloud/
.gcp/

# SSH Keys
id_rsa
id_rsa.pub
id_ed25519
id_ed25519.pub
*.ppk

# ============================================
# OS & Editor Files
# ============================================
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db
*~

# ============================================
# IDEs & Editors
# ============================================
# VSCode - editor configuration is personal, not shared
.vscode/
*.code-workspace

# JetBrains IDEs
.idea/
*.iml
*.ipr
*.iws
.idea_modules/

# Vim
*.swp
*.swo
*.swn

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

# ============================================
# Temporary & Cache Files
# ============================================
.cache/
.temp/
.tmp/
*.tmp
*.bak
*.swp

# ============================================
# AI Code Editors
# ============================================
# Cursor
.cursorignore
.cursorindexingignore

# ============================================
# Project Specific
# ============================================
# Abstra
.abstra/

# Marimo
marimo/_static/
marimo/_lsp/
__marimo__/

# ============================================
# Other
# ============================================
# Ruff
.ruff_cache/

# PyPI
.pypirc

#pcl
.pcl/
# Claude Code workspace - local configuration and agent definitions
.claude/CLAUDE.md
.claude/settings.local.json
.claude/agents/
.claude/*
# Project Management
.roadmap/

# Python bytecode from the stdlib maintenance scripts
__pycache__/
*.py[cod]
