aidokitwiki

How to navigate the monorepo

Audience-Contributor Status-Shipped v0.5

Purpose #

Find the right package for a task in under two minutes. Companion to reference/package-index.md.

Decide which package to open #

You want to… Open
Change the Adapter interface or AdapterManifest packages/core/src/types.ts, src/schema.ts + draft ADR
Change the StackPack interface packages/core/src/types.ts, src/schema.ts + draft ADR
Change the AidoError envelope or error codes packages/core/src/error.ts
Change variable interpolation packages/core/src/interpolate.ts
Change the conformance harness packages/core/src/conformance/
Add or edit an MCP catalog entry packages/mcp-catalog/src/catalog.ts
Add or change a prereq check packages/prereq-check/src/
Add a base skill packages/base-skills/src/files/skills/ + src/skills.ts
Change the docs/ or agent-artifacts/ skeleton packages/shared-docs/src/files/
Change a stack-pack detector or skill set packages/stack-pack-<name>/src/
Change adapter-emitted Claude Code content packages/adapter-claude-code/src/files/ + hand-built .claude/
Change adapter-emitted Codex content packages/adapter-codex/src/files/
Change adapter-emitted Copilot content packages/adapter-copilot/src/files/
Change CLI commands, flags, prompts packages/cli/src/commands/, src/init/

What lives where in packages/cli #

packages/cli/src/ is the largest package. Notable subtrees:

What lives where in adapter packages #

Each adapter mirrors the same skeleton (per ADR-0005 §Implementation notes):

packages/adapter-<name>/
├── src/
│   ├── index.ts            # exports the const adapter
│   ├── manifest.ts         # AdapterManifest with capability declarations
│   ├── emit/
│   │   ├── agent-rules.ts
│   │   ├── engine-config.ts
│   │   ├── verbs.ts
│   │   ├── roles.ts
│   │   ├── skills.ts
│   │   ├── watchdog.ts
│   │   └── output-styles.ts
│   ├── mcp/
│   │   ├── install.ts
│   │   ├── remove.ts
│   │   └── list.ts
│   ├── lifecycle.ts        # postInstall, preSync, doctor
│   ├── files-resolver.ts   # locate dist/files/ or src/files/
│   └── files/              # template tree, tree-copied to dist/files/
├── test/                   # unit tests + conformance test
├── adapter.md              # at-rest manifest with YAML frontmatter
├── package.json
└── tsconfig.json

Discovering the runtime dep of a package #

cat packages/<pkg>/package.json | jq '.dependencies, .peerDependencies'

Or visually: every Layer 1 package has only @aidokit/core. Every Layer 2 package has only @aidokit/core. @aidokit/cli has everything. See reference/package-index.md for the full runtime-dep table.

Common pitfalls #