# BEGIN: AI GUARDRAILS

# Dependencies
node_modules/
node_modules
jspm_packages

# Build outputs
dist/
dist
.build/
# NestJS pre-push AppModule boot-check scratch dir (untracked; keep out of `git add -A`)
.build-boot/
.serverless/
.serverless
cdk.out/
cdk.out.tmp/
.cdk.context.json
.cdk.staging/
.esbuild
/.warmup/

# GraphQL generated schema (code-first approach)
src/schema.gql
src/test-schema.gql

# Expo
.expo/
web-build/
android
/android
ios
/ios

# Native
*.orig.*
*.jks
*.p8
*.p12
*.key
*.mobileprovision
*.ipa
*.apk
*.aab

# Metro
.metro-health-check*

# Logs
logs
*.log
npm-debug.*
npm-debug.log*
pnpm-debug.log*
yarn-debug.*
yarn-debug.log*
yarn-error.*
yarn-error.log*
lerna-debug.log*
dev-debug.log

# Environment variables
.env
.env.local
.env*.local
.env.*.local
.env.secrets
.env.lisa
.envrc

# Test coverage
coverage/
coverage
/.nyc_output
.nyc_output

# K6 load test results
k6-results/

# Lighthouse CI reports
.lighthouseci/

# ESLint cache
.eslintcache

# Playwright test artifacts
**/playwright-report/
**/test-results/
playwright-report/*
playwright/.auth/*
test-results/*

# Maestro test artifacts
.maestro-output/
maestro-screenshots/
*.maestro.log

# OWASP ZAP reports
zap-report.html
zap-report.json
zap-report.md

# Compiled TypeScript
lambdas/**/*.js
lambdas/**/*.js.map
!jest.config.js
!vitest.config.js
!commitlint.config.js
!scripts/*.js
*.tsbuildinfo

# Temporary/experimental scripts
scripts/test-*.ts
scripts/test-*.js
scripts/*-example.*

# IDEs and editors
.idea
/.idea
.vscode
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
.project
.classpath
.c9/
*.launch
.settings/
*.sublime-workspace
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?
.cursor
.cursor/

# OS specific
.DS_Store
*.pem

# Python
__pycache__/
*.py[cod]

# AWS
aws-exports.js
westack-414800-632447f63133.json

# Google Services
google-service-account.json
google-service-account*.json
google-service*
google-services*.json
service-key.json

# Task files
.windsurfrules
.taskmasterconfig
# Ignore stray tasks.json anywhere, but keep the tracked tasks/tasks.json.
# The broad ignore MUST precede the re-include — gitignore is last-match-wins,
# so a `tasks.json` rule after `!tasks/tasks.json` would re-ignore it.
tasks.json
!tasks/tasks.json

# AI Assistant and MCP
**/.claude/settings.local.json
**/.claude/debug/
**/.claude/worktrees/
**/.claude/scheduled_tasks.lock
**/.claude/.lisa-plugins-synced
**/.claude/.lisa-marketplace-heal-v2

# Second agent worktree root. Sessions and loops park isolated checkouts under
# a bare `.worktrees/` as well as under `.claude/worktrees/`, and each one
# carries its own node_modules — measured at 102G across 39 worktrees in one
# host project. Only `.claude/worktrees/` was ever listed here, so the bare root
# survived on whatever a developer had hand-added to the machine-local,
# uncommitted `.git/info/exclude` — invisible to every fresh clone.
#
# This entry MUST stay above the `### EASINCLUDE! ###` marker below. The Expo
# `pre-build:eas` script (expo/package-lisa/package.lisa.json) builds .easignore
# as `cat .gitignore > .easignore && cat .easignore.extra >> .easignore`, and
# EAS reads .easignore EXCLUSIVELY — so this file is also what keeps agent
# worktrees out of the build upload archive. Below the marker it would be
# re-included, and the worktrees land in the tarball: one observed EAS build
# compressed to a 1.8 GB archive and failed metadata upload with a 400.
.worktrees/
.roo
.roo/
.roomodes

# Sentry
.sentry/

# Vercel
.vercel/*

# Onboarding marker
onboarded

# Example directory
example/

# CDK asset staging directory
.cdk.staging
cdk.out

### EASINCLUDE! ###
### BELOW THIS LINE WILL NOT BE IGNORED BY EAS ###
# aws-exports.js This should be ignored but is needed for eas update
# @generated expo-cli sync-2b81b286409207a5da26e14c78851eb30d8ccbdb
# The following patterns were generated by expo-cli

expo-env.d.ts
# @end expo-cli

.lisabak
.claude-active-project

# Plan session tracking (auto-generated)
.active-plan-*
.track-plan-debug.log

.lisa.config.local.json
.lisa/jira-cli/
# Transient verification verdict used by Lisa's completion gate. Durable
# verification evidence belongs under evidence/<ticket>/ and remains trackable.
.lisa/verification-status.json
# Latest Health v1 result is local runtime state, never project configuration.
.lisa/health/latest.json
# Freshness-bound standards proof is local runtime evidence, not knowledge.
.lisa/standards/latest.json

# Automation run outcomes — local scheduler observations read by
# /lisa:automation-status. Runbooks are project knowledge; run records are not.
.lisa/automations/runs/

# Proof that `lisa apply` completed in THIS checkout, read by `lisa doctor` to
# report a repo that has silently stopped receiving templates. Machine-local by
# construction: committing it would churn on every version bump, conflict
# between developers on different Lisa versions, and lie about a fresh clone
# that has never installed.
.lisa/apply-receipt.json

# Remote-dispatch ledger. Records the sessions this machine started so a later
# run can find them. Per developer by construction — each fires their own
# routine under their own account — so committing it would collide on every
# dispatch while telling a teammate nothing they can act on.
.lisa/remote-dispatch.json

# Lisa-generated project Codex overlay. Keep host-owned config.toml and
# hooks.json visible so projects can commit their own merged configuration.
.codex/.lisa-managed.json
.codex/agents/lisa/
.codex/hooks/lisa/
.codex/lisa-library/
.codex/lisa-rules/
.codex/skills/lisa/
.agents/plugins/marketplace.json

# END: AI GUARDRAILS
