-
-
Notifications
You must be signed in to change notification settings - Fork 0
docs: reorganize navigation and group detector pages by ecosystem #358
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
|
|
@@ -7,8 +7,8 @@ Start with [Getting Started](GETTING_STARTED.md) if you're new. Otherwise pick t | |||||
| Install Bomly and run your first scan. | ||||||
|
|
||||||
| - [Getting Started](GETTING_STARTED.md) — first scan, enrich, audit, diff | ||||||
| - [Tutorial](TUTORIAL.md) — from first scan to a CI gate on a real project, with representative output from the workflow | ||||||
| - [Installation](INSTALLATION.md) — install methods, `bomly` vs `bomly-lite`, checksum verification, uninstall | ||||||
| - [Tutorial](TUTORIAL.md) — from first scan to a CI gate on a real project, with representative output from the workflow | ||||||
| - [Use Cases](USE_CASES.md) — recipes for PR gates, SBOMs, triage, license and offline scans | ||||||
| - [Scan Targets](SCAN_TARGETS.md) — directories, Git repos, containers, SBOMs | ||||||
| - [Output Formats](OUTPUT_FORMATS.md) — text, JSON, SARIF, SBOM | ||||||
|
|
@@ -19,43 +19,43 @@ Install Bomly and run your first scan. | |||||
|
|
||||||
| What Bomly does, and why each piece exists. | ||||||
|
|
||||||
| - [Architecture](ARCHITECTURE.md) — the scan pipeline, domain model, and network behavior | ||||||
| - [Network and Privacy](NETWORK.md) — every network trigger, what it transmits, and how to stay offline | ||||||
| - [Security and Trust Boundaries](SECURITY.md) — permissions, network behavior, plugins, input limits, and residual risks | ||||||
| - [Commands](COMMANDS.md) — per-command reference for [scan](commands/scan.md), [explain](commands/explain.md), and [diff](commands/diff.md) | ||||||
| - [Detectors](DETECTORS.md) — turning project evidence into a dependency graph | ||||||
| - [Matchers](MATCHERS.md) — enriching the graph with vulnerability, license, lifecycle data | ||||||
| - [Auditors](AUDITORS.md) — evaluating the graph against policy | ||||||
| - [MCP Server](MCP.md) — connect Bomly to Claude Code, Cursor, VS Code, or another MCP client | ||||||
| - [Plugins](PLUGINS.md) — install, trust, configure, and package external plugins | ||||||
| - Plugin implementation guides: [detector](plugins/how-to-implement-detector.md), [matcher](plugins/how-to-implement-matcher.md), [auditor](plugins/how-to-implement-auditor.md) | ||||||
| - Example plugin repos: [Bun detector](https://github.com/bomly-dev/bomly-plugin-bun-lock-detector), [ClearlyDefined matcher](https://github.com/bomly-dev/bomly-plugin-clearlydefined-matcher), [EOL lifecycle matcher](https://github.com/bomly-dev/bomly-plugin-eol-matcher), [Meme auditor](https://github.com/bomly-dev/bomly-plugin-meme-auditor) | ||||||
| - [MCP Server](MCP.md) — connect Bomly to Claude Code, Cursor, VS Code, or another MCP client | ||||||
| - [Bomly Guard](BOMLY_GUARD.md) — the turnkey GitHub Action for PR dependency review | ||||||
|
|
||||||
| ## Operations | ||||||
|
|
||||||
| Running Bomly in CI and keeping pipelines healthy. | ||||||
|
|
||||||
| - [Integrations](INTEGRATIONS.md) — CI actions, AI agents, code scanning, install channels, plugins, and the marketplace | ||||||
| - [CI Integration](CI_INTEGRATION.md) — GitHub Actions, GitLab, Jenkins, Azure, CircleCI | ||||||
| - [CI-Readiness Warnings](CI_READINESS.md) — package-manager, lockfile-format, and install-policy mismatches that fail CI on their own | ||||||
| - [Finding Baselines](BASELINES.md) — keep accepted package findings visible without failing audits | ||||||
| - [Troubleshooting](TROUBLESHOOTING.md) — common errors and fixes | ||||||
|
|
||||||
| ## Reference | ||||||
|
|
||||||
| Specifications and matrices. The generated pages are regenerated from code by `make generate` — treat those as authoritative. | ||||||
| Specifications, matrices, and design deep dives. The generated pages are regenerated from code by `make generate` — treat those as authoritative. | ||||||
|
|
||||||
| - [Commands](COMMANDS.md) — per-command reference for [scan](commands/scan.md), [explain](commands/explain.md), and [diff](commands/diff.md) | ||||||
| - [Support Matrix](SUPPORT_MATRIX.md) — every ecosystem and package manager | ||||||
| - [Config Reference](CONFIG_REFERENCE.md) — every config key, env var, default, flag | ||||||
| - [Exit Codes](EXIT_CODES.md) — what each process exit value means | ||||||
| - [Interactive TUI](TUI.md) — keybindings and tabs for `--interactive` | ||||||
| - [JSON Schemas](SCHEMAS.md) — scan, explain, diff output shapes | ||||||
| - [Glossary](GLOSSARY.md) — every term, one sentence each | ||||||
| - [Detector Ecosystem Guides](detectors/ecosystems/) — per-ecosystem detector chains | ||||||
| - [Detector Reference](detectors/) — per-ecosystem detector pages, plus [Syft fallback](detectors/syft.md) for everything else | ||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win Use “per-detector” wording here. The reference now contains one page per native detector plus the Syft fallback, so “per-ecosystem detector pages” is misleading and conflicts with the terminology used in -- [Detector Reference](detectors/) — per-ecosystem detector pages, plus [Syft fallback](detectors/syft.md) for everything else
+- [Detector Reference](detectors/) — per-detector pages, plus [Syft fallback](detectors/syft.md) for everything else📝 Committable suggestion
Suggested change
🤖 Prompt for AI Agents |
||||||
| - [Matcher Reference](matchers/) — per-matcher behavior, cache, output | ||||||
| - [Auditor Reference](auditors/) — per-auditor options, examples, limitations | ||||||
| - [Architecture](ARCHITECTURE.md) — the scan pipeline, domain model, and network behavior | ||||||
| - [Network and Privacy](NETWORK.md) — every network trigger, what it transmits, and how to stay offline | ||||||
| - [Security and Trust Boundaries](SECURITY.md) — permissions, network behavior, plugins, input limits, and residual risks | ||||||
| - [Reproducible Evidence](EVIDENCE.md) — public inputs, commands, results, and limitations behind important behavior claims | ||||||
|
|
||||||
| ## Operations | ||||||
|
|
||||||
| Running Bomly in CI and keeping pipelines healthy. | ||||||
|
|
||||||
| - [Integrations](INTEGRATIONS.md) — CI actions, AI agents, code scanning, install channels, and plugins | ||||||
| - [CI Integration](CI_INTEGRATION.md) — GitHub Actions, GitLab, Jenkins, Azure, CircleCI | ||||||
| - [CI-Readiness Warnings](CI_READINESS.md) — package-manager, lockfile-format, and install-policy mismatches that fail CI on their own | ||||||
| - [Bomly Guard](BOMLY_GUARD.md) — the turnkey GitHub Action for PR dependency review | ||||||
| - [Finding Baselines](BASELINES.md) — keep accepted package findings visible without failing audits | ||||||
| - [Troubleshooting](TROUBLESHOOTING.md) — common errors and fixes | ||||||
| - [Glossary](GLOSSARY.md) — every term, one sentence each | ||||||
|
|
||||||
| ## Experimental | ||||||
|
|
||||||
|
|
||||||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,46 @@ | ||
| # Detector Reference | ||
|
|
||
| <!-- The reference table below this banner is regenerated by `make generate`. Handwritten prose below the table lives in internal/support/prose/. --> | ||
|
|
||
| One page per package manager Bomly resolves natively, grouped by ecosystem, plus a single page for everything covered through the bundled Syft cataloger. | ||
|
|
||
| ## Native detectors | ||
|
|
||
| These read a lockfile, manifest, or build tool directly and produce a full dependency graph with edges. | ||
|
|
||
| | Ecosystem | Package manager | Detector chain | Install-first support | | ||
| | --- | --- | --- | --- | | ||
| | `cpp` | [`conan`](cpp/conan.md) | `conan-detector`, `syft-detector` | No | | ||
| | `dart` | [`pub`](dart/pub.md) | `pub-native-detector`, `pub-detector`, `syft-detector` | No | | ||
| | `dotnet` | [`nuget`](dotnet/nuget.md) | `nuget-detector`, `syft-detector` | No | | ||
| | `elixir` | [`mix`](elixir/mix.md) | `mix-detector`, `syft-detector` | No | | ||
| | `github-actions` | [`github-actions`](github-actions/github-actions.md) | `github-actions-detector`, `syft-detector` | No | | ||
| | `go` | [`gomod`](go/gomod.md) | `go-detector`, `syft-detector` | Yes | | ||
| | `maven` | [`gradle`](maven/gradle.md) | `gradle-detector`, `syft-detector` | Yes | | ||
| | | [`maven`](maven/maven.md) | `maven-detector`, `syft-detector` | Yes | | ||
| | `npm` | [`bun`](npm/bun.md) | `bun-detector`, `bun-native-detector`, `syft-detector` | Yes | | ||
| | | [`npm`](npm/npm.md) | `npm-detector`, `npm-native-detector`, `syft-detector` | Yes | | ||
| | | [`pnpm`](npm/pnpm.md) | `pnpm-detector`, `pnpm-native-detector`, `syft-detector` | Yes | | ||
| | | [`yarn`](npm/yarn.md) | `yarn-detector`, `yarn-native-detector`, `syft-detector` | Yes | | ||
| | `php` | [`composer`](php/composer.md) | `composer-detector`, `syft-detector` | Yes | | ||
| | `python` | [`pip`](python/pip.md) | `pip-detector`, `syft-detector` | Yes | | ||
| | | [`pipenv`](python/pipenv.md) | `pipenv-detector`, `syft-detector` | Yes | | ||
| | | [`poetry`](python/poetry.md) | `poetry-detector`, `syft-detector` | Yes | | ||
| | | [`uv`](python/uv.md) | `uv-detector`, `syft-detector` | Yes | | ||
| | `ruby` | [`bundler`](ruby/bundler.md) | `bundler-detector`, `syft-detector` | Yes | | ||
| | `rust` | [`cargo`](rust/cargo.md) | `cargo-detector`, `syft-detector` | Yes | | ||
| | `sbom` | [`sbom`](sbom/sbom.md) | `sbom-detector` | No | | ||
| | `scala` | [`sbt`](scala/sbt.md) | `sbt-native-detector`, `sbt-detector` | No | | ||
| | `swift` | [`cocoapods`](swift/cocoapods.md) | `cocoapods-detector`, `syft-detector` | No | | ||
| | | [`swiftpm`](swift/swiftpm.md) | `swiftpm-native-detector`, `swiftpm-detector`, `syft-detector` | No | | ||
|
|
||
| ## Syft-backed coverage | ||
|
|
||
| [Syft fallback](syft.md) covers 23 more package managers, mostly OS package databases and ecosystems without a native detector. Those produce a flat package list rather than a graph. | ||
|
|
||
| ## How to read this | ||
|
|
||
| - Bomly tries detector chains left to right. Later entries are fallbacks used when the preferred detector cannot produce graph data. | ||
| - Install-first support means `--install-first` can run the package manager's normal install command before graph resolution. That downloads packages and modifies the filesystem; see [Detectors](../DETECTORS.md#install-first). | ||
| - Remediation hints are read-only package-manager guidance used during `--enrich`. Detectors never choose the final action or change project files. | ||
| - Every ecosystem and package manager, native or not, is listed in the [Support matrix](../SUPPORT_MATRIX.md). |
This file was deleted.
This file was deleted.
This file was deleted.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
Document the recursive detector-page output path.
The generated pages now live below nested directories such as
docs/detectors/maven/maven.md;docs/detectors/*.mdonly denotes files directly underdocs/detectors. Usedocs/detectors/or an explicit recursive pattern so contributors do not miss migrated pages when regenerating documentation.Proposed wording
📝 Committable suggestion
🤖 Prompt for AI Agents