Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 3 additions & 4 deletions .agents/skills/benchmark-fetcher/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,9 +37,8 @@ This is an evidence-review workflow with a deterministic importer. The Node scri
```bash
node .agents/skills/benchmark-fetcher/scripts/fetch-benchmarks.mjs evidence.json
node .agents/skills/benchmark-fetcher/scripts/fetch-benchmarks.mjs evidence.json --apply
npm run changelog:generate
npm run test:validate
npm run data-health:check
pnpm test:validate
pnpm data-health:check
```

Run `npm run check` and `npm run test:ci` before release handoff.
Run `pnpm check` and `pnpm test:ci` before release handoff.
10 changes: 5 additions & 5 deletions .agents/skills/i18n/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,10 +55,10 @@ When translating:
## Validate

```bash
npm run validate:i18n
npm run validate:i18n-usage
npm run validate:i18n-duplicates
npm run test:validate
pnpm validate:i18n
pnpm validate:i18n-usage
pnpm validate:i18n-duplicates
pnpm test:validate
```

For release-ready work, also run `npm run check` and `npm run test:ci`.
For release-ready work, also run `pnpm check` and `pnpm test:ci`.
11 changes: 5 additions & 6 deletions .agents/skills/manifest-automation/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,11 +49,10 @@ The merge helper is advisory. Always inspect its proposed result before applying
At minimum run:

```bash
npm run changelog:generate
npm run generate
npm run test:validate
npm run validate:i18n
npm run data-health:check
pnpm generate
pnpm test:validate
pnpm validate:i18n
pnpm data-health:check
```

Run `npm run check` and `npm run test:ci` before handing off a release-ready change.
Run `pnpm check` and `pnpm test:ci` before handing off a release-ready change.
9 changes: 4 additions & 5 deletions .agents/skills/manifest-automation/scripts/automate.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -166,11 +166,10 @@ console.log('📝 Required Validation')
console.log('━'.repeat(60))
console.log('')
console.log('After editing and reviewing the manifest:')
console.log('1. npm run changelog:generate')
console.log('2. npm run generate')
console.log('3. npm run test:validate')
console.log('4. npm run validate:i18n')
console.log('5. npm run data-health:check')
console.log('1. pnpm generate')
console.log('2. pnpm test:validate')
console.log('3. pnpm validate:i18n')
console.log('4. pnpm data-health:check')
console.log('')
console.log('━'.repeat(60))
console.log('')
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -174,10 +174,10 @@ export class FieldTracker {
output +=
'2. Resolve required fields from authoritative sources; do not guess or add JSON comments\n'
output += '3. Update provenance and verification metadata\n'
output += '4. Run validation: npm run test:validate\n'
output += '4. Run validation: pnpm test:validate\n'
} else {
output += '2. Update verified field if data confirmed accurate\n'
output += '3. Run validation: npm run test:validate\n'
output += '3. Run validation: pnpm test:validate\n'
}

return output
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -311,9 +311,9 @@ export function generateChangeReport(changes, mode, manifestPath) {
output += `1. Review merged manifest: ${manifestPath}\n`
if (summary.needsReview > 0) {
output += '2. Resolve fields marked "Needs Review"\n'
output += '3. Run validation: npm run test:validate\n'
output += '3. Run validation: pnpm test:validate\n'
} else {
output += '2. Run validation: npm run test:validate\n'
output += '2. Run validation: pnpm test:validate\n'
}

return output
Expand Down
2 changes: 1 addition & 1 deletion .claude/skills/benchmark-fetcher/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -172,7 +172,7 @@ The skill uses a 3-tier fallback strategy to map website model names to manifest

3. **Validate**
```bash
npm run test:validate
pnpm test:validate
```

4. **Commit Changes**
Expand Down
8 changes: 4 additions & 4 deletions .claude/skills/benchmark-fetcher/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -294,7 +294,7 @@ Average time per benchmark: 7.5s
1. Review updated manifests in manifests/models/
2. Add unmapped models to references/model-name-mappings.json
3. Retry failed benchmarks if needed
4. Run validation: npm run test:validate
4. Run validation: pnpm test:validate
5. Commit changes when satisfied
```

Expand Down Expand Up @@ -338,7 +338,7 @@ await mcp__chrome-devtools__take_screenshot({

1. **Run during off-peak hours** to avoid rate limiting
2. **Review unmapped models** and update mappings before next run
3. **Validate manifests** after updates: `npm run test:validate`
3. **Validate manifests** after updates: `pnpm test:validate`
4. **Check for website changes** if extraction fails repeatedly
5. **Keep mappings updated** as new models appear on leaderboards

Expand Down Expand Up @@ -380,7 +380,7 @@ Always validate manifests after updates:

```bash
# Run schema validation
npm run test:validate
pnpm test:validate

# Check JSON formatting
node -c manifests/models/*.json
Expand All @@ -391,5 +391,5 @@ node -c manifests/models/*.json
1. **Review updates**: Check manifest changes make sense
2. **Update mappings**: Add newly discovered models to `model-name-mappings.json`
3. **Retry failures**: Re-run with `--benchmarks` for failed benchmarks
4. **Validate**: Run `npm run test:validate` to ensure schema compliance
4. **Validate**: Run `pnpm test:validate` to ensure schema compliance
5. **Commit changes**: Commit updated manifests to repository
Original file line number Diff line number Diff line change
Expand Up @@ -234,7 +234,7 @@ function printNextSteps(isDryRun, unmappedModels, benchmarkResults) {
}

if (!isDryRun) {
steps.push('Run validation: npm run test:validate')
steps.push('Run validation: pnpm test:validate')
steps.push('Commit changes when satisfied')
}

Expand Down
8 changes: 4 additions & 4 deletions .claude/skills/manifest-automation/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ node .claude/skills/manifest-automation/scripts/automate.mjs update extension co
- Write manifest JSON to appropriate path
- For IDE/CLI/Extension: check vendor manifest exists, create if missing
- Update `data/github-stars.json`
- Run `npm run generate` to regenerate TypeScript data files
- Run `pnpm generate` to regenerate TypeScript data files
- Run schema validation
- Report success/failures to user

Expand Down Expand Up @@ -342,7 +342,7 @@ Status: DRAFT (3 fields incomplete)
2. Manually fill TODO-marked fields if information available
3. Add i18n translations (zh-Hans, de, ko)
4. Update verified field once data confirmed accurate
5. Run validation: npm run test:validate
5. Run validation: pnpm test:validate

Note: Vendor manifest, github-stars.json, and TypeScript files already updated.
```
Expand Down Expand Up @@ -433,7 +433,7 @@ After running this skill, expect:
1. **Manifest file**: `manifests/<type>s/<name>.json`
2. **With TODO comments**: For failed field extractions
3. **Valid against schema**: `manifests/$schemas/<type>.schema.json`
4. **Ready for validation**: Run `npm run test:validate`
4. **Ready for validation**: Run `pnpm test:validate`

## GitHub Stars Update

Expand Down Expand Up @@ -520,7 +520,7 @@ updateGithubStarsEntry(manifestType, manifestName, { isNew: operationMode === 'c
3. **Add translations**: Populate `i18n` object with localized content (zh-Hans, de, ko)
4. **Set verified**: Change `verified` to `true` if data is confirmed accurate
5. **Add related products**: Manually curate `relatedProducts` array
6. **Run validation**: Ensure schema compliance with `npm run test:validate`
6. **Run validation**: Ensure schema compliance with `pnpm test:validate`
7. **Commit changes**: Add manifest to git repository

Note: Vendor manifest and github-stars.json are automatically handled during creation.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -173,10 +173,10 @@ export class FieldTracker {
if (report.failed > 0) {
output += '2. Manually fill TODO-marked fields if information available\n'
output += '3. Update verified field once data confirmed accurate\n'
output += '4. Run validation: npm run test:validate\n'
output += '4. Run validation: pnpm test:validate\n'
} else {
output += '2. Update verified field if data confirmed accurate\n'
output += '3. Run validation: npm run test:validate\n'
output += '3. Run validation: pnpm test:validate\n'
}

return output
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -311,9 +311,9 @@ export function generateChangeReport(changes, mode, manifestPath) {
output += `1. Review merged manifest: ${manifestPath}\n`
if (summary.needsReview > 0) {
output += '2. Resolve fields marked "Needs Review"\n'
output += '3. Run validation: npm run test:validate\n'
output += '3. Run validation: pnpm test:validate\n'
} else {
output += '2. Run validation: npm run test:validate\n'
output += '2. Run validation: pnpm test:validate\n'
}

return output
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -269,7 +269,7 @@ This workflow guides you through creating or updating a CLI manifest using advan

1. **Run schema validation**:
```bash
npm run test:validate
pnpm test:validate
```

2. **Fix any validation errors**:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -167,7 +167,7 @@ Follow **Phase 6** from CLI workflow:

Run validation and fix errors:
```bash
npm run test:validate
pnpm test:validate
```

## Common Marketplace Patterns
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -209,7 +209,7 @@ Follow standard entity extraction:

Run validation:
```bash
npm run test:validate
pnpm test:validate
```

## Common Patterns
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,7 @@ Set to null if not applicable.

Run validation:
```bash
npm run test:validate
pnpm test:validate
```

## Provider Type Examples
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ This workflow guides you through creating or updating a Vendor manifest - the si

Run validation:
```bash
npm run test:validate
pnpm test:validate
```

## Examples
Expand Down
19 changes: 19 additions & 0 deletions .github/actions/setup-pnpm/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
name: Setup pnpm
description: Install the pinned pnpm and restore project dependencies

runs:
using: composite
steps:
- name: Setup pnpm
uses: pnpm/action-setup@v6

- name: Setup Node.js
uses: actions/setup-node@v7
with:
node-version: '22'
cache: pnpm
cache-dependency-path: pnpm-lock.yaml

- name: Install dependencies
shell: bash
run: pnpm install --frozen-lockfile
2 changes: 1 addition & 1 deletion .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
version: 2
updates:
# npm dependencies
# JavaScript dependencies (GitHub names this ecosystem "npm" for npm-compatible registries)
- package-ecosystem: "npm"
directory: "/"
schedule:
Expand Down
10 changes: 5 additions & 5 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,11 +54,11 @@ Closes #(issue number)

<!-- Describe how you tested your changes -->

- [ ] Local build passes (`npm run build`)
- [ ] All validation checks pass (`npm run test:validate`)
- [ ] URL validation passes (`npm run validate:urls`)
- [ ] Static analysis passes (`npm run biome:check`)
- [ ] Spell check passes (`npm run spell`)
- [ ] Local build passes (`pnpm build`)
- [ ] All validation checks pass (`pnpm test:validate`)
- [ ] URL validation passes (`pnpm validate:urls`)
- [ ] Static analysis passes (`pnpm biome:check`)
- [ ] Spell check passes (`pnpm spell`)

## Screenshots (if applicable)

Expand Down
12 changes: 3 additions & 9 deletions .github/workflows/check-data-health.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,20 +21,14 @@ jobs:
- name: Checkout repository
uses: actions/checkout@v7

- name: Setup Node.js
uses: actions/setup-node@v7
with:
node-version: '22'
cache: 'npm'

- name: Install dependencies
run: npm ci
- name: Setup pnpm
uses: ./.github/actions/setup-pnpm

- name: Check current data health
id: data-health
continue-on-error: true
run: |
npx tsx scripts/validate/data-health.ts \
pnpm exec tsx scripts/validate/data-health.ts \
--as-of="$(TZ=Asia/Shanghai date +%F)" \
--fail-on=error \
--fail-on-code=stale-verification,future-verification-date \
Expand Down
Loading
Loading