PageSourceSearch

https://muni.bio/assets/cli.index-hisbDRG6.js

js muni.bio collected 2026-10-04 18:49:55 UTC 15,943 bytes, 2 lines download raw bytes

1import{v as p,r as d,j as e,B as g,c as l}from"./index-CqS-M8ws.js";import{A as v,T as k}from"./top-nav-DsU1LSp8.js";import{S as N}from"./site-footer-CW6ILhCP.js";import{W as w}from"./workflow-Etw6tLWv.js";const C=[["path",{d:"M8 3H7a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2 2 2 0 0 1 2 2v5c0 1.1.9 2 2 2h1",key:"ezmyqa"}],["path",{d:"M16 21h1a2 2 0 0 0 2-2v-5c0-1.1.9-2 2-2a2 2 0 0 1-2-2V5a2 2 0 0 0-2-2h-1",key:"e1hn23"}]],_=p("braces",C);const M=[["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M17 20v2",key:"1rnc9c"}],["path",{d:"M17 2v2",key:"11trls"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M2 17h2",key:"7oei6x"}],["path",{d:"M2 7h2",key:"asdhe0"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"M20 17h2",key:"1fpfkl"}],["path",{d:"M20 7h2",key:"1o8tra"}],["path",{d:"M7 20v2",key:"4gnj0m"}],["path",{d:"M7 2v2",key:"1i4yhu"}],["rect",{x:"4",y:"4",width:"16",height:"16",rx:"2",key:"1vbyd7"}],["rect",{x:"8",y:"8",width:"8",height:"8",rx:"1",key:"z9xiuo"}]],L=p("cpu",M);const S=[["path",{d:"M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z",key:"1s6t7t"}],["circle",{cx:"16.5",cy:"7.5",r:".5",fill:"currentColor",key:"w0ekpg"}]],z=p("key-round",S);const I=[["path",{d:"M4.9 16.1C1 12.2 1 5.8 4.9 1.9",key:"s0qx1y"}],["path",{d:"M7.8 4.7a6.14 6.14 0 0 0-.8 7.5",key:"1idnkw"}],["circle",{cx:"12",cy:"9",r:"2",key:"1092wv"}],["path",{d:"M16.2 4.8c2 2 2.26 5.11.8 7.47",key:"ojru2q"}],["path",{d:"M19.1 1.9a9.96 9.96 0 0 1 0 14.1",key:"rhi7fg"}],["path",{d:"M9.5 18h5",key:"mfy3pd"}],["path",{d:"m8 22 4-11 4 11",key:"25yftu"}]],A=p("radio-tower",I);const T=[["path",{d:"m10.586 5.414-5.172 5.172",key:"4mc350"}],["path",{d:"m18.586 13.414-5.172 5.172",key:"8c96vv"}],["path",{d:"M6 12h12",key:"8npq4p"}],["circle",{cx:"12",cy:"20",r:"2",key:"144qzu"}],["circle",{cx:"12",cy:"4",r:"2",key:"muu5ef"}],["circle",{cx:"20",cy:"12",r:"2",key:"1xzzfp"}],["circle",{cx:"4",cy:"12",r:"2",key:"1hvhnz"}]],F=p("waypoints",T),P=["pipx install muni","muni login"];function b({className:r}){const[t,a]=d.useState(!1),x=d.useCallback(()=>{typeof navigator>"u"||!navigator.clipboard||navigator.clipboard.writeText(P.join(`
2`)).then(()=>{a(!0),setTimeout(()=>a(!1),1800)})},[]);return e.jsxs("div",{className:l("flex max-w-[420px] flex-col gap-1.5 rounded-[14px] border border-[#2d2d25] bg-[#1a1a14] px-5 py-4 font-mono text-sm text-paper",r),children:[e.jsxs("div",{className:"flex items-center gap-2.5",children:[e.jsx("span",{className:"text-[#6d6b60]",children:"$"}),e.jsx("span",{children:"pipx install muni"}),e.jsx("button",{type:"button",onClick:x,className:l("ml-auto cursor-pointer rounded-full border border-[#3c3a35] bg-transparent px-2.5 py-1 font-mono text-[11px] tracking-[0.08em] uppercase transition-colors",t?"border-brand text-brand":"text-[#a7a49a] hover:border-paper hover:text-paper"),children:t?"Copied":"Copy"})]}),e.jsxs("div",{className:"flex items-center gap-2.5",children:[e.jsx("span",{className:"text-[#6d6b60]",children:"$"}),e.jsx("span",{children:"muni login"})]})]})}function G(){const[r,t]=d.useState(null),a=d.useCallback(()=>t("signup"),[]),x=d.useCallback(()=>t("login"),[]),m=d.useCallback(()=>t(null),[]);return e.jsxs("div",{className:"min-h-screen bg-paper font-body text-ink",children:[r?e.jsx(v,{mode:r,onClose:m,onSwitch:t}):null,e.jsx(k,{onLogin:x,onGetStarted:a}),e.jsxs("section",{className:"relative overflow-hidden border-b border-[#24241c] bg-[#14140f] py-16 text-paper lg:pt-20 lg:pb-[100px]",children:[e.jsx("div",{className:"pointer-events-none absolute inset-0",style:{backgroundImage:"radial-gradient(circle at 20% 30%, oklch(68% 0.08 134 / 0.08) 0%, transparent 50%), radial-gradient(circle at 85% 70%, oklch(70% 0.09 290 / 0.06) 0%, transparent 50%)"},"aria-hidden":!0}),e.jsx("div",{className:"relative mx-auto max-w-[1240px] px-5 lg:px-10",children:e.jsxs("div",{className:"grid grid-cols-1 items-center gap-10 lg:grid-cols-[1fr_1.15fr] lg:gap-14",children:[e.jsxs("div",{children:[e.jsxs("h1",{className:"font-serif text-[clamp(48px,6vw,76px)] leading-none font-normal tracking-[-0.025em] text-paper [&_em]:text-ink-muted-2 [&_em]:italic",children:["Bring your own",e.jsx("br",{}),e.jsx("em",{children:"agent."})]}),e.jsx("p",{className:"mt-6 max-w-[500px] text-lg leading-[1.55] text-[#a7a49a]",children:"muni is code-first. Use the CLI to run scientific tool models directly from your own project, or give your preferred agent a terminal-native way to operate your muni space."}),e.jsx("div",{className:"mt-8",children:e.jsx(b,{})}),e.jsxs("div",{className:"mt-7 flex flex-wrap gap-2.5",children:[e.jsx(g,{size:"lg",className:"rounded-full bg-paper text-ink hover:bg-paper/90",nativeButton:!1,render:e.jsx("a",{href:"/docs/cli",children:"Read the docs"})}),e.jsx(g,{size:"lg",variant:"outline",className:"rounded-full border-[#3c3a35] bg-transparent text-paper hover:border-paper hover:bg-transparent hover:text-paper",nativeButton:!1,render:e.jsx("a",{href:"https://pypi.org/project/muni/",target:"_blank",rel:"noreferrer",children:"View on PyPI →"})})]})]}),e.jsx(B,{})]})})]}),e.jsx("section",{className:"border-t border-hair bg-paper py-20 lg:py-[110px]",children:e.jsxs("div",{className:"mx-auto max-w-[1240px] px-5 lg:px-10",children:[e.jsx(f,{eyebrow:"01 · Run jobs",title:e.jsxs(e.Fragment,{children:["Your project.",e.jsx("br",{}),e.jsx("em",{children:"Our GPUs."})]}),lede:"The muni CLI gives your own codebase full, scriptable access to the muni tools catalog. Your scripts or agent can call protein design, structure prediction, docking, peptide science, chemistry, and drug discovery models, then pull structured outputs back into your repo without opening a muni space.",caps:[{id:"tools",node:e.jsxs(e.Fragment,{children:["Browse ",e.jsx("strong",{children:"70 GPU tools"})," by category — protein design, structure prediction, docking, peptide science, quantum chemistry."]})},{id:"submit",node:e.jsxs(e.Fragment,{children:["Submit single jobs or batches with ",e.jsx(h,{children:"muni run"}),"; wait inline with"," ",e.jsx(h,{children:"--follow"})," or fire-and-poll later."]})},{id:"download",node:e.jsxs(e.Fragment,{children:["Stream results back to your local files with ",e.jsx(h,{children:"muni download-all"}),", or project specific fields with ",e.jsx(h,{children:"muni results --fields"}),"."]})},{id:"scriptable",node:e.jsx(e.Fragment,{children:"Scriptable end-to-e
2nd — JSON output mode, exit codes that respect failure, no interactive prompts. Drop it in a Makefile or CI step."})}],visual:e.jsx(R,{})}),e.jsx(f,{eyebrow:"02 · Agent control",title:e.jsxs(e.Fragment,{children:["Let your code agent",e.jsx("br",{}),e.jsx("em",{children:"drive muni."})]}),lede:"Let your code agent drive your muni space from the CLI. It gets the same powers a user has in the space: planning, organizing, and building visualizations from job outputs.",caps:[{id:"read",node:e.jsxs(e.Fragment,{children:[e.jsx("strong",{children:"Read & search"})," nodes, jobs, files — agents inspect space state before acting."]})},{id:"plans",node:e.jsxs(e.Fragment,{children:[e.jsx("strong",{children:"Create & connect"})," nodes — agents can add metric, structure, chart, or code nodes and wire their ports together."]})},{id:"visualize",node:e.jsxs(e.Fragment,{children:[e.jsx("strong",{children:"Analyze results"})," — turn job outputs into charts, structure galleries, contact analyses, or metric tables."]})},{id:"realtime",node:e.jsxs(e.Fragment,{children:[e.jsx("strong",{children:"Realtime sync"})," — every CLI mutation broadcasts to open spaces. You watch the agent work and intervene any time."]})}],visual:e.jsx(q,{}),reversed:!0})]})}),e.jsx("section",{className:"border-t border-hair bg-paper-2 py-20 lg:py-[110px]",children:e.jsxs("div",{className:"mx-auto max-w-[1240px] px-5 lg:px-10",children:[e.jsxs("div",{className:"mx-auto max-w-[640px] text-center",children:[e.jsx("div",{className:"font-mono text-[11px] font-medium tracking-[0.18em] text-brand uppercase",children:"Anything the UI does"}),e.jsx("h2",{className:"mt-3.5 font-serif text-[clamp(36px,4vw,48px)] leading-[1.05] tracking-[-0.022em]",children:"The CLI does, too."}),e.jsx("p",{className:"mt-[18px] text-[16.5px] text-ink-muted",children:"Every core action in a muni space is available as a CLI command, with the same audit trail and realtime sync as the app."})]}),e.jsxs("div",{className:"mt-12 grid grid-cols-1 gap-4 lg:grid-cols-3",children:[e.jsx(c,{icon:L,title:"70 GPU tools",desc:"Run protein design, folding, docking, peptide, chemistry, and drug discovery models from one CLI."}),e.jsx(c,{icon:w,title:"Pipelines",desc:"Create reusable workflows, wire nodes together, validate inputs, and rerun downstream steps."}),e.jsx(c,{icon:F,title:"Space control",desc:"Create, edit, move, group, connect, and focus nodes in a muni space from the terminal."}),e.jsx(c,{icon:A,title:"Realtime sync",desc:"CLI changes appear in open muni spaces as they happen, with the same audit trail as the app."}),e.jsx(c,{icon:_,title:"JSON output",desc:"Use --json for structured output that agents, jq, scripts, and CI jobs can parse reliably."}),e.jsx(c,{icon:z,title:"Secure auth",desc:"OAuth PKCE login, device flow for headless machines, scoped refresh tokens, and revoke from /account."})]})]})}),e.jsx("section",{className:"border-t border-[#24241c] bg-[#14140f] py-24 text-center text-paper lg:py-[120px]",children:e.jsxs("div",{className:"mx-auto max-w-[1240px] px-5 lg:px-10",children:[e.jsxs("h2",{className:"font-serif text-[clamp(44px,5.5vw,64px)] leading-[1.05] font-normal tracking-[-0.02em] text-paper [&_em]:text-ink-muted-2 [&_em]:italic",children:["Research from",e.jsx("br",{}),e.jsx("em",{children:"your terminal."})]}),e.jsx("p",{className:"mx-auto mt-[22px] max-w-[520px] text-[17px] text-[#a7a49a]",children:"Two commands and you're running production-grade scientific models from your favorite shell — or letting your favorite agent run them for you."}),e.jsx(b,{className:"mx-auto mt-8"})]})}),e.jsx(N,{})]})}function f({eyebrow:r,title:t,lede:a,caps:x,visual:m,reversed:y}){return e.jsxs("div",{className:"grid grid-cols-1 items-center gap-10 border-t border-hair py-12 first:border-0 first:pt-0 lg:grid-cols-[1fr_1.1fr] lg:gap-20 lg:py-[60px]",children:[e.jsxs("div",{className:l(y&&"lg:order-2"),children:[e.jsx("div",{className:"font-mono text-[11px] font-medium tracking-[0.2em] text-brand-ink uppercase",children:r}),e.jsx("h2",{className:"mt-3.5 font-serif text-[clamp(36px,4vw,48px)] leading-[1.08] font-normal tracking-[-0.022em] text-ink [&_em]:text-ink-muted [&_em]:italic",children:t}),e.jsx("p",{className:"mt-5 max-w-[460px] text-[16.5px] leading-relaxed text-ink-muted",children:a}),e.jsx("ul",{className:"mt-7 grid list-none gap-3.5",children:x.map(j=>e.jsxs("li",{className:"grid grid-cols-[auto_1fr] items-start gap-3 text-[14.5px] leading-[1.55] text-ink-2",children:[e.jsx("span",{className:"mt-2.5 size-1.5 shrink-0 rounded-full bg-brand"}),e.jsx("span",{children:j.node})]},j.id))})]}),m]})}function h({children:r}){return e.jsx("code",{className:"rounded border border-hair bg-paper-2 px-1.5 py-px font-mono text-[12.5px] text-ink",children:r})}function c({icon:r,title:t,desc:a}){return e.jsxs("div",{className:"rounded-[14px] border border-hair bg-paper p-6 transition-colors hover:border-ink-muted-2",children:[e.jsx("div",{className:"mb-4 flex size-8 items-center justify-center rounded-lg bg-paper-3 text-brand-ink",children:e.jsx(r,{"aria-hidden":!0,
2className:"size-4",strokeWidth:1.8})}),e.jsx("h3",{className:"text-[15.5px] font-semibold tracking-[-0.01em] text-ink",children:t}),e.jsx("p",{className:"mt-2 text-[13.5px] leading-[1.55] text-ink-muted",children:a})]})}function u({path:r,children:t,variant:a="hero"}){return e.jsxs("div",{className:l("overflow-hidden rounded-2xl border font-mono leading-[1.85] text-paper shadow-[0_30px_60px_-30px_rgba(21,21,20,0.6)]",a==="hero"?"border-[#2d2d25] bg-[#1a1a14] text-[13.5px]":"border-[#24241c] bg-[#14140f] text-[13px]"),children:[e.jsxs("div",{className:l("flex items-center border-b px-4 py-3","border-[#2d2d25] bg-[#1f1f18]"),children:[e.jsx("span",{className:"mr-1.5 size-2.5 rounded-full bg-[#3c3a2d]"}),e.jsx("span",{className:"mr-1.5 size-2.5 rounded-full bg-[#3c3a2d]"}),e.jsx("span",{className:"mr-1.5 size-2.5 rounded-full bg-[#3c3a2d]"}),e.jsx("div",{className:"flex-1 text-center text-[11px] text-[#6d6b60]",children:r})]}),e.jsx("div",{className:l("text-paper",a==="hero"?"px-7 py-6":"px-6 py-5"),children:t})]})}function B(){return e.jsxs(u,{path:"~/binder-campaign — muni",variant:"hero",children:[e.jsxs(s,{children:[e.jsx(i,{})," pipx install muni"]}),e.jsxs(s,{children:[e.jsx(i,{})," muni login"]}),e.jsx(s,{children:e.jsx(o,{children:"✓ Logged in as [email protected]"})}),e.jsxs(s,{children:[e.jsx(i,{})," muni run rfd3 \\"]}),e.jsx(s,{children:"  pdb_id=1UBQ num_designs=5 --follow"}),e.jsx(s,{children:e.jsx(o,{children:"✓ Submitted: job_4a2f1b8c"})}),e.jsx(s,{children:e.jsx(n,{children:"Status: running | runtime=42s"})}),e.jsx(s,{children:e.jsx(o,{children:"✓ Completed · 5 designs"})}),e.jsxs(s,{children:[e.jsx(i,{})," muni node metric-query node_7bx ",e.jsx(n,{children:"--sort-by iptm"})]}),e.jsx(s,{children:e.jsx(o,{children:"→ top: design_02 · iptm 0.87 · plddt 91.4"})}),e.jsxs(s,{children:[e.jsx(i,{children:"you@lab ~ $"})," ",e.jsx("span",{className:"inline-block h-[15px] w-2 animate-splash-blink bg-brand align-[-2px]"})]})]})}function R(){return e.jsxs(u,{path:"~/kras-triage — muni run",variant:"pillar",children:[e.jsxs(s,{children:[e.jsx(i,{})," muni tools ",e.jsx(n,{children:"-c protein-design"})]}),e.jsx(s,{children:e.jsx(n,{children:"rfd3 · RFDiffusion3 · Baker Lab"})}),e.jsx(s,{children:e.jsx(n,{children:"pxdesign · ProteinMPNN · Foundry"})}),e.jsx(s,{children:e.jsx(n,{children:"boltz · Boltz-1 · MIT CSAIL"})}),e.jsx(s,{children:" "}),e.jsxs(s,{children:[e.jsx(i,{})," muni run ipsae \\"]}),e.jsxs(s,{children:["  ",e.jsx(n,{children:"--batch ./designs.jsonl --follow"})]}),e.jsx(s,{children:e.jsx(o,{children:"✓ Submitted 24 jobs · ~3 min"})}),e.jsx(s,{children:e.jsx(n,{children:"Status: 18/24 complete | runtime=2m4s"})}),e.jsx(s,{children:e.jsx(o,{children:"✓ All complete · 24/24 succeeded"})}),e.jsx(s,{children:" "}),e.jsxs(s,{children:[e.jsx(i,{})," muni download-all job_4a2f1b8c ",e.jsx(n,{children:"-o ./out/"})]}),e.jsx(s,{children:e.jsx(o,{children:"✓ 14 files · 8.2 MB → ./out/"})}),e.jsxs(s,{children:[e.jsx(i,{children:"you@lab ~ $"})," ",e.jsx("span",{className:"inline-block h-[15px] w-2 animate-splash-blink bg-brand align-[-2px]"})]})]})}function q(){return e.jsxs(u,{path:"~/trem2-round-1 — muni",variant:"pillar",children:[e.jsx(s,{children:e.jsx(n,{children:"# PXDesign round → muni space"})}),e.jsxs(s,{children:[e.jsx(i,{})," muni run pxdesign \\"]}),e.jsxs(s,{children:["  ",e.jsx(n,{children:"target=5ELI:A --follow"})]}),e.jsx(s,{children:e.jsx(o,{children:"✓ job_7c91 complete · 12 structures + scores"})}),e.jsx(s,{children:" "}),e.jsxs(s,{children:[e.jsx(i,{}),' muni node create "Top structures" ',e.jsx(n,{children:"--from job_7c91"})]}),e.jsxs(s,{children:[e.jsx(i,{}),' muni node create "Contacts" ',e.jsx(n,{children:"--python ./contacts.py"})]}),e.jsxs(s,{children:[e.jsx(i,{})," muni node connect node_top node_contacts ",e.jsx(n,{children:"--wait"})]}),e.jsx(s,{children:e.jsx(o,{children:"✓ gallery + contact analysis live in your muni space"})})]})}function s({children:r}){return e.jsx("div",{children:r})}function i({children:r}){return e.jsx("span",{className:"text-[#6d6b60]",children:r??"you@lab ~ $"})}function o({children:r}){return e.jsx("span",{className:"text-brand",children:r})}function n({children:r}){return e.jsx("span",{className:"text-[#6d6b60]",children:r})}export{G as component};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.