firmis bom - Generate Agent Bill of Materials
Synopsis
Section titled “Synopsis”firmis bom [path] [options]Description
Section titled “Description”You cannot pass a compliance audit for an AI system you have not inventoried. firmis bom generates a CycloneDX 1.7 Agent Bill of Materials - a complete, structured record of every component, dependency, tool, and model reference in your agent stack.
The BOM follows the CycloneDX 1.7 specification, the same standard used for software supply chain security across the industry. It includes each AI agent tool, skill, or plugin listed as a named component; npm and pip packages with exact version numbers; detected model files and model references; and metadata including scan timestamp, Firmis version, and project name.
By default the BOM is written to stdout as JSON. Use --output to save to a file. When --output is provided, a human-readable summary is printed to the terminal alongside the saved file.
firmis bom is read-only. It does not modify any files. For immediate security findings on the same components, use firmis scan. For a full CI pipeline that generates the BOM and scans in one pass, use firmis ci.
Examples
Section titled “Examples”Generate BOM for the current directory
Section titled “Generate BOM for the current directory”npx firmis bomSave BOM to file for audit submission
Section titled “Save BOM to file for audit submission”npx firmis bom --output agent-bom.jsonGenerate BOM for MCP servers only
Section titled “Generate BOM for MCP servers only”npx firmis bom --platform mcp --output mcp-bom.jsonGenerate a timestamped BOM as part of a release workflow
Section titled “Generate a timestamped BOM as part of a release workflow”npx firmis bom --output "artifacts/agent-bom-$(date +%Y%m%d).json"Verbose output during generation
Section titled “Verbose output during generation”npx firmis bom --verbose --output agent-bom.jsonOptions
Section titled “Options”| Flag | Type | Default | Description |
|---|---|---|---|
--platform <name> | string | all platforms | Generate BOM for a specific platform only. Useful when scoping to one part of a larger monorepo. |
--output <file> | string | stdout | Save the BOM JSON to a file. When provided, a summary is printed to the terminal. |
--verbose | boolean | false | Enable verbose logging during BOM generation. |
Exit Codes
Section titled “Exit Codes”| Code | Meaning |
|---|---|
0 | BOM generated successfully. |
1 | BOM generation failed with an error. |
See Also
Section titled “See Also”- Agent BOM concept - what Agent BOMs are, why they matter, and how they differ from a standard SBOM
- CycloneDX BOM spec - full output format reference
- discover - human-readable component inventory without the CycloneDX structure
- CI pipeline - generate the BOM automatically as part of your CI security pipeline