The flowweaver command-line utility provides tools to scaffold, test, lint, and package nodes and plugins.
flowweaver [command] [options]
| Command | Description |
|---|---|
create-plugin |
Scaffold a new dynamic plugin workspace template |
create-node |
Scaffold a single node capability package |
test-node |
Run local tests against example json configurations |
lint-node |
Enforce metaclass properties, style rules, and limits |
generate-docs |
Automatically generate Markdown documentation |
package-plugin |
Compile into tar.gz with integrity checksum manifest |
Generates a new multi-node plugin folder structure.
flowweaver create-plugin my_plugin_name- Output: Creates a new folder with
plugin.yaml,requirements.txt, and a package package boilerplate.
Generates a capability directory with category-specific adapters, service layers, tests, benchmarks, and data.
flowweaver create-node NodeName --category [Loader|Filter|Transform|Exporter|AI|Custom]--category: Configures appropriate default ports and parameters.- Output: Sets up
node.py,service.py,core/algorithm.py,utils/helpers.py,tests/,examples/,benchmarks/, anddata/sample files.
Executes node tests against mock configurations.
flowweaver test-node ./plugins/my_node- Output: Runs
execute()with parameters imported fromexamples/basic.jsonand outputs aPASSorFAILstatus report.
Validates that the node meets strict design and security specifications.
flowweaver lint-node ./plugins/my_node- Checks Enforced:
node.pyis under 200 lines.- No direct forbidden imports (
requests,threading,sqlite3,logging,urllib,subprocess). - Required attributes (
id,label,category,description) are declared. - Required ports and parameters are configured.
Generates Markdown reference files from node metaclass declarations.
flowweaver generate-docs ./plugins/my_node- Output: Creates a
docs.mddocument detailing inputs/outputs, parameter schemas (default value/types), and description fields.
Packs a verified plugin folder into a tar archive.
flowweaver package-plugin ./plugins/my_plugin- Sequence: Automatically executes
lint-nodefirst. Aborts if lint validations fail. - Output: Produces
<plugin_name>.tar.gzandmanifest.jsonwith SHA-256 integrity hashes.