@cejel/cejel 0.1.4 → 0.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +60 -18
- package/dist/{chunk-SQNTNX5U.js → chunk-A7NZKJ5H.js} +530 -468
- package/dist/index.js +27 -10
- package/dist/mcp/index.js +2 -2
- package/package.json +6 -2
package/README.md
CHANGED
|
@@ -20,6 +20,10 @@ certificate + badge over all of them. See "Aggregate your scanners" below.
|
|
|
20
20
|
> monorepo — the ten-product studio it was built inside — which it currently scores
|
|
21
21
|
> 3.1/4.0 ("Conditional"). We score ourselves before asking you to score yourself.
|
|
22
22
|
|
|
23
|
+
The reusable Barg Labs listing mark is kept at [`brand/barg-icon.png`](./brand/barg-icon.png)
|
|
24
|
+
for directories and registries that accept a custom image. GitHub Actions Marketplace uses
|
|
25
|
+
GitHub's predefined `action.yml` branding icons instead.
|
|
26
|
+
|
|
23
27
|
## Install
|
|
24
28
|
|
|
25
29
|
No account, no key, no signup.
|
|
@@ -27,7 +31,15 @@ No account, no key, no signup.
|
|
|
27
31
|
**Single-file binary.** One file. No Node, no npm, no `node_modules`, nothing installed.
|
|
28
32
|
|
|
29
33
|
```bash
|
|
30
|
-
|
|
34
|
+
asset="cejel-$(uname -s)-$(uname -m)"
|
|
35
|
+
curl -fsSL "https://github.com/BargLabs/cejel/releases/latest/download/$asset" -o "$asset"
|
|
36
|
+
curl -fsSL https://github.com/BargLabs/cejel/releases/latest/download/SHA256SUMS -o SHA256SUMS
|
|
37
|
+
if command -v sha256sum >/dev/null; then
|
|
38
|
+
grep " $asset$" SHA256SUMS | sha256sum -c -
|
|
39
|
+
else
|
|
40
|
+
grep " $asset$" SHA256SUMS | shasum -a 256 -c -
|
|
41
|
+
fi
|
|
42
|
+
mv "$asset" cejel
|
|
31
43
|
chmod +x cejel
|
|
32
44
|
./cejel .
|
|
33
45
|
```
|
|
@@ -41,15 +53,13 @@ product, and you can falsify it in ten seconds:
|
|
|
41
53
|
docker run --rm --network=none -v "$PWD:/w" -w /w -v "$PWD/cejel:/cejel:ro" debian:stable-slim /cejel .
|
|
42
54
|
```
|
|
43
55
|
|
|
44
|
-
**npm
|
|
56
|
+
**npm.**
|
|
45
57
|
|
|
46
58
|
```bash
|
|
47
|
-
npx
|
|
59
|
+
npx @cejel/cejel .
|
|
48
60
|
```
|
|
49
61
|
|
|
50
|
-
The package is
|
|
51
|
-
registry review. The installed executable remains `cejel`. For a global install, run
|
|
52
|
-
`npm install --global @cejel/cejel`, then invoke `cejel .`.
|
|
62
|
+
The npm package is scoped as `@cejel/cejel`; its executable remains the short command `cejel`.
|
|
53
63
|
|
|
54
64
|
**GitHub Action** — score every PR and publish the badge:
|
|
55
65
|
|
|
@@ -67,9 +77,34 @@ pnpm install && pnpm build
|
|
|
67
77
|
node dist/index.js .
|
|
68
78
|
```
|
|
69
79
|
|
|
70
|
-
Released binaries: `cejel-Darwin-arm64`, `cejel-
|
|
71
|
-
|
|
72
|
-
|
|
80
|
+
Released binaries: `cejel-Darwin-arm64`, `cejel-Darwin-x86_64`, `cejel-Linux-aarch64`, and
|
|
81
|
+
`cejel-Linux-x86_64`. The release also carries `SHA256SUMS`; each binary is executed against
|
|
82
|
+
the source build and with networking denied before attachment. Releases from v0.1.6 also
|
|
83
|
+
carry a Sigstore bundle containing GitHub's signed build-provenance attestation for all four
|
|
84
|
+
binaries. Verify a downloaded binary with:
|
|
85
|
+
|
|
86
|
+
```bash
|
|
87
|
+
gh attestation verify ./cejel-Darwin-arm64 -R BargLabs/cejel
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
This is cryptographically signed provenance. It is distinct from Apple Developer ID or
|
|
91
|
+
Microsoft Authenticode code-signing.
|
|
92
|
+
|
|
93
|
+
**Docker / OCI.** The same MCP server is published as a non-root, multi-platform image:
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
docker run --rm -i -v "$PWD:/workspace:ro" ghcr.io/barglabs/cejel:0.1.6
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
The image defaults to `cejel-mcp` over stdio. To use the CLI instead:
|
|
100
|
+
|
|
101
|
+
```bash
|
|
102
|
+
docker run --rm -v "$PWD:/workspace:ro" --entrypoint cejel ghcr.io/barglabs/cejel:0.1.6 .
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
The OCI image carries an SBOM, maximum-mode build provenance, and a signed registry
|
|
106
|
+
attestation. It is also the package referenced by [`server.json`](./server.json) for the
|
|
107
|
+
Official MCP Registry.
|
|
73
108
|
|
|
74
109
|
## Leaderboard
|
|
75
110
|
|
|
@@ -78,7 +113,7 @@ corpus scored and published in the open — elite OSS projects, Cejel itself, an
|
|
|
78
113
|
studio monorepo Cejel was built inside — with a per-repository evidence report for every
|
|
79
114
|
row under [`leaderboard/reports/`](./leaderboard/reports/). The board is also hosted at
|
|
80
115
|
[cejel.dev](https://cejel.dev). Every score on this board is produced by the same sealed
|
|
81
|
-
public scorer used by `npx cejel .` — check out the source commit printed in the
|
|
116
|
+
public scorer used by `npx @cejel/cejel .` — check out the source commit printed in the
|
|
82
117
|
report, run the tool, and you will get this number. A required guard does exactly that for
|
|
83
118
|
every corpus row and compares score, verdict, measured coverage, and evidence. No private
|
|
84
119
|
domain collector contributes to any published score, ours included; nobody is exempt.
|
|
@@ -123,7 +158,8 @@ better-evidenced rows.
|
|
|
123
158
|
Scores the current directory with sensible defaults: no flags, no signup, fully offline.
|
|
124
159
|
Prints a concise terminal certificate and writes to `.cejel/`:
|
|
125
160
|
|
|
126
|
-
- `report.json` — the full structured report
|
|
161
|
+
- `report.json` — the full structured report; scored runs carry numeric headline scores and a
|
|
162
|
+
score-band `verdict`, while abstained runs carry `null` scores and `verdict: "insufficient_source"`
|
|
127
163
|
- `attestation.json` — an unsigned in-toto statement binding the report digest, repository
|
|
128
164
|
revision, rubric, and scored-or-abstained outcome; ready for an external signer
|
|
129
165
|
- `certificate.html` — a self-contained HTML certificate (no external assets)
|
|
@@ -141,8 +177,9 @@ or provenance system signs it, `assurance.status` is `unsigned` and `issuer` is
|
|
|
141
177
|
- `<path>` — repo to score (default: current directory)
|
|
142
178
|
- `--out <dir>` — where to write report/certificate/badge files (default: `.cejel`;
|
|
143
179
|
`--out-dir` remains available as a compatibility alias)
|
|
144
|
-
- `--min-score <n>` — exit non-zero if the overall score is below `n` (0–4)
|
|
145
|
-
GitHub Action's optional
|
|
180
|
+
- `--min-score <n>` — exit non-zero if the overall score is below `n` (0–4), or if Cejel
|
|
181
|
+
abstains and therefore cannot evaluate the threshold; used by the GitHub Action's optional
|
|
182
|
+
threshold gate
|
|
146
183
|
- `--ingest <file|glob>` — fold another scanner's output into the score (repeatable). Accepts
|
|
147
184
|
SARIF, OpenSSF Scorecard JSON, or the generic Cejel external-signal shape — format is
|
|
148
185
|
auto-detected. See "Aggregate your scanners" below.
|
|
@@ -168,9 +205,10 @@ honestly rather than guessing:
|
|
|
168
205
|
- **Not yet recognised** — other ecosystems, including COBOL, Fortran, and MATLAB. Cejel does
|
|
169
206
|
not score these as "source" at all: a repository with zero
|
|
170
207
|
recognised-extension files gets the `unrecognised_ecosystem` archetype, an explicit
|
|
171
|
-
`insufficient_data` status,
|
|
172
|
-
|
|
173
|
-
|
|
208
|
+
`insufficient_data` criterion status, `null` headline scores, and an explicit machine verdict
|
|
209
|
+
of `insufficient_source` — never a numeric score-band verdict, and never the word
|
|
210
|
+
"Unverified" for the sole reason that cejel cannot read the language. The certificate states
|
|
211
|
+
plainly which of the 11 dimensions were and were not measured.
|
|
174
212
|
|
|
175
213
|
This list will grow. It will never be "any codebase" — that claim is a promise the parser
|
|
176
214
|
cannot keep, and an honest support matrix is worth more than a marketing line the code
|
|
@@ -271,6 +309,10 @@ server over stdio, so any MCP client (Claude Code, Cowork, Cursor, Codex) can re
|
|
|
271
309
|
trust certificate as a tool call. It wraps the exact same scan the CLI runs — same scores,
|
|
272
310
|
same verdict — and is listed on Smithery via the repo's `smithery.yaml`.
|
|
273
311
|
|
|
312
|
+
The canonical discovery manifest is [`server.json`](./server.json), published under
|
|
313
|
+
`io.github.BargLabs/cejel` in the Official MCP Registry. Its npm ownership metadata,
|
|
314
|
+
OCI ownership label, image version, and registry version are checked together before release.
|
|
315
|
+
|
|
274
316
|
Add it to an MCP client config:
|
|
275
317
|
|
|
276
318
|
```json
|
|
@@ -278,7 +320,7 @@ Add it to an MCP client config:
|
|
|
278
320
|
"mcpServers": {
|
|
279
321
|
"cejel": {
|
|
280
322
|
"command": "npx",
|
|
281
|
-
"args": ["-y", "--package
|
|
323
|
+
"args": ["-y", "--package=@cejel/cejel", "cejel-mcp"]
|
|
282
324
|
}
|
|
283
325
|
}
|
|
284
326
|
}
|
|
@@ -299,7 +341,7 @@ and the server writes no files.
|
|
|
299
341
|
## What "offline" means here
|
|
300
342
|
|
|
301
343
|
Scoring a repo — `cejel .` itself, and the Action's scoring step — makes zero network
|
|
302
|
-
calls: no telemetry, no signup, no model call. Fetching the
|
|
344
|
+
calls: no telemetry, no signup, no model call. Fetching the `@cejel/cejel` package the
|
|
303
345
|
first time (like any npm-distributed CLI, including this Action's own dependency install)
|
|
304
346
|
does need network; that's a one-time install cost, not part of the scoring guarantee.
|
|
305
347
|
|