lomi.
Contributing

Maintaining CLI and MCP

Guide for lomi. contributors and operators who develop or deploy apps/cli and apps/mcp, not for merchant integrators.

The lomi. CLI and MCP server are integrator tools: they help developers build on the hosted merchant API. This page is for people who maintain those packages in the monorepo or deploy the hosted MCP server.

If you are integrating lomi. into your product, use CLI and MCP instead.

Who should read this

RoleUse CLI/MCP to…Use this page for…
Merchant developerIntegrate checkout, webhooks, SDKNo, use Build docs
ContributorDogfood integration flows while building featuresYes, when changing apps/cli or apps/mcp
Operator-Yes, deploy MCP, regenerate tools, release CLI

CLI/MCP are not for operating apps/admin, self-hosting payment processing, or general monorepo maintenance (migrations, API deploy, etc.).

CLI (apps/cli)

Maintainer docs: apps/cli/CONTRIBUTING.md

TaskCommand / location
Local devcd apps/cli && cargo build && cargo test
Docs driftlomi docs check or dt check (from monorepo root)
Docs scan / graphlomi docs scan, lomi docs graph (delegates to apps/tools/doctool)
Docs i18nlomi docs sync-i18n, lomi docs translate-i18n
Docs improve / difflomi docs improve, lomi docs diff
Agent rules./apps/cli/scripts/generate-rules.sh
ReleaseTag cli-v*, see CONTRIBUTING.md

doctool (dt)

Documentation tooling CLI (CORE-38). Standalone repo: github.com/lomiafrica/doctool, checked out as a submodule at apps/tools/doctool.

Initialize for local dev:

git submodule update --init apps/tools/doctool
cd apps/tools/doctool && cargo build

Maintainer docs: apps/tools/doctool/CONTRIBUTING.md

TaskCommand / location
Local devcd apps/tools/doctool && cargo build && cargo test
Index monorepodt scan --root ..doctool/index.json
Drift reportdt drift --root .
Knowledge graphdt graph --root .
Scaffold REST MDXdt scaffold --root .
i18n sync (deterministic)dt sync-i18n --check
i18n translate (LLM)dt translate-i18n --dry-run (set DOCTOOL_LLM_API_KEY or DOCTOOL_LLM_MOCK=1)
Improve MDXdt improve --path build/usage-billing.mdx --stdout
Diff proposed MDXdt diff --path build/usage-billing.mdx --proposed .doctool/out/...
CI.github/workflows/app-ci-doctool.yml

MCP (apps/mcp)

Maintainer docs: apps/mcp/CONTRIBUTING.md

TaskCommand / location
Local HTTP servercd apps/mcp && pnpm run start:http
Regenerate toolspnpm run generate → commit src/generated/tools-manifest.json
Drift CIpnpm docs:drift (OpenAPI ↔ MDX, MCP manifest, agent contracts)
Agent OpenAPIcd apps/api && pnpm run openapi:export:agentapps/docs/agent-openapi.json (agent, provisioning, partners)
OAuth / agent connect envAPI: LOMI_OAUTH_ISSUER, LOMI_DASHBOARD_BASE_URL: MCP: LOMI_OAUTH_ISSUER, LOMI_MCP_RESOURCE_URL
Deploy.env.example, railway.json
Testspnpm test

Integrators should use https://mcp.lomi.africa or npx @lomi./mcp, not a self-deployed instance unless they work on lomi. engineering.

On this page