You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/CONTRIBUTING.md
+4-26Lines changed: 4 additions & 26 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -30,7 +30,7 @@ Use the canonical helper scripts from `package.json` or call the orchestrator di
30
30
| Inspect the pipeline |`node --run pipeline -- list` / `describe` / `logs`| Inspect the registered stages, pipelines, and recent run records. |
31
31
| Re-run processing+publish |`node scripts/orchestrator/index.ts run full-refresh-parallel --only=parallel-processing,aggregate-catalogue`| Re-run worker analysis and publication without re-running markdown parsing manually. |
32
32
33
-
The `parallel-processing` stage is the expensive part of the run: it clones repositories, extracts metadata and screenshots, and performs the deeper checks that produce the stage-5 payload in memory. The follow-up `aggregate-catalogue` stage turns that payload into `modules.json`, `modules.min.json`, and `stats.json`.
33
+
The `parallel-processing` stage is the expensive part of the run: it clones repositories, extracts metadata and screenshots, and performs the deeper checks that produce the analysis payload in memory. The follow-up `aggregate-catalogue` stage turns that payload into `modules.json`, `modules.min.json`, and `stats.json`.
34
34
35
35
### Orchestrator CLI for partial runs
36
36
@@ -52,17 +52,7 @@ Check the [orchestrator CLI reference](pipeline/orchestrator-cli-reference.md) f
52
52
53
53
### Stage details
54
54
55
-
#### Stage 1+2 – `collect-metadata/index.js`
56
-
57
-
Reads the official wiki list of third-party modules and fetches metadata (stars, topics, default branch, etc.) from the hosting service (GitHub/GitLab). The stage returns an in-memory enriched payload for downstream stages and updates the API cache on disk.
58
-
59
-
#### Stage 3+4+5 – `parallel-processing.js`
60
-
61
-
Combines repository cloning, `package.json` enrichment, screenshot extraction, and deep analysis inside the worker pool. The stage emits the analysis payload in memory.
62
-
63
-
#### Stage 6 – `aggregate-catalogue.js`
64
-
65
-
Consumes the stage-5 payload and writes the published catalogue outputs (`modules.json`, `modules.min.json`, `stats.json`).
55
+
For canonical stage definitions, responsibilities, and data flow, use [docs/architecture.md](architecture.md) as the single source of truth. This avoids drift between contributor instructions and pipeline design docs.
66
56
67
57
#### `validate_release_artifacts.ts`
68
58
@@ -80,7 +70,7 @@ For regression testing, prefer the curated fixtures (`node --run fixtures:genera
80
70
81
71
## Release validation
82
72
83
-
As of September 2025, schema validation is part of the release gate. After you regenerate the website data, run:
73
+
Schema validation is part of the release gate. After you regenerate the website data, run:
84
74
85
75
```bash
86
76
node --run release:validate
@@ -122,17 +112,6 @@ npm run schemas:check
122
112
123
113
The bundled files live in `dist/schemas/`. They ship with the repository so `node --run release:validate` can run without extra setup.
3. Optional: Launch the task menu with `npm start` or run `node --run all` to execute every stage sequentially (note: takes >10 minutes and >2 GB disk when cloning the full catalogue).
135
-
136
115
## Running the container locally
137
116
138
117
To preview the published website bundle without running the full pipeline, use the prebuilt container image:
@@ -219,10 +198,9 @@ Golden artifacts are reference outputs stored in `fixtures/golden/` that serve a
219
198
220
199
## Helpful references
221
200
222
-
-[`docs/architecture.md`](architecture.md) – current vs. target pipeline topology.
201
+
-[`docs/architecture.md`](architecture.md) – current pipeline topology.
223
202
-[`docs/pipeline/orchestrator-cli-reference.md`](pipeline/orchestrator-cli-reference.md) – command reference for partial runs, diagnostics, and logs.
224
203
-[`fixtures/README.md`](../fixtures/README.md) – curated dataset and validation troubleshooting.
225
-
-[`docs/pipeline/orchestrator-cli-reference.md`](pipeline/orchestrator-cli-reference.md) – current CLI and schema validation flow.
Copy file name to clipboardExpand all lines: docs/architecture.md
+11-11Lines changed: 11 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,18 +2,18 @@
2
2
3
3
Visibility into the automation that builds and publishes the third-party module catalogue helps contributors reason about changes and spot failure points early. This document summarizes the current canonical pipeline and the parts of the broader architecture that are still future-facing.
4
4
5
-
## Current State (March 2026)
5
+
## Current State (April 2026)
6
6
7
7
The supported production pipeline is orchestrated via `node scripts/orchestrator/index.ts run full-refresh-parallel` (also exposed as `node --run all`). The orchestrator now drives four registered stages across three operational phases: metadata collection, parallel module processing, and publication.
Copy file name to clipboardExpand all lines: docs/pipeline/check-modules-reference.md
+2-15Lines changed: 2 additions & 15 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,16 +1,9 @@
1
1
# Check Modules Reference
2
2
3
-
_Last updated: March 19, 2026_
3
+
_Last updated: April 16, 2026_
4
4
5
5
This page consolidates the material that previously lived in early planning documents. It should stay up to date as we evolve the check-modules pipeline and the curated fixture set.
6
6
7
-
## Status snapshot
8
-
9
-
- ✅ TypeScript implementation is the default Stage 5 runner.
10
-
- ✅ CLI progress indicator renders live module throughput and emits a per-run Markdown summary under `.pipeline-runs/check-modules/`.
11
-
- ✅ Stage 5 flags modules that import any non built-in dependency without declaring it in their own `package.json` (Node built-ins and the allowlist `express`, `node_helper`, `logger` are ignored).
12
-
- ✅ README install and update sections now require a copy-pasteable fenced command block so users can run the instructions without manual reformatting.
13
-
14
7
## Check group configuration
15
8
16
9
The Stage 5 runner reads `scripts/check-modules/check-groups.config.json` to decide which groups execute. All toggles ship enabled; set individual entries to `false` to skip that category. Personal overrides belong in `check-groups.config.local.json` (same directory) so local tweaks stay out of version control.
@@ -25,12 +18,6 @@ The Stage 5 runner reads `scripts/check-modules/check-groups.config.json` to de
25
18
26
19
> The runner logs whenever overrides are applied so CI output records which groups were disabled.
27
20
28
-
## CLI progress & run summaries
29
-
30
-
- When the stage runs interactively (TTY), it renders a single-line progress gauge on `stderr`. Disable it with `CHECK_MODULES_DISABLE_PROGRESS=1` or `CHECK_MODULES_PROGRESS=off` if you prefer verbose line-by-line logging.
31
-
- Every execution writes a Markdown + JSON summary to `.pipeline-runs/check-modules/<run-id>/`. The Markdown combines toggle state, aggregate stats, and the top modules with issues; the JSON mirrors the key metrics for tooling.
32
-
- Artifact links inside the summary resolve relative to the run directory, making it easy to inspect `website/result.md`, `modules.json`, and `stats.json` produced by the run.
33
-
34
21
## Rule inventory
35
22
36
23
These are the rule IDs currently implemented by the TypeScript checker. Keep this table synchronized with the rule registry schema when adding or modifying checks.
@@ -157,4 +144,4 @@ The curated fixture repositories live in `fixtures/modules/`. Keep this table in
157
144
158
145
## Housekeeping
159
146
160
-
- Update this page whenever you add or modify Stage 5 rules or fixtures.
147
+
- Update this page whenever you add or modify check-modules rules or fixtures.
Copy file name to clipboardExpand all lines: docs/pipeline/orchestrator-cli-reference.md
+2-3Lines changed: 2 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
# Pipeline Orchestrator CLI — Reference
2
2
3
-
_Last updated: 2025-09-30_
3
+
_Last updated: 2026-04-16_
4
4
5
5
A lightweight Node.js command-line interface reads the declarative stage graph, executes the pipeline end-to-end, and provides structured feedback to contributors. This document now serves as the reference for the shipped implementation.
6
6
@@ -98,5 +98,4 @@ The original exploration surfaced a few ideas that remain on the backlog:
98
98
99
99
## Integration with Existing Scripts
100
100
101
-
- Stage runner resolves script paths from the graph and executes them raw (no refactor needed initially).
102
-
- Shared helper for environment preparation (e.g. ensuring `modules_temp` rotation) remains a follow-up task and can live under `scripts/lib/pipeline/` when extracted.
101
+
- All supported stages run in-process via the stage runner abstraction (`in-process-stage-runner.ts`). The stage graph declares script paths which the runner resolves and executes within the same Node process.
Copy file name to clipboardExpand all lines: fixtures/modules/README.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -36,6 +36,6 @@ Each fixture directory contains:
36
36
4. Ensure every rule listed in the registry has at least one fixture (baseline or synthetic) that will trigger it. Record a short explanation in `FIXTURE.md` so future updates know the expected findings.
37
37
5. When adding a new fixture, update `docs/pipeline/check-modules-reference.md` with the coverage matrix and, if needed, regenerate the curated dataset under `fixtures/data/`.
38
38
39
-
## Next steps
39
+
## Maintenance
40
40
41
-
-Ensure contributors rerun `node scripts/fixtures/updateBaselineShas.ts` whenever we refresh the curated dataset so recorded commits stay accurate.
41
+
-Rerun `node scripts/fixtures/updateBaselineShas.ts` whenever you refresh the curated dataset so recorded commits stay accurate.
Copy file name to clipboardExpand all lines: module-submissions/README.md
+4-2Lines changed: 4 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,6 +6,8 @@ This directory contains the infrastructure for the new PR-based module submissio
6
6
7
7
Replace the wiki-based module list with a modern, quality-controlled submission process using GitHub Pull Requests.
8
8
9
+
> **Status:** This system is under development. The validation infrastructure and GitHub Actions workflows exist, but the submission flow has not yet been used in production. The documentation below describes the intended design.
10
+
9
11
## 📁 Directory Structure
10
12
11
13
```text
@@ -108,13 +110,13 @@ gh api orgs/MagicMirrorOrg/teams/trusted-contributors/memberships/USERNAME -X DE
0 commit comments