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*/

# Vendored libquackwire binaries live in git under libquackwire/binaries/
# (refreshed by scripts/refresh-quackwire-binaries.sh). Only the local
# cmake build tree stays ignored (native/quackwire/build*/ above).

# Defense in depth: src/main/resources/native/ is no longer how
# libquackwire reaches the assembly (the resourceGenerator in build.sbt
# copies libquackwire/binaries/ into resourceManaged; anything landing
# here would be stale duplicates).
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
__pycache__/
