FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

edited README.md · aboutcode-org/healthycode@e891563 · GitHub

Repository navigation

Commit e891563

Browse files
authored
edited README.md
fixed to clarify future plans, add images, and update links
1 parent 3d0acf0 commit e891563

1 file changed

Lines changed: 25 additions & 16 deletions

File tree

‎README.md‎

Lines changed: 25 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -62,9 +62,20 @@ Here is a trimmed result for the `semver` package:
6262
HealthyCode measures project health. It does not scan for vulnerabilities or check license compliance. For those, see [VulnerableCode](https://github.com/aboutcode-org/vulnerablecode), [ScanCode.io](https://github.com/aboutcode-org/scancode.io), and [ScanCode Toolkit](https://github.com/aboutcode-org/scancode-toolkit).
6363

6464
## Getting started
65-
HealthyCode needs a running [GrimoireLab 2.x](https://github.com/chaoss/grimoirelab/blob/2.x/README.md)
66-
instance with OpenSearch. GrimoireLab collects the data, and HealthyCode
67-
turns it into metrics and a score.
65+
Access health data by Package-URL (PURL). Health data is added to [PurlDB](https://github.com/aboutcode-org/purldb), accessible via API: https://health.purldb.io/api/
66+
67+
You ask for a package's health by its PURL (for example, `pkg:npm/semver`) and get the same JSON back. If the package has already been analyzed, the answer comes back right away. If not, the request starts a ScanCode.io pipeline to analyze it. Results will refresh when new versions are released.
68+
69+
## Access health data through ScanCode.io pipelines
70+
>This is planned future work.
71+
Run HealthyCode from ScanCode.io, next to your other scans: https://github.com/aboutcode-org/scancode.io/blob/main/scanpipe/pipelines/scan_repo_health.py
72+
73+
The `scan_repo_health` pipeline takes a Git repository URL, collects the data with GrimoireLab, and saves the metrics and score with the project results. Your ScanCode.io instance needs access to a GrimoireLab instance to run it.
74+
75+
## Run HealthCode locally
76+
>This is planned future work.
77+
78+
HealthyCode needs a running [GrimoireLab 2.x](https://github.com/chaoss/grimoirelab/blob/2.x/README.md) instance with OpenSearch. GrimoireLab collects the data, and HealthyCode turns it into metrics and a score. Installation, setup, and command-line usage guidance for GrimoireLab is in [grimoirelab-guide.md]/(grimoirelab-guide.md).
6879

6980
The quickest way to run HealthyCode is with the published Docker image:
7081

@@ -82,27 +93,23 @@ docker run --rm ghcr.io/aboutcode-org/healthycode:0.2.0 \
8293

8394
Replace the URLs and credentials with your own. To analyze an SPDX SBOM instead of a single repository, mount the file into the container and pass its path. The first run for a repository takes longer because GrimoireLab has to collect its full history.
8495

85-
Installation, setup, and command-line usage guidance for GrimoireLab is in [grimoirelab-guide.md]/(grimoirelab-guide.md).
8696

8797
## How it works
88-
<!-- TODO: add architecture diagrams -->
89-
1. You give HealthyCode a Git repository URL, or an SPDX SBOM that lists Git repositories.
98+
1. HealthyCode is given a Git repository URL, or an SPDX SBOM that lists Git repositories.
9099
2. HealthyCode asks GrimoireLab to collect each repository's history. Repositories GrimoireLab hasn't seen yet are added and analyzed.
91100
3. When the data is ready, HealthyCode computes the metrics over a time window. The default is 12 months.
92101
4. The npm health model turns those metrics into a score.
93102
5. The metrics, score, and run settings are written to a JSON file.
94103

95-
HealthyCode runs on your own infrastructure. The only outside services it contacts are the public code hosts and registries the data comes from.
104+
#### High-level overview of HealthyCode components
105+
![High-level components of HealthyCode](https://github.com/user-attachments/assets/9fa54e45-a6f9-43b5-8c55-5d7159aa71ed)
96106

97-
## Access health data through ScanCode.io pipelines
98-
You can run HealthyCode from ScanCode.io, next to your other scans: https://github.com/aboutcode-org/scancode.io/blob/main/scanpipe/pipelines/scan_repo_health.py
99-
100-
The `scan_repo_health` pipeline takes a Git repository URL, collects the data with GrimoireLab, and saves the metrics and score with the project results. Your ScanCode.io instance needs access to a GrimoireLab instance to run it.
107+
#### PurlDB and ScanCode.io overview
108+
![PurlDB and ScanCode.io overview](https://github.com/user-attachments/assets/46d2c199-ddbc-43e0-8963-1a438bdcc20a)
109+
110+
#### ScanCode.io + GrimoireLab overview
111+
![ScanCode.io + GrimoireLab overview](https://github.com/user-attachments/assets/9d5d3bff-1e2d-4be3-8b86-132f02d9151e)
101112

102-
## Access health data by Package-URL (PURL)
103-
We are adding health data to [PurlDB](https://github.com/aboutcode-org/purldb) via API: https://health.purldb.io/api/
104-
105-
You will be able to ask for a package's health by its PURL (for example, `pkg:npm/semver`) and get the same JSON back. If the package has already been analyzed, the answer comes back right away. If not, the request starts a ScanCode.io pipeline to analyze it. Results will refresh when new versions are released.
106113

107114
## The methodology
108115
HealthyCode uses the Goal-Question-Metric (GQM) approach. You start with what you care about (the goal), then work out what you need to know (the questions), and only then choose what you can measure (the metrics). For example:
@@ -124,7 +131,7 @@ People have been working on open source health from three directions:
124131

125132
Several commercial companies also sell package health scores. In most cases, you get the score but not the underlying data or the exact weights, which makes a result hard to check or reproduce.
126133

127-
The full state-of-the-art review is available here: <!-- TODO: link state-of-the-art document -->
134+
The full state-of-the-art review is available here: https://aboutcode.org/blog/npm-health-state-of-the-art
128135

129136
## With HealthyCode, every result can be audited
130137
The code, the collected data, and the model weights are public. Each score comes with the metrics behind it and the settings used to produce it, and each metric comes from public commit history you can check yourself. You can also rerun the analysis on your own infrastructure to verify a result. Metrics follow CHAOSS definitions where they exist, and data collection is done by GrimoireLab, a CHAOSS project.
@@ -141,6 +148,8 @@ HealthyCode is developed by AboutCode and community contributors like you!
141148

142149
## Contributing
143150
Issues and pull requests are welcome. Please follow the [Code of Conduct](CODE_OF_CONDUCT.rst).
151+
152+
Join the [AboutCode community Slack](https://join.slack.com/t/aboutcode-org/shared_invite/zt-31uzazd7l-tBHcqKUKkX6jUEPRLswiNw) to chat with maintainers, contributors, and users.
144153

145154
## License
146155
The code is licensed under GPL-3.0-or-later. See [LICENSE](LICENSE).

0 commit comments

Comments
 (0)

Back | FazBrowse Home | New Git URL