← all repositories
husu/loom

Vibe-coding your API docs into existence

A CLI that turns chat prompts into JSON Schema docs, then serves them with a built-in browser and mock server.

loom
Velocity · 7d
+43
★ / day
Trend
steady
star history

What it does

Loom is a Node.js CLI tool that uses LLM chat (DeepSeek by default, OpenAI supported) to generate and maintain JSON Schema API documentation. You describe endpoints in natural language; it writes structured schema files to a docs/ directory. A React-based web viewer and a dynamic mock server are bundled in, controllable from the same TUI chat interface.

The interesting bit

The project treats documentation as a living artifact you maintain conversationally. The /scan command can crawl source code, identify API endpoints across multiple phases, cache LLM results by file hash to skip unchanged files, and resume interrupted runs. Entities live in docs/entities/ and get referenced via x-entity-ref, so your schemas stay DRY without leaving the JSON Schema ecosystem.

Key highlights

  • TUI chat interface with persistent history, slash commands, and service control (/mock, /view)
  • /scan <dir> for LLM-driven code analysis with incremental caching and resumable breakpoints
  • Built-in React SPA viewer with module browsing, search, and schema table rendering
  • Mock server auto-registers routes from schema files using mock-json-schema
  • loom serve runs viewer and mock on one port; manifest rebuild keeps indexes consistent
  • Auto-upgrade checks against npm on startup

Caveats

  • DeepSeek API key is strictly required; no local/offline fallback mentioned
  • README is Chinese-first; English version exists but may lag
  • Telemetry is on by default (silent usage pings with install UUID); no obvious opt-out documented in the provided text

Verdict

Worth a look if you maintain API docs by hand and already pay for LLM access. Skip it if you need offline operation, strict data-privacy controls, or a plug-and-play solution for non-Node.js stacks.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.