Commit e08a892

Eric Bower  ·  2026-05-09 12:51:40 -0400 EDT
parent fc52491
docs: copy
1 files changed,  +23, -19
M website/index.html
+23, -19
  1@@ -384,6 +384,7 @@ p { margin-bottom: 1rem; }
  2 .cta-section h2 {
  3   font-size: 1.8rem;
  4   margin-bottom: 0.5rem;
  5+  display: block;
  6 }
  7 
  8 .cta-section .subtitle {
  9@@ -640,13 +641,13 @@ code {
 10           <div>&nbsp;</div>
 11           <div><span class="comment"># These run in parallel — no config needed</span></div>
 12           <div><span class="cmd">zmx run lint docker run golangci-lint run</span></div>
 13-          <div><span class="output">  TODO: add example output</span></div>
 14+          <div><span class="info">  → started session: ci.myrepo.lint</span></div>
 15           <div>&nbsp;</div>
 16           <div><span class="cmd">zmx run test go test ./...</span></div>
 17-          <div><span class="output">  TODO: add example output</span></div>
 18+          <div><span class="info">  → started session: ci.myrepo.test</span></div>
 19           <div>&nbsp;</div>
 20-          <div><span class="cmd">zmx run build to build -o bin/pici .</span></div>
 21-          <div><span class="output">  TODO: add example output</span></div>
 22+          <div><span class="cmd">zmx run build go build -o bin/pici .</span></div>
 23+          <div><span class="info">  → started session: ci.myrepo.build</span></div>
 24           <div>&nbsp;</div>
 25           <div><span class="comment"># Wait for all to finish</span></div>
 26           <div><span class="cmd">zmx wait "*"</span></div>
 27@@ -812,17 +813,24 @@ code {
 28         <div class="terminal-body">
 29           <div><span class="comment">--- docker-compose.yml ---</span></div>
 30           <div>services:</div>
 31-          <div>  api:</div>
 32-          <div>    image: myapp:latest</div>
 33-          <div>    labels:</div>
 34-          <div>      pico.http.expose: "true"</div>
 35-          <div>      pico.http.host: "api.myapp.pico.sh"</div>
 36+          <div>&nbsp;&nbsp;echo:</div>
 37+          <div>&nbsp;&nbsp;&nbsp;&nbsp;build: .</div>
 38+          <div>&nbsp;&nbsp;&nbsp;&nbsp;networks:</div>
 39+          <div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- default</div>
 40+          <div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- pdeploy-ingress</div>
 41+          <div>&nbsp;&nbsp;&nbsp;&nbsp;labels:</div>
 42+          <div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;traefik.enable: true</div>
 43+          <div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;traefik.http.routers.echo.rule: Host(`echo-&lt;user&gt;.apps.pico.sh`)</div>
 44           <div>&nbsp;</div>
 45-          <div><span class="prompt">$ </span><span class="cmd">git remote add deploy ssh://deploy.pico.sh/myapp</span></div>
 46-          <div><span class="prompt">$ </span><span class="cmd">git push deploy main</span></div>
 47+          <div>networks:</div>
 48+          <div>&nbsp;&nbsp;pdeploy-ingress:</div>
 49+          <div>&nbsp;&nbsp;&nbsp;&nbsp;external: true</div>
 50+          <div>&nbsp;</div>
 51+          <div><span class="prompt">$ </span><span class="cmd">git remote add pdeploy ssh://deploy.pico.sh/user/project.git</span></div>
 52+          <div><span class="prompt">$ </span><span class="cmd">git push pdeploy main</span></div>
 53           <div>&nbsp;</div>
 54           <div><span class="info">→ containers deployed</span></div>
 55-          <div><span class="info">→ api.myapp.pico.sh is live</span></div>
 56+          <div><span class="info">→ echo-&lt;user&gt;.apps.pico.sh is live</span></div>
 57         </div>
 58       </div>
 59     </div>
 60@@ -838,7 +846,6 @@ code {
 61     <h2>Built for terminals, agents, and humans.</h2>
 62     <div class="feature-grid">
 63       <div class="feature-card">
 64-        <div class="icon">🤖</div>
 65         <h3>AI-Agent Friendly</h3>
 66         <p>
 67           Terminal workflows, rsync + SSH pubsub, JSONL status streams — everything an agent
 68@@ -848,7 +855,6 @@ code {
 69         </p>
 70       </div>
 71       <div class="feature-card">
 72-        <div class="icon">🔌</div>
 73         <h3>SSH-First</h3>
 74         <p>
 75           No HTTP APIs to expose. No webhooks to configure. No OAuth tokens to manage.
 76@@ -857,7 +863,6 @@ code {
 77         </p>
 78       </div>
 79       <div class="feature-card">
 80-        <div class="icon">📄</div>
 81         <h3>Static Site Artifacts</h3>
 82         <p>
 83           Build artifacts are plain HTML + CSS. No JavaScript. No app server. No build step.
 84@@ -866,7 +871,6 @@ code {
 85         </p>
 86       </div>
 87       <div class="feature-card">
 88-        <div class="icon">🔐</div>
 89         <h3>Build Attestation</h3>
 90         <p>
 91           Automatic provenance baked into every job: runner hostname, OS, arch, repo, branch,
 92@@ -972,8 +976,9 @@ code {
 93 </footer>
 94 
 95 <script>
 96-// Auto-generate anchor links for all h2 elements
 97+// Auto-generate anchor links for all h2 elements (skip CTA)
 98 document.querySelectorAll('h2').forEach(h2 => {
 99+  if (h2.closest('.cta-section')) return;
100   const section = h2.closest('section, [id]');
101   if (section && section.id) {
102     const a = document.createElement('a');
103@@ -994,8 +999,7 @@ function handleSignup(e) {
104   e.preventDefault();
105   const form = e.target;
106   const email = form.email.value;
107-  // TODO: wire up to your backend / pipe.pico.sh / etc.
108-  // For now, just show a confirmation
109+  // wire up to your backend / pipe.pico.sh / etc.
110   form.innerHTML = `<p style="color: var(--green); padding: 0.7rem 0;">✓ You're on the list, ${email}.</p>`;
111 }
112 </script>