Bomly

io.github.bomly-devPublished by GitHub account bomly-devv0.30.1Updated Oct 30, 2026

Give your coding agent the dependency graph it is about to change: scan, diff, explain, audit

VerifiedSTDIODesktop onlyDeveloper ToolsSecurity & Monitoring

Overview

AI-generated overview

Bomly exposes its dependency-graph CLI to coding agents: scan projects for dependencies and vulnerabilities, diff two targets, and explain why a package is…

What you can do
  • Scan a project, directory, container image, Git ref or existing SBOM into a dependency graph, optionally enriched with vulnerability and license data and policy audit results
  • Compare dependencies between two targets, showing introduced, resolved and persisting findings with remediation advice
  • Explain why a package is present and show its dependency paths, with optional vulnerability details and policy results
  • List available plugins (detectors, matchers, auditors) and their enabled or disabled state
When to use it
Useful when an agent is about to change dependencies and should see the graph, check for known vulnerabilities and fixes, or review what a branch or pull request changed. Also handy for answering why a package is in the tree before removing or upgrading it.
Requirements
Runs as a local stdio process, either via the installed Bomly CLI or the bomly-mcp npm wrapper started with npx, so Node.js is needed for the wrapper. No account, login or API key is required. Network access is only used when enrichment is requested.
Before you install
Enrichment options contact external vulnerability and license services, which sends package data off the machine; without them the tool stays offline. Scans can read container images and remote Git refs, and plugin listing reflects plugins installed on the machine, so review installed plugins before trusting results.

Installation

In SourceWeft

  1. Open Bomly in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

[Bomly CLI]

Analyze Your Software DNA.

[CI] [OpenSSF Scorecard] [Latest release] [GitHub release downloads] [License: Apache-2.0] [Go Reference]

Bomly is a free, open-source command-line tool for understanding what your software depends on. It is built for developers, security engineers, and CI pipelines. Bomly:

  • scans source trees, SBOMs, Git refs, and container images into one dependency graph;
  • explains why a package is present;
  • adds vulnerability and license data when you ask for it with --enrich;
  • checks the result against your policy and exits with a code CI can act on;
  • writes JSON, SARIF, SPDX, and CycloneDX output.

No account, no login, no service to host, no telemetry. One binary. Bomly contacts no vulnerability or license service unless you pass --enrich. Network and privacy lists every network trigger so you can check that claim yourself.

Install

bash
# macOS / Linuxbrewbrew install bomly-dev/tap/bomly
# Linux / macOS install scriptcurl -fsSL https://bomly.dev/install.sh | sh
# Windowswinget install Bomly.BomlyCLI

Check the install with bomly version. Installation covers Linux packages, Scoop, go install, the smaller bomly-lite binary that uses your own Syft and Grype, checksums, and uninstalling.

Start with a scan

bash
# Scan the current projectbomly scan
# Scan a specific directorybomly scan --path ./services/api
# Scan a container imagebomly scan --image ghcr.io/example/app:latest
# Scan a remote Git refbomly scan --url https://github.com/owner/repo --ref v1.2.3
# Read an existing SPDX or CycloneDX SBOMbomly scan --sbom --path ./sbom.cdx.json

Bomly reads manifests, lockfiles, package-manager output, container layers, or existing SBOMs and turns them into one dependency graph. Native detectors cover Go, npm, pnpm, Yarn, Maven, Gradle, Python, Composer, Bundler, GitHub Actions, and more. Syft covers the remaining ecosystems and container images. See the Support matrix and Scan targets.

[Bomly scan progress showing indexed subprojects, detected dependencies, enriched packages, and resolved graph]

What Bomly can answer

QuestionCommandRead more
What do we depend on?bomly scanGetting started
Which packages have known vulnerabilities, and is there a fix?bomly scan --enrichMatchers
Should this build fail?bomly scan --enrich --audit --fail-on highAuditors, Exit codes
Which findings can my code reach? (experimental)bomly scan --enrich --audit --analyze --fail-on high --fail-on reachableReachability
Why is this package here?bomly explain lodashexplain
What changed in this PR?bomly diff --base main --head HEAD --enrich --auditdiff
Give me an SBOMbomly scan -o spdx=sbom.spdx.json -o cyclonedx=sbom.cdx.jsonSBOM formats
Give me something CI can readbomly scan --json, --format sarifOutput formats

Reachability is experimental: "unreachable" is not a guarantee of safety. Use cases has more recipes, and Release assurance lists the checks every release goes through.

Explore interactively

Open the terminal UI when you want to inspect a graph by hand:

bash
bomly scan --interactive

Use it to fuzzy-find packages, inspect versions and scopes, pivot through findings, and see how a dependency entered the graph without writing a report to disk. See Interactive TUI.

[Bomly interactive TUI overview with component, vulnerability, license, target, and distribution panels]

Gate pull requests

The Bomly Guard action runs bomly diff against a pull request's merge base and posts the result as a check and a PR comment. Only the packages the PR changed are audited, so existing findings elsewhere never block a PR:

yaml
# .github/workflows/bomly.yml- uses: actions/checkout@v5  with:    fetch-depth: 0- uses: bomly-dev/bomly-guard@v1  with:    fail-on: high

See Bomly Guard. CI integration has recipes for GitLab, Jenkins, Azure DevOps, and CircleCI.

[GitHub pull request checks showing Bomly Guard failing a required dependency check]

Use Bomly with AI agents

Bomly can run as a local server for the Model Context Protocol (MCP), so an AI coding agent can call the same scan, explain, and diff tools you use on the command line:

bash
bomly mcp serve

If you have not installed the CLI, the bomly-mcp npm wrapper starts the same server:

bash
npx -y bomly-mcp

See MCP server for the Claude Code, Cursor, and VS Code setup and the tool reference.

Configure and extend

Bomly reads settings from ~/.bomly/config.yaml, then from the file named by --config or BOMLY_CONFIG, then from BOMLY_* environment variables, then from flags. Later sources win. A config file inside a repository is never loaded on its own: pass --config .bomly/config.yaml to use one. See the Config reference.

Plugins add detectors, matchers, auditors, and analyzers without forking Bomly:

bash
bomly plugins install github:bomly-dev/[email protected]bomly plugins enable bomly.examples.detector.bun-lockbomly plugins verify bomly.examples.detector.bun-lock

See Plugins to install and trust plugins, and Plugin authoring to write one.

Documentation

Contributor setup lives in CONTRIBUTING.md. Architecture details live in docs/ARCHITECTURE.md.

Questions and sponsorship

For questions, ideas, and help, use Bomly Discussions. Use this repository's issues for confirmed bugs, regressions, and concrete implementation work.

If Bomly is useful to you, star the repository, share feedback, contribute, or sponsor ongoing maintenance.

License

Bomly CLI is licensed under the Apache License 2.0.

Source: README.md at commit 956a91d

Tools

4

bomly_diff

Compare dependencies between two targets. With enrich=true, the response includes possible remediation for vulnerable packages on the head side, using the same actions and optional override_advice as bomly_scan. With audit=true (requires enrich=true), it also shows introduced, resolved, and persisted policy findings. Use bomly_explain for full details about one package.

Parametersbaserequiredheadrequiredpathsbomauditimageenrichanalyzeexcludefail_onbaselinecontainer+12 more

bomly_explain

Explain why one package is present and show its dependency paths. With enrich=true, the response adds full vulnerability details and possible remediation. With audit=true (requires enrich=true), it also adds policy results. Use this after bomly_scan to inspect each affected package.

Parameterspathauditenrichanalyzeexcludefail_onpackagerequiredbaselinemax_depthrecursivewarn_onlydeny_groups+8 more

bomly_plugins

List all available bomly plugins (built-in detectors, matchers, and auditors plus any installed external plugins) with their enabled/disabled state.

Takes no parameters.

bomly_scan

Scan a project for dependencies and vulnerabilities. With enrich=true, the response groups vulnerability suggestions as direct-bump, transitive-override, lockfile-refresh, no-fix-upstream, or manual-review; transitive groups may include override_advice. Groups rank known-exploited issues first, then severity, EPSS, and fixability. For a security review, use enrich=true with audit=true. Then use bomly_explain for full details and paths for each package.

Parametersrefurlpathauditimagescopeenrichanalyzeexcludefail_onbaselinecontainer+13 more

Version history

9
  1. v0.30.1LatestOct 30, 2026
  2. v0.30.0Oct 26, 2026
  3. v0.29.0Oct 21, 2026
  4. v0.28.3Oct 20, 2026
  5. v0.28.2Oct 4, 2026
  6. v0.28.1Oct 4, 2026
  7. v0.27.1Oct 4, 2026
  8. v0.26.0Sep 17, 2026
  9. v0.25.0Sep 16, 2026

Score

90% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts
  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts