Skip to content

Commit 3155f3b

Browse files
committed
Filter dependencies to direct only and document enrich in README
Transitive deps flood the output for JS projects. Only include dependencies marked as direct by the manifests parser.
1 parent ce87313 commit 3155f3b

2 files changed

Lines changed: 16 additions & 3 deletions

File tree

README.md

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# brief
22

3-
A single-binary CLI tool that detects a software project's toolchain, configuration, and conventions, then outputs a structured report. Written in Go, 30 ecosystems, 95 tool definitions.
3+
A single-binary CLI tool that detects a software project's toolchain, configuration, and conventions, then outputs a structured report. Written in Go, 30 ecosystems, 230 tool definitions.
44

55
brief answers the bootstrap questions every AI coding agent, new contributor, and CI pipeline faces: what language is this, how do I install dependencies, how do I run the tests, what linter is configured.
66

@@ -18,6 +18,7 @@ Or download a binary from [releases](https://github.com/git-pkgs/brief/releases)
1818

1919
```
2020
brief [flags] [path | url] Detect project toolchain
21+
brief enrich [flags] [path] Detect and enrich with external data
2122
brief list tools All tools in the knowledge base
2223
brief list ecosystems Supported ecosystems
2324
brief schema JSON output schema
@@ -70,11 +71,23 @@ Git: branch add-commit-statuses (default: main) 58 commits
7071
7172
Lines: 22912 code 191 files (scc)
7273
73-
164.0ms 184 files checked 7/95 tools matched
74+
164.0ms 184 files checked 7/230 tools matched
7475
```
7576

7677
Use `--verbose` to include homepage, docs, and repo links for each detected tool.
7778

79+
## Enrichment
80+
81+
`brief enrich` runs the same scan, then fetches metadata from external APIs for each direct dependency. The output gains an `enrichment` section with downloads, dependents, security advisories, runtime end-of-life status, and OpenSSF Scorecard.
82+
83+
```
84+
brief enrich .
85+
brief enrich --json .
86+
brief enrich --verbose .
87+
```
88+
89+
Data sources: [ecosyste.ms](https://ecosyste.ms) for package metadata, [endoflife.date](https://endoflife.date) for runtime lifecycle, [OpenSSF Scorecard](https://securityscorecards.dev) for repo security.
90+
7891
## How it works
7992

8093
Detection rules are data, not code. Each tool is defined in a TOML file under `knowledge/`, organized by ecosystem:

detect/detect.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -489,7 +489,7 @@ func (e *Engine) loadDeps() {
489489
default:
490490
e.runtimeDeps[dep.Name] = true
491491
}
492-
if dep.PURL != "" {
492+
if dep.PURL != "" && dep.Direct {
493493
scope := "runtime"
494494
switch dep.Scope {
495495
case manifests.Development:

0 commit comments

Comments
 (0)