CLI Reference
Global flags
These flags are available on all subcommands:
| Flag | Description |
|---|---|
-c, --config | Path to config YAML (default: config/clone_config.yaml) |
--warehouse-id | SQL warehouse ID (overrides config) |
-v, --verbose | Enable debug logging |
--profile | Config profile to use |
--log-file | Write logs to file |
--host | Databricks workspace URL |
--token | Databricks personal access token |
--auth-profile | Databricks CLI profile from ~/.databrickscfg |
--verify-auth | Verify authentication before running |
--login | Interactive browser login |
--catalog alias
The following single-catalog commands accept --catalog as an alias for --source:
stats, storage-metrics, optimize, vacuum, profile, export, search, snapshot, estimate, cost-estimate, dep-graph, usage-analysis, sample, view-deps, pii-scan, state
For example, clxs stats --catalog edp_dev is equivalent to clxs stats --source edp_dev.
Commands
clone
Clone an entire Unity Catalog catalog.
clxs clone [options]
| Flag | Description |
|---|---|
--source | Source catalog name |
--dest | Destination catalog name |
--clone-type | DEEP or SHALLOW (default: DEEP) |
--load-type | FULL or INCREMENTAL (default: FULL) |
--include-schemas | Comma-separated list of schemas to include |
--include-tables-regex | Regex pattern for table inclusion |
--exclude-tables-regex | Regex pattern for table exclusion |
--as-of-timestamp | Time travel (version or timestamp) |
--max-workers | Parallel workers (default: 4) |
--dry-run | Preview SQL without executing |
--validate | Validate after cloning |
--enable-rollback | Save rollback log |
--report | Generate summary report |
--progress | Show progress bar |
--no-permissions | Skip copying grants and access controls (copied by default) |
--no-tags | Skip copying tags (copied by default) |
--no-ownership | Skip copying ownership (copied by default) |
--location | Managed storage location for new catalog |
--dest-host | Destination workspace URL (cross-workspace) |
--dest-token | Destination workspace token (cross-workspace) |
--template | Apply a clone template (e.g., dev-refresh, dr-replica) |
--where | Global WHERE filter for all tables (deep clone only) |
--table-filter | Per-table WHERE filter: schema.table:condition (repeatable) |
--auto-rollback | Auto-rollback if validation fails |
--rollback-threshold | Max mismatch % before rollback (default: 5) |
--throttle | Throttle profile: low, medium, high, max |
--checkpoint | Enable periodic checkpointing |
--resume-from-checkpoint | Resume from checkpoint file |
--require-approval | Require approval before cloning |
--impact-check | Run impact analysis before cloning |
--ttl | Set TTL on destination (e.g., 7d, 30d) |
--skip-unused | Skip tables with no recent queries |
--schema-only | Create empty tables (structure only, no data) with all other artifacts |
--target-format | Destination format — DELTA (default) or ICEBERG (UniForm-readable). See clone guide — target format. |
--iceberg-physical | With --target-format ICEBERG, swap UniForm for CREATE TABLE … USING iceberg AS SELECT so UC reports the destination as Data source: Iceberg. Loses Delta history. |
--auto-mask-pii | Auto-detect PII columns via UC column_tags and mask post-clone via the existing src/masking.py pipeline. |
--enable-retry / --no-retry | Auto-retry transient failures (network, throttle, 5xx). Default on. |
--compare-dq-after-clone | Run column-level DQ comparison after each schema clones; combined with --auto-rollback triggers RESTORE if drift > --dq-drift-rollback-pct. |
--dq-drift-rollback-pct | Drift threshold percent for the above (default 5.0). |
--quiesce-source | Pre-clone source quiesce — snapshot + revoke writes for the duration of the clone, restore in finally. Prevents partial-time-travel divergence under live writers. |
--as-of-version | Clone tables as of this Delta version (alternative to --as-of-timestamp). |
--checksum | Use checksum validation in addition to row counts (slower, catches silent drift). |
--max-rps | Max SQL requests per second across all workers (rate-limit). 0 = unlimited. |
--parallel-tables | Tables cloned in parallel within one schema (default 1). |
--order-by-size | asc (smallest first — small tables finish early) or desc (biggest first — fail fast on storage issues). |
--no-comments | Skip copying table/column comments. |
--no-constraints | Skip copying CHECK / NOT NULL constraints. |
--no-properties | Skip copying Delta table properties. |
--no-security | Skip copying row filters and column masks. |
--no-progress | Disable progress bar (suppress for log-aggregator runs). |
--dest-warehouse-id | Destination SQL warehouse ID for cross-workspace clones. |
--resume | Resume from a previous rollback log file (e.g. rollback_logs/rollback_20260501.json). |
diff
Compare structure of two catalogs.
clxs diff --source <catalog> --dest <catalog> [options]
| Flag | Description |
|---|---|
--source | First catalog |
--dest | Second catalog |
--format | Output format: text, json, csv |
compare
Deep compare with row counts and checksums.
clxs compare --source <catalog> --dest <catalog> [options]
| Flag | Description |
|---|---|
--source | First catalog |
--dest | Second catalog |
--include-schemas | Limit to specific schemas |
validate
Post-clone validation.
clxs validate --source <catalog> --dest <catalog> [options]
preflight
Pre-flight checks before cloning.
clxs preflight --source <catalog> --dest <catalog> [options]
sync
Two-way sync between catalogs.
clxs sync --source <catalog> --dest <catalog> [options]
| Flag | Description |
|---|---|
--dry-run | Preview changes |
rollback
Undo a clone operation.
clxs rollback --rollback-log <file> [options]
| Flag | Description |
|---|---|
--rollback-log | Path to rollback log file |
--dry-run | Preview what would be dropped |
schema-drift
Detect schema changes over time.
clxs schema-drift --source <catalog> [options]
| Flag | Description |
|---|---|
--source | Catalog to analyze |
--include-schemas | Comma-separated list of schemas to include |
stats
Catalog statistics and inventory.
clxs stats --source <catalog> [options]
clxs stats --catalog <catalog> [options]
search
Search catalog metadata.
clxs search --source <catalog> --pattern <regex> [options]
clxs search --catalog <catalog> --pattern <regex> [options]
profile
Column-level data profiling.
clxs profile --source <catalog> [options]
clxs profile --catalog <catalog> [options]
| Flag | Description |
|---|---|
--source, --catalog | Catalog to profile |
--include-schemas | Comma-separated list of schemas to include |
monitor
Continuous monitoring.
clxs monitor --source <catalog> --interval <seconds> [options]
export
Export metadata to CSV or JSON.
clxs export --source <catalog> --format <csv|json> --output <file> [options]
clxs export --catalog <catalog> --format <csv|json> --output <file> [options]
snapshot
Point-in-time catalog snapshot.
clxs snapshot --source <catalog> [options]
clxs snapshot --catalog <catalog> [options]
estimate
Cost estimation for clone operations.
clxs estimate --source <catalog> [options]
clxs estimate --catalog <catalog> [options]
generate-workflow
Generate Databricks Workflow JSON.
clxs generate-workflow [options]
| Flag | Description |
|---|---|
--schedule | Cron expression |
--output | Output file path |
export-iac
Export catalog as Terraform or Pulumi.
clxs export-iac --source <catalog> --format <terraform|pulumi> --output <file>
config-diff
Compare two config files.
clxs config-diff <file_a> <file_b>
init
Create default config file.
clxs init
auth
Authentication management.
clxs auth [options]
| Flag | Description |
|---|---|
--login | Interactive browser login |
--list-profiles | List configured CLI profiles |
| (default) | Show current auth status |
completion
Generate shell completions.
clxs completion <bash|zsh|fish>
run-sql
Execute arbitrary SQL.
clxs run-sql --warehouse-id <id> --sql "<statement>"
plan
Generate an execution plan (enhanced dry-run) showing all SQL that would be executed, with cost estimates.
clxs plan --source <catalog> --dest <catalog> [options]
| Flag | Description |
|---|---|
--source | Source catalog name |
--dest | Destination catalog name |
--format | Output format: console, json, html |
--output | Write plan to file |
lint
Validate and lint the configuration file.
clxs lint [options]
| Flag | Description |
|---|---|
-c, --config | Config file to lint |
--profile | Config profile to lint |
--strict | Treat warnings as errors (exit code 1) |
usage-analysis
Analyze table access patterns to find unused tables.
clxs usage-analysis --source <catalog> [options]
clxs usage-analysis --catalog <catalog> [options]
| Flag | Description |
|---|---|
--source, --catalog | Catalog to analyze |
--days | Lookback period in days (default: 90) |
--unused-days | Threshold for "unused" (default: 30) |
--recommend | Show tables recommended to skip |
--output | Export analysis to JSON file |
preview
Side-by-side data preview comparing source and destination tables.
clxs preview --source <catalog> --dest <catalog> [options]
| Flag | Description |
|---|---|
--source | Source catalog |
--dest | Destination catalog |
--table | Specific table (schema.table) |
--all | Preview all tables |
--limit | Rows per table (default: 10) |
--order-by | Column for deterministic ordering |
--max-tables | Max tables for --all (default: 20) |
metrics
View clone operation metrics and performance history.
clxs metrics [options]
| Flag | Description |
|---|---|
--init | Create the metrics Delta table |
--source | Filter by source catalog |
--limit | Max results (default: 50) |
--format | Output: console or json (JSON outputs machine-readable format) |
history
Git-style clone operation history.
clxs history <list|show|diff> [options]
| Flag | Description |
|---|---|
list | List recent clone operations |
show <id> | Show details of a specific operation |
diff <id1> <id2> | Compare two operations |
--source | Filter by source catalog |
--limit | Max results (default: 20) |
ttl
Manage data retention (TTL) policies on cloned catalogs.
clxs ttl <set|check|cleanup|extend|remove> [options]
| Flag | Description |
|---|---|
set | Set TTL on a catalog |
check | List all TTL policies |
cleanup | Drop expired catalogs |
extend | Extend TTL by additional days |
remove | Remove TTL policy |
--dest | Target catalog |
--days | TTL in days |
--confirm | Confirm destructive cleanup |
rbac
RBAC policy management.
clxs rbac <check|show> [options]
| Flag | Description |
|---|---|
check | Check current user's permissions |
show | Display the loaded RBAC policy |
--user | Check permissions for a specific user |
approval
Clone approval workflow management.
clxs approval <list|approve|deny|status> [request-id]
| Flag | Description |
|---|---|
list | List pending approval requests |
approve <id> | Approve a request |
deny <id> | Deny a request |
status <id> | Check request status |
--user | User performing approval |
--reason | Reason for denial |
impact
Analyze downstream impact before cloning.
clxs impact --source <catalog> [options]
| Flag | Description |
|---|---|
--source | Catalog to analyze |
--dest | Destination catalog |
--threshold | Number of downstream dependents to qualify as high-impact (default: 10) |
compliance-report
Generate audit-ready compliance reports.
clxs compliance-report [options]
| Flag | Description |
|---|---|
--from | Start date (YYYY-MM-DD) |
--to | End date (YYYY-MM-DD) |
--format | Output: json, html, or all |
--output-dir | Output directory (default: reports/compliance) |
plugin
Manage Clone-Xs plugins: list registered plugins, enable or disable them.
clxs plugin <list|enable|disable> [name]
| Flag | Description |
|---|---|
list | List all registered plugins and their enabled/disabled status |
enable <name> | Enable a plugin by name |
disable <name> | Disable a plugin by name |
Examples:
# List all plugins
clxs plugin list
# Enable the optimize plugin
clxs plugin enable optimize
# Disable the slack-notify plugin
clxs plugin disable slack-notify
Plugins are loaded from paths specified in your config file under plugins. State is persisted to ~/.clone-xs/plugin_state.json.
See the Plugins Guide for writing custom plugins.
schedule
Run clones on a recurring schedule with drift detection.
clxs schedule --source <catalog> --dest <catalog> [options]
| Flag | Description |
|---|---|
--interval | Run interval (e.g., 30m, 1h, 6h) |
--cron | Cron expression (e.g., 0 */6 * * *) |
--no-drift-check | Skip drift detection |
--max-runs | Stop after N runs (0 = unlimited) |
serve
Start a REST API server for clone operations.
clxs serve [options]
| Flag | Description |
|---|---|
--port | Server port (default: 8080) |
--host-addr | Bind address (default: 0.0.0.0) |
--api-key | API key for authentication |
incremental-sync
Sync only changed tables using Delta table version history.
clxs incremental-sync [options]
| Flag | Description |
|---|---|
--source | Source catalog name |
--dest | Destination catalog name |
--schema | Specific schema to sync |
--clone-type | DEEP or SHALLOW |
--dry-run | Preview without executing |
sample
Preview or compare table data samples.
clxs sample --schema S --table T [options]
| Flag | Description |
|---|---|
--source, --catalog | Source catalog |
--dest | Destination catalog (enables compare mode) |
--schema | Schema name (required) |
--table | Table name (required) |
--limit | Number of rows (default: 10) |
view-deps
Analyze view and function dependencies with creation order.
clxs view-deps --schema S [options]
| Flag | Description |
|---|---|
--source, --catalog | Catalog name |
--schema | Schema to analyze (required) |
--output | Export dependency graph to JSON |
slack-bot
Start a Slack bot for clone operations via Socket Mode.
clxs slack-bot [options]
| Flag | Description |
|---|---|
-c, --config | Config file path |
Requires environment variables: SLACK_BOT_TOKEN and SLACK_APP_TOKEN.
storage-metrics
Analyze per-table storage breakdown using ANALYZE TABLE ... COMPUTE STORAGE METRICS.
clxs storage-metrics --source <catalog> [options]
clxs storage-metrics --catalog <catalog> [options]
| Flag | Description |
|---|---|
--source, --catalog | Catalog to analyze |
--schema | Filter to specific schema |
--table | Filter to specific table |
--format | Output format: console, json, csv |
--include-schemas | Comma-separated list of schemas to include |
optimize
Run OPTIMIZE on tables to compact small files.
clxs optimize --source <catalog> [options]
clxs optimize --catalog <catalog> [options]
| Flag | Description |
|---|---|
--source, --catalog | Catalog name |
--schema | Specific schema |
--table | Specific table |
--dry-run | Preview without executing |
vacuum
Run VACUUM on tables to remove old files beyond retention period.
clxs vacuum --source <catalog> [options]
clxs vacuum --catalog <catalog> [options]
| Flag | Description |
|---|---|
--source, --catalog | Catalog name |
--schema | Specific schema |
--table | Specific table |
--retention-hours | Retention period in hours (default: 168 / 7 days) |
--dry-run | Preview files that would be deleted |
create-job
Create a persistent Databricks Job that runs Clone-Xs on a schedule.
clxs create-job --source <catalog> --dest <catalog> [options]
| Flag | Description |
|---|---|
--source | Source catalog name |
--dest | Destination catalog name |
--volume | UC Volume path for wheel upload |
--job-name | Custom job name (default: Clone-Xs: source -> dest) |
--schedule | Quartz cron expression |
--timezone | Schedule timezone (default: UTC) |
--notification-email | Comma-separated email addresses |
--max-retries | Retries on failure (default: 0) |
--timeout | Job timeout in seconds (default: 7200) |
--tag | Job tag as key=value (repeatable) |
--update-job-id | Update existing job instead of creating new |
--run-now | Run the job immediately after creation |
pii-scan
Scan a catalog for personally identifiable information.
clxs pii-scan --source <catalog> [options]
clxs pii-scan --catalog <catalog> [options]
| Flag | Description |
|---|---|
--source, --catalog | Source catalog name |
--sample-data | Enable data value sampling |
--read-uc-tags | Read UC column tags for detection |
--save-history | Save results to Delta tables |
--apply-tags | Apply PII tags to UC columns after scan |
--tag-prefix | Prefix for UC tags (default: pii) |
--schema-filter | Filter to specific schemas |
--table-filter | Regex filter on table names |
--no-exit-code | Don't exit with code 1 if PII found |
state
Show current clone state between source and destination catalogs.
clxs state --source <catalog> --dest <catalog> [options]
clxs state --catalog <catalog> --dest <catalog> [options]
| Flag | Description |
|---|---|
--source, --catalog | Source catalog name |
--dest | Destination catalog name |
cost-estimate
Estimate storage and compute costs for a catalog.
clxs cost-estimate --source <catalog> [options]
clxs cost-estimate --catalog <catalog> [options]
| Flag | Description |
|---|---|
--source, --catalog | Catalog to estimate |
dep-graph
Generate a dependency graph for catalog objects.
clxs dep-graph --source <catalog> [options]
clxs dep-graph --catalog <catalog> [options]
| Flag | Description |
|---|---|
--source, --catalog | Catalog to analyze |
rtbf
Right to Be Forgotten (GDPR Article 17) — manage erasure requests.
clxs rtbf <action> [options]
Actions:
| Action | Description |
|---|---|
submit | Submit a new erasure request |
discover | Discover subject data across all catalogs |
impact | Show impact analysis for a request |
approve | Approve a request for execution |
execute | Execute deletion/anonymization |
vacuum | VACUUM affected tables (physical deletion) |
verify | Verify deletion completeness |
certificate | Generate deletion certificate |
list | List RTBF requests |
status | Get request status and details |
cancel | Cancel a request |
overdue | Show overdue requests |
Submit flags:
| Flag | Required | Description |
|---|---|---|
--subject-type | Yes | email, customer_id, ssn, phone, name, national_id, passport, credit_card, custom |
--subject-value | Yes | The identifier value to erase |
--requester-email | Yes | Requester's email |
--requester-name | Yes | Requester's name |
--legal-basis | No | Legal basis (default: GDPR Art. 17(1)(a)) |
--strategy | No | delete, anonymize, pseudonymize (default: delete) |
--scope-catalogs | No | Limit search to specific catalogs |
--grace-period-days | No | Days to wait before execution (default: 0) |
--subject-column | No | Custom column name (required for custom type) |
Example workflow:
clxs rtbf submit --subject-type email --subject-value "user@example.com" \
--requester-email "dpo@corp.com" --requester-name "DPO"
clxs rtbf discover --request-id <ID> --subject-value "user@example.com"
clxs rtbf approve --request-id <ID>
clxs rtbf execute --request-id <ID> --subject-value "user@example.com"
clxs rtbf vacuum --request-id <ID>
clxs rtbf verify --request-id <ID> --subject-value "user@example.com"
clxs rtbf certificate --request-id <ID>
dsar
Data Subject Access Request (GDPR Article 15) — find and export subject data.
DSAR has no clxs dsar parser today. Use POST /api/dsar/* (see api.md — DSAR) or the /dsar page in the web UI.
# Not implemented as a CLI command — example shape only:
clxs dsar <action> [options]
| Action | Description |
|---|---|
submit | Submit a new access request |
discover | Discover subject data across catalogs |
approve | Approve a request for export |
export | Export subject data to CSV/JSON/Parquet |
report | Generate access report |
deliver | Mark report as delivered |
list | List DSAR requests |
status | Get request status |
cancel | Cancel a request |
overdue | Show overdue requests |
pipeline
Clone Pipelines — chain multiple operations into automated workflows.
Pipelines have no clxs pipeline parser today. Use POST /api/pipeline/* (see api.md — Pipeline) or the Pipelines page in the web UI.
# Not implemented as a CLI command — example shape only:
clxs pipeline <action> [options]
| Action | Description |
|---|---|
create | Create a new pipeline |
run | Run a pipeline |
list | List pipelines |
status | Get run status |
delete | Delete a pipeline |
templates | List built-in templates |
cancel | Cancel a running pipeline |
observability
Data Observability — unified health scoring dashboard.
Observability has no clxs observability parser today. Use GET /api/observability/* (see api.md — Observability) or the Observability page in the web UI.
# Not implemented as a CLI command — example shape only:
clxs observability <action>
| Action | Description |
|---|---|
dashboard | Show full observability dashboard |
health | Show health score (0-100) |
issues | List top issues |
trends | Show metric trends |
dashboard
Launch the Streamlit web dashboard locally — quick alternative to running the full FastAPI + React stack when all you need is a read-only view of audit / metrics / reports.
clxs dashboard --port 8501
| Flag | Default | Description |
|---|---|---|
-c, --config | config/clone_config.yaml | Config file path |
--port | 8501 | Dashboard port |
audit
Query the clone audit trail Delta table — every operation is logged here for compliance reporting.
clxs audit --init # Initialize audit table
clxs audit --source prod --limit 10 # Filter by source catalog
clxs audit --status failed # Filter by status
| Flag | Default | Description |
|---|---|---|
--init | false | Create the audit table if it doesn't exist |
--source | (none) | Filter by source catalog name |
--status | (none) | Filter by status (completed, failed, running) |
--limit | 20 | Max results to return |
lineage
Query clone lineage — track which destination came from which source operation.
clxs lineage --init # Initialize lineage table
clxs lineage --table prod_clone.bronze.events
clxs lineage --operation-id abc123
| Flag | Default | Description |
|---|---|---|
--init | false | Create the lineage table |
--table | (none) | Filter by destination table FQN |
--operation-id | (none) | Filter by clone operation UUID |
--limit | 50 | Max results |
policy-check
Check clone policies (guardrails) defined in a YAML file before executing a clone — fail-fast for forbidden source/destination combinations, missing tags, etc.
clxs policy-check --policy-file config/clone_policies.yaml
| Flag | Default | Description |
|---|---|---|
--policy-file | (none) | Path to policies YAML |
schema-evolve
Detect schema drift between source and destination, optionally applying ALTER TABLE statements to converge.
clxs schema-evolve --source prod --dest prod_clone --dry-run
clxs schema-evolve --source prod --dest prod_clone --drop-removed
| Flag | Default | Description |
|---|---|---|
--source | (config) | Override source catalog name |
--dest | (config) | Override destination catalog name |
--dry-run | false | Preview changes without applying |
--drop-removed | false | Drop columns removed from source (destructive) |
tui
Launch the interactive terminal UI — a curses-style alternative to the web wizard for users who prefer to drive Clone-Xs from a single SSH session.
clxs tui -c config/clone_config.yaml
| Flag | Default | Description |
|---|---|---|
-c, --config | config/clone_config.yaml | Config file path |
templates
List built-in clone templates or export one as a YAML config you can edit.
clxs templates # List
clxs templates --export dev-copy --output dev.yaml
| Flag | Default | Description |
|---|---|---|
--export | (none) | Template name to export (e.g. dev-copy, dr-backup) |
--output | stdout | Output file path |
-v, --verbose | false | Verbose output |
--log-file | (none) | Log file path |
workspaces
List multi-cloud workspaces configured in clone_config.yaml's workspaces block — quick discovery of which target hosts the CLI knows about.
clxs workspaces
Uses standard global flags (--config, --profile, --verbose).
generate-dab
Generate a Databricks Asset Bundle (DAB) for clone jobs — emits the databricks.yml and resource definitions you can databricks bundle deploy for workspace-side scheduled execution.
clxs generate-dab --source prod --dest prod_clone --output dab_bundle/ \
--job-name nightly-prod-clone --schedule "0 0 2 * * ?" \
--notification-email oncall@example.com
| Flag | Default | Description |
|---|---|---|
--source | (config) | Override source catalog name |
--dest | (config) | Override destination catalog name |
--output | dab_bundle | Output directory |
--job-name | (auto) | Job name |
--schedule | (none) | Quartz cron expression for the bundle's schedule |
--notification-email | (none) | Email for job notifications |
multi-clone
Clone to multiple destination workspaces in parallel — reads a YAML file describing each destination (host / token / catalog name) and fans out clones across them.
clxs multi-clone --source prod --destinations destinations.yaml --max-parallel 3
| Flag | Default | Description |
|---|---|---|
--source | (config) | Override source catalog name |
--destinations | required | YAML file with destination workspace configs |
--max-parallel | 2 | Max parallel workspace clones |
cost-estimate
Estimate clone cost before running — combines source storage size with the chosen warehouse type to predict DBU + storage spend.
clxs cost-estimate --source prod --clone-type DEEP --warehouse-type serverless
| Flag | Default | Description |
|---|---|---|
--source, --catalog | (config) | Override source catalog name |
--clone-type | (none) | DEEP or SHALLOW for the estimate |
--warehouse-type | serverless | serverless or classic |
pii-scan
Scan a catalog for PII columns — heuristic + UC-tag-based detection, with optional sample-data inspection and tag-application.
clxs pii-scan --source prod --schema-filter bronze silver \
--table-filter "customer|user" --sample-data --apply-tags --tag-prefix pii
| Flag | Default | Description |
|---|---|---|
--source, --catalog | (config) | Override source catalog name |
--schema-filter | (none) | Only scan these schemas (space-separated) |
--table-filter | (none) | Regex filter on table names |
--sample-data | false | Sample actual values (slower, more accurate) |
--no-exit-code | false | Don't exit non-zero if PII is found |
--read-uc-tags | false | Read UC column tags to enhance detection |
--save-history | false | Save scan results to Delta tables |
--apply-tags | false | Apply PII tags to UC after scan |
--tag-prefix | pii | Prefix for UC tags |
dep-graph
Build and display a table/view dependency graph for a catalog — input for clone-ordering decisions and impact analysis.
clxs dep-graph --source prod --output graph.json
| Flag | Default | Description |
|---|---|---|
--source, --catalog | (config) | Override source catalog name |
--output | (stdout) | Export graph to JSON file |
distributed-clone
Generate a Spark-based distributed-clone notebook — for catalogs too large for a single warehouse to clone within reasonable wall-clock.
clxs distributed-clone --source prod --dest prod_clone --output notebooks/distributed_clone.py
| Flag | Default | Description |
|---|---|---|
--source | (config) | Override source catalog name |
--dest | (config) | Override destination catalog name |
--output | notebooks/distributed_clone.py | Output notebook path |
warehouse
Manage the SQL warehouse used for clone operations — start a stopped warehouse, scale it up/down, or check its current state.
clxs warehouse status
clxs warehouse start
clxs warehouse scale --size LARGE
| Positional | Description |
|---|---|
action | status, start, or scale |
| Flag | Description |
|---|---|
--size | New warehouse size (required for scale) |
state
Manage the clone state store Delta table — tracks every clone operation's per-table progress so failed runs can resume and stale destinations can be detected.
clxs state init
clxs state summary
clxs state stale --source prod
clxs state operations --limit 50
| Positional | Description |
|---|---|
action | init, summary, stale, failed, mark-stale, or operations |
| Flag | Default | Description |
|---|---|---|
--source, --catalog | (config) | Override source catalog |
--dest | (config) | Override destination catalog |
--limit | 20 | Max results for operations action |