Buckets:
| import{s as Yl,o as Rl,n as Jt}from"../chunks/scheduler.2b22cead.js";import{S as Ol,i as Ql,e as i,s as l,c as v,h as zl,a as p,d as n,b as a,f as I,g as u,j as d,k as C,l as s,m as r,n as f,t as g,o as $,p as b}from"../chunks/index.1a0e8013.js";import{C as Dl,H as W,E as ql}from"../chunks/MermaidChart.svelte_svelte_type_style_lang.fc175a87.js";import{D as U,E as Tt}from"../chunks/ExampleCodeBlock.49ba8ed2.js";import{C as S}from"../chunks/CodeBlock.3e75f787.js";function Kl(N){let m,T="Examples:",y,c,h;return c=new S({props:{code:"JTI0JTIwb3BlbmVudiUyMGluaXQlMjBteV9nYW1lX2VudiUwQSUyNCUyMG9wZW5lbnYlMjBpbml0JTIwbXlfZW52JTIwLS1vdXRwdXQtZGlyJTIwJTJGcGF0aCUyRnRvJTJGcHJvamVjdHM=",highlighted:`$ openenv init my_game_env | |
| $ openenv init my_env --output-dir /path/to/projects`,lang:"bash",wrap:!1}}),{c(){m=i("p"),m.textContent=T,y=l(),v(c.$$.fragment)},l(o){m=p(o,"P",{"data-svelte-h":!0}),d(m)!=="svelte-kvfsh7"&&(m.textContent=T),y=a(o),u(c.$$.fragment,o)},m(o,M){r(o,m,M),r(o,y,M),f(c,o,M),h=!0},p:Jt,i(o){h||(g(c.$$.fragment,o),h=!0)},o(o){$(c.$$.fragment,o),h=!1},d(o){o&&(n(m),n(y)),b(c,o)}}}function ea(N){let m,T="Examples:",y,c,h;return c=new S({props:{code:"JTIzJTIwQnVpbGQlMjBmcm9tJTIwZW52aXJvbm1lbnQlMjByb290JTIwKHJlY29tbWVuZGVkKSUwQSUyNCUyMGNkJTIwbXlfZW52JTBBJTI0JTIwb3BlbmVudiUyMGJ1aWxkJTBBJTBBJTIzJTIwQnVpbGQlMjB3aXRoJTIwY3VzdG9tJTIwdGFnJTBBJTI0JTIwb3BlbmVudiUyMGJ1aWxkJTIwLXQlMjBteS1jdXN0b20tdGFnJTBBJTBBJTIzJTIwQnVpbGQlMjB3aXRob3V0JTIwY2FjaGUlMEElMjQlMjBvcGVuZW52JTIwYnVpbGQlMjAtLW5vLWNhY2hlJTBBJTBBJTIzJTIwQnVpbGQlMjB3aXRoJTIwY3VzdG9tJTIwYnVpbGQlMjBhcmd1bWVudHMlMEElMjQlMjBvcGVuZW52JTIwYnVpbGQlMjAtLWJ1aWxkLWFyZyUyMFZFUlNJT04lM0QxLjAlMjAtLWJ1aWxkLWFyZyUyMEVOViUzRHByb2QlMEElMEElMjMlMjBCdWlsZCUyMGZyb20lMjBkaWZmZXJlbnQlMjBkaXJlY3RvcnklMEElMjQlMjBvcGVuZW52JTIwYnVpbGQlMjBlbnZzJTJGZWNob19lbnY=",highlighted:`<span class="hljs-comment"># Build from environment root (recommended)</span> | |
| $ <span class="hljs-built_in">cd</span> my_env | |
| $ openenv build | |
| <span class="hljs-comment"># Build with custom tag</span> | |
| $ openenv build -t my-custom-tag | |
| <span class="hljs-comment"># Build without cache</span> | |
| $ openenv build --no-cache | |
| <span class="hljs-comment"># Build with custom build arguments</span> | |
| $ openenv build --build-arg VERSION=1.0 --build-arg ENV=prod | |
| <span class="hljs-comment"># Build from different directory</span> | |
| $ openenv build envs/echo_env`,lang:"bash",wrap:!1}}),{c(){m=i("p"),m.textContent=T,y=l(),v(c.$$.fragment)},l(o){m=p(o,"P",{"data-svelte-h":!0}),d(m)!=="svelte-kvfsh7"&&(m.textContent=T),y=a(o),u(c.$$.fragment,o)},m(o,M){r(o,m,M),r(o,y,M),f(c,o,M),h=!0},p:Jt,i(o){h||(g(c.$$.fragment,o),h=!0)},o(o){$(c.$$.fragment,o),h=!1},d(o){o&&(n(m),n(y)),b(c,o)}}}function ta(N){let m,T="Examples:",y,c,h;return c=new S({props:{code:"JTIzJTIwVmFsaWRhdGUlMjBjdXJyZW50JTIwZGlyZWN0b3J5JTIwKHJlY29tbWVuZGVkKSUwQSUyNCUyMGNkJTIwbXlfZW52JTBBJTI0JTIwb3BlbmVudiUyMHZhbGlkYXRlJTBBJTBBJTIzJTIwVmFsaWRhdGUlMjBhJTIwcnVubmluZyUyMGVudmlyb25tZW50JTIwYW5kJTIwcmV0dXJuJTIwSlNPTiUyMGNyaXRlcmlhJTBBJTI0JTIwb3BlbmVudiUyMHZhbGlkYXRlJTIwLS11cmwlMjBodHRwJTNBJTJGJTJGbG9jYWxob3N0JTNBODAwMCUwQSUyNCUyMG9wZW5lbnYlMjB2YWxpZGF0ZSUyMGh0dHBzJTNBJTJGJTJGbXktZW52LmhmLnNwYWNlJTBBJTBBJTIzJTIwVmFsaWRhdGUlMjB3aXRoJTIwZGV0YWlsZWQlMjBvdXRwdXQlMEElMjQlMjBvcGVuZW52JTIwdmFsaWRhdGUlMjAtLXZlcmJvc2UlMEElMEElMjMlMjBWYWxpZGF0ZSUyMHNwZWNpZmljJTIwZW52aXJvbm1lbnQlMEElMjQlMjBvcGVuZW52JTIwdmFsaWRhdGUlMjBlbnZzJTJGZWNob19lbnY=",highlighted:`<span class="hljs-comment"># Validate current directory (recommended)</span> | |
| $ <span class="hljs-built_in">cd</span> my_env | |
| $ openenv validate | |
| <span class="hljs-comment"># Validate a running environment and return JSON criteria</span> | |
| $ openenv validate --url http://localhost:8000 | |
| $ openenv validate https://my-env.hf.space | |
| <span class="hljs-comment"># Validate with detailed output</span> | |
| $ openenv validate --verbose | |
| <span class="hljs-comment"># Validate specific environment</span> | |
| $ openenv validate envs/echo_env`,lang:"bash",wrap:!1}}),{c(){m=i("p"),m.textContent=T,y=l(),v(c.$$.fragment)},l(o){m=p(o,"P",{"data-svelte-h":!0}),d(m)!=="svelte-kvfsh7"&&(m.textContent=T),y=a(o),u(c.$$.fragment,o)},m(o,M){r(o,m,M),r(o,y,M),f(c,o,M),h=!0},p:Jt,i(o){h||(g(c.$$.fragment,o),h=!0)},o(o){$(c.$$.fragment,o),h=!1},d(o){o&&(n(m),n(y)),b(c,o)}}}function na(N){let m,T="Examples:",y,c,h;return c=new S({props:{code:"JTIzJTIwUHVzaCUyMHRvJTIwSHVnZ2luZ0ZhY2UlMjBTcGFjZXMlMjBmcm9tJTIwY3VycmVudCUyMGRpcmVjdG9yeSUyMCh3ZWIlMjBpbnRlcmZhY2UlMjBlbmFibGVkKSUwQSUyNCUyMGNkJTIwbXlfZW52JTBBJTI0JTIwb3BlbmVudiUyMHB1c2glMEElMEElMjMlMjBQdXNoJTIwdG8lMjBIdWdnaW5nRmFjZSUyMHJlcG8lMjBhbmQlMjBvcGVuJTIwYSUyMFB1bGwlMjBSZXF1ZXN0JTBBJTI0JTIwb3BlbmVudiUyMHB1c2glMjBteS1vcmclMkZteS1lbnYlMjAtLWNyZWF0ZS1wciUwQSUyNCUyMG9wZW5lbnYlMjBwdXNoJTIwLS1yZXBvLWlkJTIwbXktb3JnJTJGbXktZW52JTIwLS1jcmVhdGUtcHIlMEElMEElMjMlMjBQdXNoJTIwdG8lMjBIdWdnaW5nRmFjZSUyMHdpdGhvdXQlMjB3ZWIlMjBpbnRlcmZhY2UlMEElMjQlMjBvcGVuZW52JTIwcHVzaCUyMC0tbm8taW50ZXJmYWNlJTBBJTBBJTIzJTIwUHVzaCUyMHRvJTIwRG9ja2VyJTIwSHViJTBBJTI0JTIwb3BlbmVudiUyMHB1c2glMjAtLXJlZ2lzdHJ5JTIwZG9ja2VyLmlvJTJGbXl1c2VyJTBBJTBBJTIzJTIwUHVzaCUyMHRvJTIwR2l0SHViJTIwQ29udGFpbmVyJTIwUmVnaXN0cnklMEElMjQlMjBvcGVuZW52JTIwcHVzaCUyMC0tcmVnaXN0cnklMjBnaGNyLmlvJTJGbXlvcmclMEElMEElMjMlMjBQdXNoJTIwdG8lMjBjdXN0b20lMjByZWdpc3RyeSUyMHdpdGglMjB3ZWIlMjBpbnRlcmZhY2UlMEElMjQlMjBvcGVuZW52JTIwcHVzaCUyMC0tcmVnaXN0cnklMjBteXJlZ2lzdHJ5LmlvJTJGcGF0aDElMkZwYXRoMiUyMC0taW50ZXJmYWNlJTBBJTBBJTIzJTIwUHVzaCUyMHRvJTIwc3BlY2lmaWMlMjBIdWdnaW5nRmFjZSUyMHJlcG8lMEElMjQlMjBvcGVuZW52JTIwcHVzaCUyMC0tcmVwby1pZCUyMG15LW9yZyUyRm15LWVudiUwQSUwQSUyMyUyMFB1c2glMjBwcml2YXRlbHklMjB3aXRoJTIwY3VzdG9tJTIwYmFzZSUyMGltYWdlJTBBJTI0JTIwb3BlbmVudiUyMHB1c2glMjAtLXByaXZhdGUlMjAtLWJhc2UtaW1hZ2UlMjBnaGNyLmlvJTJGbWV0YS1weXRvcmNoJTJGb3BlbmVudi1iYXNlJTNBbGF0ZXN0JTBBJTBBJTIzJTIwUHVzaCUyMHdpdGglMjBHUFUlMjBoYXJkd2FyZSUwQSUyNCUyMG9wZW5lbnYlMjBwdXNoJTIwLS1oYXJkd2FyZSUyMHQ0LW1lZGl1bSUwQSUwQSUyMyUyMFNldCUyMGElMjBwdWJsaWMlMjBTcGFjZSUyMHZhcmlhYmxlJTIwKG92ZXJyaWRlcyUyMG9wZW5lbnYueWFtbCUyMHZhcmlhYmxlcyUzQSklMEElMjQlMjBvcGVuZW52JTIwcHVzaCUyMC1lJTIwT1BFTlNQSUVMX0dBTUUlM0R0aWNfdGFjX3RvZSUyMC1lJTIwTUFYX1NURVBTJTNEMTAwJTBBJTBBJTIzJTIwU2V0JTIwYSUyMHByaXZhdGUlMjBTcGFjZSUyMHNlY3JldCUyMCh2YWx1ZSUyMG5ldmVyJTIwbG9nZ2VkKSUwQSUyNCUyMG9wZW5lbnYlMjBwdXNoJTIwLS1zZWNyZXQlMjBPUEVOQUlfQVBJX0tFWSUzRHNrLS4uLg==",highlighted:`<span class="hljs-comment"># Push to HuggingFace Spaces from current directory (web interface enabled)</span> | |
| $ <span class="hljs-built_in">cd</span> my_env | |
| $ openenv push | |
| <span class="hljs-comment"># Push to HuggingFace repo and open a Pull Request</span> | |
| $ openenv push my-org/my-env --create-pr | |
| $ openenv push --repo-id my-org/my-env --create-pr | |
| <span class="hljs-comment"># Push to HuggingFace without web interface</span> | |
| $ openenv push --no-interface | |
| <span class="hljs-comment"># Push to Docker Hub</span> | |
| $ openenv push --registry docker.io/myuser | |
| <span class="hljs-comment"># Push to GitHub Container Registry</span> | |
| $ openenv push --registry ghcr.io/myorg | |
| <span class="hljs-comment"># Push to custom registry with web interface</span> | |
| $ openenv push --registry myregistry.io/path1/path2 --interface | |
| <span class="hljs-comment"># Push to specific HuggingFace repo</span> | |
| $ openenv push --repo-id my-org/my-env | |
| <span class="hljs-comment"># Push privately with custom base image</span> | |
| $ openenv push --private --base-image ghcr.io/meta-pytorch/openenv-base:latest | |
| <span class="hljs-comment"># Push with GPU hardware</span> | |
| $ openenv push --hardware t4-medium | |
| <span class="hljs-comment"># Set a public Space variable (overrides openenv.yaml variables:)</span> | |
| $ openenv push -e OPENSPIEL_GAME=tic_tac_toe -e MAX_STEPS=100 | |
| <span class="hljs-comment"># Set a private Space secret (value never logged)</span> | |
| $ openenv push --secret OPENAI_API_KEY=sk-...`,lang:"bash",wrap:!1}}),{c(){m=i("p"),m.textContent=T,y=l(),v(c.$$.fragment)},l(o){m=p(o,"P",{"data-svelte-h":!0}),d(m)!=="svelte-kvfsh7"&&(m.textContent=T),y=a(o),u(c.$$.fragment,o)},m(o,M){r(o,m,M),r(o,y,M),f(c,o,M),h=!0},p:Jt,i(o){h||(g(c.$$.fragment,o),h=!0)},o(o){$(c.$$.fragment,o),h=!1},d(o){o&&(n(m),n(y)),b(c,o)}}}function la(N){let m,T="Examples:",y,c,h;return c=new S({props:{code:"JTI0JTIwb3BlbmVudiUyMGZvcmslMjBvd25lciUyRnNvdXJjZS1zcGFjZSUwQSUyNCUyMG9wZW5lbnYlMjBmb3JrJTIwb3duZXIlMkZzb3VyY2Utc3BhY2UlMjAtLXByaXZhdGUlMEElMjQlMjBvcGVuZW52JTIwZm9yayUyMG93bmVyJTJGc291cmNlLXNwYWNlJTIwLS1yZXBvLWlkJTIwbXl1c2VyJTJGbXktZm9yayUwQSUyNCUyMG9wZW5lbnYlMjBmb3JrJTIwb3duZXIlMkZzb3VyY2Utc3BhY2UlMjAtLXNldC1lbnYlMjBNT0RFTF9JRCUzRHVzZXIlMkZtb2RlbCUyMC0tc2V0LXNlY3JldCUyMEhGX1RPS0VOJTNEaGZfeHh4JTBBJTI0JTIwb3BlbmVudiUyMGZvcmslMjBvd25lciUyRnNvdXJjZS1zcGFjZSUyMC0taGFyZHdhcmUlMjB0NC1tZWRpdW0=",highlighted:`$ openenv fork owner/source-space | |
| $ openenv fork owner/source-space --private | |
| $ openenv fork owner/source-space --repo-id myuser/my-fork | |
| $ openenv fork owner/source-space --set-env MODEL_ID=user/model --set-secret HF_TOKEN=hf_xxx | |
| $ openenv fork owner/source-space --hardware t4-medium`,lang:"bash",wrap:!1}}),{c(){m=i("p"),m.textContent=T,y=l(),v(c.$$.fragment)},l(o){m=p(o,"P",{"data-svelte-h":!0}),d(m)!=="svelte-kvfsh7"&&(m.textContent=T),y=a(o),u(c.$$.fragment,o)},m(o,M){r(o,m,M),r(o,y,M),f(c,o,M),h=!0},p:Jt,i(o){h||(g(c.$$.fragment,o),h=!0)},o(o){$(c.$$.fragment,o),h=!1},d(o){o&&(n(m),n(y)),b(c,o)}}}function aa(N){let m,T,y,c,h,o,M,_t,ne,ol='The <code>openenv</code> CLI provides a set of commands for building, validating, and pushing environments to Hugging Face Spaces or a custom Docker registry. For an end-to-end tutorial on building environments with OpenEnv, see the <a href="../getting_started/environment-builder">building an environment</a> guide.',xt,le,It,k,ae,Mn,Fe,rl="Initialize a new OpenEnv environment.",wn,Ae,sl=`Creates a new directory with the environment name and generates all necessary | |
| files based on the OpenEnv template structure.`,Tn,Q,Ct,oe,Bt,Z,re,Jn,Pe,il="Build Docker images for OpenEnv environments.",_n,Xe,pl=`This command builds Docker images using the environment’s pyproject.toml | |
| and uv for dependency management. Run from the environment root directory.`,xn,z,jt,se,Ut,_,ie,In,Ye,ml="Validate local environments and running OpenEnv servers.",Cn,Re,dl="Local validation checks if an environment is properly configured with:",Bn,Oe,cl="<li>Required files (pyproject.toml, openenv.yaml, server/app.py, etc.)</li> <li>Docker deployment support</li> <li>uv run server capability</li> <li>python -m module execution</li>",jn,Qe,vl=`Runtime validation checks if a live OpenEnv server conforms to the | |
| versioned runtime API contract and returns a criteria-based JSON report.`,Un,D,kt,pe,Zt,x,me,kn,ze,ul="Push an OpenEnv environment to Hugging Face Spaces or a custom Docker registry.",Zn,De,fl="This command:",Gn,qe,gl="<li>Validates that the directory is an OpenEnv environment (openenv.yaml present)</li> <li>Builds and pushes to Hugging Face Spaces or custom Docker registry</li> <li>Optionally enables web interface for deployment</li>",Vn,Ke,$l=`The web interface is enabled by default when pushing to HuggingFace Spaces, | |
| but disabled by default when pushing to a custom Docker registry.`,Nn,q,Gt,de,Vt,w,ce,Wn,et,bl="Serve an OpenEnv environment locally.",En,tt,hl="TODO: This command is currently not implemented and has been deferred for later.",Ln,nt,yl="Planned functionality:",Hn,lt,Ml="<li>Run environment server locally without Docker</li> <li>Support multiple deployment modes (local, notebook, cluster)</li> <li>Auto-reload for development</li> <li>Integration with environment’s [project.scripts] entry point</li>",Sn,at,wl="For now, use Docker-based serving:",Fn,ot,Tl="<li>Build the environment: openenv build</li> <li>Run the container: docker run -p 8000:8000 <image-name></li>",An,rt,Jl=`Or use uv directly: | |
| uv run —project . server —port 8000`,Nt,ve,Wt,G,ue,Pn,st,_l="Fork (duplicate) a Hugging Face Space to your account using the Hub API.",Xn,it,xl=`Uses the Hugging Face duplicate_space API. You can set environment variables | |
| and secrets, and request hardware/storage/sleep time at creation time.`,Yn,K,Et,fe,Lt,ge,Il=`Installs an <code>openenv-cli</code> skill into your AI assistant’s skills directory so | |
| it knows the <code>openenv</code> CLI is available and what each command does. Supports | |
| Claude Code, Cursor, Codex, and OpenCode.`,Ht,$e,Cl="<strong>Install for a single assistant (project-local):</strong>",St,be,Ft,he,Bl=`Multiple flags can be combined — <code>openenv skills add --claude --cursor</code> installs | |
| for both at once. The skill file is written to a central location | |
| (<code>.agents/skills/openenv-cli/</code>) and each agent directory gets a symlink, so | |
| there is only one copy to update.`,At,ye,jl="<strong>Install globally (user-level, across all projects):</strong>",Pt,Me,Xt,we,Ul="<strong>Overwrite an existing installation</strong> (e.g. after upgrading <code>openenv</code>):",Yt,Te,Rt,Je,kl="<strong>Preview the skill content without installing:</strong>",Ot,_e,Qt,xe,Zl="<strong>Install to a custom path</strong> (for non-standard agent setups):",zt,Ie,Dt,F,Ce,Rn,pt,Gl="Install OpenEnv CLI skill for AI assistants.",qt,A,Be,On,mt,Vl="Print generated SKILL.md content.",Kt,je,en,Ue,tn,P,ke,Qn,dt,Nl="Main entry point for the CLI.",nn,Ze,ln,X,Ge,zn,ct,Wl="Validate that the directory follows OpenEnv environment structure.",an,Ve,on,E,Ne,Dn,vt,El="Validate a running OpenEnv server against runtime API standards.",qn,ut,Ll=`The returned JSON report contains an overall pass/fail result and | |
| per-criterion outcomes that can be consumed in CI.`,rn,V,We,Kn,ft,Hl="Validate that an environment is ready for multi-mode deployment.",el,gt,Sl="Checks:",tl,$t,Fl="<li>pyproject.toml exists</li> <li>uv.lock exists</li> <li>pyproject.toml has [project.scripts] with server entry point</li> <li>server/app.py has a main() function</li> <li>Required dependencies are present</li>",sn,Y,Ee,nl,bt,Al="Check which deployment modes are supported by the environment.",pn,R,Le,ll,ht,Pl="Format a validation report for display.",mn,O,He,al,yt,Xl="Build a JSON report for local environment validation.",dn,Se,cn,wt,vn;return h=new Dl({props:{containerStyle:"float: right; margin-left: 10px; display: inline-flex; position: relative; z-index: 10;"}}),M=new W({props:{title:"CLI",local:"cli",headingTag:"h1"}}),le=new W({props:{title:"openenv init",local:"openenv.cli.commands.init",headingTag:"h2"}}),ae=new U({props:{name:"openenv.cli.commands.init",anchor:"openenv.cli.commands.init",parameters:[{name:"env_name",val:`: Annotated[str, typer.Argument(help="Name of the environment to create (snake_case, e.g., 'my_env')")]`},{name:"output_dir",val:": Annotated[str | None, typer.Option('--output-dir', '-o', help='Output directory (defaults to current working directory)')] = None"}],source:"https://github.com/huggingface/openenv/blob/vr_743/openenv/cli/commands/init.py#L396"}}),Q=new Tt({props:{anchor:"openenv.cli.commands.init.example",$$slots:{default:[Kl]},$$scope:{ctx:N}}}),oe=new W({props:{title:"openenv build",local:"openenv.cli.commands.build",headingTag:"h2"}}),re=new U({props:{name:"openenv.cli.commands.build",anchor:"openenv.cli.commands.build",parameters:[{name:"env_path",val:": Annotated[str | None, typer.Argument(help='Path to the environment directory (default: current directory)')] = None"},{name:"tag",val:": Annotated[str | None, typer.Option('--tag', '-t', help='Docker image tag (default: openenv-<env_name>)')] = None"},{name:"context",val:": Annotated[str | None, typer.Option('--context', '-c', help='Build context path (default: <env_path>/server)')] = None"},{name:"dockerfile",val:": Annotated[str | None, typer.Option('--dockerfile', '-f', help='Path to Dockerfile (default: <context>/Dockerfile)')] = None"},{name:"no_cache",val:": Annotated[bool, typer.Option('--no-cache', help='Build without using cache')] = False"},{name:"build_arg",val:": Annotated[list[str] | None, typer.Option('--build-arg', help='Build arguments (can be used multiple times, format: KEY=VALUE)')] = None"}],source:"https://github.com/huggingface/openenv/blob/vr_743/openenv/cli/commands/build.py#L330"}}),z=new Tt({props:{anchor:"openenv.cli.commands.build.example",$$slots:{default:[ea]},$$scope:{ctx:N}}}),se=new W({props:{title:"openenv validate",local:"openenv.cli.commands.validate",headingTag:"h2"}}),ie=new U({props:{name:"openenv.cli.commands.validate",anchor:"openenv.cli.commands.validate",parameters:[{name:"target",val:": typing.Annotated[str | None, <typer.models.ArgumentInfo object at 0x7f8b0756e650>] = None"},{name:"url",val:": typing.Annotated[str | None, <typer.models.OptionInfo object at 0x7f8b0756e890>] = None"},{name:"json_output",val:": typing.Annotated[bool, <typer.models.OptionInfo object at 0x7f8b0756e4d0>] = False"},{name:"timeout",val:": typing.Annotated[float, <typer.models.OptionInfo object at 0x7f8b0756e620>] = 5.0"},{name:"verbose",val:": typing.Annotated[bool, <typer.models.OptionInfo object at 0x7f8b0756f5e0>] = False"}],source:"https://github.com/huggingface/openenv/blob/vr_743/openenv/cli/commands/validate.py#L34"}}),D=new Tt({props:{anchor:"openenv.cli.commands.validate.example",$$slots:{default:[ta]},$$scope:{ctx:N}}}),pe=new W({props:{title:"openenv push",local:"openenv.cli.commands.push",headingTag:"h2"}}),me=new U({props:{name:"openenv.cli.commands.push",anchor:"openenv.cli.commands.push",parameters:[{name:"directory",val:": Annotated[str | None, typer.Argument(help='Directory containing the OpenEnv environment (default: current directory)')] = None"},{name:"repo_id",val:`: Annotated[str | None, typer.Option('--repo-id', '-r', help="Repository ID as 'repo_name' or 'namespace/repo_name'. Defaults to 'username/env-name' from openenv.yaml.")] = None`},{name:"base_image",val:": Annotated[str | None, typer.Option('--base-image', '-b', help='Base Docker image to use (overrides Dockerfile FROM)')] = None"},{name:"interface",val:": Annotated[bool, typer.Option('--interface', help='Enable web interface (default: True if no registry specified)')] = None"},{name:"no_interface",val:": Annotated[bool, typer.Option('--no-interface', help='Disable web interface')] = False"},{name:"registry",val:": Annotated[str | None, typer.Option('--registry', help='Custom registry URL (e.g., docker.io/username). Disables web interface by default.')] = None"},{name:"private",val:": Annotated[bool, typer.Option('--private', help='Deploy the space as private')] = False"},{name:"create_pr",val:": Annotated[bool, typer.Option('--create-pr', help='Create a Pull Request instead of pushing to the default branch')] = False"},{name:"exclude",val:": Annotated[str | None, typer.Option('--exclude', help='Optional additional ignore file with newline-separated glob patterns to exclude from Hugging Face uploads')] = None"},{name:"hardware",val:": Annotated[str | None, typer.Option('--hardware', '-H', help='Request hardware for Hugging Face Space (e.g. t4-medium, cpu-basic). See HF docs for options.')] = None"},{name:"count",val:": Annotated[int, typer.Option('--count', '-n', help='Number of Space instances to deploy. Each gets a numeric suffix (e.g. env-1, env-2).', min=1)] = 1"},{name:"env_vars",val:": Annotated[list[str] | None, typer.Option('--env-var', '-e', help='Public Space variable as KEY=VALUE (repeatable). Overrides matching keys from openenv.yaml variables:.')] = None"},{name:"secrets",val:": Annotated[list[str] | None, typer.Option('--secret', help='Private Space secret as KEY=VALUE (repeatable). Value is never logged.')] = None"}],source:"https://github.com/huggingface/openenv/blob/vr_743/openenv/cli/commands/push.py#L530"}}),q=new Tt({props:{anchor:"openenv.cli.commands.push.example",$$slots:{default:[na]},$$scope:{ctx:N}}}),de=new W({props:{title:"openenv serve",local:"openenv.cli.commands.serve",headingTag:"h2"}}),ce=new U({props:{name:"openenv.cli.commands.serve",anchor:"openenv.cli.commands.serve",parameters:[{name:"env_path",val:": Annotated[str | None, typer.Argument(help='Path to the environment directory (default: current directory)')] = None"},{name:"port",val:": Annotated[int, typer.Option('--port', '-p', help='Port to serve on')] = 8000"},{name:"host",val:": Annotated[str, typer.Option('--host', help='Host to bind to')] = '0.0.0.0'"},{name:"reload",val:": Annotated[bool, typer.Option('--reload', help='Enable auto-reload on code changes')] = False"}],source:"https://github.com/huggingface/openenv/blob/vr_743/openenv/cli/commands/serve.py#L21"}}),ve=new W({props:{title:"openenv fork",local:"openenv.cli.commands.fork",headingTag:"h2"}}),ue=new U({props:{name:"openenv.cli.commands.fork",anchor:"openenv.cli.commands.fork",parameters:[{name:"source_space",val:`: Annotated[str, typer.Argument(help="Source Space ID in format 'owner/space-name' (e.g. org/my-openenv-space)")]`},{name:"repo_id",val:": Annotated[str | None, typer.Option('--repo-id', '-r', help='Target repo ID for the fork (default: created under your account with same name)')] = None"},{name:"private",val:": Annotated[bool, typer.Option('--private', help='Create the forked Space as private')] = False"},{name:"set_env",val:": Annotated[list[str], typer.Option('--set-env', '-e', help='Set Space variable (public). Can be repeated. Format: KEY=VALUE')] = []"},{name:"set_secret",val:": Annotated[list[str], typer.Option('--set-secret', '--secret', '-s', help='Set Space secret. Can be repeated. Format: KEY=VALUE')] = []"},{name:"hardware",val:": Annotated[str | None, typer.Option('--hardware', '-H', help='Request hardware (e.g. t4-medium, cpu-basic). See Hub docs for options.')] = None"}],source:"https://github.com/huggingface/openenv/blob/vr_743/openenv/cli/commands/fork.py#L86"}}),K=new Tt({props:{anchor:"openenv.cli.commands.fork.example",$$slots:{default:[la]},$$scope:{ctx:N}}}),fe=new W({props:{title:"openenv skills",local:"openenv.cli.commands.skills.skills_add",headingTag:"h2"}}),be=new S({props:{code:"b3BlbmVudiUyMHNraWxscyUyMGFkZCUyMC0tY2xhdWRlJTIwJTIwJTIwJTIwJTIzJTIwJUUyJTg2JTkyJTIwLmNsYXVkZSUyRnNraWxscyUyRm9wZW5lbnYtY2xpJTJGJTBBb3BlbmVudiUyMHNraWxscyUyMGFkZCUyMC0tY3Vyc29yJTIwJTIwJTIwJTIwJTIzJTIwJUUyJTg2JTkyJTIwLmN1cnNvciUyRnNraWxscyUyRm9wZW5lbnYtY2xpJTJGJTBBb3BlbmVudiUyMHNraWxscyUyMGFkZCUyMC0tY29kZXglMjAlMjAlMjAlMjAlMjAlMjMlMjAlRTIlODYlOTIlMjAuY29kZXglMkZza2lsbHMlMkZvcGVuZW52LWNsaSUyRiUwQW9wZW5lbnYlMjBza2lsbHMlMjBhZGQlMjAtLW9wZW5jb2RlJTIwJTIwJTIzJTIwJUUyJTg2JTkyJTIwLm9wZW5jb2RlJTJGc2tpbGxzJTJGb3BlbmVudi1jbGklMkY=",highlighted:`openenv skills add --claude <span class="hljs-comment"># → .claude/skills/openenv-cli/</span> | |
| openenv skills add --cursor <span class="hljs-comment"># → .cursor/skills/openenv-cli/</span> | |
| openenv skills add --codex <span class="hljs-comment"># → .codex/skills/openenv-cli/</span> | |
| openenv skills add --opencode <span class="hljs-comment"># → .opencode/skills/openenv-cli/</span>`,lang:"bash",wrap:!1}}),Me=new S({props:{code:"b3BlbmVudiUyMHNraWxscyUyMGFkZCUyMC0tY2xhdWRlJTIwLS1nbG9iYWwlMjAlMjAlMjMlMjAlRTIlODYlOTIlMjB+JTJGLmNsYXVkZSUyRnNraWxscyUyRm9wZW5lbnYtY2xpJTJG",highlighted:'openenv skills add --claude --global <span class="hljs-comment"># → ~/.claude/skills/openenv-cli/</span>',lang:"bash",wrap:!1}}),Te=new S({props:{code:"b3BlbmVudiUyMHNraWxscyUyMGFkZCUyMC0tY2xhdWRlJTIwLS1mb3JjZQ==",highlighted:"openenv skills add --claude --force",lang:"bash",wrap:!1}}),_e=new S({props:{code:"b3BlbmVudiUyMHNraWxscyUyMHByZXZpZXc=",highlighted:"openenv skills preview",lang:"bash",wrap:!1}}),Ie=new S({props:{code:"b3BlbmVudiUyMHNraWxscyUyMGFkZCUyMC0tZGVzdCUyMCUyRnBhdGglMkZ0byUyRm15LWFnZW50JTJGc2tpbGxzJTJG",highlighted:"openenv skills add --dest /path/to/my-agent/skills/",lang:"bash",wrap:!1}}),Ce=new U({props:{name:"openenv.cli.commands.skills.skills_add",anchor:"openenv.cli.commands.skills.skills_add",parameters:[{name:"claude",val:": Annotated[bool, typer.Option('--claude', help='Install for Claude.')] = False"},{name:"codex",val:": Annotated[bool, typer.Option('--codex', help='Install for Codex.')] = False"},{name:"cursor",val:": Annotated[bool, typer.Option('--cursor', help='Install for Cursor.')] = False"},{name:"opencode",val:": Annotated[bool, typer.Option('--opencode', help='Install for OpenCode.')] = False"},{name:"global_",val:": Annotated[bool, typer.Option('--global', '-g', help='Install globally (user-level) instead of in the current project directory.')] = False"},{name:"dest",val:": Annotated[Path | None, typer.Option(help='Install into a custom destination (skills directory path).')] = None"},{name:"force",val:": Annotated[bool, typer.Option('--force', help='Overwrite existing skills in the destination.')] = False"}],source:"https://github.com/huggingface/openenv/blob/vr_743/openenv/cli/commands/skills.py#L139"}}),Be=new U({props:{name:"openenv.cli.commands.skills.skills_preview",anchor:"openenv.cli.commands.skills.skills_preview",parameters:[],source:"https://github.com/huggingface/openenv/blob/vr_743/openenv/cli/commands/skills.py#L133"}}),je=new W({props:{title:"API Reference",local:"api-reference",headingTag:"h1"}}),Ue=new W({props:{title:"Entry point",local:"openenv.cli. main .main",headingTag:"h2"}}),ke=new U({props:{name:"openenv.cli.__main__.main",anchor:"openenv.cli.__main__.main",parameters:[],source:"https://github.com/huggingface/openenv/blob/vr_743/openenv/cli/__main__.py#L66"}}),Ze=new W({props:{title:"CLI helpers",local:"openenv.cli._cli_utils.validate_env_structure",headingTag:"h2"}}),Ge=new U({props:{name:"openenv.cli._cli_utils.validate_env_structure",anchor:"openenv.cli._cli_utils.validate_env_structure",parameters:[{name:"env_dir",val:": Path"},{name:"strict",val:": bool = False"}],parametersDescription:[{anchor:"openenv.cli._cli_utils.validate_env_structure.env_dir",description:`<strong>env_dir</strong> (<code>Path</code>) — | |
| Path to the environment directory.`,name:"env_dir"},{anchor:"openenv.cli._cli_utils.validate_env_structure.strict",description:`<strong>strict</strong> (<code>bool</code>, <em>optional</em>, defaults to <code>False</code>) — | |
| If <code>True</code>, enforce all optional requirements.`,name:"strict"}],source:"https://github.com/huggingface/openenv/blob/vr_743/openenv/cli/_cli_utils.py#L18",returnDescription:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p><code>list</code> of validation warnings (empty if all checks pass).</p> | |
| `,raiseDescription:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <ul> | |
| <li><code>FileNotFoundError</code> — If required files are missing.</li> | |
| </ul> | |
| `,raiseType:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p><code>FileNotFoundError</code></p> | |
| `}}),Ve=new W({props:{title:"Validation utilities",local:"openenv.cli._validation.validate_running_environment",headingTag:"h2"}}),Ne=new U({props:{name:"openenv.cli._validation.validate_running_environment",anchor:"openenv.cli._validation.validate_running_environment",parameters:[{name:"base_url",val:": str"},{name:"timeout_s",val:": float = 5.0"}],source:"https://github.com/huggingface/openenv/blob/vr_743/openenv/cli/_validation.py#L103"}}),We=new U({props:{name:"openenv.cli._validation.validate_multi_mode_deployment",anchor:"openenv.cli._validation.validate_multi_mode_deployment",parameters:[{name:"env_path",val:": Path"}],source:"https://github.com/huggingface/openenv/blob/vr_743/openenv/cli/_validation.py#L504",returnDescription:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p><code>tuple</code> of <code>(is_valid, issues)</code> where <code>is_valid</code> is a <code>bool</code> and <code>issues</code> is a | |
| <code>list</code> of issue strings found during validation.</p> | |
| `}}),Ee=new U({props:{name:"openenv.cli._validation.get_deployment_modes",anchor:"openenv.cli._validation.get_deployment_modes",parameters:[{name:"env_path",val:": Path"}],source:"https://github.com/huggingface/openenv/blob/vr_743/openenv/cli/_validation.py#L580",returnDescription:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p><code>dict</code> mapping deployment mode names to whether they are supported.</p> | |
| `}}),Le=new U({props:{name:"openenv.cli._validation.format_validation_report",anchor:"openenv.cli._validation.format_validation_report",parameters:[{name:"env_name",val:": str"},{name:"is_valid",val:": bool"},{name:"issues",val:": list"}],source:"https://github.com/huggingface/openenv/blob/vr_743/openenv/cli/_validation.py#L609",returnDescription:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p>formatted validation report.</p> | |
| `,returnType:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p><code>str</code></p> | |
| `}}),He=new U({props:{name:"openenv.cli._validation.build_local_validation_json_report",anchor:"openenv.cli._validation.build_local_validation_json_report",parameters:[{name:"env_name",val:": str"},{name:"env_path",val:": Path"},{name:"is_valid",val:": bool"},{name:"issues",val:": list"},{name:"deployment_modes",val:": dict[str, bool] | None = None"}],source:"https://github.com/huggingface/openenv/blob/vr_743/openenv/cli/_validation.py#L627"}}),Se=new ql({props:{source:"https://github.com/huggingface/openenv/blob/main/docs/source/reference/cli.md"}}),{c(){m=i("meta"),T=l(),y=i("p"),c=l(),v(h.$$.fragment),o=l(),v(M.$$.fragment),_t=l(),ne=i("p"),ne.innerHTML=ol,xt=l(),v(le.$$.fragment),It=l(),k=i("div"),v(ae.$$.fragment),Mn=l(),Fe=i("p"),Fe.textContent=rl,wn=l(),Ae=i("p"),Ae.textContent=sl,Tn=l(),v(Q.$$.fragment),Ct=l(),v(oe.$$.fragment),Bt=l(),Z=i("div"),v(re.$$.fragment),Jn=l(),Pe=i("p"),Pe.textContent=il,_n=l(),Xe=i("p"),Xe.textContent=pl,xn=l(),v(z.$$.fragment),jt=l(),v(se.$$.fragment),Ut=l(),_=i("div"),v(ie.$$.fragment),In=l(),Ye=i("p"),Ye.textContent=ml,Cn=l(),Re=i("p"),Re.textContent=dl,Bn=l(),Oe=i("ul"),Oe.innerHTML=cl,jn=l(),Qe=i("p"),Qe.textContent=vl,Un=l(),v(D.$$.fragment),kt=l(),v(pe.$$.fragment),Zt=l(),x=i("div"),v(me.$$.fragment),kn=l(),ze=i("p"),ze.textContent=ul,Zn=l(),De=i("p"),De.textContent=fl,Gn=l(),qe=i("ol"),qe.innerHTML=gl,Vn=l(),Ke=i("p"),Ke.textContent=$l,Nn=l(),v(q.$$.fragment),Gt=l(),v(de.$$.fragment),Vt=l(),w=i("div"),v(ce.$$.fragment),Wn=l(),et=i("p"),et.textContent=bl,En=l(),tt=i("p"),tt.textContent=hl,Ln=l(),nt=i("p"),nt.textContent=yl,Hn=l(),lt=i("ul"),lt.innerHTML=Ml,Sn=l(),at=i("p"),at.textContent=wl,Fn=l(),ot=i("ol"),ot.innerHTML=Tl,An=l(),rt=i("p"),rt.textContent=Jl,Nt=l(),v(ve.$$.fragment),Wt=l(),G=i("div"),v(ue.$$.fragment),Pn=l(),st=i("p"),st.textContent=_l,Xn=l(),it=i("p"),it.textContent=xl,Yn=l(),v(K.$$.fragment),Et=l(),v(fe.$$.fragment),Lt=l(),ge=i("p"),ge.innerHTML=Il,Ht=l(),$e=i("p"),$e.innerHTML=Cl,St=l(),v(be.$$.fragment),Ft=l(),he=i("p"),he.innerHTML=Bl,At=l(),ye=i("p"),ye.innerHTML=jl,Pt=l(),v(Me.$$.fragment),Xt=l(),we=i("p"),we.innerHTML=Ul,Yt=l(),v(Te.$$.fragment),Rt=l(),Je=i("p"),Je.innerHTML=kl,Ot=l(),v(_e.$$.fragment),Qt=l(),xe=i("p"),xe.innerHTML=Zl,zt=l(),v(Ie.$$.fragment),Dt=l(),F=i("div"),v(Ce.$$.fragment),Rn=l(),pt=i("p"),pt.textContent=Gl,qt=l(),A=i("div"),v(Be.$$.fragment),On=l(),mt=i("p"),mt.textContent=Vl,Kt=l(),v(je.$$.fragment),en=l(),v(Ue.$$.fragment),tn=l(),P=i("div"),v(ke.$$.fragment),Qn=l(),dt=i("p"),dt.textContent=Nl,nn=l(),v(Ze.$$.fragment),ln=l(),X=i("div"),v(Ge.$$.fragment),zn=l(),ct=i("p"),ct.textContent=Wl,an=l(),v(Ve.$$.fragment),on=l(),E=i("div"),v(Ne.$$.fragment),Dn=l(),vt=i("p"),vt.textContent=El,qn=l(),ut=i("p"),ut.textContent=Ll,rn=l(),V=i("div"),v(We.$$.fragment),Kn=l(),ft=i("p"),ft.textContent=Hl,el=l(),gt=i("p"),gt.textContent=Sl,tl=l(),$t=i("ol"),$t.innerHTML=Fl,sn=l(),Y=i("div"),v(Ee.$$.fragment),nl=l(),bt=i("p"),bt.textContent=Al,pn=l(),R=i("div"),v(Le.$$.fragment),ll=l(),ht=i("p"),ht.textContent=Pl,mn=l(),O=i("div"),v(He.$$.fragment),al=l(),yt=i("p"),yt.textContent=Xl,dn=l(),v(Se.$$.fragment),cn=l(),wt=i("p"),this.h()},l(e){const t=zl("svelte-u9bgzb",document.head);m=p(t,"META",{name:!0,content:!0}),t.forEach(n),T=a(e),y=p(e,"P",{}),I(y).forEach(n),c=a(e),u(h.$$.fragment,e),o=a(e),u(M.$$.fragment,e),_t=a(e),ne=p(e,"P",{"data-svelte-h":!0}),d(ne)!=="svelte-h3lshr"&&(ne.innerHTML=ol),xt=a(e),u(le.$$.fragment,e),It=a(e),k=p(e,"DIV",{class:!0});var L=I(k);u(ae.$$.fragment,L),Mn=a(L),Fe=p(L,"P",{"data-svelte-h":!0}),d(Fe)!=="svelte-1de4lkp"&&(Fe.textContent=rl),wn=a(L),Ae=p(L,"P",{"data-svelte-h":!0}),d(Ae)!=="svelte-prfr33"&&(Ae.textContent=sl),Tn=a(L),u(Q.$$.fragment,L),L.forEach(n),Ct=a(e),u(oe.$$.fragment,e),Bt=a(e),Z=p(e,"DIV",{class:!0});var H=I(Z);u(re.$$.fragment,H),Jn=a(H),Pe=p(H,"P",{"data-svelte-h":!0}),d(Pe)!=="svelte-nca0xi"&&(Pe.textContent=il),_n=a(H),Xe=p(H,"P",{"data-svelte-h":!0}),d(Xe)!=="svelte-1tumx25"&&(Xe.textContent=pl),xn=a(H),u(z.$$.fragment,H),H.forEach(n),jt=a(e),u(se.$$.fragment,e),Ut=a(e),_=p(e,"DIV",{class:!0});var B=I(_);u(ie.$$.fragment,B),In=a(B),Ye=p(B,"P",{"data-svelte-h":!0}),d(Ye)!=="svelte-fktvfq"&&(Ye.textContent=ml),Cn=a(B),Re=p(B,"P",{"data-svelte-h":!0}),d(Re)!=="svelte-1qoxqbv"&&(Re.textContent=dl),Bn=a(B),Oe=p(B,"UL",{"data-svelte-h":!0}),d(Oe)!=="svelte-1xqgigw"&&(Oe.innerHTML=cl),jn=a(B),Qe=p(B,"P",{"data-svelte-h":!0}),d(Qe)!=="svelte-wp0rk"&&(Qe.textContent=vl),Un=a(B),u(D.$$.fragment,B),B.forEach(n),kt=a(e),u(pe.$$.fragment,e),Zt=a(e),x=p(e,"DIV",{class:!0});var j=I(x);u(me.$$.fragment,j),kn=a(j),ze=p(j,"P",{"data-svelte-h":!0}),d(ze)!=="svelte-zehzl3"&&(ze.textContent=ul),Zn=a(j),De=p(j,"P",{"data-svelte-h":!0}),d(De)!=="svelte-mqnrhx"&&(De.textContent=fl),Gn=a(j),qe=p(j,"OL",{"data-svelte-h":!0}),d(qe)!=="svelte-1khaat7"&&(qe.innerHTML=gl),Vn=a(j),Ke=p(j,"P",{"data-svelte-h":!0}),d(Ke)!=="svelte-1if8tjm"&&(Ke.textContent=$l),Nn=a(j),u(q.$$.fragment,j),j.forEach(n),Gt=a(e),u(de.$$.fragment,e),Vt=a(e),w=p(e,"DIV",{class:!0});var J=I(w);u(ce.$$.fragment,J),Wn=a(J),et=p(J,"P",{"data-svelte-h":!0}),d(et)!=="svelte-xuhway"&&(et.textContent=bl),En=a(J),tt=p(J,"P",{"data-svelte-h":!0}),d(tt)!=="svelte-1bzoogd"&&(tt.textContent=hl),Ln=a(J),nt=p(J,"P",{"data-svelte-h":!0}),d(nt)!=="svelte-oepyyr"&&(nt.textContent=yl),Hn=a(J),lt=p(J,"UL",{"data-svelte-h":!0}),d(lt)!=="svelte-1rc5csn"&&(lt.innerHTML=Ml),Sn=a(J),at=p(J,"P",{"data-svelte-h":!0}),d(at)!=="svelte-1e07xie"&&(at.textContent=wl),Fn=a(J),ot=p(J,"OL",{"data-svelte-h":!0}),d(ot)!=="svelte-1krxxmh"&&(ot.innerHTML=Tl),An=a(J),rt=p(J,"P",{"data-svelte-h":!0}),d(rt)!=="svelte-14r93ui"&&(rt.textContent=Jl),J.forEach(n),Nt=a(e),u(ve.$$.fragment,e),Wt=a(e),G=p(e,"DIV",{class:!0});var ee=I(G);u(ue.$$.fragment,ee),Pn=a(ee),st=p(ee,"P",{"data-svelte-h":!0}),d(st)!=="svelte-1cfrhri"&&(st.textContent=_l),Xn=a(ee),it=p(ee,"P",{"data-svelte-h":!0}),d(it)!=="svelte-1ptpqjq"&&(it.textContent=xl),Yn=a(ee),u(K.$$.fragment,ee),ee.forEach(n),Et=a(e),u(fe.$$.fragment,e),Lt=a(e),ge=p(e,"P",{"data-svelte-h":!0}),d(ge)!=="svelte-4ciskg"&&(ge.innerHTML=Il),Ht=a(e),$e=p(e,"P",{"data-svelte-h":!0}),d($e)!=="svelte-1qqq0uy"&&($e.innerHTML=Cl),St=a(e),u(be.$$.fragment,e),Ft=a(e),he=p(e,"P",{"data-svelte-h":!0}),d(he)!=="svelte-904ub0"&&(he.innerHTML=Bl),At=a(e),ye=p(e,"P",{"data-svelte-h":!0}),d(ye)!=="svelte-1dgltep"&&(ye.innerHTML=jl),Pt=a(e),u(Me.$$.fragment,e),Xt=a(e),we=p(e,"P",{"data-svelte-h":!0}),d(we)!=="svelte-qmq370"&&(we.innerHTML=Ul),Yt=a(e),u(Te.$$.fragment,e),Rt=a(e),Je=p(e,"P",{"data-svelte-h":!0}),d(Je)!=="svelte-jqandn"&&(Je.innerHTML=kl),Ot=a(e),u(_e.$$.fragment,e),Qt=a(e),xe=p(e,"P",{"data-svelte-h":!0}),d(xe)!=="svelte-1dxii8m"&&(xe.innerHTML=Zl),zt=a(e),u(Ie.$$.fragment,e),Dt=a(e),F=p(e,"DIV",{class:!0});var un=I(F);u(Ce.$$.fragment,un),Rn=a(un),pt=p(un,"P",{"data-svelte-h":!0}),d(pt)!=="svelte-783fop"&&(pt.textContent=Gl),un.forEach(n),qt=a(e),A=p(e,"DIV",{class:!0});var fn=I(A);u(Be.$$.fragment,fn),On=a(fn),mt=p(fn,"P",{"data-svelte-h":!0}),d(mt)!=="svelte-xqodh3"&&(mt.textContent=Vl),fn.forEach(n),Kt=a(e),u(je.$$.fragment,e),en=a(e),u(Ue.$$.fragment,e),tn=a(e),P=p(e,"DIV",{class:!0});var gn=I(P);u(ke.$$.fragment,gn),Qn=a(gn),dt=p(gn,"P",{"data-svelte-h":!0}),d(dt)!=="svelte-tye4l9"&&(dt.textContent=Nl),gn.forEach(n),nn=a(e),u(Ze.$$.fragment,e),ln=a(e),X=p(e,"DIV",{class:!0});var $n=I(X);u(Ge.$$.fragment,$n),zn=a($n),ct=p($n,"P",{"data-svelte-h":!0}),d(ct)!=="svelte-p58zqc"&&(ct.textContent=Wl),$n.forEach(n),an=a(e),u(Ve.$$.fragment,e),on=a(e),E=p(e,"DIV",{class:!0});var Mt=I(E);u(Ne.$$.fragment,Mt),Dn=a(Mt),vt=p(Mt,"P",{"data-svelte-h":!0}),d(vt)!=="svelte-mibtdb"&&(vt.textContent=El),qn=a(Mt),ut=p(Mt,"P",{"data-svelte-h":!0}),d(ut)!=="svelte-1g25t2e"&&(ut.textContent=Ll),Mt.forEach(n),rn=a(e),V=p(e,"DIV",{class:!0});var te=I(V);u(We.$$.fragment,te),Kn=a(te),ft=p(te,"P",{"data-svelte-h":!0}),d(ft)!=="svelte-1d0mhrd"&&(ft.textContent=Hl),el=a(te),gt=p(te,"P",{"data-svelte-h":!0}),d(gt)!=="svelte-avus81"&&(gt.textContent=Sl),tl=a(te),$t=p(te,"OL",{"data-svelte-h":!0}),d($t)!=="svelte-4r4bch"&&($t.innerHTML=Fl),te.forEach(n),sn=a(e),Y=p(e,"DIV",{class:!0});var bn=I(Y);u(Ee.$$.fragment,bn),nl=a(bn),bt=p(bn,"P",{"data-svelte-h":!0}),d(bt)!=="svelte-tsxdrd"&&(bt.textContent=Al),bn.forEach(n),pn=a(e),R=p(e,"DIV",{class:!0});var hn=I(R);u(Le.$$.fragment,hn),ll=a(hn),ht=p(hn,"P",{"data-svelte-h":!0}),d(ht)!=="svelte-17mg9c"&&(ht.textContent=Pl),hn.forEach(n),mn=a(e),O=p(e,"DIV",{class:!0});var yn=I(O);u(He.$$.fragment,yn),al=a(yn),yt=p(yn,"P",{"data-svelte-h":!0}),d(yt)!=="svelte-dn6w6p"&&(yt.textContent=Xl),yn.forEach(n),dn=a(e),u(Se.$$.fragment,e),cn=a(e),wt=p(e,"P",{}),I(wt).forEach(n),this.h()},h(){C(m,"name","hf:doc:metadata"),C(m,"content",oa),C(k,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),C(Z,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),C(_,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),C(x,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),C(w,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),C(G,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),C(F,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),C(A,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),C(P,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),C(X,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),C(E,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),C(V,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),C(Y,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),C(R,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),C(O,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8")},m(e,t){s(document.head,m),r(e,T,t),r(e,y,t),r(e,c,t),f(h,e,t),r(e,o,t),f(M,e,t),r(e,_t,t),r(e,ne,t),r(e,xt,t),f(le,e,t),r(e,It,t),r(e,k,t),f(ae,k,null),s(k,Mn),s(k,Fe),s(k,wn),s(k,Ae),s(k,Tn),f(Q,k,null),r(e,Ct,t),f(oe,e,t),r(e,Bt,t),r(e,Z,t),f(re,Z,null),s(Z,Jn),s(Z,Pe),s(Z,_n),s(Z,Xe),s(Z,xn),f(z,Z,null),r(e,jt,t),f(se,e,t),r(e,Ut,t),r(e,_,t),f(ie,_,null),s(_,In),s(_,Ye),s(_,Cn),s(_,Re),s(_,Bn),s(_,Oe),s(_,jn),s(_,Qe),s(_,Un),f(D,_,null),r(e,kt,t),f(pe,e,t),r(e,Zt,t),r(e,x,t),f(me,x,null),s(x,kn),s(x,ze),s(x,Zn),s(x,De),s(x,Gn),s(x,qe),s(x,Vn),s(x,Ke),s(x,Nn),f(q,x,null),r(e,Gt,t),f(de,e,t),r(e,Vt,t),r(e,w,t),f(ce,w,null),s(w,Wn),s(w,et),s(w,En),s(w,tt),s(w,Ln),s(w,nt),s(w,Hn),s(w,lt),s(w,Sn),s(w,at),s(w,Fn),s(w,ot),s(w,An),s(w,rt),r(e,Nt,t),f(ve,e,t),r(e,Wt,t),r(e,G,t),f(ue,G,null),s(G,Pn),s(G,st),s(G,Xn),s(G,it),s(G,Yn),f(K,G,null),r(e,Et,t),f(fe,e,t),r(e,Lt,t),r(e,ge,t),r(e,Ht,t),r(e,$e,t),r(e,St,t),f(be,e,t),r(e,Ft,t),r(e,he,t),r(e,At,t),r(e,ye,t),r(e,Pt,t),f(Me,e,t),r(e,Xt,t),r(e,we,t),r(e,Yt,t),f(Te,e,t),r(e,Rt,t),r(e,Je,t),r(e,Ot,t),f(_e,e,t),r(e,Qt,t),r(e,xe,t),r(e,zt,t),f(Ie,e,t),r(e,Dt,t),r(e,F,t),f(Ce,F,null),s(F,Rn),s(F,pt),r(e,qt,t),r(e,A,t),f(Be,A,null),s(A,On),s(A,mt),r(e,Kt,t),f(je,e,t),r(e,en,t),f(Ue,e,t),r(e,tn,t),r(e,P,t),f(ke,P,null),s(P,Qn),s(P,dt),r(e,nn,t),f(Ze,e,t),r(e,ln,t),r(e,X,t),f(Ge,X,null),s(X,zn),s(X,ct),r(e,an,t),f(Ve,e,t),r(e,on,t),r(e,E,t),f(Ne,E,null),s(E,Dn),s(E,vt),s(E,qn),s(E,ut),r(e,rn,t),r(e,V,t),f(We,V,null),s(V,Kn),s(V,ft),s(V,el),s(V,gt),s(V,tl),s(V,$t),r(e,sn,t),r(e,Y,t),f(Ee,Y,null),s(Y,nl),s(Y,bt),r(e,pn,t),r(e,R,t),f(Le,R,null),s(R,ll),s(R,ht),r(e,mn,t),r(e,O,t),f(He,O,null),s(O,al),s(O,yt),r(e,dn,t),f(Se,e,t),r(e,cn,t),r(e,wt,t),vn=!0},p(e,[t]){const L={};t&2&&(L.$$scope={dirty:t,ctx:e}),Q.$set(L);const H={};t&2&&(H.$$scope={dirty:t,ctx:e}),z.$set(H);const B={};t&2&&(B.$$scope={dirty:t,ctx:e}),D.$set(B);const j={};t&2&&(j.$$scope={dirty:t,ctx:e}),q.$set(j);const J={};t&2&&(J.$$scope={dirty:t,ctx:e}),K.$set(J)},i(e){vn||(g(h.$$.fragment,e),g(M.$$.fragment,e),g(le.$$.fragment,e),g(ae.$$.fragment,e),g(Q.$$.fragment,e),g(oe.$$.fragment,e),g(re.$$.fragment,e),g(z.$$.fragment,e),g(se.$$.fragment,e),g(ie.$$.fragment,e),g(D.$$.fragment,e),g(pe.$$.fragment,e),g(me.$$.fragment,e),g(q.$$.fragment,e),g(de.$$.fragment,e),g(ce.$$.fragment,e),g(ve.$$.fragment,e),g(ue.$$.fragment,e),g(K.$$.fragment,e),g(fe.$$.fragment,e),g(be.$$.fragment,e),g(Me.$$.fragment,e),g(Te.$$.fragment,e),g(_e.$$.fragment,e),g(Ie.$$.fragment,e),g(Ce.$$.fragment,e),g(Be.$$.fragment,e),g(je.$$.fragment,e),g(Ue.$$.fragment,e),g(ke.$$.fragment,e),g(Ze.$$.fragment,e),g(Ge.$$.fragment,e),g(Ve.$$.fragment,e),g(Ne.$$.fragment,e),g(We.$$.fragment,e),g(Ee.$$.fragment,e),g(Le.$$.fragment,e),g(He.$$.fragment,e),g(Se.$$.fragment,e),vn=!0)},o(e){$(h.$$.fragment,e),$(M.$$.fragment,e),$(le.$$.fragment,e),$(ae.$$.fragment,e),$(Q.$$.fragment,e),$(oe.$$.fragment,e),$(re.$$.fragment,e),$(z.$$.fragment,e),$(se.$$.fragment,e),$(ie.$$.fragment,e),$(D.$$.fragment,e),$(pe.$$.fragment,e),$(me.$$.fragment,e),$(q.$$.fragment,e),$(de.$$.fragment,e),$(ce.$$.fragment,e),$(ve.$$.fragment,e),$(ue.$$.fragment,e),$(K.$$.fragment,e),$(fe.$$.fragment,e),$(be.$$.fragment,e),$(Me.$$.fragment,e),$(Te.$$.fragment,e),$(_e.$$.fragment,e),$(Ie.$$.fragment,e),$(Ce.$$.fragment,e),$(Be.$$.fragment,e),$(je.$$.fragment,e),$(Ue.$$.fragment,e),$(ke.$$.fragment,e),$(Ze.$$.fragment,e),$(Ge.$$.fragment,e),$(Ve.$$.fragment,e),$(Ne.$$.fragment,e),$(We.$$.fragment,e),$(Ee.$$.fragment,e),$(Le.$$.fragment,e),$(He.$$.fragment,e),$(Se.$$.fragment,e),vn=!1},d(e){e&&(n(T),n(y),n(c),n(o),n(_t),n(ne),n(xt),n(It),n(k),n(Ct),n(Bt),n(Z),n(jt),n(Ut),n(_),n(kt),n(Zt),n(x),n(Gt),n(Vt),n(w),n(Nt),n(Wt),n(G),n(Et),n(Lt),n(ge),n(Ht),n($e),n(St),n(Ft),n(he),n(At),n(ye),n(Pt),n(Xt),n(we),n(Yt),n(Rt),n(Je),n(Ot),n(Qt),n(xe),n(zt),n(Dt),n(F),n(qt),n(A),n(Kt),n(en),n(tn),n(P),n(nn),n(ln),n(X),n(an),n(on),n(E),n(rn),n(V),n(sn),n(Y),n(pn),n(R),n(mn),n(O),n(dn),n(cn),n(wt)),n(m),b(h,e),b(M,e),b(le,e),b(ae),b(Q),b(oe,e),b(re),b(z),b(se,e),b(ie),b(D),b(pe,e),b(me),b(q),b(de,e),b(ce),b(ve,e),b(ue),b(K),b(fe,e),b(be,e),b(Me,e),b(Te,e),b(_e,e),b(Ie,e),b(Ce),b(Be),b(je,e),b(Ue,e),b(ke),b(Ze,e),b(Ge),b(Ve,e),b(Ne),b(We),b(Ee),b(Le),b(He),b(Se,e)}}}const oa='{"title":"CLI","local":"cli","sections":[{"title":"openenv init","local":"openenv.cli.commands.init","sections":[],"depth":2},{"title":"openenv build","local":"openenv.cli.commands.build","sections":[],"depth":2},{"title":"openenv validate","local":"openenv.cli.commands.validate","sections":[],"depth":2},{"title":"openenv push","local":"openenv.cli.commands.push","sections":[],"depth":2},{"title":"openenv serve","local":"openenv.cli.commands.serve","sections":[],"depth":2},{"title":"openenv fork","local":"openenv.cli.commands.fork","sections":[],"depth":2},{"title":"openenv skills","local":"openenv.cli.commands.skills.skills_add","sections":[],"depth":2}],"depth":1}';function ra(N){return Rl(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class ca extends Ol{constructor(m){super(),Ql(this,m,ra,aa,Yl,{})}}export{ca as component}; | |
Xet Storage Details
- Size:
- 44 kB
- Xet hash:
- 5144f104958f0c36d79920d0da773ea36ee6015031893107885c26d322db935f
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.