aidokitwiki

Project Overview

Audience-Contributor Status-Shipped v0.5

Purpose #

A fast tour of what lives in the repo and which package owns what.

Big Picture #

Source of truth: .docs/ARCHITECTURE.md §3. The repo is a pnpm + Turborepo monorepo whose packages/ directory holds the 15 packages making up aidokit at v1.0.

How It Works #

Repository top level #

aidokit/
├── CLAUDE.md           ← agent rules for AI-assisted dev of aidokit itself
├── CHANGELOG.md        ← Keep-a-changelog format; pre-1.0 narrative, post-0.5 by changesets
├── CONTRIBUTING.md
├── LICENSE             ← Apache-2.0 (drafted, not legally reviewed — ADR-0003)
├── NOTICE              ← Apache 2.0 §4(d) attribution
├── SECURITY.md         ← vulnerability reporting + capability boundaries
├── package.json + pnpm-workspace.yaml + turbo.json + tsconfig.base.json
├── .changeset/         ← per-PR change descriptions
├── .docs/              ← design docs (hidden on disk; planned to flatten — CLAUDE.md §2)
│   ├── README.md, ROADMAP.md, ARCHITECTURE.md
│   ├── docs/specs/         ← adapter-contract, stack-pack-contract, cli-reference, mcp-catalog, conformance-levels, security-model
│   ├── docs/architecture/decisions/   ← 16 ADRs
│   └── context/            ← v4 kit reference (parts 1/2/3 + a-z)
├── packages/           ← the 15 published packages
├── agent-artifacts/    ← hand-built workflow artifacts for dogfooding aidokit on itself
├── docs/               ← hand-built docs/ skeleton dogfooded by aidokit
└── scripts/            ← repo automation

Package map #

Each package is a workspace under packages/. Names follow ADR-0004 §2: scoped @aidokit/* for libraries, unscoped aidokit for the user-facing CLI binary.

Path Package Layer Responsibility
packages/cli aidokit (unscoped) 3 The user-facing shell. Commander + @clack/prompts. Composes everything below.
packages/core @aidokit/core 1 Contracts (Adapter, StackPack), types, schemas (Zod), AidoError, interpolate, conformance harness. Zero runtime deps on other @aidokit/* packages.
packages/shared-docs @aidokit/shared-docs 1 docs/ + agent-artifacts/ skeleton templates
packages/stack-detect @aidokit/stack-detect 1 Safe filesystem DetectContext builder + parallel detector runner
packages/prereq-check @aidokit/prereq-check 1 Detection-only prereq checks (no install per ADR-0008)
packages/mcp-catalog @aidokit/mcp-catalog 1 The MCP catalog (TS const array), trigger evaluator, install resolver
packages/base-skills @aidokit/base-skills 1 The 18 v4 base skills as SkillTemplate[] (extracted from CLI for third-party reuse)
packages/adapter-claude-code @aidokit/adapter-claude-code 2 First-party Claude Code adapter, Strict conformance
packages/adapter-codex @aidokit/adapter-codex 2 First-party Codex adapter, Minimum conformance
packages/adapter-copilot @aidokit/adapter-copilot 2 First-party Copilot adapter, Minimum conformance (ADR-0016)
packages/stack-pack-node-ts @aidokit/stack-pack-node-ts 2 Node + TypeScript
packages/stack-pack-node-js @aidokit/stack-pack-node-js 2 Plain Node JS (sibling without TS)
packages/stack-pack-python @aidokit/stack-pack-python 2 Python
packages/stack-pack-react @aidokit/stack-pack-react 2 React (composes with node-ts)
packages/stack-pack-go @aidokit/stack-pack-go 2 Go

The full responsibilities table is in reference/package-index.md.

Where to look first #

You want to… Look at…
Understand the Adapter contract .docs/docs/specs/adapter-contract.md, ADR-0005
Understand the StackPack contract .docs/docs/specs/stack-pack-contract.md, ADR-0006
Read the CLI surface .docs/docs/specs/cli-reference.md
Add or extend an MCP entry .docs/docs/specs/mcp-catalog.md, ADR-0007, ADR-0015 (worked example)
Trace the v4 kit content that adapters emit .docs/context/claude-workflow-kit-v4-base-part-{1,2,3}.md
Understand the security model .docs/docs/specs/security-model.md, SECURITY.md
Find conformance checks .docs/docs/specs/conformance-levels.md

Diagram #

%%{init: {
  "theme": "base",
  "themeVariables": {
    "fontFamily": "ui-sans-serif, system-ui, -apple-system, Segoe UI, sans-serif",
    "fontSize": "14px",
    "primaryColor": "#eff6ff",
    "primaryTextColor": "#0f172a",
    "primaryBorderColor": "#2563eb",
    "lineColor": "#475569",
    "secondaryColor": "#f1f5f9",
    "tertiaryColor": "#ffffff",
    "clusterBkg": "#f8fafc",
    "clusterBorder": "#cbd5e1"
  }
}}%%
graph TD
  classDef actor    fill:#ede9fe,stroke:#6d28d9,color:#1e1b4b,stroke-width:1.2px;
  classDef cli      fill:#dbeafe,stroke:#1d4ed8,color:#0c1f4a,stroke-width:1.4px;
  classDef adapter  fill:#cffafe,stroke:#0e7490,color:#083344;
  classDef pack     fill:#dcfce7,stroke:#15803d,color:#052e16;
  classDef core     fill:#fef9c3,stroke:#a16207,color:#422006;
  classDef artifact fill:#f1f5f9,stroke:#475569,color:#0f172a;
  classDef stop     fill:#fee2e2,stroke:#b91c1c,color:#7f1d1d,stroke-dasharray:4 3;
  classDef ok       fill:#ecfdf5,stroke:#047857,color:#064e3b;
  classDef external fill:#fff7ed,stroke:#c2410c,color:#431407;

  cli["@aidokit/cli (Layer 3)"]:::cli
  cli --> adcc["@aidokit/adapter-claude-code"]:::adapter
  cli --> adcx["@aidokit/adapter-codex"]:::adapter
  cli --> adcp["@aidokit/adapter-copilot"]:::adapter
  cli --> sp1["@aidokit/stack-pack-node-ts"]:::pack
  cli --> sp2["@aidokit/stack-pack-node-js"]:::pack
  cli --> sp3["@aidokit/stack-pack-python"]:::pack
  cli --> sp4["@aidokit/stack-pack-react"]:::pack
  cli --> sp5["@aidokit/stack-pack-go"]:::pack
  cli --> sd["@aidokit/shared-docs"]:::core
  cli --> bs["@aidokit/base-skills"]:::core
  cli --> det["@aidokit/stack-detect"]:::core
  cli --> pre["@aidokit/prereq-check"]:::core
  cli --> mcp["@aidokit/mcp-catalog"]:::core

  adcc --> core["@aidokit/core"]:::core
  adcx --> core
  adcp --> core
  sp1 --> core
  sp2 --> core
  sp3 --> core
  sp4 --> core
  sp5 --> core
  sd --> core
  bs --> core
  det --> core
  pre --> core
  mcp --> core

Common Mistakes #

Checklist #