# Local editor / IDE state
.arts/
.codeartsdoer/
.kiro/
.serena/
.vscode/
.idea/
.fleet/
*.iml

# Local environment files
.env
.env.*
!.env.example
!.env.sample
.direnv/

# Documentation local archive (not source-of-truth)
docs/archive/

# Rust artifacts
target/
components/rust-converter/target/

# Rust fuzzing local state and generated outputs
components/rust-converter/fuzz/artifacts/
components/rust-converter/fuzz/corpus/*
!components/rust-converter/fuzz/corpus/.gitkeep
!components/rust-converter/fuzz/corpus/*/
components/rust-converter/fuzz/corpus/*/*
!components/rust-converter/fuzz/corpus/*/.gitkeep
!components/rust-converter/fuzz/corpus/*/basic.*
!components/rust-converter/fuzz/corpus/fuzz_multilayer_decode/seed-minimum-valid.txt
components/rust-converter/fuzz/coverage/
components/rust-converter/fuzz/target/

# ClusterFuzzLite local build products (CI output lands in ./out/ already covered below)
.clusterfuzzlite/build/
.clusterfuzzlite/out/

# Proptest regression seeds live exclusively under proptest-regressions/
# directories (SourceParallel default layout); old-style sibling files are
# ignored because they are never read by proptest anymore.
**/*.proptest-regressions

# Generated C header mirror (copy from Rust include)
components/nginx-module/src/markdown_converter.h

# NGINX module test artifacts
components/nginx-module/tests/build/
components/nginx-module/tests/**/*.dSYM/
components/nginx-module/tests/**/*.o
components/nginx-module/tests/**/*.log
components/nginx-module/tests/**/*.tmp
components/nginx-module/tests/**/*.pid

# Performance test temporary reports (baselines are version-controlled)
perf/reports/
# Local ad-hoc perf completeness reports (temporary diagnostics)
perf_completeness_*.json

# Generated large sample corpus (regenerated via tools/corpus/generate_large_samples.sh)
tools/corpus/samples/
tools/corpus/test-corpus-conversion/target/

# Generated large test fixtures (regenerated via tests/corpus/large/generate-large-fixtures.sh)
# The 1 MiB fixture is required by the 0.9.1 benchmark evidence gate and
# is committed; larger fixtures (10 MiB, 64 MiB) are generated on demand.
tests/corpus/large/large-10mb.html
tests/corpus/large/large-10mb.meta.json
tests/corpus/large/large-64mb.html
tests/corpus/large/large-64mb.meta.json

# Generic build output
build/
dist/
out/
tmp/
temp/
.test-tmp/
coverage/
test-output/
test-results/
compile_commands.json
compile_commands.*.json
.sonarlint/

# CMake / Ninja local output
CMakeFiles/
CMakeCache.txt
cmake-build-*/
.ninja_deps
.ninja_log

# Node / frontend local output
node_modules/
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
.pnpm-store/
.npm/
.yarn/cache/
.yarn/unplugged/
.yarn/build-state.yml
.yarn/install-state.gz

# Tool caches
tools/**/.cache/
tests/**/tmp/
**/__pycache__/
*.py[cod]
.pytest_cache/
.hypothesis/
.coverage
.coverage.*
htmlcov/
.mypy_cache/
.pyre/
.pytype/
.ruff_cache/
.ipynb_checkpoints/
.python_history
__pypackages__/
pip-wheel-metadata/
.nox/
.tox/
.env/
env/
venv/
.venv/
.sonar/

# Matrix updater transient artifact
matrix-diff.json

# Security and supply-chain scan outputs
trivy-results.txt
sbom.spdx.json
scorecard-results.json
.semgrep/
gitleaks-report.*

# Compiler / profiler artifacts
*.profraw
*.profdata
*.gcda
*.gcno
*.gcov
*.a
*.so
*.dylib
*.dll
*.exe

# Logs / temp / backups
*.log
*.tmp
*.cache
*.pid
*.bak
*.orig
*.rej
*~

# macOS / Linux noise
.DS_Store
.AppleDouble
.LSOverride
.directory
Thumbs.db
ehthumbs.db
Desktop.ini

# Vim swap
*.swp
*.swo

KIRO.md
.codex-venv
.trae

artifacts/*
!artifacts/release/
artifacts/release/*
!artifacts/release/0.9.2/
artifacts/release/0.9.2/*
!artifacts/release/0.9.2/reason-registry-report.json
!artifacts/release/0.9.2/generated-reason-artifacts.json
!artifacts/release/0.9.2/official-build-feature-manifest.json
!artifacts/release/0.9.2/metrics-registry.json
!artifacts/release/0.9.2/diagnostics-field-contract.json
!artifacts/release/0.9.2/pre-lts-status.json

# Perf harness build cache (rustup toolchain, NGINX binary, module .so)
.perf-cache/

.workbuddy/*
