Structum CLI ReferenceΒΆ
The structum CLI is the unified control plane for the Structum Framework. It follows the βToolboxβ philosophy: a single binary delivering a cohesive set of tools for the entire development lifecycle.
π¦ InstallationΒΆ
Included in the meta-package:
pip install structum
Verify installation:
structum --version
π οΈ Main CommandsΒΆ
CoreΒΆ
Command |
Description |
|---|---|
Run code quality suite (Ruff, Black) |
|
Build Sphinx documentation |
Plugin Marketplace (Sprint 2) - [New!]ΒΆ
Manage the Structum ecosystem directly from the CLI.
Command |
Description |
|---|---|
|
Search the official registry for plugins |
|
Install plugins with GPG verification |
|
List installed plugins and versions |
|
Verify plugin signature and integrity |
Usage:
structum plugin search redis
structum plugin install structum-redis
π§ Advanced Tools (structum-cli-tools)ΒΆ
These advanced commands are available when the structum-cli-tools plugin is installed.
π SecurityΒΆ
Command |
Description |
|---|---|
|
Static Analysis (SAST) using Bandit |
|
Dependency vulnerability check (Safety) |
|
Generate compliance reports (JSON/HTML) |
π§ͺ TestingΒΆ
Command |
Description |
|---|---|
|
Run pytest with pre-configured defaults |
|
Enforce test coverage thresholds |
|
Watch file changes and re-run tests |
π Profiling (Sprint 2)ΒΆ
Command |
Description |
|---|---|
|
CPU Flamegraphs using |
|
Memory leak detection |
|
Regression testing with |
π¦ Release (Sprint 2)ΒΆ
Command |
Description |
|---|---|
|
Semantic Versioning & Changelog generation |
|
Verify CI status before collecting |
|
Secure upload to PyPI |
π API Stability (Sprint 2)ΒΆ
Command |
Description |
|---|---|
|
Detect breaking changes between versions |
|
Check API design guidelines compliance |
β‘ Global OptionsΒΆ
Option |
Description |
|---|---|
|
Enable DEBUG level logging |
|
Specify custom configuration file |
|
Disable rich terminal output |
ποΈ ArchitectureΒΆ
The CLI is built on Typer and Rich. It uses a Plugin Architecture based on Python Entry Points to discover commands dynamically.
Zero-Dependency Core: The base
structumcommand only requires standard library +typer+rich.Lazy Loading: Subcommands (like
securityorprofile) are only imported when invoked, ensuring sub-second startup time.