Skip to content

Commit 0e91334

Browse files
authored
Merge pull request #233 from aicodingstack/codex/manifest-harness-node24
feat(data): automate manifest maintenance and adopt Node 24
2 parents c2218fe + 2effd53 commit 0e91334

74 files changed

Lines changed: 1625 additions & 453 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/actions/setup-pnpm/action.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ runs:
1010
- name: Setup Node.js
1111
uses: actions/setup-node@v7
1212
with:
13-
node-version: '22'
13+
node-version: '24'
1414
cache: pnpm
1515
cache-dependency-path: pnpm-lock.yaml
1616

.github/workflows/dependabot-auto-merge.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ jobs:
3333
- name: Setup Node.js
3434
uses: actions/setup-node@v7
3535
with:
36-
node-version: '22'
36+
node-version: '24'
3737
cache: pnpm
3838
cache-dependency-path: pnpm-lock.yaml
3939

.github/workflows/monitor-model-sources.yml

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,20 +24,19 @@ jobs:
2424
- name: Setup pnpm
2525
uses: ./.github/actions/setup-pnpm
2626

27-
- name: Check monitored official sources
28-
run: pnpm fetch:model-sources
27+
- name: Update and validate monitored official sources
28+
run: pnpm manifest-data:update -- --only=model-sources
2929

30-
- name: Validate monitoring metadata
30+
- name: Check formatting
3131
run: |
32-
pnpm test:validate
3332
pnpm format:check
3433
pnpm biome:check
3534
git diff --check
3635
3736
- name: Check for changes
3837
id: git-check
3938
run: |
40-
git diff --exit-code manifests/models || echo "changes=true" >> "$GITHUB_OUTPUT"
39+
git diff --exit-code manifests/models data/data-health.json docs/DATA-HEALTH.md src/lib/generated || echo "changes=true" >> "$GITHUB_OUTPUT"
4140
4241
- name: Create review pull request
4342
if: steps.git-check.outputs.changes == 'true'

.github/workflows/update-benchmarks.yml

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -24,24 +24,19 @@ jobs:
2424
- name: Setup pnpm
2525
uses: ./.github/actions/setup-pnpm
2626

27-
- name: Refresh exact benchmark mappings
28-
run: pnpm fetch:benchmarks
27+
- name: Update and validate exact benchmark mappings
28+
run: pnpm manifest-data:update -- --only=benchmarks
2929

30-
- name: Regenerate manifest modules
31-
run: pnpm generate:manifests
32-
33-
- name: Validate updated data
30+
- name: Check formatting
3431
run: |
35-
pnpm test:validate
36-
pnpm data-health:check
3732
pnpm format:check
3833
pnpm biome:check
3934
git diff --check
4035
4136
- name: Check for changes
4237
id: git-check
4338
run: |
44-
git diff --exit-code manifests src/lib/generated || echo "changes=true" >> "$GITHUB_OUTPUT"
39+
git diff --exit-code manifests data/data-health.json docs/DATA-HEALTH.md src/lib/generated || echo "changes=true" >> "$GITHUB_OUTPUT"
4540
4641
- name: Create pull request
4742
if: steps.git-check.outputs.changes == 'true'

.github/workflows/update-github-stars.yml

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24,18 +24,15 @@ jobs:
2424
- name: Setup pnpm
2525
uses: ./.github/actions/setup-pnpm
2626

27-
- name: Fetch GitHub stars
28-
run: pnpm fetch:github-stars
27+
- name: Update and validate GitHub stars
28+
run: pnpm manifest-data:update -- --only=github-stars
2929
env:
3030
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
3131

32-
- name: Generate TypeScript files
33-
run: pnpm generate:manifests
34-
3532
- name: Check for changes
3633
id: git-check
3734
run: |
38-
git diff --exit-code data/github-stars.json src/lib/generated/github-stars.ts || echo "changes=true" >> $GITHUB_OUTPUT
35+
git diff --exit-code data/github-stars.json data/data-health.json docs/DATA-HEALTH.md src/lib/generated || echo "changes=true" >> "$GITHUB_OUTPUT"
3936
4037
- name: Create Pull Request
4138
if: steps.git-check.outputs.changes == 'true'
@@ -50,7 +47,7 @@ jobs:
5047
5148
### Changes
5249
- Updated `data/github-stars.json` with latest star counts
53-
- Regenerated `src/lib/generated/github-stars.ts`
50+
- Regenerated derived data and the data-health snapshot
5451
5552
### Source
5653
This PR was automatically generated by the `update-github-stars` workflow.

.github/workflows/update-product-versions.yml

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -24,27 +24,21 @@ jobs:
2424
- name: Setup pnpm
2525
uses: ./.github/actions/setup-pnpm
2626

27-
- name: Refresh tracked product versions
28-
run: pnpm fetch:product-versions
27+
- name: Update and validate tracked product versions
28+
run: pnpm manifest-data:update -- --only=product-versions
2929
env:
3030
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
3131

32-
- name: Regenerate manifest modules
33-
run: pnpm generate:manifests
34-
35-
- name: Validate updated data
32+
- name: Check formatting
3633
run: |
37-
pnpm test:validate
38-
pnpm validate:i18n
39-
pnpm data-health:check
4034
pnpm format:check
4135
pnpm biome:check
4236
git diff --check
4337
4438
- name: Check for changes
4539
id: git-check
4640
run: |
47-
git diff --exit-code manifests src/lib/generated || echo "changes=true" >> "$GITHUB_OUTPUT"
41+
git diff --exit-code manifests data/data-health.json docs/DATA-HEALTH.md src/lib/generated || echo "changes=true" >> "$GITHUB_OUTPUT"
4842
4943
- name: Create pull request
5044
if: steps.git-check.outputs.changes == 'true'

.nvmrc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
22
1+
24

CONTRIBUTING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ Want to contribute code? Great! Please:
7373

7474
### Prerequisites
7575

76-
- **Node.js**: 22.x
76+
- **Node.js**: 24.x
7777
- **pnpm**: 11.17.0 (pinned by `packageManager`)
7878
- **Git**: For version control
7979

Lines changed: 139 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,139 @@
1+
{
2+
"$schema": "https://json-schema.org/draft/2020-12/schema",
3+
"title": "Manifest Data Health Report",
4+
"description": "Generated manifest provenance, freshness, relationship, and translation health snapshot.",
5+
"type": "object",
6+
"properties": {
7+
"asOf": { "type": "string", "format": "date" },
8+
"thresholds": { "$ref": "#/$defs/categoryThresholds" },
9+
"summary": { "$ref": "#/$defs/summary" },
10+
"byCategory": { "$ref": "#/$defs/categoryHealthMap" },
11+
"translationsByLocale": {
12+
"type": "object",
13+
"minProperties": 1,
14+
"additionalProperties": { "$ref": "#/$defs/translationHealth" }
15+
},
16+
"issues": {
17+
"type": "array",
18+
"items": { "$ref": "#/$defs/issue" }
19+
}
20+
},
21+
"required": ["asOf", "thresholds", "summary", "byCategory", "translationsByLocale", "issues"],
22+
"additionalProperties": false,
23+
"$defs": {
24+
"categories": {
25+
"type": "string",
26+
"enum": ["ides", "clis", "desktops", "extensions", "models", "providers", "vendors"]
27+
},
28+
"nonNegativeInteger": {
29+
"type": "integer",
30+
"minimum": 0
31+
},
32+
"percentage": {
33+
"type": "number",
34+
"minimum": 0,
35+
"maximum": 100
36+
},
37+
"categoryThresholds": {
38+
"type": "object",
39+
"properties": {
40+
"ides": { "$ref": "#/$defs/nonNegativeInteger" },
41+
"clis": { "$ref": "#/$defs/nonNegativeInteger" },
42+
"desktops": { "$ref": "#/$defs/nonNegativeInteger" },
43+
"extensions": { "$ref": "#/$defs/nonNegativeInteger" },
44+
"models": { "$ref": "#/$defs/nonNegativeInteger" },
45+
"providers": { "$ref": "#/$defs/nonNegativeInteger" },
46+
"vendors": { "$ref": "#/$defs/nonNegativeInteger" }
47+
},
48+
"required": ["ides", "clis", "desktops", "extensions", "models", "providers", "vendors"],
49+
"additionalProperties": false
50+
},
51+
"summary": {
52+
"type": "object",
53+
"properties": {
54+
"totalRecords": { "$ref": "#/$defs/nonNegativeInteger" },
55+
"recordsWithSources": { "$ref": "#/$defs/nonNegativeInteger" },
56+
"verifiedRecords": { "$ref": "#/$defs/nonNegativeInteger" },
57+
"provenanceComplete": { "$ref": "#/$defs/nonNegativeInteger" },
58+
"staleVerifiedRecords": { "$ref": "#/$defs/nonNegativeInteger" },
59+
"translationPlaceholderValues": { "$ref": "#/$defs/nonNegativeInteger" },
60+
"danglingRelationships": { "$ref": "#/$defs/nonNegativeInteger" },
61+
"modelBenchmarkCoverage": { "$ref": "#/$defs/percentage" },
62+
"productsWithPricing": { "$ref": "#/$defs/nonNegativeInteger" },
63+
"productRecords": { "$ref": "#/$defs/nonNegativeInteger" },
64+
"communityUrlsPopulated": { "$ref": "#/$defs/nonNegativeInteger" },
65+
"communityUrlsWithProvenance": { "$ref": "#/$defs/nonNegativeInteger" },
66+
"duplicatedVendorCommunityUrls": { "$ref": "#/$defs/nonNegativeInteger" },
67+
"errors": { "$ref": "#/$defs/nonNegativeInteger" },
68+
"warnings": { "$ref": "#/$defs/nonNegativeInteger" },
69+
"info": { "$ref": "#/$defs/nonNegativeInteger" }
70+
},
71+
"required": [
72+
"totalRecords",
73+
"recordsWithSources",
74+
"verifiedRecords",
75+
"provenanceComplete",
76+
"staleVerifiedRecords",
77+
"translationPlaceholderValues",
78+
"danglingRelationships",
79+
"modelBenchmarkCoverage",
80+
"productsWithPricing",
81+
"productRecords",
82+
"communityUrlsPopulated",
83+
"communityUrlsWithProvenance",
84+
"duplicatedVendorCommunityUrls",
85+
"errors",
86+
"warnings",
87+
"info"
88+
],
89+
"additionalProperties": false
90+
},
91+
"categoryHealth": {
92+
"type": "object",
93+
"properties": {
94+
"total": { "$ref": "#/$defs/nonNegativeInteger" },
95+
"verified": { "$ref": "#/$defs/nonNegativeInteger" },
96+
"provenanceComplete": { "$ref": "#/$defs/nonNegativeInteger" },
97+
"stale": { "$ref": "#/$defs/nonNegativeInteger" }
98+
},
99+
"required": ["total", "verified", "provenanceComplete", "stale"],
100+
"additionalProperties": false
101+
},
102+
"categoryHealthMap": {
103+
"type": "object",
104+
"properties": {
105+
"ides": { "$ref": "#/$defs/categoryHealth" },
106+
"clis": { "$ref": "#/$defs/categoryHealth" },
107+
"desktops": { "$ref": "#/$defs/categoryHealth" },
108+
"extensions": { "$ref": "#/$defs/categoryHealth" },
109+
"models": { "$ref": "#/$defs/categoryHealth" },
110+
"providers": { "$ref": "#/$defs/categoryHealth" },
111+
"vendors": { "$ref": "#/$defs/categoryHealth" }
112+
},
113+
"required": ["ides", "clis", "desktops", "extensions", "models", "providers", "vendors"],
114+
"additionalProperties": false
115+
},
116+
"translationHealth": {
117+
"type": "object",
118+
"properties": {
119+
"totalStrings": { "$ref": "#/$defs/nonNegativeInteger" },
120+
"matchingEnglish": { "$ref": "#/$defs/nonNegativeInteger" },
121+
"matchingEnglishPercent": { "$ref": "#/$defs/percentage" }
122+
},
123+
"required": ["totalStrings", "matchingEnglish", "matchingEnglishPercent"],
124+
"additionalProperties": false
125+
},
126+
"issue": {
127+
"type": "object",
128+
"properties": {
129+
"severity": { "type": "string", "enum": ["error", "warning", "info"] },
130+
"code": { "type": "string", "minLength": 1 },
131+
"category": { "$ref": "#/$defs/categories" },
132+
"id": { "type": "string", "minLength": 1 },
133+
"message": { "type": "string", "minLength": 1 }
134+
},
135+
"required": ["severity", "code", "category", "id", "message"],
136+
"additionalProperties": false
137+
}
138+
}
139+
}

data/github-stars.json

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,40 @@
11
{
2-
"observedAt": "2026-08-30",
2+
"observedAt": "2026-08-31",
33
"repositories": {
4-
"aaif-goose/goose": 53694,
5-
"anomalyco/opencode": 202526,
6-
"anthropics/claude-code": 143448,
4+
"aaif-goose/goose": 53700,
5+
"anomalyco/opencode": 202538,
6+
"anthropics/claude-code": 143460,
77
"augmentcode/auggie": 276,
88
"aws/amazon-q-developer-cli": 1985,
9-
"can1357/oh-my-pi": 28431,
10-
"cline/cline": 67165,
9+
"can1357/oh-my-pi": 28449,
10+
"cline/cline": 67169,
1111
"codota/TabNine": 10774,
12-
"continuedev/continue": 35700,
13-
"cursor/cursor": 33202,
14-
"deepseek-ai/deepseek-harness": 204355,
15-
"earendil-works/pi": 99313,
16-
"esengine/DeepSeek-Reasonix": 35258,
12+
"continuedev/continue": 35701,
13+
"cursor/cursor": 33201,
14+
"deepseek-ai/deepseek-harness": 204470,
15+
"earendil-works/pi": 99340,
16+
"esengine/DeepSeek-Reasonix": 35261,
1717
"github/copilot-cli": 11124,
1818
"google-antigravity/antigravity-cli": 2081,
19-
"google-gemini/gemini-cli": 106749,
20-
"JetBrains/intellij-community": 20498,
19+
"google-gemini/gemini-cli": 106748,
20+
"JetBrains/intellij-community": 20497,
2121
"JetBrains/junie": 414,
22-
"Kilo-Org/kilocode": 27080,
22+
"Kilo-Org/kilocode": 27081,
2323
"kirodotdev/Kiro": 4238,
24-
"microsoft/vscode": 190055,
24+
"microsoft/vscode": 190056,
2525
"MiniMax-AI/minimax-code": 72,
26-
"mistralai/mistral-vibe": 4895,
27-
"MoonshotAI/kimi-code": 7154,
28-
"openai/codex": 120012,
29-
"QwenLM/qwen-code": 27507,
26+
"mistralai/mistral-vibe": 4896,
27+
"MoonshotAI/kimi-code": 7156,
28+
"openai/codex": 120038,
29+
"QwenLM/qwen-code": 27510,
3030
"RooCodeInc/Roo-Code": 24320,
3131
"shareAI-lab/Kode-CLI": 5210,
3232
"SivanCola/reasonix-vscode": 11,
3333
"stagewise-io/stagewise": 6798,
3434
"Trae-AI/TRAE": 917,
3535
"verdentAI/docs": 4,
36-
"VSCodium/vscodium": 33035,
37-
"xai-org/grok-build": 26250,
38-
"zed-industries/zed": 89451
36+
"VSCodium/vscodium": 33036,
37+
"xai-org/grok-build": 26251,
38+
"zed-industries/zed": 89459
3939
}
4040
}

0 commit comments

Comments
 (0)