This repo is BioIR (BioNeMo Inference Runtime).
- Read and follow
docs/coding.md - Run the hooks before committing. Install once with
uv run --locked prek install; they then run ongit commit. Or run ad hoc withuv run --locked prek run. CI enforces the same set. - License headers. Every source file carries the NVIDIA SPDX Apache-2.0
header;
insert-licenseadds it where missing. - Sign every commit (
git commit -s). CI blocks unsigned work; seedocs/contributing.md.
Daily loop is in docs/dev.md. See also
docker/dev.sh,scripts/fetch_weights.shscripts/run_tests.sh.
- MR titles start with a tracker reference, then a Conventional-Commit
summary, e.g.
[PROJ-123] feat: .... - PR and commit titles use Conventional Commits. Tracker references are
optional for public PRs and not required for commits. Types:
feat,fix,docs,style,refactor,perf,test,build,ci,chore,revert(scope optional). - Write MR/PR descriptions as squash commit bodies.
Summarize what changed and why: the previous problem, the new behavior, and
the reason for the chosen approach. Let the diff explain how. Match the final
diff and omit
ValidateandValidationsections. - Format MR/PR descriptions as commit bodies. Do not repeat the title. Wrap prose at 72 characters and separate paragraphs with blank lines. Prefer paragraphs for context and rationale. Use bullets only for distinct changes, constraints, or follow-ups; do not inventory files.
- Post validation results, follow up or additional notes as MR/PR comments. Link the exact revision and CI job or artifact. State what each result proves and any unverified limits.
- Write terse, direct, active prose. Lead with facts. Keep shared text self-contained; omit narration, recaps, and local-only context.
- Prefer a list to a table in Markdown. Use table only when the cells line up for numerical data or comparison
- Documentation assets belong in
docs/assets/. Put every image, diagram, or other media a public Markdown page references there and link it with a relative path. That directory is the only one copied verbatim into the generated Fern site; a file anywhere else is rewritten to a GitHub blob URL and renders as a broken image, sofern/src/check_doc_links.pyrejects it. Do not add a per-pageimg/directory. - Write display math as
$$ ... $$. It renders on both GitHub and the Fern site; a```mathfence renders as a code block on Fern. GitHub's math renderer runs an unpublished macro allowlist — observed failures like\operatorname(use\mathrm{...}) are listed infern/src/check_math.py, whichdocs-checkenforces.
Task-specific playbooks live in .agents/skills/
make-data-pipeline— porting an open-source data pipeline into the BioIR pipeline architecture.module-onboard— moving a source model's module onto BioIR layers, with weight conversion and validation.scan-mem-opt-patterns— cutting activation memory or diagnosing large-NOOM in a pairwise-representation model.bench-perf-oss— benchmark BioIR vs OSS foldingmodel.forward()latency and GPU use on a bench set its ownrebuild_dataset.pybuilds from RCSB and the MSA Search NIM (serial one-sample; OpenStructure lDDT plus DockQ on supported protein interfaces; MSAs and templates attached when present, on both sides or neither). Not for affinity or other non-folding heads until the skill is extended.