Off-chain Morpho curator bots — reallocators, liquidation monitors, and similar — and the shared packages they consume.
This is a pnpm workspaces monorepo:
bots/— individual bot apps (one per bot); each keeps its owndocs/packages/— shared libraries (@repo/bot-kit,@repo/swaps,@repo/contracts,@repo/utils,@repo/typescript-config)
nvm use # Node 24.14.1 (see .nvmrc)
corepack enable pnpm # pnpm 11.1.1, pinned by package.json#packageManager
pnpm installpnpm denies dependency lifecycle scripts by default — see allowBuilds in
pnpm-workspace.yaml. An install that needs a new one fails loudly rather than running it.
pnpm run lint # oxlint, repo-wide
pnpm run lint:fix # oxlint with --fix
pnpm format # oxfmt, repo-wide
pnpm run knip # dead-code detection
bun test # bun's built-in test runnerdocs/INDEX.md— documentation discovery index (guides, bots, packages, TIBs)CLAUDE.md— agent and contributor conventions (Strict Rules, agent team, self-verification ritual)docs/CONVENTIONS.md— code organization, patterns, and styledocs/GUIDANCE.md— when to write a TIB, when to file a Linear ticketdocs/decisions/— TIBs (Technical Intent Briefs)docs/templates/— TIB and data-flow doc templates
The monorepo scaffold and tooling rationale are documented in TIB-2026-04-16.
Bot docs:
bots/midnight-liquidation/README.md— how to run the Midnight liquidation bot and how it works end to endbots/midnight-crossed-books/README.md— permissionless crossed-book matching bot and resolverbots/blue-liquidation/README.md— how to run the Morpho Blue liquidation bot and how it works end to end
Apache-2.0 © 2026 Morpho Association