One flow from the README: LoginModal -> useLogin -> usePostApi -> POST /auth/login.
brew tap dickwu/tap
brew install source-map-tauri
The project README installs it with these two commands. Version 0.4.0, released 17 April 2026.
What scan writes
A scan bundle is six files. Meilisearch settings and project metadata are in the bundle so it can be uploaded or reindexed.
artifacts.ndjson
Extracted documents. Every artifact includes id, repo, kind, risk_level, contains_phi, has_related_tests, and related_tests.
edges.ndjson
Relationships between documents.
warnings.ndjson
Warning documents. When the code is ambiguous, the scanner writes one instead of silently skipping it.
summary.json
Scan summary.
project-info.json
Project metadata.
meili-settings.json
Meilisearch settings for upload or reindex.
Relationships it keeps
The scan extracts frontend components, hooks, tests, Tauri commands, plugin metadata, permissions, and capability documents. It also extracts frontend HTTP wrappers, transports, endpoints, and canonical endpoint flows. Redaction, PHI detection, and risk tagging run before documents are written.
frontend component -> hook
hook -> invoke call
component -> API wrapper -> transport -> backend route
invoke call -> Rust command
command -> permission
permission -> effective capability
artifact -> related tests
Commands
The quick start order from the project README. Global flags are --strict, --verbose, --quiet, --redact-secrets, --detect-phi, and --fail-on-phi. --redact-secrets and --detect-phi are on by default. --fail-on-phi is off by default.
Init
Creates .repo-search/tauri/source-map-tauri.toml, .repo-search/tauri/.gitignore, and ~/.config/meilisearch/connect.json with placeholder values if that file does not already exist.
source-map-tauri init --root /path/to/tauri-app
Doctor
Reports whether the repo looks like a Tauri app, how many frontend, capability, and permission files were found, and whether Vite sourcemaps appear configurable.
source-map-tauri doctor --root /path/to/tauri-app --repo my-tauri-app
Scan
Writes the bundle under --out. The walk skips .git, node_modules, target, dist, build, vendor, coverage, logs, tmp, and storage. Pass --include-node-modules, --include-target, --include-dist, or --include-vendor to bring those directories back in.
Sends the bundle to Meilisearch. Connection resolution order: --meili-url / --meili-key, then MEILI_HOST, MEILI_MASTER_KEY, and MEILI_SEARCH_KEY, then ~/.config/meilisearch/connect.json, then the default http://127.0.0.1:7700 host in config. Meilisearch is used for upload, reindex, search, and the Meili health checks in doctor.
Endpoint-shaped queries are normalized and filtered to frontend_http_flow. auth/login resolves to /auth/login. A suffix such as /home/search can resolve to /appointment/home/search when that suffix is stored as a path alias. The query returns one canonical flow document per repo. Extra callsites collapse into caller_count, alternate_components, and source_paths. A /home/search query can return PatientSearchContent -> useSearchPatientMutation -> usePostMutation -> POST /appointment/home/search.
Build requirements are a Rust toolchain and a Tauri repository to scan. Meilisearch is required only for upload, reindex, search, or Meili health checks in doctor. Current CI runs on Linux and macOS.
Homebrew
The formula source-map-tauri.rb installs the v0.4.0 release binary for the host it matches.
git clone git@github.com:dickwu/source-map-tauri.git
cd source-map-tauri
cargo build --release
The binary is at ./target/release/source-map-tauri.
Still being hardened
The project README names what is still being hardened:
More real-world Tauri repo shapes outside the current fixtures
Richer sourcemap frame tracing beyond the placeholder bundle-path response
Live Meilisearch integration coverage in CI
Questions
What does source-map-tauri do?
It statically scans a Tauri application and writes Meilisearch-ready NDJSON for artifacts, edges, warnings, and project metadata. The scan walks frontend code, Rust commands, plugin permissions, capabilities, sourcemap metadata, and tests, and it does not execute the target application.
How do I install it with Homebrew?
Run brew tap dickwu/tap, then brew install source-map-tauri. Version 0.4.0 of the formula installs a prebuilt binary for macOS Apple Silicon, macOS Intel, or Linux x86_64.
Does the scan run the Tauri app?
No. source-map-tauri is static analysis only. It does not execute the target application.
Which files does a scan write?
A scan writes artifacts.ndjson, edges.ndjson, warnings.ndjson, summary.json, project-info.json, and meili-settings.json.
How are frontend HTTP endpoints searched?
Endpoint-shaped queries are normalized and filtered to frontend_http_flow. An exact path such as auth/login resolves to /auth/login. A suffix such as /home/search can resolve to a longer canonical endpoint such as /appointment/home/search when that suffix is stored as a path alias. The result is one canonical flow document per repo. Extra callsites are collapsed into caller_count, alternate_components, and source_paths.
Where are Meilisearch credentials read from?
Upload resolves the connection in this order: the --meili-url and --meili-key flags, then MEILI_HOST, MEILI_MASTER_KEY, and MEILI_SEARCH_KEY, then ~/.config/meilisearch/connect.json, then the default http://127.0.0.1:7700 host in config. Meilisearch is used for upload, reindex, search, and the Meili health checks in doctor.
What does trace return today?
trace verifies the bundle path and preserves the command surface while deeper sourcemap frame tracing is still being filled in. The documented command is source-map-tauri trace --root /path/to/tauri-app --bundle dist/app.js --line 120 --column 4.
What happens when a scan is ambiguous?
When the code is ambiguous, source-map-tauri emits a warning document instead of silently skipping it.
Is source-map-tauri free and open source?
Yes. source-map-tauri is MIT licensed. The source repository and the formula homepage are https://github.com/dickwu/source-map-tauri. Crate docs are at https://docs.rs/source-map-tauri.