# Deny-by-default: ignore everything, explicitly allow tracked files.
# All file tracking is intentional. No glob patterns allowed.
*

# === Allowed: Project configuration ===
!/.gitignore
!/Cargo.toml
!/Cargo.lock
!/clippy.toml
!/justfile
!/AGENTS.md
!/opencode.json
!/cliff.toml
!/README.md
!/CHANGELOG.md
!/LICENSE-MIT
!/LICENSE-APACHE

# === Allowed: Agent configuration ===
!/.agents
!/.agents/prd.json
!/.agents/progress.txt
!/.agents/PROMPT.md
!/.agents/RESEARCH.md
!/.agents/PLAN.md

# === Allowed: Source code ===
!/src
!/src/lib.rs
!/src/error.rs
!/src/client.rs
!/src/assay.rs
!/src/common.rs
!/src/di.rs
!/src/domain.rs
!/src/experiment.rs
!/src/filter.rs
!/src/list.rs
!/src/message.rs
!/src/participant_group.rs
!/src/pipeline.rs
!/src/query.rs
!/src/report.rs
!/src/sort.rs
!/src/security
!/src/security/mod.rs
!/src/security/types.rs
!/src/security/constants.rs
!/src/security/container.rs
!/src/security/user.rs
!/src/security/group.rs
!/src/security/permission.rs
!/src/security/policy.rs
!/src/security/session.rs
!/src/specimen.rs
!/src/storage.rs
!/src/visualization.rs

# === Allowed: Examples ===
!/examples
!/examples/select_rows.rs
!/examples/filters_and_sorts.rs
!/examples/execute_sql.rs
!/examples/experimental_sql.rs
!/examples/insert_update_delete.rs
!/examples/pagination.rs
!/examples/error_handling.rs

# === Allowed: Tests ===
!/tests
!/tests/common
!/tests/common/mod.rs
!/tests/client_integration.rs
!/tests/fixtures
!/tests/fixtures/api_error.json
!/tests/fixtures/query_details.json
!/tests/fixtures/get_schemas.json
!/tests/fixtures/whoami.json

# === Allowed: Agent Skills ===
!/skills
!/skills/labkey-rs
!/skills/labkey-rs/SKILL.md

# === Allowed: Book (mdbook static site) ===
!/book
!/book/book.toml
!/book/src
!/book/src/SUMMARY.md
!/book/src/introduction.md
!/book/src/guides
!/book/src/guides/getting-started.md
!/book/src/guides/how-labkey-works.md
!/book/src/guides/authentication.md
!/book/src/guides/querying-data.md
!/book/src/guides/modifying-data.md
!/book/src/guides/filters-and-sorts.md
!/book/src/guides/error-handling.md
!/book/src/recipes
!/book/src/recipes/paginate-results.md
!/book/src/recipes/cross-folder-queries.md
!/book/src/recipes/bulk-import.md
!/book/src/recipes/labkey-sql.md
!/book/src/recipes/working-with-assays.md
!/book/src/recipes/managing-lists.md
!/book/src/recipes/security-and-permissions.md

# === Allowed: GitHub workflows ===
!/.github
!/.github/workflows
!/.github/workflows/ci.yml
!/.github/workflows/pages.yml
!/.github/workflows/release.yml
