Skip to content

Config — kuda.toml ​

Top level ​

fieldtyperequirednotes
repoRepoCfgoptional—
extractExtractCfgoptional—
summarizeSummarizeCfgoptional—
storeStoreCfgoptional—
cardsCardsCfgoptional—
workspaceWorkspaceCfgoptional—

[repo] ​

fieldtyperequirednotes
namestringoptionalDefaults to the directory basename.
rootpathoptionalRepo root; default = the toml's dir.

[extract] ​

fieldtyperequirednotes
kindslistoptionalImpl kinds tried in order: "manifest" | "treesitter" | "lsp".
lsp_serverstringoptionalServer command for the lsp adapter (per-language later).
excludelistoptionalExtra dir/file names skipped during walks — beyond the built-in noise set (default_excludes). Keeps generated, vendored, and build output out of index, hashes, and agent prompts (agent cost is per-file fed in).

[summarize] ​

fieldtyperequirednotes
kindstringoptional"template" (deterministic, default) | "acp" (agent-spawned). "llm" is a backlog adapter — ACP is the semantic path.
acp_cmdstringoptionalACP agent command for kind="acp" — spawns per summarize.
file_cardsbooloptionalL1.5 per-file cards — chunked agent summaries per source file. Opt-in: ~10-50x the prompt count of module cards, bounded by per-file hash-skip.
providerstringoptionalProvider id for the llm adapter; key resolves via secrets chain.
modelstringoptional—

[store] ​

fieldtyperequirednotes
kindstringoptional—
pathpathoptionalL2 index path — rebuildable, gitignored.

[cards] ​

fieldtyperequirednotes
dirpathoptionalCommitted artifacts dir: index.yaml + modules/*.yaml.

[workspace] ​

fieldtyperequirednotes
rootsVec<PathBuf>optionalSibling repo roots indexed together.
resolve_git_depsbooloptionalResolve git = ".../org/repo" manifest deps to siblings.

Constraints ​

  • deny_unknown_fields: typos in field names fail the load.
  • extract.kinds resolves to adapter crates (manifest, treesitter, lsp); unknown kinds warn at kuda sync.
  • summarize.kind is template (default) or acp; acp requires acp_cmd and falls back to template on failure.