target/
!.mvn/wrapper/maven-wrapper.jar
!**/src/main/**/target/
!**/src/test/**/target/

### IntelliJ IDEA ###
.idea/modules.xml
.idea/jarRepositories.xml
.idea/compiler.xml
.idea/libraries/
*.iws
*.iml
*.ipr
out/
!**/src/main/**/out/
!**/src/test/**/out/

### Eclipse ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
/bin/
!**/src/main/**/bin/
!**/src/test/**/bin/

### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
build/
!**/src/main/**/build/
!**/src/test/**/build/

### VS Code ###
.vscode/

### Mac OS ###
.DS_Store

### Scala ###
.bsp/

# UI build output
src/main/resources/ui/
ui/node_modules/
ui/dist/

# Local state file
/state/

# Runtime logs from run-jar.sh
/logs/

# Bootstrapped sbt (run-jar.sh downloads here when sbt is not on PATH)
/.sbt-bootstrap/

# IDE / OS
.bsp/
.metals/
.vscode/
.DS_Store

# TypeScript build byproducts
ui/*.tsbuildinfo
ui/vite.config.d.ts
ui/vite.config.js

.claude/
distrib/
ducklake/
certs/

# DuckDB CLI + libduckdb self-installed by scripts/run-jar.sh, plus the
# spill scratch dirs the load-{tpch,tpcds}-dbgen.sh scripts anchor for
# SF>=10 dsdgen / dbgen runs. Both regenerate on demand from the network.
.duckdb/
.tmp/

datasets/
project/.bloop/
project/project/

# Local docker-compose overrides - may hold real PG_PASSWORD/ADMIN_PASSWORD/API_KEY.
# .env.example is the tracked template.
.env
.env.local
pgdata/
seaweedfs/
seaweedfs-config/

# Native quackwire JNI shim - local CMake build tree.
# Per-platform `libquackwire.{so,dylib}` binaries are published to Maven
# Central as classifier jars (`ai.starlake:libquackwire:<v>:<platform>`)
# by `.github/workflows/quackwire.yml`. The manager declares them as
# library dependencies, so the source tree never carries them.
native/quackwire/build*/

# CI-populated binaries staging dir for `sbt libquackwire/publishSigned`.
# Each per-platform classifier jar is built by zipping
# libquackwire/binaries/<platform>/libquackwire.<so|dylib>.
libquackwire/binaries/

# Defense in depth: src/main/resources/native/ is no longer how
# libquackwire reaches the assembly (the classifier deps in
# libraryDependencies handle that). Any binaries that land here would
# be stale relative to the published Maven coord; ignore them.
src/main/resources/native/

# Docs site (Docusaurus). The build, dependency, and generated-reference
# outputs are produced by `sbt genConfigDocs genOpenApi` + `npm run build`
# in CI, so they are never committed (kept in sync with the code, not the tree).
website/node_modules/
website/build/
website/.docusaurus/
website/static/openapi.yaml
src/main/scala/ai/starlake/quack/edge/.metals-scala-cli
screens
.venv-release/
cli/dist
cli/shim-qod-cli/dist
/.bloop
/docs
