Skip to content

Latest commit

 

History

History
74 lines (54 loc) · 3.06 KB

File metadata and controls

74 lines (54 loc) · 3.06 KB

Hudson documentation

Everything written down about Hudson, organized by what you are trying to do.

Start here

If you want to… Read
Use Hudson README.md
Work in this codebase (human or AI) CLAUDE.md
Understand how it fits together ARCHITECTURE.md
Run the Mac app ui/running-the-app.md

Reference — what the code does

One page per module. Types, signatures, behavior, and the tests that cover it.

Module Owns
GmailKit OAuth, Keychain, the Gmail API client, quota
Store SQLite schema, migrations, reads/writes, FTS, queues
SyncEngine Backfill, history polling, hydration, mutation flush
Outbox MIME building, reply threading, the send state machine
AIKit LLM providers, the egress choke point, the four AI features
HudsonCLI The hudson executable and every subcommand
HudsonUI SwiftUI views, view models, theme, keyboard routing

Explanation — why it works that way

The reasoning you cannot reconstruct from reading the code.

How-to — accomplish a specific task

Design

Source of truth

The spec is authoritative for intent. Code comments reference it by section (§4.2, §7.3); milestone tags (M1M7, U1, U2, D1) reference the plans.

Status

  • STATUS.md — distribution state, credentials, known follow-ups

Keeping these honest

A doc that lies is worse than no doc. When you change behavior a page describes, update the page in the same commit. The reference pages name the files they describe, so git grep for a filename will find its docs.