This file documents the current localLOOP multi‑repo organization, live domains, VPS context, and operational runbooks. Keep it updated whenever domains, repos, or infrastructure change.
-
localloop.github.io
Public GitHub Pages site (Next.js static export).
Primary public domain:https://local-loop-io.github.io -
loop-protocol
Protocol spec, schemas, examples, RFCs, and JSON‑LD context source of truth. -
localloop-backend
Bun + Fastify API for interest registry, lab demo flows, metrics, SSE streams. -
org-github-profile
Organization profile docs (repo metadata/README).
- Public site:
https://local-loop-io.github.io - Backend API:
https://loop-api.urbnia.com - Note:
api.local-loop.iodoes not exist.
- VPS is the primary backend host; Traefik is running globally in Docker.
- Backend compose file:
localloop-backend/docker-compose.yml- Containers:
localloop-backend-api,localloop-backend-postgres,localloop-backend-redis,localloop-backend-minio.
- Containers:
- Typical rebuild:
cd localloop-backend && docker compose up -d --build
- API base:
https://loop-api.urbnia.com - Health:
/health - Metrics:
/api/metrics - Interest list:
/api/interest - Interest SSE:
/api/interest/stream - Loop SSE:
/api/v1/stream - Auth status:
/api/auth/status - Swagger docs:
/docs
See .env.example and .env.docker.example. Highlights:
ALLOWED_ORIGINS(default:https://local-loop-io.github.io)RATE_LIMIT_MAX,RATE_LIMIT_WRITE_MAXRATE_LIMIT_WINDOW,RATE_LIMIT_WRITE_WINDOWSSE_KEEPALIVE_MS,SSE_MAX_CLIENTSAPI_KEY_ENABLED,API_KEYAUTH_ENABLED,BETTER_AUTH_SECRET
- Preferred JSON‑LD context:
https://local-loop-io.github.io/projects/loop-protocol/contexts/loop-v0.2.0.jsonld - The v0.1.1 context remains valid for backward compatibility:
https://local-loop-io.github.io/projects/loop-protocol/contexts/loop-v0.1.1.jsonld
All repos enforce domain consistency:
- Site:
localloop.github.io/scripts/check-domains.cjs - Protocol:
loop-protocol/scripts/check-domains.sh - Backend:
localloop-backend/scripts/check-domains.sh
If you add or change domains, update:
DOMAIN-POLICY.md- Domain check scripts
- Any hardcoded URLs in spec/examples/schemas/docs
Use BrowserLab for smoke visual runs:
cd /path/to/project
browserlab run https://local-loop-io.github.io/Artifacts:
/var/lib/browserlab/screenshots/var/lib/browserlab/reports/var/lib/browserlab/traces/var/lib/browserlab/storage-states
cd localloop.github.io
bun install
bun run dev
bun run build
bun run testcd localloop-backend
bun install
bun test
bun run lab:demo
bun run lab:federationcd loop-protocol
npm ci
npm testThe project is early‑stage (low TRL) with no public pilots or deployments. All outward‑facing content must avoid pilot claims. Use “lab demo only” language.
Main branches are protected. Contributors must work on branches and open PRs;
only alpha912 should merge.
Never commit secrets or credentials. Keep .env files local only.
Never include Claude, Anthropic, or any AI tool name or co-authorship trailer in commit messages. Commits must read as if written by the human developer. No Co-Authored-By: Claude or similar lines.