Skip to content

Repository map

Monfil has three application process trees and a separate documentation site. Find the boundary that owns a behavior before you edit its caller.

Renderer -> preload bridge -> IPC -> main -> SQLite
|--> feeds and articles
|--> OPML, backups, logs

The shared contracts define data and IPC types for both sides. The main process owns network, database, and filesystem work. The preload bridge exposes a restricted set of methods to the renderer.

Area What you will find
Main Startup, windows, network, feeds, SQLite, filesystem, and IPC handlers
Preload The bridge exposed as window.electron
Renderer React routes, reader, state, and UI
Shared Data contracts, channels, results, and errors
Feedpacks Curated OPML and catalog metadata
Documentation Astro Starlight site
Coverage scripts Instrumentation for the e2e build, the merge, the pull request report, and the tag backfill described in Code coverage
Complexity scripts Function metrics, the pull request report, and the uploads described in Code complexity
Devanalytics Worker Cloudflare Worker and D1 database that store the complexity and coverage metrics

In main, start with feed work, database work, OPML, feedpacks, logging, or IPC. In the renderer, routes choose views; providers and query hooks hold UI state.

The Forge configuration and process Vite configs control the build.