panproto-cli-0.27.1 is not a library.
panproto-cli
Command-line interface for panproto. The binary is called schema.
Provides subcommands for schema validation, migration checking, breaking change detection, record lifting, protolens-based data conversion, and schematic version control.
Installation
# macOS (Homebrew)
# Linux / macOS (shell installer)
|
# Windows (PowerShell)
# From source (any platform with Rust)
Usage
# Version control
# Branching and merging
# Schema tools
# Lens operations
# Data operations
# Record lifting
# Full-AST parsing (248 languages)
# Git bridge
# Expressions
# Enrichments
# History
Subcommands
| Command | Description |
|---|---|
init |
Initialize a .panproto/ repository (auto-generates panproto.toml) |
add |
Stage a schema, file, or directory (--data to stage data files alongside) |
commit |
Commit staged changes (--skip-verify to bypass GAT checks, --amend to rewrite) |
status |
Show per-file changes grouped by package |
log |
Walk commit history (--oneline, --grep, --format) |
diff |
Diff two schemas or show staged changes (--theory, --stat, --name-only) |
show |
Inspect a commit, schema, migration, theory, or theory morphism object |
validate |
Validate a schema against a protocol |
check |
Check existence conditions for a migration |
typecheck |
Type-check a migration at the GAT level |
verify |
Verify a schema satisfies its protocol theory's equations |
scaffold |
Generate minimal test data via free model construction |
normalize |
Simplify a schema by merging equivalent elements |
branch |
Create, list, delete, or rename branches |
tag |
Create, list, or delete tags (lightweight or annotated) |
checkout |
Switch branch or detach HEAD (--migrate to migrate data) |
merge |
Three-way schema merge via pushout (--migrate, --no-ff, --squash) |
rebase |
Replay commits onto another branch |
cherry-pick |
Apply a single commit's migration |
reset |
Move HEAD / unstage / restore (--soft, --mixed, --hard) |
stash |
Save/restore working state (push, pop, list, drop, apply, show, clear) |
reflog |
Show ref mutation history |
bisect |
Binary search for the commit that introduced a breaking change |
blame |
Show which commit introduced a schema element |
lift |
Apply a migration to a record |
integrate |
Compute the pushout of two schemas |
auto-migrate |
Automatically discover a migration between two schemas |
gc |
Garbage collect unreachable objects |
lens generate |
Auto-generate a lens between two schemas |
lens apply |
Apply a saved lens or protolens chain to data |
lens compose |
Compose two protolens chains |
lens verify |
Verify lens laws (GetPut, PutGet) on test data |
lens inspect |
Print human-readable summary of a protolens chain |
lens check |
Check applicability of a chain against schemas |
lens lift |
Lift a chain along a theory morphism |
data convert |
One-step data conversion between schemas |
data migrate |
Migrate data to match current schema version |
data sync |
Sync data to target schema version via VCS |
data status |
Report data staleness |
parse file |
Parse a single source file into a structural schema |
parse project |
Parse a directory into a unified project schema |
parse emit |
Round-trip: parse then emit back to source |
git import |
Import git history into panproto-vcs |
git export |
Export panproto-vcs history to a git repository |
expr eval |
Parse and evaluate an expression |
expr parse |
Parse an expression and print its AST |
expr fmt |
Pretty-print an expression in canonical form |
expr check |
Validate expression syntax |
expr repl |
Interactive expression REPL |
expr gat-eval |
Evaluate a JSON-encoded GAT term |
expr gat-check |
Type-check a JSON-encoded GAT term |
enrich add-default |
Add a default value expression to a vertex |
enrich add-coercion |
Add a coercion expression between vertex kinds |
enrich add-merger |
Add a merger expression to a vertex |
enrich add-policy |
Add a conflict policy to a vertex |
enrich list |
List all enrichments on the HEAD schema |
enrich remove |
Remove an enrichment by name |
remote add/remove/list |
Manage remote repositories |
push |
Push schemas to a remote repository |
pull |
Pull schemas from a remote repository |
fetch |
Fetch schemas from a remote repository |
clone |
Clone a remote repository |