OpenDevIndex can generate deterministic discovery artifacts from all validated catalog manifests under catalog/.
python -m pip install -r requirements-ci.txt
python scripts/build_index.py --catalog-dir catalog --output-dir dist/indexGenerated files:
dist/index/catalog.json— complete public catalog data;dist/index/search.json— compact search-oriented records;dist/index/catalog.md— human-readable catalog view.
Schema v3 records also expose coverage_area and coverage_topics, and the generated payload includes aggregate area/topic counts. Legacy schema v1/v2 modules remain searchable but are reported as coverage-unmapped until they receive explicit schema v3 mappings.
The generator intentionally avoids timestamps in generated artifacts so the same validated inputs produce stable output.
python scripts/search_index.py "local ai" --index dist/index/search.json
python scripts/search_index.py "container" --category tool --index dist/index/search.json
python scripts/search_index.py "security" --coverage-area cybersecurity-privacy --index dist/index/search.json
python scripts/search_index.py "model" --coverage-area ai-ml --coverage-topic model-architectures --index dist/index/search.json
python scripts/search_index.py "security scanning" --json --index dist/index/search.jsonSearch considers module names, identifiers, categories, kinds, domains, coverage areas/topics, tags, summaries, use cases, and key points. Results use deterministic scoring and ordering.
Coverage progress is calculated only from explicit schema v3 mappings:
python scripts/coverage_progress.py \
--catalog-dir catalog \
--allocation coverage/topic-allocation-v1.yaml \
--json-output dist/coverage/coverage.json \
--markdown-output dist/coverage/coverage.mdThe report compares real mapped modules with the 10,000-module Technology Universe plan and emits area/topic totals, remaining capacity, and percentages. Planned slots are never counted as published modules.
The Build Search Index workflow:
- validates catalog data through the shared loader;
- runs unit tests;
- builds the search artifacts;
- builds coverage-progress artifacts;
- audits editorial quality;
- smoke-tests representative queries;
- uploads the generated discovery, quality, and coverage output as workflow artifacts.
This makes the generated catalog suitable for future web search, APIs, editor integrations, coverage dashboards, and other downstream clients without requiring those consumers to parse YAML directly.