Adding a language
A language is a closed-set id (python, rust, javascript, csharp, c).
The folder name may differ (c-sharp/ → id csharp).
Required
<runner_dir>/
README.md
scripts/run-benchmarks.sh
src/ # or language equivalent
scripts/run-benchmarks.sh must:
source "$PROJECT_ROOT/scripts/lib/config.sh"- Accept
smoke|all-single|full|research|custom - Use
bench_mode_reps— never hard-code 2/10/100/500 - Export
BENCHMARK_TS,BENCHMARK_SEED,bench_export_run_config - Write
logs/<id>/YYYY-MM-DD-HHMMSS.csvusing the shared CSV ABI - Optionally write
.errors.csvand let analysis write.configs.json
Also update
config/benchmark_config.yaml→languages.<id>andpaths.language_log_dirsscripts/check-host-requirements.sh/install-host-requirements.sh.github/workflows/benchmark-ci.ymlmkdocs.ymlLanguages nest anddocs/<lang>/index.md- dashboard
LANGUAGE_CATALOG/sync-data.py .grok/skills/prepare-pr/scripts/detect-changed-langs.sh