The bsf CLI is dependency-free and intended to run in local development, CI, and agent sandboxes.
Install it with:
python -m pip install -e .Create a campaign skeleton.
bsf scaffold-campaign .runtime/my-target-demo \
--campaign-id my-target-demo \
--target-label "A2A receptor" \
--public-accession "PDB:5G53" \
--window "TM6 activation microswitch" \
--mode binder-designModes:
binder-designmodel-comparisonstructure-mappingscreening
The command rejects obvious release blockers such as private workstation paths, private tracker IDs, assigned credential-like values, and literal provider resource IDs. It writes only compact text and JSON control-plane files.
Validate a public campaign example.
bsf validate examples/pd-l1-binder-design-publicThe validator checks public/privacy posture, result boundaries, target accession/window, lane boundaries, expected artifacts, stage contract fail-closed posture, and candidate ranking source posture.
Render tracker-neutral task drafts for a validated campaign. The issue plan is
mode-aware for binder-design, model-comparison, structure-mapping, and
screening campaign manifests.
bsf issue-dry-run examples/pd-l1-binder-design-public --out .runtime/pd-l1-issuesThe output is ignored by git. Review it before importing into Linear, GitHub Issues, Notion tasks, or another tracker. The generated task IDs use mode-specific prefixes such as BSF-BINDER-*, BSF-MODEL-*, BSF-MAP-*, and BSF-SCREEN-*.
Scan the repo tree for public-release blockers.
bsf audit .The audit rejects common privacy and security hazards:
- private workstation paths
- private tracker IDs and tracker URLs
- assigned credential-like values
- literal provider resource IDs
- generated candidate sequences
- generated/heavy structural biology file suffixes
- public bridge manifests with embedded launch payloads or real approvals
Verify the public skill repo shape.
bsf harness-check .This checks that the README, skill files, public docs, task pack, RunPod posture, tool cards, templates, and release guidance expected by BioSymphony users are present and internally linked.
Summarize what the repo can do in a machine-readable JSON map or a human-readable Markdown index.
bsf catalog .
bsf catalog . --out .runtime/public-capability-catalog.json
bsf catalog . --format markdown
bsf catalog . --format markdown --out .runtime/public-capability-catalog.mdThe catalog lists task recipes, campaign modules, public examples, task packs, stage contracts, provider profiles, recipes, and starter commands. It is intended for fresh users and agents that need to choose an entry point without reading the whole repository. Use JSON for automation and Markdown for reviews, READMEs, or agent handoffs.
Run the three fastest local confidence checks for a fresh public checkout:
harness-check, audit ., and validation of the default public campaign.
bsf doctor .Use --example to validate a different repo-relative campaign scaffold:
bsf doctor . --example .runtime/my-target-demoThe command emits one JSON summary with check results and next local commands. It does not call provider APIs, download data, create tracker issues, or mutate remote state.
Common local targets:
make release-check
make catalog
make catalog-md
make read-only-audit
make public-contract-check
make public-switch-check
make cleanmake public-switch-check is the strongest local public gate. It is still a current-tree check; public publication also requires a clean-history export path.
Use make read-only-audit when a reviewer wants a no-write confidence check
for the CLI harness, public documentation references, and non-launching RunPod
templates.