pipecircuit-cli 0.0.2

Command-line architectural tools for Pipecircuit programs
pipecircuit-cli-0.0.2 is not a library.

Pipecircuit CLI

Create and run a native program with a pure core, a semantic program, and a physical CLI:

pipec new my-program
cd my-program
cargo run -- 3 4
cargo test --workspace

The default starter is a counter with exact addition and overflow outcomes, Client and Counting pipe contracts, an exhaustive CounterProgram, and a bounded Mio installation. An ordinary CLI thread fulfills the client contract; the counter authority runs inline. Wakes drive progress without polling sleeps. A final read and explicit peer close complete the program. Its README walks through author responsibilities, changing behavior, and placement obligations.

The default uses pinned crates.io releases. For framework development, --framework-path /path/to/Pipecircuit/pipecircuit selects a checkout with its sibling Mio and visualization crates instead. Missing local manifests are refused before creating the destination. Generation never contacts the registry; Cargo resolves the selected dependencies when you build the new program.

Use --name my-program when the destination's final directory component should not be the package name. Generated source uses stable dependency aliases, and hyphenated package names work in the included Rust documentation tests.

The dependency direction is src -> programs -> core. Both libraries are no_std; all packages inherit the same strict Rust and Clippy rules. A project may grow additional local or shared core/program libraries. Generation refuses an existing destination and validates portable project names. Templates are embedded in the executable; generation performs no network requests, Cargo execution, or Git initialization. On an I/O failure, the new partial directory is retained for inspection.

tools/check-scaffold formats, compiles, lints, and tests the generated workspace, runs its CLI, checks that core cannot import the program, and checks its fuzz workspace. Runtime tests exercise one-slot queue reuse, overflow, invalid input, and orderly completion; compile-fail examples guard missing/incorrect pipe installations. The source-derived architecture snapshot is executable evidence. The proof/fuzz placeholders do not claim completed proof or fuzz coverage.

Render a state machine from the current crate:

pipec diagram Counter --crate core
pipec diagram Counter --crate core --target mermaid
pipec diagram Counter --crate core --target graphviz