It combines:
- command execution
- interactive shell ergonomics
- layered configuration
- multiple render modes and output formats
- a small pipeline DSL
- external command plugins
Use it as:
- a normal command-line tool
- a long-running REPL with history, completion, inline help, and cached results
From crates.io:
cargo install osp-cliFrom source:
cargo install --path .Run it:
osp --help
ospCLI:
osp config show
osp theme list
osp plugins listREPL:
osp> ldap user alice
osp> ldap user alice | P uid cn mail
osp> ldap user alice --cache | V uid
osp> help config
Per-invocation flags work the same in the CLI and REPL:
osp ldap user alice --json
osp ldap user alice --format table -vldap user alice --json
ldap user alice --format table -v
- CLI and REPL entrypoints with shared command semantics
- history, completion, highlighting, and scoped shells in the REPL
- invocation-local output and debug controls
- output formats including table, JSON, markdown, mreg, and value
- a row-oriented pipeline DSL for filtering, projection, grouping, sorting, aggregation, and quick search
- profile-aware config with file, env, secrets, CLI, and REPL-session layering
- theming, color policy, unicode policy, and presentation presets
- plugin discovery and dispatch through a JSON subprocess protocol
Default paths:
- config:
~/.config/osp/config.toml - secrets:
~/.config/osp/secrets.toml
Invocation flags such as --json, --format, --color,
--plugin-provider, -v, -q, and -d affect only the current
command. They do not mutate stored config.
See:
osp-cli can discover external commands from configured plugin
directories and invoke them through a documented JSON protocol.
See:
Start with:
Core guides:
Useful commands:
./scripts/check-rust-fast.sh
cargo test --all-features --locked
python3 scripts/check-coverage-gate.py --fastSee:
