Skip to main content
Glama

aide_init

Bootstrap the AIDE development environment into a project by scanning files, then writing approved category files and returning a structured JSON manifest for agents.

Instructions

Bootstrap the AIDE development environment into a project. Returns structured JSON for agent consumption — not prose.

The tool uses a two-call pattern for progressive disclosure:

First call (no category param): Returns a lightweight summary — every step with name, status (would-create/would-overwrite/would-skip/exists), category, and filePath, but NO content fields. Also returns brainHints (brain root candidates) and detected framework. Use this to understand what needs to be done and which categories require user prompts.

Second call (with category param): The tool writes all would-create AND approved would-overwrite files directly to disk itself and returns a manifest — steps with filePath, status (created, overwritten, or exists), and name, but NO content. would-skip steps stay would-skip in the manifest (tool writes nothing for them). The agent never sees file content and never uses the Write tool for new files.

Exception — MCP steps: For MCP steps, the manifest includes prescription data (key name and entry object) so the agent can read the existing config, merge, and write. The tool never touches MCP config directly.

Exception — brain category: The Brain config (brain.aide) step carries brainSummary on every call, including the summary: sections (each section's marker, role, seedPath for seeds, and templateBytes), missingSections, staleSections, legacyLauncher reasons and templateIntegration. It never carries section text, purposes, repair blocks or before/after bodies. Missing sections are inserted with aide_upgrade category: "brain", seeds are read one at a time with aide_brain, and migrations are previewed and applied one at a time through aide_upgrade. Sections the user edited and custom launchers are never offered. The tool creates .aide/config/brain.aide when it is absent and never overwrites an existing one.

Exception — IDE VS Code steps: IDE steps that need external tooling (VS Code CLI) return instructions for the agent to execute, since those aren't simple file writes.

Agent branch logic — silent-on-create, prompt-on-overwrite:

After the first call, walk the categories using this rule:

  • Pure-create category (all steps are would-create, would-skip, or exists): apply silently by calling with category=X immediately — no AskUserQuestion. A category with nothing on disk to overwrite has no decision the user can inform.

  • Overwrite-bearing category (any step is would-overwrite): pause and use AskUserQuestion with structured options. Name the files that would be overwritten. If the user approves, call with category=X — the tool overwrites and returns overwritten in the manifest. If the user declines an overwrite but wants the new files, call with category=X — the tool writes only would-create steps; the would-overwrite step stays would-overwrite in the manifest.

  • Inherent-decision categories (framework, brain root path, MCP config merge, launch mode, IDE choice): always use AskUserQuestion regardless of disk state. These are not file-write decisions — filesystem contents cannot resolve them.

IMPORTANT — one-at-a-time wizard pattern using AskUserQuestion: Do NOT present a summary table of all categories. Do NOT offer "all" as an option. Do NOT ask conversational questions — use the AskUserQuestion tool with structured options at every pause point.

  1. Call without category first to get the metadata

  2. Present ONLY the detected framework — use AskUserQuestion with Yes/{alternatives} options. STOP.

  3. Walk categories in order: methodology, commands, agents, skills, mcp, brain, ide, readme. For each:

    • Pure-create: apply silently (call with category=X), report results, move to next.

    • Overwrite-bearing: use AskUserQuestion naming the would-overwrite files. STOP. Wait for selection, then call with category=X. Report manifest (created N, overwrote M). Move to next.

    • Inherent decision: always use AskUserQuestion. STOP.

  4. For brain: read brainSummary from the step, then direct the user to /aide:brain config. Call with category=brain only to receive the manifest; the tool creates .aide/config/brain.aide only when absent and never overwrites an existing one. /aide:brain config asks the brain's launch mode and passes brainMode.

  5. For MCP: when the aide step is would-create, first ask the aide server's launch mode with AskUserQuestion — "Global (recommended)" (personal machine, reliable startup; stays on its installed version; one-time npm i -g.) or "Local" (shared repos, cloud/CI; pinned to one version that /aide:upgrade moves forward; flaky cold start.) — and call with category=mcp and aideMode. If the returned step carries globalPackage with installed: false, ask whether to run its installCommand; run it via Bash only on yes. If the user declines or the install fails, call again with aideMode: "local" and tell the user the server will launch locally. Then use AskUserQuestion with Merge/Skip and merge the prescription entry into the existing config yourself (read → merge → write). Never replace an existing aide entry. STOP.

  6. For IDE: use AskUserQuestion with multiSelect for Zed/VS Code/Neither. STOP.

Each pause point is ONE AskUserQuestion → wait for selection → then proceed. Never show multiple categories at once. Never ask open-ended conversational questions.

Input Schema

NameRequiredDescriptionDefault
pathNoCustom project root path (defaults to server working directory)
aideModeNoLaunch mode for the aide MCP entry, chosen by the user (global recommended). Pass with category=mcp. Omitted means local.
categoryNoWrite all would-create and approved would-overwrite files for this category to disk and return a manifest (status: created/overwritten/exists; would-skip steps pass through unchanged). Omit on the first call to get a metadata-only summary of all steps.
brainModeNoLaunch mode for the bundled brain template's launcher, chosen by the user in /aide:brain config. Pass with category=brain. Omitted means local.
frameworkNoForce a specific framework instead of auto-detecting. Use this when re-calling after the user confirms or overrides detection.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changedv0.11.1
    • addedInput schema / properties / aideMode
      Added value: +{
      +  "description": "Launch mode for the aide MCP entry, chosen by the user (global recommended). Pass with category=mcp. Omitted means local.",
      +  "enum": [
      +    "global",
      +    "local"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / brainMode
      Added value: +{
      +  "description": "Launch mode for the bundled brain template's launcher, chosen by the user in /aide:brain config. Pass with category=brain. Omitted means local.",
      +  "enum": [
      +    "global",
      +    "local"
      +  ],
      +  "type": "string"
      +}
    • removedInput schema / properties / brainPath
      Removed value: -{
      -  "description": "Resolved brain root path. Required when category=brain. The agent provides this after interviewing the user.",
      -  "type": "string"
      -}
  2. Changed2 schema fields changedv0.6.1
    • changedInput schema / properties / brainPath / description
      Previous value: -"Resolved brain vault path. Required when category=brain. The agent provides this after interviewing the user."New value: +"Resolved brain root path. Required when category=brain. The agent provides this after interviewing the user."
    • changedInput schema / properties / category / description
      Previous value: -"Write all would-create files for this category to disk and return a manifest. Omit on the first call to get a metadata-only summary of all steps."New value: +"Write all would-create and approved would-overwrite files for this category to disk and return a manifest (status: created/overwritten/exists; would-skip steps pass through unchanged). Omit on the first call to get a metadata-only summary of all steps."
  3. First observedv0.3.15

TDQS

A4.2/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden — and it delivers. It discloses that the tool writes files directly to disk, that `would-overwrite` steps require approval, that `would-skip` steps are never written, that it never touches MCP config, and that it never overwrites an existing `.aide/config/brain.aide`. That is unusually rich behavioral context for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose is front-loaded, but the body is extremely long and partly redundant — the branch logic section and the numbered wizard section re-explain the same one-at-a-time rules, and much of the text is agent-turn UI guidance rather than tool semantics. Substantial trimming is possible without losing information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description must describe returns — and it does in detail: the metadata summary (statuses, brainHints, framework), the write manifest (created/overwritten/exists), MCP `prescription` data, and the brain `brainSummary` shape. For a tool of this complexity, an agent has everything needed to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds real meaning: the `category` param's role in the two-call pattern, `aideMode` pairing with category=mcp (including the global-vs-local tradeoff and npm install fallback), `brainMode` with category=brain, and `framework` as a forced override on re-call. This goes beyond the schema's field-level text.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: "Bootstrap the AIDE development environment into a project," and immediately frames it as a two-call progressive-disclosure tool. The role is unambiguous. It never names a sibling (aide_scaffold, aide_upgrade, aide_cleanup), so it does not explicitly differentiate itself from adjacent tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Extensive when-to-use guidance: call without `category` first, then per-category, with explicit branch rules for pure-create vs overwrite-bearing vs inherent-decision categories. However, it gives no when-not-to-use and never routes the agent to alternative tools such as aide_upgrade or aide_cleanup.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.