Skip to main content

AI Ecosystem

This section documents how we use AI-assisted development and automation at Ledgerline: Cursor (skills, rules, commands), MCP, testing and quality gates, external services, and local tooling. It’s both a reference for contributors and an invitation to see how human and machine can work together on a real codebase.

What you’ll find here

  • Overview — How the pieces fit together and the “project brain” behind our setup.
  • Cursor setup — Skills, rules, and commands: what they are and how they keep the codebase consistent.
  • Renovate autoupdater — How dependency upgrades are validated, when agents are spawned, and how we avoid thundering herds (40+ merges, 10+ agents at time of writing).
  • Documentation automation — How we keep API, command, reference, release notes, and AI reference docs updated without writing them by hand; flowcharts and doc types.
  • Documentation types and rules — Source-of-truth matrix for which docs map to which file changes and exactly when pre-commit automation kicks in.
  • Automation and tools — Scripts, CI, and workflows that run with or without an AI in the loop.
  • Testing and quality — Unit tests, E2E, contract tests, lint, typecheck, and Semgrep.
  • Agents and models — How we think about online vs offline agents and when to use which.
  • MCP (Model Context Protocol) — Servers we connect to (e.g. Render) and what they enable.
  • External services — Linear, GitHub, Render, Mongo Atlas, Datadog, Sentry, Notion: how and why we use each.
  • Local developer tooling — Husky, ESLint, commitlint, pre-commit: the guardrails that run before every commit.
  • Reference — Auto-generated index of all Cursor skills, rules, commands, and MCPs (updated when you add or change them).

For AI enthusiasts

If you’re new to “AI-native” development, this section is a concrete example of one way to do it: encode project conventions as rules, give the assistant skills for multi-step tasks, use MCP to pull in live context from external systems, and keep quality gates so that human and AI output stay maintainable. None of it is magic—just structure, documentation, and automation that we’ve tuned over time.