Skip to main content
Glama

aide_init

Bootstraps the AIDE development environment into a project and returns structured JSON summaries and manifests so agents can inspect, create, and overwrite setup files category by category.

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 — session record: The Session record (session.aide) step never carries content and the tool never writes it. When it is would-create, its instructions tell you to call aide_scaffold with directory "." and type "session" — do that, unprompted. When .aide/session.aide exists it is exists and is never overwritten.

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, 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.

  5. For MCP: when the aide step is would-create, its globalPackage names the aide server's global package. If installed is false, the step also carries instructions: act on them before merging — run its installCommand via Bash first — running AIDE's setup is the consent. If the install fails, tell the user plainly and stop: never merge an entry whose command is not installed. Then use AskUserQuestion with Merge/Skip and merge the prescription entry (the global aidemd-mcp command) 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.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "aide_init"
  }
}

Input Schema

NameRequiredDescriptionDefault
pathNoCustom project root path (defaults to server working directory)
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.
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. Changed2 schema fields changedv0.15.0
    • removedInput schema / properties / aideMode
      Removed 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"
      -}
    • removedInput schema / properties / brainMode
      Removed 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"
      -}
  2. 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"
      -}
  3. 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."
  4. First observedv0.3.15

TDQS

A4.7/5.0
Behavior5/5

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

No annotations exist, so the description carries the full burden and meets it: it discloses that the tool writes files to disk itself, that it never overwrites the brain config or session record, how would-skip/would-overwrite statuses behave, and what happens on failed MCP installs. It even documents the response shape (manifest fields, brainSummary fields) without an output schema.

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?

The purpose is front-loaded and the structure is legible, but the text is very long and repeats the overwrite logic twice (branch-logic block, then again in the numbered wizard steps), and includes self-referential noise like 'not prose'. Much of the length is load-bearing for a multi-step wizard, but it could be tightened considerably.

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?

For a 3-parameter orchestration tool with no output schema and no annotations, the description supplies everything an agent needs: return shapes for both call modes, per-category step statuses, exception handling for MCP/brain/session/IDE steps, and the interaction pattern. Nothing material is left to inference.

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?

With 100% schema coverage the baseline is 3, and the description goes beyond it by explaining the semantic difference between omitting `category` (metadata-only summary) versus supplying it (writes files and returns a manifest), and by describing when to use `framework` to override detection. It does not add anything about `path` beyond what the schema already says.

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

Purpose5/5

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

Opens with a specific verb+resource: 'Bootstrap the AIDE development environment into a project', and immediately distinguishes itself from siblings by naming aide_upgrade, aide_brain, and aide_scaffold in their respective exception clauses. An agent can tell exactly what this tool does and which sibling handles the adjacent work.

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

Usage Guidelines5/5

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

Gives an explicit two-call protocol (call without `category` first, then per-category), a category ordering walk, and per-case rules (pure-create = apply silently, overwrite-bearing = prompt, inherent-decision = always prompt). It also states exclusions and handoffs ('do not use the Write tool for new files', 'never replace an existing aide entry').

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