# Whitelist: ignore everything, then un-ignore desired trees
*
!/*
!apps/
!apps/**
!crates/
!crates/contrib/
!crates/contrib/**
!crates/internal/
!crates/internal/**
!crates/jp_*/
!crates/jp_*/**
!crates/plugins/
!crates/plugins/**
!docs/
!docs/**
!.jp/
!.jp/**
!.config/
!.config/**
!.github/
!.github/**
!justfile

# `.gitignore` is deliberately not consulted by the `fs_*` tools: with a
# whitelist, honouring it would only narrow results inside trees already
# un-ignored above, and everything it would newly hide is listed below anyway.

# Then the exclusions (applied within the un-ignored trees).
#
# These govern what the `fs_*` tools *surface*, not what they may open: an
# excluded path stays out of unscoped listings and searches, but a tool call
# naming it outright still reaches it — which is the point, since a path the
# user hands over is one they want read.
#
# Two neighbouring lists cover the rest, in .jp/mcp/tools/fs/*.toml:
#
#   options.suppress  — read by the tool, never returned to the model
#   access.fs         — what the tool process may touch at all
.jp/conversations/
.jp/local-conversations/
.jp/mcp/state/
.jp/**/QUERY_MESSAGE.md
docs/.yarn/
docs/.vitepress/cache/
docs/.vitepress/dist/
docs/.pnp.*
docs/yarn.lock
**/target/**
# Generated by `just build-ffi` and `just gen-app`; both are gitignored, and the
# `.xcodeproj` is regenerated from `apps/macos/project.yml` on every build.
apps/macos/.build/
apps/macos/*.xcodeproj/
# SwiftPM's build directory for the `jpdrive` package.
apps/macos/Tools/*/.build/
.git/
/tmp
**/fixtures/
docs2/
lcov.info
*.log
/rustc-ice-*
