Commit fe4135c
Eric Bower
·
2026-05-09 13:01:19 -0400 EDT
parent e08a892
docs: copy
1 files changed,
+33,
-14
+33,
-14
| ... | ... | @@ -516,7 +516,7 @@ code { | |
| 516 | 516 | ============================================================ --> | |
| 517 | 517 | <nav> | |
| 518 | 518 | <div class="container"> | |
| 519 | - | <div class="logo">pici <span>— terminal-first CI</span></div> | |
| 519 | + | <div class="logo">pici <span>: terminal-first CI</span></div> | |
| 520 | 520 | <ul> | |
| 521 | 521 | <li><a href="#how">How It Works</a></li> | |
| 522 | 522 | <li><a href="#infra">Infra</a></li> |
| ... | ... | @@ -565,7 +565,7 @@ code { | |
| 565 | 565 | <span class="dot red"></span> | |
| 566 | 566 | <span class="dot yellow"></span> | |
| 567 | 567 | <span class="dot green"></span> | |
| 568 | - | <span style="margin-left: 0.5rem;">ci-myrepo-test — build log</span> | |
| 568 | + | <span style="margin-left: 0.5rem;">ci-myrepo-test: build log</span> | |
| 569 | 569 | </div> | |
| 570 | 570 | <div class="terminal-body"> | |
| 571 | 571 | <div class="output">Line 1847: ...</div> |
| ... | ... | @@ -594,7 +594,7 @@ code { | |
| 594 | 594 | <div class="two-col"> | |
| 595 | 595 | <div> | |
| 596 | 596 | <p> | |
| 597 | - | Every build step in pici runs as a <strong>real terminal session</strong> — a PTY you can attach to. | |
| 597 | + | Every build step in pici runs as a <strong>real terminal session</strong>: a PTY you can attach to. | |
| 598 | 598 | No "enable debugging" flag. No "re-run with SSH" button. No waiting for a tunnel. | |
| 599 | 599 | </p> | |
| 600 | 600 | <p> |
| ... | ... | @@ -602,10 +602,10 @@ code { | |
| 602 | 602 | inspect the environment, fix the issue. You're already there. | |
| 603 | 603 | </p> | |
| 604 | 604 | <ul class="check-list"> | |
| 605 | - | <li><code>zmx attach ci.myrepo.test</code> — you're in</li> | |
| 605 | + | <li><code>zmx attach ci.myrepo.test</code> to jump in</li> | |
| 606 | 606 | <li>Press <code>↑</code> to rerun the failing command</li> | |
| 607 | 607 | <li>Inspect files, env vars, network state</li> | |
| 608 | - | <li>No debug mode — it's just a terminal</li> | |
| 608 | + | <li>No debug mode. It's just a terminal.</li> | |
| 609 | 609 | </ul> | |
| 610 | 610 | </div> | |
| 611 | 611 | <div> |
| ... | ... | @@ -639,7 +639,7 @@ code { | |
| 639 | 639 | <div><span class="comment">#!/usr/bin/env bash</span></div> | |
| 640 | 640 | <div><span class="cmd">set -euo pipefail</span></div> | |
| 641 | 641 | <div> </div> | |
| 642 | - | <div><span class="comment"># These run in parallel — no config needed</span></div> | |
| 642 | + | <div><span class="comment"># These run in parallel, no config needed</span></div> | |
| 643 | 643 | <div><span class="cmd">zmx run lint docker run golangci-lint run</span></div> | |
| 644 | 644 | <div><span class="info"> → started session: ci.myrepo.lint</span></div> | |
| 645 | 645 | <div> </div> |
| ... | ... | @@ -769,12 +769,31 @@ code { | |
| 769 | 769 | </p> | |
| 770 | 770 | <div style="text-align:center; margin-top: 1rem;"> | |
| 771 | 771 | <span style="background: var(--surface); padding: 0.3rem 0.8rem; border-radius: 4px; font-size: 0.85rem; color: var(--yellow);"> | |
| 772 | - | Bring your own isolation — docker, namespaces, bare metal. You choose. | |
| 772 | + | Bring your own isolation: docker, namespaces, bare metal. You choose. | |
| 773 | 773 | </span> | |
| 774 | 774 | </div> | |
| 775 | 775 | </div> | |
| 776 | 776 | </section> | |
| 777 | 777 | ||
| 778 | + | <!-- ============================================================ | |
| 779 | + | PHILOSOPHY | |
| 780 | + | ============================================================ --> | |
| 781 | + | <section id="philosophy"> | |
| 782 | + | <div class="container" style="max-width: 640px; margin: 0 auto; text-align: center;"> | |
| 783 | + | <p class="section-label">Who It's For</p> | |
| 784 | + | <h2 style="justify-content: center;">CI that works for you, not against you.</h2> | |
| 785 | + | <p> | |
| 786 | + | pici is built for individuals and small teams who want to move fast. You write a bash | |
| 787 | + | script, you push your code, your build runs, and if something breaks you jump into the | |
| 788 | + | terminal and fix it. No YAML labyrinths, no approval workflows, no 400-page admin guide. | |
| 789 | + | </p> | |
| 790 | + | <p> | |
| 791 | + | We're not building enterprise CI. You won't find SSO, RBAC, or audit logs here. | |
| 792 | + | What you will find is a system that gets out of your way and lets you ship. | |
| 793 | + | </p> | |
| 794 | + | </div> | |
| 795 | + | </section> | |
| 796 | + | ||
| 778 | 797 | <!-- ============================================================ | |
| 779 | 798 | POWERED BY deploy.pico.sh | |
| 780 | 799 | ============================================================ --> |
| ... | ... | @@ -785,7 +804,7 @@ code { | |
| 785 | 804 | <div class="two-col"> | |
| 786 | 805 | <div> | |
| 787 | 806 | <p> | |
| 788 | - | <strong>ci.pico.sh</strong> runs on <strong>deploy.pico.sh</strong> — our SSH VM service | |
| 807 | + | <strong>ci.pico.sh</strong> runs on <strong>deploy.pico.sh</strong>: our SSH VM service | |
| 789 | 808 | on hardware we own. Not AWS. Not GCP. Not a cloud provider. | |
| 790 | 809 | </p> | |
| 791 | 810 | <p> |
| ... | ... | @@ -797,10 +816,10 @@ code { | |
| 797 | 816 | The same platform that runs your CI runs your apps. | |
| 798 | 817 | </p> | |
| 799 | 818 | <ul class="check-list"> | |
| 800 | - | <li>Our hardware — not a hyperscaler</li> | |
| 819 | + | <li>Our hardware, not a hyperscaler</li> | |
| 801 | 820 | <li>Docker Compose via <code>git push</code></li> | |
| 802 | 821 | <li>Expose HTTP services with compose labels</li> | |
| 803 | - | <li>Limited inventory — when it's gone, it's gone</li> | |
| 822 | + | <li>Limited inventory: when it's gone, it's gone</li> | |
| 804 | 823 | </ul> | |
| 805 | 824 | </div> | |
| 806 | 825 | <div class="terminal"> |
| ... | ... | @@ -848,7 +867,7 @@ code { | |
| 848 | 867 | <div class="feature-card"> | |
| 849 | 868 | <h3>AI-Agent Friendly</h3> | |
| 850 | 869 | <p> | |
| 851 | - | Terminal workflows, rsync + SSH pubsub, JSONL status streams — everything an agent | |
| 870 | + | Terminal workflows, rsync + SSH pubsub, JSONL status streams. Everything an agent | |
| 852 | 871 | needs to trigger builds, monitor progress, and attach to failures. No OAuth flows, | |
| 853 | 872 | no API rate limits, no webhooks. An agent can start as many jobs as it wants | |
| 854 | 873 | and read results as structured text. |
| ... | ... | @@ -866,7 +885,7 @@ code { | |
| 866 | 885 | <h3>Static Site Artifacts</h3> | |
| 867 | 886 | <p> | |
| 868 | 887 | Build artifacts are plain HTML + CSS. No JavaScript. No app server. No build step. | |
| 869 | - | Serve the directory with any static host — nginx, s3, pgs.sh, <code>python -m http.server</code>. | |
| 888 | + | Serve the directory with any static host: nginx, s3, pgs.sh, <code>python -m http.server</code>. | |
| 870 | 889 | Zero runtime dependencies. | |
| 871 | 890 | </p> | |
| 872 | 891 | </div> |
| ... | ... | @@ -927,12 +946,12 @@ code { | |
| 927 | 946 | <div class="error">FAIL myapp/api (14.2s)</div> | |
| 928 | 947 | <div class="error">Error: connection refused</div> | |
| 929 | 948 | <div> </div> | |
| 930 | - | <div class="comment"># you're in the session — inspect freely</div> | |
| 949 | + | <div class="comment"># you're in the session, inspect freely</div> | |
| 931 | 950 | <div><span class="prompt">$ </span><span class="cmd">cat .env</span></div> | |
| 932 | 951 | <div class="output">DB_HOST=postgres.internal:5432</div> | |
| 933 | 952 | <div><span class="prompt">$ </span><span class="cmd">nc -zv postgres.internal 5432</span></div> | |
| 934 | 953 | <div class="error">Connection refused</div> | |
| 935 | - | <div><span class="comment"># ↑ found it — wrong hostname</span></div> | |
| 954 | + | <div><span class="comment"># ↑ found it: wrong hostname</span></div> | |
| 936 | 955 | <div><span class="comment"># ↑ press ↑ to rerun the test after fixing</span></div> | |
| 937 | 956 | </div> | |
| 938 | 957 | </div> |