Command-line interface for development and management of CyberFabric modules.
- Rust toolchain with
cargo - A local clone of this repository
This workspace exposes two binaries:
cyberfabriccargo-cyberfabricfor thecargo cyberfabric ...invocation form
Install both from the repository root:
cargo install --path crates/cli --bin cyberfabric --bin cargo-cyberfabricAfter installation, you can use either form:
cyberfabric --helpcargo cyberfabric --helpFor local development without installing:
cargo run -p cli -- --helpThe current CLI surface is centered on CyberFabric workspace setup, configuration, code generation, and execution.
mod initinitializes a new CyberFabric workspace from a templatemod addadds module templates such asbackground-worker,api-db-handler, andrest-gateway
config mod listinspects available and configured modulesconfig mod addandconfig mod rmmanage module entries in the YAML configconfig mod db add|edit|rmmanages module-level database settingsconfig db add|edit|rmmanages shared database server definitions
You need to provide the path to the configuration file with the -c flag. -c config/quickstart.yml
buildgenerates a runnable Cargo project under.cyberfabric/and builds it based on the-cconfiguration provided.rungenerates the same project and runs it. You can provide-wto enable watch mode and/or--otelto enable OpenTelemetry.
docsresolves Rust source for crates, modules, and items from the workspace, local cache, orcrates.io
toolsinstalls or upgradesrustup,rustfmt, andclippy
lintis declared but not implemented yettestis declared but not implemented yet
Create a workspace, add a module, configure it, and run it:
cyberfabric mod init /tmp/cf-demo
cyberfabric mod add background-worker -p /tmp/cf-demo
cyberfabric config mod add background-worker -p /tmp/cf-demo -c /tmp/cf-demo/config/quickstart.yml
cyberfabric run -p /tmp/cf-demo -c /tmp/cf-demo/config/quickstart.ymlThe -p is to specify the path. If you don't provide it, the default will be the current directory.
For the full command surface, arguments, and examples, check SKILLS.md.
This project is licensed under the Apache License, Version 2.0.
- Full license text:
LICENSE - License URL: http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, the software is distributed on an AS IS basis, without
warranties or conditions of any kind.