Registry Overview
The Registry is the public platform that turns the on-chain RIK protocol into something humans can browse, search, and react to. It is structured as a small monorepo of focused apps.
Source: freecodexyz/registry.
Structure
The runtime layout is intentionally simple:
Base Sepolia RPC ─► api (indexer) ──► SQLite
▲
│
GitHub REST API ──────────────┘ (metadata enrichment)
│
api (server) ◄──────────────── reads SQLite, serves JSON + SSE
▲
│
▼
web (React) ◄────► wallet (SIWE) ◄────► api (auth endpoints)
│
▼
user browserThe chain is the source of truth. The indexer polls the RIK contract for RepoRegistered events, enriches each event with GitHub metadata, and writes the result to SQLite. The API server reads from SQLite and broadcasts new registrations over Server-Sent Events. The web app subscribes to the SSE stream and renders.
Reading list
- Web App, what the user sees, how it authenticates.
- Indexer & API, how the indexing works, what the API exposes.
- Access Gating, SIWE login + token-balance gate.
Local development
The monorepo uses pnpm workspaces. From the repo root:
CONTRACT_ADDRESS="0xc03a52cD0EB2d5d456e64bda0557Db04608d1eac" RPC_URL="https://base-sepolia-rpc.publicnode.com" CHAIN_ID=84532 pnpm devThis runs the API, the indexer, and the web app concurrently. Use the per-app helpers to develop pieces in isolation:
pnpm dev:docs # this site
pnpm dev:landing # marketing siteSee the README for the full set of scripts and per-app filters.