RuleHub is the canonical repository for curated BioNetGen and BNGL model content used across the RuleWorld ecosystem.
It now serves two roles:
- a human-browsable archive of published, contributed, tutorial, and validation models
- the machine-readable source of truth for metadata consumed by tools such as BNG Playground
The repository is organized into a few top-level collections:
Published/: literature-backed and curated research modelsContributed/: contributed model sets, including BNG Playground examples and validation fixturesTutorials/: tutorial and teaching-oriented BNGL modelsPyBioNetGen/: PyBioNetGen reference, benchmark, and support model collections
Most model directories contain:
- one or more
.bnglfiles metadata.yamlREADME.md
Examples:
Published/Faeder2003/Contributed/BNGPlayground_Examples/...Contributed/BNGPlayground_Validation/...Tutorials/General/polymer/Tutorials/NativeTutorials/...
RuleHub now includes a repository-wide metadata and discovery layer:
metadata-schema.yaml: schema for per-directory metadatamanifest.json: generated manifest describing discoverable model entriesscripts/validate-metadata.js: local metadata validatorscripts/generate-manifest.js: manifest generator
This metadata is used for:
- model discovery and indexing
- gallery visibility and categorization
- compatibility flags such as
bng2_compatible - provenance for published, tutorial, test-case, and AI-generated contributed models
BNG Playground no longer keeps its own bundled BNGL corpus as the runtime source of truth.
Instead:
- RuleHub hosts the model content and metadata
- BNG Playground resolves models from RuleHub metadata and manifest outputs
- local playground analysis and migration scripts may use a local RuleHub checkout via
RULEHUB_ROOT
That means updates to model metadata, visibility, provenance, and organization should now happen here in RuleHub.
Before opening a pull request that adds or changes model content, run:
node scripts/validate-metadata.js
node scripts/generate-manifest.js --root . --output manifest.jsonThe repository also includes CI validation in .github/workflows/validate.yml.
For model submission and curation rules, see AddingModels.md.
In general, contributors should:
- place models in the appropriate top-level collection
- add or update
metadata.yaml - add or update
README.md - describe multi-file collections with a
collectionsection when applicable - validate metadata and regenerate
manifest.json
RuleHub now contains migrated content that previously lived only inside BNG Playground, including:
- BNG Playground example models
- validation fixtures
- tutorial collections
- runtime-only BNGL models that required explicit preservation
Those migrated entries keep provenance in metadata.yaml, including source-path history where relevant.