Documentation
¶
Overview ¶
Package autodoc is AutoDoc's root: its packages are below. It holds what the repository's own files give the binary.
Index ¶
Constants ¶
This section is empty.
Variables ¶
var AgentsGuide string
AgentsGuide is AGENTS.md: how an AI agent searches and calls AutoDoc. The agent terminal hands it to the agent it starts (docs/decisions/crew.md#an-agent-terminal-inside-autodoc).
var AuditPrompt string
AuditPrompt is docs/audit-prompt.md: what an agent asked to audit a plugin, Lua package or KB type reads first (docs/decisions/plugins.md#audits-are-per-commit-and-advisory, docs/decisions/plugins.md#one-candidate-per-install-or-update). The registry's weekly audit fetches the same file at a pinned tag, so both ask the same questions.
var KBOperations []byte
KBOperations is the KB's operations manual, AutoDoc's own (docs/decisions/contract.md#the-operations-manual-is-autodocs-own): a KB type's scaffold writes it at the KB's root, and the Neovim side reads the same file through schema.templates_dir, so both write one text.
Functions ¶
This section is empty.
Types ¶
This section is empty.
Directories
¶
| Path | Synopsis |
|---|---|
|
Package app is AutoDoc's one binary, with its modes as flags (docs/decisions/contract.md#one-binary-modes-as-flags), as a function a main calls (docs/decisions/search.md#one-entry-point-for-every-build).
|
Package app is AutoDoc's one binary, with its modes as flags (docs/decisions/contract.md#one-binary-modes-as-flags), as a function a main calls (docs/decisions/search.md#one-entry-point-for-every-build). |
|
cmd
|
|
|
autodoc
command
Command autodoc is AutoDoc's one binary, the community build: app.Main with no registrations (docs/decisions/search.md#one-entry-point-for-every-build).
|
Command autodoc is AutoDoc's one binary, the community build: app.Main with no registrations (docs/decisions/search.md#one-entry-point-for-every-build). |
|
core
|
|
|
clock
Package clock is AutoDoc's time: the one Clock a daemon builds and hands to every core package that records a time or compares with one, and a context-aware Sleep.
|
Package clock is AutoDoc's time: the one Clock a daemon builds and hands to every core package that records a time or compares with one, and a context-aware Sleep. |
|
config
Package config reads AutoDoc's configuration file and resolves the places AutoDoc keeps things: the unix socket the daemon listens on, the state directory, and the store.
|
Package config reads AutoDoc's configuration file and resolves the places AutoDoc keeps things: the unix socket the daemon listens on, the state directory, and the store. |
|
crew/crewtest
Package crewtest holds the crew module's test kit: an in-memory Store, and the conformance suite every engine's adapter runs (Run), so the state machines are checked the same way on each.
|
Package crewtest holds the crew module's test kit: an in-memory Store, and the conformance suite every engine's adapter runs (Run), so the state machines are checked the same way on each. |
|
crewmail/sqlitecrewmail
Package sqlitecrewmail is the crew, mail and inbox modules' tables on the daemon's SQLite store (docs/decisions/crew.md#the-crew-and-mail-tables, migration 000026): one Store whose every transaction is a crew.Tx (and, with the mail module, a mail.Tx), so a verb's guard, crew's change and mail's effect commit as one.
|
Package sqlitecrewmail is the crew, mail and inbox modules' tables on the daemon's SQLite store (docs/decisions/crew.md#the-crew-and-mail-tables, migration 000026): one Store whose every transaction is a crew.Tx (and, with the mail module, a mail.Tx), so a verb's guard, crew's change and mail's effect commit as one. |
|
derived
Package derived makes a derived document's text through the build's deriver, for the indexer and the document API alike.
|
Package derived makes a derived document's text through the build's deriver, for the indexer and the document API alike. |
|
docs
Package docs reads and writes a workspace's files for AutoDoc's own apps.
|
Package docs reads and writes a workspace's files for AutoDoc's own apps. |
|
edition
Package edition is what this build of AutoDoc offers beyond its core: the one place a Community build and a Pro build differ.
|
Package edition is what this build of AutoDoc offers beyond its core: the one place a Community build and a Pro build differ. |
|
export
Package export renders a Markdown document as a standalone HTML page or as plain text, and draws a single Mermaid diagram as a page of its own, for an export and for a preview.
|
Package export renders a Markdown document as a standalone HTML page or as plain text, and draws a single Mermaid diagram as a page of its own, for an export and for a preview. |
|
export/mermaid
Package mermaid is mermaid.js, vendored: the diagrams a page draws from its ```mermaid blocks, drawn as the Mermaid project draws them.
|
Package mermaid is mermaid.js, vendored: the diagrams a page draws from its ```mermaid blocks, drawn as the Mermaid project draws them. |
|
follow
Package follow keeps a workspace's index following its root.
|
Package follow keeps a workspace's index following its root. |
|
fsbounds
Package fsbounds keeps a gated script's file work inside the workspace (docs/decisions/contract.md#a-gated-scripts-files-stay-in-the-workspace): the TUI's gate decides that a call is a gated script's and names its Bounds; the daemon enforces them where a workspace's files are reached, in the filesystem every verb goes through (Wrap), so every path any verb touches is checked, however its parameters carry it.
|
Package fsbounds keeps a gated script's file work inside the workspace (docs/decisions/contract.md#a-gated-scripts-files-stay-in-the-workspace): the TUI's gate decides that a call is a gated script's and names its Bounds; the daemon enforces them where a workspace's files are reached, in the filesystem every verb goes through (Wrap), so every path any verb touches is checked, however its parameters carry it. |
|
hostprobe
Package hostprobe reads what this machine offers an embedding model, without a network or a provider (docs/decisions/search.md#host-probe): its GPU (vendor, VRAM, compute capability), its RAM, the free space under the data directory, and whether Ollama answers.
|
Package hostprobe reads what this machine offers an embedding model, without a network or a provider (docs/decisions/search.md#host-probe): its GPU (vendor, VRAM, compute capability), its RAM, the free space under the data directory, and whether Ollama answers. |
|
inbox
Package inbox is the human's side of the crew and its mail (docs/decisions/crew.md#the-human-inbox): one feed every window and Neovim watch (inbox.watch), the history (inbox.list), and the human's answers (inbox.reply, inbox.dismiss, inbox.ack) and focus requests (inbox.focus).
|
Package inbox is the human's side of the crew and its mail (docs/decisions/crew.md#the-human-inbox): one feed every window and Neovim watch (inbox.watch), the history (inbox.list), and the human's answers (inbox.reply, inbox.dismiss, inbox.ack) and focus requests (inbox.focus). |
|
inbox/inboxtest
Package inboxtest is the inbox module's conformance suite: every engine's adapter runs it, so the human feed (docs/decisions/crew.md#the-human-inbox) and the guarantees in docs/decisions/crew.md#what-the-crew-guarantees hold the same way on each.
|
Package inboxtest is the inbox module's conformance suite: every engine's adapter runs it, so the human feed (docs/decisions/crew.md#the-human-inbox) and the guarantees in docs/decisions/crew.md#what-the-crew-guarantees hold the same way on each. |
|
index
Package index is a workspace's derived index in the store (core/store): documents, their chunks under per-document generations, full-text and semantic search over the chunks, tags, aliases, facets, links, and a change log.
|
Package index is a workspace's derived index in the store (core/store): documents, their chunks under per-document generations, full-text and semantic search over the chunks, tags, aliases, facets, links, and a change log. |
|
index/writertest
Package writertest is the conformance suite of core/index's writer port: what every place the indexer's documents are kept must do, run on the store's own writer and on a destination's (core/pgstore/pgwriter).
|
Package writertest is the conformance suite of core/index's writer port: what every place the indexer's documents are kept must do, run on the store's own writer and on a destination's (core/pgstore/pgwriter). |
|
kbtype
Package kbtype reads a KB type and plans the files it creates (docs/decisions/contract.md#kb-types-are-git-repos-of-files).
|
Package kbtype reads a KB type and plans the files it creates (docs/decisions/contract.md#kb-types-are-git-repos-of-files). |
|
kind
Package kind is how AutoDoc reads a file, decided by its extension and never by sniffing its content: Markdown, plain text, YAML, a registered chunker's, or a derived document format, read only as the text a build's deriver makes of it.
|
Package kind is how AutoDoc reads a file, decided by its extension and never by sniffing its content: Markdown, plain text, YAML, a registered chunker's, or a derived document format, read only as the text a build's deriver makes of it. |
|
lab
Package lab is what a lab file is (docs/decisions/plugins.md#lab-notes): a Markdown note named *.lab.md whose fenced code cells run in a Jupyter kernel, and whose outputs are files in its companion folder.
|
Package lab is what a lab file is (docs/decisions/plugins.md#lab-notes): a Markdown note named *.lab.md whose fenced code cells run in a Jupyter kernel, and whose outputs are files in its companion folder. |
|
mail/mailtest
Package mailtest holds the mail module's test kit: an in-memory Store whose transactions are crewtest's with the mail tables beside them, so a crew verb's mail effect and a mail verb's crew guard commit together, as on the engine's one transaction.
|
Package mailtest holds the mail module's test kit: an in-memory Store whose transactions are crewtest's with the mail tables beside them, so a crew verb's mail effect and a mail verb's crew guard commit together, as on the engine's one transaction. |
|
manifests
Package manifests reads the two manifests AutoDoc installs from a git repo: a plugin's plugin.toml and a Lua package's package.toml.
|
Package manifests reads the two manifests AutoDoc installs from a git repo: a plugin's plugin.toml and a Lua package's package.toml. |
|
module
Package module is how an AutoDoc feature offers verbs: a Module declares each verb's contract and handler, and the public errors its verbs may answer.
|
Package module is how an AutoDoc feature offers verbs: a Module declares each verb's contract and handler, and the public errors its verbs may answer. |
|
outline
Package outline is a document's structure for navigation: a Markdown file's headings, and the breadcrumb at a place in any document.
|
Package outline is a document's structure for navigation: a Markdown file's headings, and the breadcrumb at a place in any document. |
|
paths
Package paths is the path helpers AutoDoc's core packages share, so each is written once.
|
Package paths is the path helpers AutoDoc's core packages share, so each is written once. |
|
pgstore
Package pgstore is a tenant-scoped PostgreSQL + pgvector index behind golib's search port: a search.Store[int64, *View] whose views are Semantic, Signaler and Lister, built on golib's dao alone (no SQL of its own beyond its migrations).
|
Package pgstore is a tenant-scoped PostgreSQL + pgvector index behind golib's search port: a search.Store[int64, *View] whose views are Semantic, Signaler and Lister, built on golib's dao alone (no SQL of its own beyond its migrations). |
|
pgstore/pgtest
Package pgtest gives a test a scratch PostgreSQL database with pgvector: one of its own, made on the server AUTODOC_TEST_PGURL names (a user that may create databases) and dropped when the test ends.
|
Package pgtest gives a test a scratch PostgreSQL database with pgvector: one of its own, made on the server AUTODOC_TEST_PGURL names (a user that may create databases) and dropped when the test ends. |
|
pgstore/pgwriter
Package pgwriter is core/index's writer port over core/pgstore: a PostgreSQL destination keeping the documents the indexer hands on.
|
Package pgwriter is core/index's writer port over core/pgstore: a PostgreSQL destination keeping the documents the indexer hands on. |
|
procstat
Package procstat reads what one process uses of its machine: the daemon's for sys.stats, the app's for autodoc.app.stats (docs/decisions/editor.md#process-stats).
|
Package procstat reads what one process uses of its machine: the daemon's for sys.stats, the app's for autodoc.app.stats (docs/decisions/editor.md#process-stats). |
|
registrations
Package registrations is a build's chunkers and derivers, validated once and frozen when it starts: what a main hands app.Main, as the daemon, its indexers and its clients read it.
|
Package registrations is a build's chunkers and derivers, validated once and frozen when it starts: what a main hands app.Main, as the daemon, its indexers and its clients read it. |
|
registry
Package registry is the AutoDoc registry's index format and its rules (docs/decisions/plugins.md#the-registry): the one owner of both.
|
Package registry is the AutoDoc registry's index format and its rules (docs/decisions/plugins.md#the-registry): the one owner of both. |
|
schema
Package schema is a workspace's frontmatter schema: the fields its Markdown files declare in frontmatter, their types, and which are required.
|
Package schema is a workspace's frontmatter schema: the fields its Markdown files declare in frontmatter, their types, and which are required. |
|
store
Package store is AutoDoc's one store: every workspace, and every workspace's index, in one SQLite file.
|
Package store is AutoDoc's one store: every workspace, and every workspace's index, in one SQLite file. |
|
todo
Package todo is AutoDoc's todo system (docs/decisions/todos.md#the-daemon-owns-the-todo-system): the task stores, their format, the rules and every write.
|
Package todo is AutoDoc's todo system (docs/decisions/todos.md#the-daemon-owns-the-todo-system): the task stores, their format, the rules and every write. |
|
todo/todotest
Package todotest has in-memory stand-ins for core/todo's ports: a Journal, a disk of directories over golib's memfs, and a workspace table.
|
Package todotest has in-memory stand-ins for core/todo's ports: a Journal, a disk of directories over golib's memfs, and a workspace table. |
|
workspace
Package workspace opens a workspace's root: its files as a vfs.FS and the Matcher of its include and exclude patterns.
|
Package workspace opens a workspace's root: its files as a vfs.FS and the Matcher of its include and exclude patterns. |
|
enterprise
|
|
|
api
Package api is `autodoc --server`'s HTTP API over enterprise search: POST /v1/search, with a bearer token per client (docs/decisions/server.md#an-http-api-with-a-token-per-client).
|
Package api is `autodoc --server`'s HTTP API over enterprise search: POST /v1/search, with a bearer token per client (docs/decisions/server.md#an-http-api-with-a-token-per-client). |
|
config
Package config reads and validates an enterprise search server's configuration, server.toml: the Postgres it indexes into, the embedding provider, the HTTP API and its clients, and the sources, each a .view file indexed into a tenant of its own.
|
Package config reads and validates an enterprise search server's configuration, server.toml: the Postgres it indexes into, the embedding provider, the HTTP API and its clients, and the sources, each a .view file indexed into a tenant of its own. |
|
embedder
Package embedder is the enterprise search server's one embedding worker: it embeds every tenant's chunk texts with the enterprise's model, centrally, once per distinct text, and stores the vectors in pgstore, so the server's tenants can be searched by meaning as well as by words.
|
Package embedder is the enterprise search server's one embedding worker: it embeds every tenant's chunk texts with the enterprise's model, centrally, once per distinct text, and stores the vectors in pgstore, so the server's tenants can be searched by meaning as well as by words. |
|
ingest
Package ingest indexes an enterprise's database rows into pgstore through .view files: each row of a source view is rendered to a document, chunked, and written into the source's tenant, so a web application can search the enterprise's data (enterprise/search) while the rows change.
|
Package ingest indexes an enterprise's database rows into pgstore through .view files: each row of a source view is rendered to a document, chunked, and written into the source's tenant, so a web application can search the enterprise's data (enterprise/search) while the rows change. |
|
opcode
Package opcode is the closed set of codes enterprise search reports its failures by to an operator (GET /v1/status, the metrics lines): a code, never an error's text, which may hold what the operator should not see and stays in the log, redacted.
|
Package opcode is the closed set of codes enterprise search reports its failures by to an operator (GET /v1/status, the metrics lines): a code, never an error's text, which may hold what the operator should not see and stays in the log, redacted. |
|
ops
Package ops is what `autodoc --server` tells an operator (docs/decisions/server.md#operator-health-status-and-metrics): its health, public and minimal (GET /v1/health); its status per tenant, for an operator's token (GET /v1/status); and its metrics lines in the log.
|
Package ops is what `autodoc --server` tells an operator (docs/decisions/server.md#operator-health-status-and-metrics): its health, public and minimal (GET /v1/health); its status per tenant, for an operator's token (GET /v1/status); and its metrics lines in the log. |
|
search
Package search is AutoDoc's enterprise search, for web applications: hybrid search, by words and by meaning, over a tenant that `autodoc --server` indexes from a .view into PostgreSQL (docs/decisions/server.md#a-headless-server-mode).
|
Package search is AutoDoc's enterprise search, for web applications: hybrid search, by words and by meaning, over a tenant that `autodoc --server` indexes from a .view into PostgreSQL (docs/decisions/server.md#a-headless-server-mode). |
|
examples
|
|
|
card-go
command
card-go is AutoDoc's native-kit example (plugin/card): a card with a field, a list, a tree and buttons, in about a hundred lines and no drawing code.
|
card-go is AutoDoc's native-kit example (plugin/card): a card with a field, a list, a tree and buttons, in about a hundred lines and no drawing code. |
|
card-qml
command
card-qml is AutoDoc's QML example (plugin/decl): the People card written as a golib QML layout, run inside the plugin, its frames sent to AutoDoc.
|
card-qml is AutoDoc's QML example (plugin/decl): the People card written as a golib QML layout, run inside the plugin, its frames sent to AutoDoc. |
|
internal/hosttest
Package hosttest plays AutoDoc's side of the plugin protocol for the examples' tests: it runs a Handler under plugin.ServeConn over a pair of pipes, as AutoDoc runs a plugin's process, sends the host's notifications and reads the frames the plugin sends back.
|
Package hosttest plays AutoDoc's side of the plugin protocol for the examples' tests: it runs a Handler under plugin.ServeConn over a pair of pipes, as AutoDoc runs a plugin's process, sends the host's notifications and reads the frames the plugin sends back. |
|
surface-go
command
surface-go is the pixel-surface spike's reference plugin (docs/decisions/plugins.md#pixel-surfaces): it streams an animated, CPU-rendered test pattern into its card and draws every input event it receives over it, IME commits included.
|
surface-go is the pixel-surface spike's reference plugin (docs/decisions/plugins.md#pixel-surfaces): it streams an animated, CPU-rendered test pattern into its card and draws every input event it receives over it, IME commits included. |
|
internal
|
|
|
client
Package client is the daemon's client, as AutoDoc's own programs use it: a Session (the handshake, the connection's generation, spawning --serve when nothing answers), the restart handoffs that decide which build serves next, and the waits around a restart.
|
Package client is the daemon's client, as AutoDoc's own programs use it: a Session (the handshake, the connection's generation, spawning --serve when nothing answers), the restart handoffs that decide which build serves next, and the waits around a restart. |
|
contractsgen
command
Command contractsgen writes what is generated from the contracts this build serves (app.Contracts): AGENTS.md's verb and error tables, only the text between the markers, so the guide around them stays hand-written; and autodoc.nvim's lua/autodoc/contracts.lua, whole.
|
Command contractsgen writes what is generated from the contracts this build serves (app.Contracts): AGENTS.md's verb and error tables, only the text between the markers, so the guide around them stays hand-written; and autodoc.nvim's lua/autodoc/contracts.lua, whole. |
|
daemon
Package daemon is what --serve runs over the store: the workspaces it holds, each served by an indexer and a follower of its own, and changed while the daemon runs by the workspace verbs.
|
Package daemon is what --serve runs over the store: the workspaces it holds, each served by an indexer and a follower of its own, and changed while the daemon runs by the workspace verbs. |
|
endpoint
Package endpoint finds the daemon a config's clients talk to: the socket the config names, or, when another daemon already serves the same store on another socket, that one.
|
Package endpoint finds the daemon a config's clients talk to: the socket the config names, or, when another daemon already serves the same store on another socket, that one. |
|
localfs
Package localfs writes a file of the local disk the way core writes a workspace's: atomically, through golib's vfs/local, so a reader never sees half of it.
|
Package localfs writes a file of the local disk the way core writes a workspace's: atomically, through golib's vfs/local, so a reader never sees half of it. |
|
luarefgen
command
Command luarefgen writes the Lua reference's tables that the script engine documents itself (script.GlobalDocs, script.EditorDocs, script.TextDocs): docs/lua/reference.md's tables of the engine's own autodoc functions, the editor object and text, only the text between each block's markers, so the guide around them stays hand-written.
|
Command luarefgen writes the Lua reference's tables that the script engine documents itself (script.GlobalDocs, script.EditorDocs, script.TextDocs): docs/lua/reference.md's tables of the engine's own autodoc functions, the editor object and text, only the text between each block's markers, so the guide around them stays hand-written. |
|
peercred
Package peercred keeps the daemon's unix socket between processes of one user.
|
Package peercred keeps the daemon's unix socket between processes of one user. |
|
profiling
Package profiling owns a process's one golib diag monitor: --profile starts it at launch, and System › Profiling (the window's own) or sys.profile (the daemon's) start and stop it at any time after.
|
Package profiling owns a process's one golib diag monitor: --profile starts it at launch, and System › Profiling (the window's own) or sys.profile (the daemon's) start and stop it at any time after. |
|
usertheme
Package usertheme is AutoDoc's config-adjacent theme catalog.
|
Package usertheme is AutoDoc's config-adjacent theme catalog. |
|
Package plugin is AutoDoc's plugins (docs/decisions/plugins.md#plugins-are-separate-programs, docs/decisions/plugins.md#protocol-versions-and-strict-manifests): the protocol between the TUI and a plugin it runs, and the SDK a plugin is written with.
|
Package plugin is AutoDoc's plugins (docs/decisions/plugins.md#plugins-are-separate-programs, docs/decisions/plugins.md#protocol-versions-and-strict-manifests): the protocol between the TUI and a plugin it runs, and the SDK a plugin is written with. |
|
card
Package card is AutoDoc's native UI kit for dialog and card plugins (docs/decisions/plugins.md#the-native-card-kit): a plugin describes what its card shows as a Page of blocks and controls, and a Card fits it to the size AutoDoc gives, draws it in the theme's colours, and handles the keys, the focus and the pointer.
|
Package card is AutoDoc's native UI kit for dialog and card plugins (docs/decisions/plugins.md#the-native-card-kit): a plugin describes what its card shows as a Page of blocks and controls, and a Card fits it to the size AutoDoc gives, draws it in the theme's colours, and handles the keys, the focus and the pointer. |
|
decl
Package decl runs a golib QML program (tui/decl) as an AutoDoc card or dialog (docs/decisions/plugins.md#qml-cards-run-in-the-plugin): the program runs inside the plugin on a backend of its own, and every frame it draws is sent to AutoDoc as host.frame.
|
Package decl runs a golib QML program (tui/decl) as an AutoDoc card or dialog (docs/decisions/plugins.md#qml-cards-run-in-the-plugin): the program runs inside the plugin on a backend of its own, and every frame it draws is sent to AutoDoc as host.frame. |
|
Package rpc is AutoDoc's msgpack-RPC API (docs/decisions/contract.md#one-rpc-api-for-every-client): a projection of core, with no business logic of its own.
|
Package rpc is AutoDoc's msgpack-RPC API (docs/decisions/contract.md#one-rpc-api-for-every-client): a projection of core, with no business logic of its own. |
|
Package script runs editor commands written in Lua: each script registers verbs of a golib editor's command line (its ':' prompt and RunCommand), and edits through the editor's core functions.
|
Package script runs editor commands written in Lua: each script registers verbs of a golib editor's command line (its ':' prompt and RunCommand), and edits through the editor's core functions. |
|
shell
|
|
|
tei
Package tei holds the cells for shell/tei/tei-rerank.sh (tei_rerank_test.go): the real script, run by bash with docker, nvidia-smi, curl and python3 replaced by stubs on PATH, so no image is pulled and no GPU is needed.
|
Package tei holds the cells for shell/tei/tei-rerank.sh (tei_rerank_test.go): the real script, run by bash with docker, nvidia-smi, curl and python3 replaced by stubs on PATH, so no image is pulled and no GPU is needed. |
|
sql
|
|
|
deployments
Package deployments is the store's schema as SQL scripts, one directory per engine, compiled into the binary and applied by golib dao/deploy (docs/ops/schema-scripts.md).
|
Package deployments is the store's schema as SQL scripts, one directory per engine, compiled into the binary and applied by golib dao/deploy (docs/ops/schema-scripts.md). |
|
Package tui is AutoDoc's terminal UI (`autodoc --ui`): its screen written in QML, over the daemon's RPC API.
|
Package tui is AutoDoc's terminal UI (`autodoc --ui`): its screen written in QML, over the daemon's RPC API. |







