Directories
¶
| Path | Synopsis |
|---|---|
|
cmd
|
|
|
mailrules
command
Command mailrules is the MailRules daemon and CLI: the free self-host build, with no modules (ext/daemon runs it).
|
Command mailrules is the MailRules daemon and CLI: the free self-host build, with no modules (ext/daemon runs it). |
|
Package ext is the plug-in point of the MailRules daemon: the one public package through which a module built outside this repository adds a feature.
|
Package ext is the plug-in point of the MailRules daemon: the one public package through which a module built outside this repository adds a feature. |
|
daemon
Package daemon runs the MailRules command line: the daemon and web UI (serve), and the migrate, accounts, users, eval, rules, dry-run and version commands.
|
Package daemon runs the MailRules command line: the daemon and web UI (serve), and the migrate, accounts, users, eval, rules, dry-run and version commands. |
|
internal
|
|
|
actions
Package actions is the only code that changes a mailbox: the executor that applies a rule's actions, and undo.
|
Package actions is the only code that changes a mailbox: the executor that applies a rule's actions, and undo. |
|
api
Package api serves the HTTP API described in api/openapi.yaml.
|
Package api serves the HTTP API described in api/openapi.yaml. |
|
composer
Package composer holds the two ways a user tries rules out before they act: the rule composer, which turns free text into validated draft rules, and the rule tester, which runs saved or draft rules over recent mail.
|
Package composer holds the two ways a user tries rules out before they act: the rule composer, which turns free text into validated draft rules, and the rule tester, which runs saved or draft rules over recent mail. |
|
config
Package config loads daemon settings from environment variables and flags.
|
Package config loads daemon settings from environment variables and flags. |
|
config/docgen
command
Command docgen writes the settings reference, docs/guide/settings.md, from the settings internal/config registers, so the page cannot drift from the daemon.
|
Command docgen writes the settings reference, docs/guide/settings.md, from the settings internal/config registers, so the page cannot drift from the daemon. |
|
contacts
Package contacts keeps the index of addresses the user has written to, built from the Sent folder.
|
Package contacts keeps the index of addresses the user has written to, built from the Sent folder. |
|
crypto
Package crypto holds envelope encryption for mailbox credentials and password hashing.
|
Package crypto holds envelope encryption for mailbox credentials and password hashing. |
|
events
Package events is the in-process event hub.
|
Package events is the in-process event hub. |
|
learn
Package learn holds what the daemon learns from its own decisions and the user's corrections: learned sender rules, and the few-shot examples the fallback model is shown.
|
Package learn holds what the daemon learns from its own decisions and the user's corrections: learned sender rules, and the few-shot examples the fallback model is shown. |
|
mail
Package mail defines the Mailbox interface every mail provider implements, and the types and errors shared by its callers.
|
Package mail defines the Mailbox interface every mail provider implements, and the types and errors shared by its callers. |
|
mail/imap
Package imap implements mail.Mailbox over IMAP with go-imap v2.
|
Package imap implements mail.Mailbox over IMAP with go-imap v2. |
|
mail/imap/imaptest
Package imaptest runs go-imap's in-memory IMAP server over TLS for integration tests.
|
Package imaptest runs go-imap's in-memory IMAP server over TLS for integration tests. |
|
mail/mailtest
Package mailtest is an in-memory mail.Mailbox for tests of the packages that sit on top of the connector.
|
Package mailtest is an in-memory mail.Mailbox for tests of the packages that sit on top of the connector. |
|
mail/presets
Package presets holds per-provider connection defaults: host, port, TLS mode, folder-name fallbacks for servers without SPECIAL-USE, and known quirks.
|
Package presets holds per-provider connection defaults: host, port, TLS mode, folder-name fallbacks for servers without SPECIAL-USE, and known quirks. |
|
mailer
Package mailer sends email: the summary email.
|
Package mailer sends email: the summary email. |
|
mailer/mailertest
Package mailertest is an in-memory mailer.Sender for tests of the packages that send email.
|
Package mailertest is an in-memory mailer.Sender for tests of the packages that send email. |
|
message
Package message holds the email types shared by the IMAP connector, the rules engine and the model adapters.
|
Package message holds the email types shared by the IMAP connector, the rules engine and the model adapters. |
|
models
Package models puts every model provider behind two interfaces: Decider (which rule does this email match?) and Generator (free-form structured output).
|
Package models puts every model provider behind two interfaces: Decider (which rule does this email match?) and Generator (free-form structured output). |
|
models/anthropictest
Package anthropictest is a fake Anthropic API for tests: the Messages API, token counting and List Workspaces, answering as the test sets it up and recording what it was sent.
|
Package anthropictest is a fake Anthropic API for tests: the Messages API, token counting and List Workspaces, answering as the test sets it up and recording what it was sent. |
|
pipeline
Package pipeline takes one new email from arrival to outcome: ingest (once), fetch and parse, evaluate the rules, ask the decision model when rules with an intent are in play, hand the winning rule's actions to the executor or park the email in Needs review, record it all, and learn.
|
Package pipeline takes one new email from arrival to outcome: ingest (once), fetch and parse, evaluate the rules, ask the decision model when rules with an intent are in play, hand the winning rule's actions to the executor or park the email in Needs review, record it all, and learn. |
|
rules
Package rules holds the rule types, the condition matcher, validation, the evaluation order for one email and YAML import/export.
|
Package rules holds the rule types, the condition matcher, validation, the evaluation order for one email and YAML import/export. |
|
settings
Package settings owns the settings a user changes while the daemon runs: the dry-run switch, the decision models and thresholds, retention, where trashed mail goes, whether the mailbox's own mail is left alone, and the model provider keys.
|
Package settings owns the settings a user changes while the daemon runs: the dry-run switch, the decision models and thresholds, retention, where trashed mail goes, whether the mailbox's own mail is left alone, and the model provider keys. |
|
store
Package store owns the SQLite database: opening it, migrating it and, later, the repositories.
|
Package store owns the SQLite database: opening it, migrating it and, later, the repositories. |
|
summary
Package summary is the summary email: a daily or weekly email of what MailRules sorted per rule, what it trashed and what waits in Needs review, with links into the web app.
|
Package summary is the summary email: a daily or weekly email of what MailRules sorted per rule, what it trashed and what waits in Needs review, with links into the web app. |
|
telemetry
Package telemetry sets up logging (and, later, metrics).
|
Package telemetry sets up logging (and, later, metrics). |
|
web
Package web serves the browser UI that is built into the binary.
|
Package web serves the browser UI that is built into the binary. |
|
worker
Package worker runs one supervisor per mail account: it connects, watches the account's folder and feeds each arrival to the pipeline, strictly in UID order.
|
Package worker runs one supervisor per mail account: it connects, watches the account's folder and feeds each arrival to the pipeline, strictly in UID order. |
Click to show internal directories.
Click to hide internal directories.