Skip to content

Reference Index

Reference overview

docs/reference/ is devkit-pi's lookup-table, contract-oriented documentation directory. It records the currently implemented public surface, configuration, tool parameters, return structures, error/failure semantics, and stability boundaries.

Reference documents are not tutorials and do not record roadmaps. If proposals, ADRs, or archives conflict with reference documents, the canonical sources are the current src/, tests/, and this reference directory.

Architecture consistency policy

Current public contracts favor structural consistency over legacy internal layouts. When modules, tools, providers, commands, or feature areas serve similar roles, reference docs should describe them with aligned naming, configuration, schema, error, test, and documentation patterns unless a documented exception exists.

This means legacy flat configuration fields, old directory layouts, or one-off command/provider structures are not preserved merely for compatibility when they conflict with the current modular architecture.

Maintainer-only architecture, testing, release, ADR, planning, archive, issue, and audit documents live in internal-docs/ and are intentionally not part of the public website navigation.

Core references

Configuration

subagents.allowWrite is experimental and not a stable write-capability contract; it does not provide a complete sandbox, audit trail, or rollback guarantee. Details are in configuration.md, subagents.md, and Security model.

DocumentWhen to readCanonical source
configuration.mdConfigure devkit-pi, verify defaults and normalize rulessrc/config/load-config.ts, src/shared/types.ts

Subagents

DocumentWhen to readCanonical source
subagents.mdUnderstand Subagents module public surface, execution model, and boundariessrc/modules/subagents/, agents/, src/shared/delegation-policy.ts
subagent-tool.mdCall subagent tool, review input/output/failure semanticssrc/modules/subagents/register.ts, schemas.ts, executor.ts
agent-definition.mdWrite built-in/user/project agent markdown definitionssrc/modules/subagents/agents.ts, frontmatter.ts, agents/*.md
result-schema.mdProgrammatically understand subagent tool result and error codessrc/modules/subagents/executor.ts, collect-output.ts, src/shared/types.ts

Web tools

DocumentWhen to readCanonical source
web-tools.mdCall web_search, fetch_content, get_search_contentsrc/modules/web/register.ts, schemas.ts, types.ts, search.ts, fetch.ts, storage.ts
convert-tools.mdCall convert_content for local files or safely downloaded remote filessrc/modules/convert/, src/config/load-config.ts
web-providers.mdConfigure/select ddgs, brave, tavily, serper, openserp, searxngsrc/modules/web/providers/, src/modules/web/providers/select-provider.ts
web-tools-error-codes.mdDetermine Web tool structured errors and reserved/deprecated code boundariessrc/modules/web/errors.ts, src/modules/web/types.ts

LSP tools

DocumentWhen to readCanonical source
lsp-tools.mdCall lsp tool, understand diagnostics hook and action permissionssrc/modules/lsp/register.ts, tool.ts, schemas.ts, hook.ts

Toolkit commands

DocumentWhen to readCanonical source
toolkit-commands.mdUse /toolkit for diagnostics, view modules/agents/logs/LSP statussrc/modules/commands/register.ts, src/modules/subagents/commands/

Schemas and contracts

DocumentWhen to readCanonical source
result-schema.mdView subagent tool result structured fieldssrc/shared/types.ts, src/modules/subagents/executor.ts
web-tools-error-codes.mdView Web canonical error code, active/reserved/deprecated statussrc/modules/web/errors.ts
configuration.mdView configuration schema-like defaults and normalize behaviorsrc/config/load-config.ts

Canonical source policy

Stability policy

subagents.allowWrite is not a stable write-capability contract; it is currently recorded only as an experimental/advanced/unsafe configuration entry in configuration.md and subagents.md.

Relatively stable:

  • Public tool names: subagent, web_search, fetch_content, get_search_content, lsp, convert_content
  • Public command root/subcommands: /toolkit, doctor, modules, logs, agents, lsp, activity, help
  • Input schema fields explicitly listed in documentation
  • Output contracts / structured error codes explicitly listed in documentation
  • Current canonical error code string values

May change:

  • Internal helpers, formatters, manager classes, and provider parser implementation details
  • Human-readable logs, console output, TUI rendering, and notification text
  • Agent prompt wording, delegation policy examples, and markdown output templates
  • Session file layout, streaming display item details, sanitize/truncate rules
  • Reserved error code activation timing and proposed behavior

Reserved error codes / proposed behavior do not represent current direct return or execution. If proposed capabilities need to become public reference, they must first be implemented in source and tests before updating reference.