repo-map · git:20260903.2e6f1ba · 2026-09-03 · sha256 a95364f4cafd4ebf

repo-map git:20260903.2e6f1baA

Immutable. This exact content never changes and is served at /api/v1/blob/a95364f4cafd4ebf.

---
name: repo-map
description: >-
  Maps and routes between key repositories on my machine (boku, nibi-chain,
  nibi-geth, nibi-go-hm, nibi-ts-sdk, sai-web, sai-perps, nibi-iac,
  nibi-home-site, gh-io-ud, wasm-cosmwasm, wasm-go-wasmvm). Use when the user
  asks which repo to look at, where a feature lives, how repos connect, how
  services are deployed (Terraform/IaC), when a task spans chain, EVM, indexer,
  SDK, frontend, and docs, or when the user asks about the personal site, blog
  posts, official Nibiru docs, or Astro/gh-pages.
---

# Repo Map — Nibiru and Personal Repos

Use this skill to quickly route questions/tasks to the correct repo(s) under path `$HOME/ki/`.

## Quick routing

### Blockchain and EVM Impl
- `$HOME/ki/nibi-chain`: **Chain logic, modules, and Nibiru CLI (`nibid`)**. This repo
defines the logic, and you can run `nibid tx`, `nibid query`, or other commands in
the terminal to inspect exact functionality. Core L1 chain (Go). App wiring +
custom modules. Includes `cmd/nibid`. | `x/`, `app/`, `proto/`, `cmd/nibid/`
- `$HOME/ki/nibi-chain/x/evm`: **Nibiru EVM execution and precompiles live here.**. RPC is standard for the EVM.
- `$HOME/ki/nibi-geth`: **EVM state transition internals that do not involve precompiles; go-ethereum logic**
- `$HOME/ki/wasm-cosmwasm`: **CosmWasm repo**. Official GitHub name "CosmWasm/cosmwasm".
Defines the Wasmer version used via `cosmwasm-vm`'s `Cargo.toml`.
- `$HOME/ki/wasm-go-wasmvm`: **WasmVM repo**. Official GitHub name "CosmWasm/wasmvm".
Nibiru connects to this repo via the `github.com/CosmWasm/wasmvm` dependency in
`nibi-chain/go.mod` (currently version 1.5.9). `libwasmvm` depends on `cosmwasm`
transitively to pull in `wasmer`. The relationship is: `nibi-chain` -> `wasmvm`
-> `cosmwasm` -> `wasmer`.

### Nibiru Indexer and TypeScript SDK
- `$HOME/ki/nibi-go-hm`: 
   - **Indexer server (Heart Monitor) and GraphQL schema**. This is the Nibiru
   Indexer schema's source of truth. `graphql/graph/*.graphqls` (e.g. `staking.graphqls`, `user.graphqls`)
- `$HOME/ki/nibi-ts-sdk`: **TypeScript SDK (`@nibiruchain/nibijs`)** and Nibiru
Indexer (HeartMonitor) client. Look for `HeartMonitor`, generated `GQL*` types,
and query builders.

### Sai Exchange
- `$HOME/ki/sai-web/webapp`: **Sai: web app** (lives in monorepo). Web
frontend and API integrations. This uses the "sai-keeper" GraphQL interface.
- `$HOME/ki/sai-perps`: **Official Sai protocol contracts** (EVM + Wasm). This repo defines what gets deployed onchain; the web app and sai-keeper both talk to these contracts. Used by trading tools and integrations.
- `$HOME/ki/sai-keeper`: Defines the "sai-keeper" GraphQL interface for Sai.
- `$HOME/ki/nibi-chain/sai-trading`: **Sai: Trading bot automation service**
- `$HOME/ki/sai-docs`: Public-facing user documentation for Sai. Great conceptual
  resource.

### Nibiru Public Site and Docs
- `$HOME/ki/nibi-home-site`: **Nibiru official website, blog, and public docs**.
  Official Nibiru docs live in `docs-nibiru/` and publish to `nibiru.fi/docs`.
  Use this repo for docs content, site/blog changes, and docs navigation.

### Infrastructure (IaC)
- `$HOME/ki/nibi-iac`: **Infrastructure as code (Terraform)**. Source of truth for live deployments,
  DNS, and endpoints. Provisions GKE clusters, RPC/archive endpoints, indexer (Heart Monitor) GraphQL,
  sai-keeper GraphQL/REST, monitoring (Grafana, PagerDuty). For detailed repo connections and
  how nibi-iac deploys other services, see [REFERENCE.md](./REFERENCE.md). | `terraform/` (environments:
  `dev-gcp`, `itn2-gcp`, `mainnet-gcp`, `nibiru-gcp`), `terraform/_modules/` (e.g. `sai-keeper`,
  `go-hm-graphql`, `heart-monitor`)

### Personal, Blog, Boku Workspace
- `$HOME/ki/boku`: **Personal knowledge base and project hub.** Monorepo for sandboxing, backups, and external brain. Use when working on epics, specs, Nibiru notes, focustime, or scripts that span nibi-chain, sai-perps, sai-web. Contains: `epics/`, `nibi/` (addr-book, cook), `free/` (todos, journal), `sde/`, `jiyuu/` (focustime, mdtoc), `scripts/`. Bun/TS + Go + Rust. Run `just test`, `just install`.
- `$HOME/ki/gh-io-ud`: **Personal site (GitHub Pages).** Astro 4 + Tailwind. Blog
  content in `src/content/post/` (schema in `src/content/config.ts`). Site config
  `src/config.yaml`, nav `src/navigation.js`. Run `just dev`, build `just b`,
  deploy `just deploy`.

## GitHub Remotes and Git Cloning

### Repos with Prefix "sai-" or "nibi-" (`$HOME/ki`)

Nibiru work lives under org **`NibiruChain`**. Local directory names often **differ** from the repository slug (e.g. clone `nibiru` into **`nibi-chain`**). **`gh repo list NibiruChain`** lists canonical slugs for your account.

| Local folder | Remote |
|--------------|--------|
| `nibi-chain` | `git@github.com:NibiruChain/nibiru.git` |
| `nibi-geth` | `git@github.com:NibiruChain/go-ethereum.git` |
| `nibi-go-hm` | `git@github.com:NibiruChain/heart-monitor.git` |
| `nibi-ts-sdk` | `git@github.com:NibiruChain/ts-sdk.git` |
| `nibi-home-site` | `git@github.com:NibiruChain/home-site.git` |
| `sai-web` | `git@github.com:NibiruChain/sai-web.git` |
| `sai-perps` | `git@github.com:NibiruChain/sai-perps.git` |
| `sai-keeper` | `git@github.com:NibiruChain/sai-keeper.git` |
| `sai-docs` | `git@github.com:NibiruChain/sai-docs.git` |
| `nibi-iac` | `git@github.com:NibiruChain/iac.git` |

Other entries in this map: **`wasm-cosmwasm`** → `git@github.com:CosmWasm/cosmwasm.git`; **`wasm-go-wasmvm`** → `git@github.com:CosmWasm/wasmvm.git`; **`boku`** → `git@github.com:Unique-Divine/boku.git` (personal).

Copy-paste **`git clone`** commands, optional idempotent **`clone`** helper function, and notes on discovering org repos: [cloning.md](./cloning.md).