Directories
¶
| Path | Synopsis |
|---|---|
|
Package app is Godwit's desktop interface: one App whose view is rebuilt every frame from state that only the UI thread changes.
|
Package app is Godwit's desktop interface: one App whose view is rebuilt every frame from state that only the UI thread changes. |
|
Package assets embeds Godwit's brand assets.
|
Package assets embeds Godwit's brand assets. |
|
cmd
|
|
|
godwit
command
Command godwit is the Godwit desktop app, its headless server and the command-line client of its Local API (see run).
|
Command godwit is the Godwit desktop app, its headless server and the command-line client of its Local API (see run). |
|
godwit-registry
command
Command godwit-registry checks and signs a Godwit plugin registry.json (docs/registry/README.md).
|
Command godwit-registry checks and signs a Godwit plugin registry.json (docs/registry/README.md). |
|
Package contract checks that the Local API behaves like *core.Service: the same scenarios run against the typed service and through JSON-RPC.
|
Package contract checks that the Local API behaves like *core.Service: the same scenarios run against the typed service and through JSON-RPC. |
|
Package core is Godwit's mail engine.
|
Package core is Godwit's mail engine. |
|
ai
Package ai talks to model services.
|
Package ai talks to model services. |
|
auth
Package auth holds the provider table and account auto-detection.
|
Package auth holds the provider table and account auto-detection. |
|
conn
Package conn dials and authenticates IMAP and SMTP connections.
|
Package conn dials and authenticates IMAP and SMTP connections. |
|
coretest
Package coretest is a real core.Service for tests outside core: a mocked keychain, fake IMAP / SMTP servers per account, a fake model service, a fake MCP server and fixture plugins, all on this machine.
|
Package coretest is a real core.Service for tests outside core: a mocked keychain, fake IMAP / SMTP servers per account, a fake model service, a fake MCP server and fixture plugins, all on this machine. |
|
events
Package events is a lossy in-process event bus for UI notifications.
|
Package events is a lossy in-process event bus for UI notifications. |
|
gateway
Package gateway decides whether an AI tool call may run, needs approval, or is denied, and audits every decision.
|
Package gateway decides whether an AI tool call may run, needs approval, or is denied, and audits every decision. |
|
internal/testllm
Package testllm is a fake model service for tests: the model-list endpoint and a scripted, streaming chat endpoint for each protocol (openai, openai-responses, anthropic).
|
Package testllm is a fake model service for tests: the model-list endpoint and a scripted, streaming chat endpoint for each protocol (openai, openai-responses, anthropic). |
|
internal/testmail
Package testmail provides in-memory IMAP and SMTP servers for tests.
|
Package testmail provides in-memory IMAP and SMTP servers for tests. |
|
internal/testoauth
Package testoauth is a fake OAuth 2.0 authorization and token server for tests, with a stand-in for the user's browser.
|
Package testoauth is a fake OAuth 2.0 authorization and token server for tests, with a stand-in for the user's browser. |
|
mail
Package mail parses MIME messages and sanitizes HTML bodies.
|
Package mail parses MIME messages and sanitizes HTML bodies. |
|
mailsync
Package mailsync pulls folders and messages from IMAP into the store.
|
Package mailsync pulls folders and messages from IMAP into the store. |
|
plugins
Package plugins runs third-party TypeScript plugins (spec 5.3–5.5): manifest validation, the sandbox and the ctx API.
|
Package plugins runs third-party TypeScript plugins (spec 5.3–5.5): manifest validation, the sandbox and the ctx API. |
|
send
Package send submits messages over SMTP.
|
Package send submits messages over SMTP. |
|
skills
Package skills loads SKILL.md directories (Agent Skills standard).
|
Package skills loads SKILL.md directories (Agent Skills standard). |
|
store
Package store is Godwit's SQLite storage layer.
|
Package store is Godwit's SQLite storage layer. |
|
internal
|
|
|
avatar
Package avatar discovers ordinary sender avatars without asserting brand trust.
|
Package avatar discovers ordinary sender avatars without asserting brand trust. |
|
i18n
Package i18n shares MyGo's message catalogs with the native UI and pages.
|
Package i18n shares MyGo's message catalogs with the native UI and pages. |
|
icons
Package icons parses the Remix Icon icons Godwit uses (web.RemixIcons, embedded from the remixicon package, v4.8.0, the last Apache-2.0 release), the line style, and the fill style of those a selected rail button or sidebar row shows.
|
Package icons parses the Remix Icon icons Godwit uses (web.RemixIcons, embedded from the remixicon package, v4.8.0, the last Apache-2.0 release), the line style, and the fill style of those a selected rail button or sidebar row shows. |
|
imagecache
Package imagecache is the privacy proxy's store for remote mail images: a directory of files named by their URL's hash, shared by all messages, bounded in size and evicted least recently used first.
|
Package imagecache is the privacy proxy's store for remote mail images: a directory of files named by their URL's hash, shared by all messages, bounded in size and evicted least recently used first. |
|
imagefetch
Package imagefetch fetches and checks images: the reader's image proxy and prefetch download remote ones through a client of its own (public hosts only, no cookies, no Referer, a generic User-Agent), and a message's inline ones count against one Budget.
|
Package imagefetch fetches and checks images: the reader's image proxy and prefetch download remote ones through a client of its own (public hosts only, no cookies, no Referer, a generic User-Agent), and a message's inline ones count against one Budget. |
|
kit
Package kit is Godwit's component set: shadcn/ui Nova looks (neutral) built on mygo's *Base widgets.
|
Package kit is Godwit's component set: shadcn/ui Nova looks (neutral) built on mygo's *Base widgets. |
|
palette
Package palette holds the Tailwind CSS colors Godwit draws with, copied verbatim from tailwindcss v4.1.14 theme.css (oklch lightness as 0–1).
|
Package palette holds the Tailwind CSS colors Godwit draws with, copied verbatim from tailwindcss v4.1.14 theme.css (oklch lightness as 0–1). |
|
richtext
Package richtext is Godwit's rich text model: mail bodies, compose content and Markdown become a flat list of blocks that the native UI draws (spec 5.5), and compose content goes back to HTML.
|
Package richtext is Godwit's rich text model: mail bodies, compose content and Markdown become a flat list of blocks that the native UI draws (spec 5.5), and compose content goes back to HTML. |
|
syslang
Package syslang detects the system UI language as a BCP 47 tag.
|
Package syslang detects the system UI language as a BCP 47 tag. |
|
theme
Package theme turns Godwit's settings into semantic colors and sizes drawn from internal/palette, and installs them as the mygo theme.
|
Package theme turns Godwit's settings into semantic colors and sizes drawn from internal/palette, and installs them as the mygo theme. |
|
worddiff
Package worddiff compares compose documents word by word, formatting included: the unit is a word (a CJK character, a run of whitespace, a punctuation mark) with its style and link.
|
Package worddiff compares compose documents word by word, formatting included: the unit is a word (a CJK character, a run of whitespace, a punctuation mark) with its style and link. |
|
Package mcpserver is godwit mcp: an MCP server that lets an agent read the user's mail and write drafts through the running Godwit's Local API, as the mcp role.
|
Package mcpserver is godwit mcp: an MCP server that lets an agent read the user's mail and write drafts through the running Godwit's Local API, as the mcp role. |
|
Package ownerlock makes one process the owner of a data directory.
|
Package ownerlock makes one process the owner of a data directory. |
|
Package rpc is Godwit's line-delimited JSON-RPC 2.0 transport: a strict subset of the spec (positive integer IDs, positional params, no batches), reflective dispatch over a target's methods, and cancellable streams.
|
Package rpc is Godwit's line-delimited JSON-RPC 2.0 transport: a strict subset of the spec (positive integer IDs, positional params, no batches), reflective dispatch over a target's methods, and cancellable streams. |
|
Package rpcbind composes core with rpc: core's error codes, redaction and the methods exposed over the Local API.
|
Package rpcbind composes core with rpc: core's error codes, redaction and the methods exposed over the Local API. |
|
scripts
|
|
|
imgproto
command
Imgproto is a throwaway WebKit probe for the remote-image redesign (not shipped): does a sandboxed srcdoc iframe load images from a custom scheme under its CSP, does loading="lazy" work inside it, and does CSS background-image.
|
Imgproto is a throwaway WebKit probe for the remote-image redesign (not shipped): does a sandboxed srcdoc iframe load images from a custom scheme under its CSP, does loading="lazy" work inside it, and does CSS background-image. |
|
Package webui owns the web UI's Go side: compose windows, their bound service and the theme variables.
|
Package webui owns the web UI's Go side: compose windows, their bound service and the theme variables. |
Click to show internal directories.
Click to hide internal directories.