User documentation lives at docs.ci.computer: installation, tutorials, connecting agents, networking, and reference. Send people who run a Hub there. This directory holds the engineering notes that change with this repository's code.
Use this index so Hub, Portal, Memory, and agent-only material stay distinct.
To report a vulnerability, read ../SECURITY.md first.
| Name | What it is | Open source? |
|---|---|---|
| Companion Hub (this repo) | Appliance runtime: installs and supervises marketplace apps | Yes (PolyForm Noncommercial) |
| Companion Portal | Cloud control plane (entitlements, device registration, OIDC) | No |
| Companion Memory (CI-Server / ci-memory) | Personal memory brain on the appliance | Yes (PolyForm Noncommercial) |
Do not call Hub “CI-OS-Hub”, “Runtipi”, or “Tipi” in new docs. Prefer Companion Hub or Hub. Prefer Companion Memory over CI-Server in user-facing prose; keep ci-memory for compose service and package names.
Before publish, tip content may include people and device names (for example core-2, beta-1, operator display names).
Do not commit:
- Private or lab URLs (real MagicDNS suffixes, Tailscale Serve hostnames, internal Drive/wiki URLs that are not public product links)
- Live Tailscale CGNAT addresses from the lab (use documentation examples such as
100.64.0.1) - Passwords, API keys, tokens, or private key material (test fixtures must use obvious placeholders)
Public product URLs (https://ci.computer, https://hub.ci.computer, *.companionintelligence.com as documented product surfaces) and support addresses ([email protected]) are fine.
Follow the Google developer documentation style guide and the house summary in writing-style.md. Apply the same voice to English prose in markdown and to comments meant for humans (not generated code or schemas).
| Doc | Audience |
|---|---|
| docs.ci.computer | Anyone installing or running a Hub |
../README.md |
Anyone cloning the repo |
DEVELOPMENT_SETUP.md |
Prerequisites, the two installs that fail without them, and known-good test baselines |
License-FAQ.md |
License questions |
security/hub-portal-trust.md |
Hub ↔ Portal trust; marketplace needs a paired device key |
portal-check-in.md |
Portal check-in, reading registration health without sending one, and recovering a Hub whose device key Portal rejects |
telemetry.md |
What Hub reports to Sentry, and the switches that stop it |
CLI.md |
cihub CLI |
apple-container.md |
Run a Hub on Apple container through socktainer on a Mac: setup, how the desktop app chooses an engine, and what differs from Docker |
editor-inference.md |
Point Continue, Zed, Cline, Aider, or an OpenAI SDK at the Hub: base URL, inference key, and model |
hub-stack-self-update.md |
What the Hub self-updater moves and refuses, and how to turn off auto-update on a node |
fleet-setup.md |
End-to-end setup: account, devices, operators, tailnet, and pooling — the order to do them in |
private-vpn.md |
Tailscale private VPN |
hub-pool.md |
Multi-Hub inference pooling over Tailscale, with a quick start for the setup guide and the CLI |
inference-supervision.md |
Observing inference backends and Compose-wide crash loops — and why the Hub never restarts one |
inference-engine-comparison.md |
Ollama, vLLM, Lemonade, and oMLX compared with the Strix Halo engines Halogen and Gufo, and what a fair test needs |
hub-pool-fleet-testing.md |
Two-node validation plan for Hub Pool |
hub-pool-vs-pair.md |
Hub Pool compared with NVIDIA Personal-AI-Router |
fleet-router.md |
Prompt every tailnet inference node when no Hub can run |
openclaw-test-account.md |
Isolated OpenClaw profile routed across the fleet |
runbooks/fleet-pool-upgrade.md |
Release and roll out a pool-capable Hub to the fleet |
ci-cd-pipeline.md |
Historical multi-env deploy notes |
dns-cache-analysis.md |
Desktop DNS NXDOMAIN investigation |
| Doc | Role |
|---|---|
ARCHITECTURE.md |
Deep dive for this repo |
PLATFORM_ARCHITECTURE.md |
How Hub sits next to Portal and Memory |
system/ |
Living subsystem notes agents update with code |
packages/backend/ARCHITECTURE.md is a short pointer only; do not treat it as the source of truth.
| Doc | Role |
|---|---|
E2E_TESTING_STRATEGY.md |
Playwright / e2e strategy |
MCP_TESTING_STRATEGY.md |
Marketplace MCP QA |
FLYWHEEL.md |
App explorer flywheel (lab passwords are placeholders) |
../e2e/README.md |
Local e2e commands |
hub-pool-fleet-testing.md |
Manual two-node Hub Pool validation on real appliances |
Multi-node fleet orchestration lives on a private ops mirror, not in this tip.
| Doc | Role |
|---|---|
../AGENTS.md |
Agent router |
agent/ |
Workflow, review, coding conventions |
../CONTRIBUTING.md |
Human contributor guide |
Session dumps and audits are not published on the tip (agent/sessions/, audits/ are stubs).
| Path | Role |
|---|---|
../video/ |
Active HyperFrames build |
../videos/ |
Archived tutorial assets |
Prefer video/ for new work. Do not mix the two trees without updating both READMEs.