database-replicator 5.2.0

Universal database-to-PostgreSQL replication CLI. Supports PostgreSQL, SQLite, MongoDB, and MySQL.
Documentation
# Repository Guidelines

## Project Structure & Module Organization
- `src/main.rs` exposes the CLI entrypoint; `src/lib.rs` wires replication pipelines.
- Feature-specific modules live under `src/postgres`, `src/mysql`, `src/mongodb`, `src/sqlite`, plus helpers such as `src/commands/`, `src/replication/`, and `src/preflight.rs` for validation.
- Integration docs and runbooks reside in `docs/` (e.g., `docs/replication-config.md`, `docs/integration-testing.md`).
- Language-specific guides (`README-*.md`) describe source adapters; integration and performance suites live in `tests/`.

## Build, Test, and Development Commands
- `cargo fmt && cargo clippy --all-targets --all-features` keeps formatting and linting consistent before pushes.
- `cargo build --all-features` compiles every adapter and catches missing feature flags.
- `cargo test --all --features full` runs unit + integration suites, while `cargo test --test performance_test` isolates the perf harness.
- `cargo run -- --help` surfaces the interactive wizard for manual verification; prefix with env vars like `SEREN_API_KEY=...` when exercising remote execution.

## Coding Style & Naming Conventions
- Follow Rust 2021 idioms: 4-space indentation, snake_case for modules/functions, UpperCamelCase for structs/enums.
- Prefer ` anyhow::Result<T>` at boundaries and descriptive error contexts via `context()`.
- Keep CLI flags kebab-cased (see `src/commands`) and mirror long option names in docs.

## Testing Guidelines
- Unit tests sit next to their modules; favor `#[cfg(test)]` blocks for small helpers.
- Cross-database flows belong in `tests/*integration*.rs`; name tests using `scenario_expectedResult` for clarity.
- Aim for coverage of every adapter’s happy path plus failure injection (timeouts, auth errors). Reuse fixtures in `tests/integration_test.rs` before adding new ones.

## Commit & Pull Request Guidelines
- Commits use imperative summaries ≤72 characters (e.g., "Add smart execution mode"), with detail in the body if behavior shifts.
- Reference relevant docs/changesets in the PR description, link tracking issues, and include repro steps or CLI samples for bug fixes.
- New features should mention affected databases and any migration notes; screenshots/log excerpts are expected when UI or logging changes.

## Security & Configuration Tips
- Never commit secrets; load credentials via `.env` or terminal exports and rely on `.pgpass` handling in `preflight.rs`.
- Validate new config knobs against `docs/security-audit-report.md` and document required env vars in the README variants.