-
Notifications
You must be signed in to change notification settings - Fork 0
crates
Douwe de Vries edited this page Jul 1, 2026
·
1 revision
Active contributors: Douwe de Vries
This section maps the Rust workspace members defined in Cargo.toml. Use it to decide whether a change belongs in the reusable core engine, the CLI smoke harness, or the Tauri desktop shell.
| Workspace member | Page | Purpose |
|---|---|---|
crates/csv-anonymizer-core |
csv-anonymizer-core | Detection, CSV IO, direct input, transformations, Smart replacement traits, and privacy reports. |
crates/csv-anonymizer-app |
csv-anonymizer-app | Lightweight CLI harness and smoke path over the shared core. |
src-tauri |
csv-anonymizer-tauri | Tauri Rust workspace member that exposes desktop commands and managed state. |
-
csv-anonymizer-coreis the reusable library that owns the domain model and transformation behavior. -
csv-anonymizer-appis a binary crate that calls the core for command-line analysis, anonymization, and smoke checks. -
csv-anonymizer-tauriis the Tauri binary crate that adapts frontend commands to core calls and desktop services. - Workspace package metadata, including version, edition, license, authors, and repository, is centralized in
Cargo.toml. - Shared dependency versions are centralized under
[workspace.dependencies].
graph LR
App[csv-anonymizer-app] --> Core[csv-anonymizer-core]
Tauri[csv-anonymizer-tauri] --> Core
Frontend[React frontend] -->|Tauri invoke| Tauri
Core --> Types[types.rs DTOs]
Core --> Reports[privacy reports]
The core crate is dependency-free from the app and Tauri crates. The CLI and Tauri crates depend on the core through path dependencies, so behavior shared by desktop workflows, direct-input workflows, and smoke checks should live in core first.
- Systems explains the runtime systems that use these crates.
- Primitives explains shared domain objects such as Column metadata, Transform strategy, Privacy report, and Smart replacement map.
-
frontend/src/types.tsmirrors DTOs exported bycrates/csv-anonymizer-core/src/types.rs. -
package.jsonscripts run workspace checks throughcargo check --workspace,cargo test --workspace,cargo clippy --workspace --all-targets, andcargo fmt --all --check.
| Change | Start here |
|---|---|
| Detection, metadata, transformation, reports, direct input, or Smart replacement traits | csv-anonymizer-core |
| CLI command parsing or smoke harness output | csv-anonymizer-app |
| Tauri command wiring, managed state, or desktop adapters | csv-anonymizer-tauri |
| Add a Rust workspace member | Cargo.toml |
Cargo.tomlcrates/csv-anonymizer-core/Cargo.tomlcrates/csv-anonymizer-app/Cargo.tomlsrc-tauri/Cargo.toml