freshcrate
Skin:/
Home > MCP Servers > dotbot

dotbot

Structured, auditable AI-assisted development for teams. Zero-dependency MCP server, web dashboard, and multi-provider AI CLI support.

Why this rank:Strong adoptionRecent releaseHealthy release cadence

Description

Structured, auditable AI-assisted development for teams. Zero-dependency MCP server, web dashboard, and multi-provider AI CLI support.

README

dotbot

Structured, auditable AI-assisted development for teams.

Overview

What is dotbot?

Most AI coding tools give you a result but no record of how you got there - no trail of decisions for teammates to follow, no way to continue work across sessions, and no framework for managing large projects.

dotbot wraps AI-assisted coding in a managed, transparent workflow where every step is tracked:

Multi-workflow platform

  • Workflow-driven pipelines - Define multi-step pipelines in workflow.yaml manifests with tasks, dependencies, form configuration, MCP servers, and environment requirements. A project can have multiple workflows installed simultaneously, each run, re-run, and stopped independently.
  • Typed task system - Tasks can be prompt (AI-executed), script (PowerShell, no LLM), mcp (tool call), task_gen (generates sub-tasks dynamically), or prompt_template (AI with a workflow-specific prompt). Script, MCP, and task_gen tasks bypass the AI entirely - they auto-promote past analysis, skip worktree isolation, and skip verification hooks. This enables deterministic pipeline stages within AI-orchestrated workflows.
  • Enterprise registries - Teams publish workflows, stacks, tools, and skills in git-hosted or local registries. dotbot registry add links a registry (private or public); dotbot init -Workflow registry:name installs from it. Registries are validated against a registry.yaml manifest with version compatibility checks and auth-failure hints for GitHub, Azure DevOps, and GitLab.
  • Workflows and stacks - Workflows (e.g. kickstart-via-jira) define operational pipelines - what dotbot does. Stacks (e.g. dotnet, dotnet-blazor) add tech-specific skills, hooks, and MCP tools - what tech the project uses. Stacks compose additively with extends chains. Settings deep-merge across default -> workflows -> stacks.

Execution engine

  • Two-phase execution - Analysis resolves ambiguity, identifies files, and builds a context package. Implementation consumes that package and writes code. Tasks flow: todo -> analysing -> analysed -> in-progress -> done.
  • Per-task git worktree isolation - Each task runs in its own worktree on an isolated branch, squash-merged back to main on completion.
  • Per-task model selection - Tasks can specify a model (e.g. Sonnet for simple tasks, Opus for complex ones) that overrides the process-level default. Use cheaper models where they suffice to reduce token spend.
  • Multi-slot concurrent execution - The workflow engine runs multiple tasks from the same workflow in parallel with slot-aware locking, shortening wall-clock time for large task queues.
  • Multi-provider - Switch between Claude, Codex, and Gemini from the Settings tab. Each provider has its own CLI wrapper, stream parser, and model configuration.
  • Configurable permission modes - Choose how each provider handles permission checks during autonomous execution. Claude supports bypass and auto mode (AI-classified safety); Codex supports bypass and full-auto; Gemini supports YOLO and auto-edit. The dashboard detects installed providers, their versions, and authentication status.

Dashboard and observability

  • Web dashboard - Seven-tab UI (Overview, Product, Roadmap, Processes, Decisions, Workflow, Settings) with workflow cards showing progress pills, per-workflow run/stop controls, and pipeline-phase filtering.
  • Manifest-driven kickstart - The kickstart dialog is driven by workflow.yaml form modes with visibility flags for prompt, file upload, interview, and auto-workflow options.
  • JSONL audit trail - Session logs capture token counts, costs, turn boundaries, wall-clock gaps, agent completion reasons, and error details. Every AI session, question, answer, and code change is version-controlled.
  • Project health diagnostics - dotbot doctor scans for stale locks, orphaned worktrees, settings integrity, dependency issues, and task queue health.

Collaboration and control

  • Operator steering - Guide the AI mid-session through a heartbeat/whisper system. /status and /verify slash commands work during autonomous execution.
  • Kickstart interview - Guided requirements-gathering flow that produces product documents, then generates a task roadmap automatically.
  • Human-in-the-loop Q&A - When a task needs human input, dotbot routes questions to stakeholders via Teams, Email, or Jira.
  • Designed for teams - The entire .bot/ directory lives in your repo. Task queues, session histories, and plans are visible to everyone through git.

Foundation

  • Zero-dependency tooling - MCP server and web UI are pure PowerShell. No npm, pip, or Docker required. Cross-platform on Windows, macOS, and Linux.
  • Security - PathSanitizer strips absolute paths from AI output, privacy scan covers the full repo, and pre-commit hooks run gitleaks on staged files.

Prerequisites

Required:

Recommended MCP servers:

  • Playwright MCP - Browser automation for UI testing and verification.
  • Context7 MCP - Library documentation lookup to reduce hallucination.

Quick Start

1. Install dotbot globally (one-time)

Install-Module Dotbot -Scope CurrentUser
Alternative install methods (CI/CD pipelines, contributors, or environments without PowerShellGet)

One-liner (CI/CD, scripts):

irm https://raw.githubusercontent.com/andresharpe/dotbot/main/install-remote.ps1 | iex

Git clone (contributors):

cd ~
git clone https://github.com/andresharpe/dotbot dotbot-install
cd dotbot-install
pwsh install.ps1

Restart your terminal so the dotbot command is available.

2. Add dotbot to your project

cd your-project
dotbot init

This creates a .bot/ directory with the MCP server, web UI, autonomous runtime, agents, skills, and workflows.

Keep .bot/ tracked in git.

  • dotbot commits .bot/ during dotbot init because task worktrees use junctions/symlinks back to shared state, and integrity checks rely on git visibility.
  • If you add .bot/ to .gitignore (or a global ignore file), worktree creation and the MCP server will fail silently.
  • The only paths meant to be ignored are already covered by .bot/.gitignore (.control/, profile/, runtime state).
  • Framework files under .bot/systems/, .bot/hooks/, and .bot/recipes/ are protected by a pre-commit hook โ€” direct edits are rejected; run dotbot init --force to update them.
  • A committed SHA256 manifest at .bot/.manifest.json (regenerated by dotbot init --force) lets the verify hook catch tampering that bypassed the pre-commit guard via git commit --no-verify.

Workflows and Stacks

dotbot init -Workflow kickstart-via-jira               # Install a workflow
dotbot init -Stack dotnet-blazor,dotnet-ef             # Install stacks
dotbot init -Workflow kickstart-via-jira -Stack dotnet  # Both
dotbot list                                            # List available workflows and stacks
  • Workflow - Defines a multi-step pipeline with tasks, dependencies, scripts, and form configuration via workflow.yaml. A project can have multiple workflows installed. Each can be run and re-run independently (dotbot run <name>).
  • Stack (composable) - Adds tech-specific skills, hooks, verify scripts, and MCP tools. Stacks can declare extends to auto-include a parent (e.g. dotnet-blazor extends dotnet).

Apply order: default -> workflows -> stacks (dependency-resolved). Settings are deep-merged; files are overlaid.

Enterprise Registries

Teams can publish workflows, stacks, tools, and skills in a git repo with a registry.yaml manifest:

dotbot registry add myorg https://github.com/myorg/dotbot-extensions.git
dotbot registry add myorg C:\repos\myorg-dotbot-extensions  # Local path
dotbot registry update                                       # Update all registries
dotbot registry update myorg                                 # Update one registry
dotbot init -Workflow myorg:custom-workflow                  # Use from registry

3. Configure MCP Server

Add to your AI tool's MCP settings (Claude, Warp, etc.):

{
  "mcpServers": {
    "dotbot": {
      "command": "pwsh",
      "args": ["-NoProfile", "-File", ".bot/systems/mcp/dotbot-mcp.ps1"]
    }
  }
}

4. Start the UI

.bot\go.ps1

Opens the web dashboard (default port 8686, auto-selects next available if busy).

Screenshots

Overview Product Workflow Settings

Commands

dotbot help                    # Show all commands
dotbot init                    # Add dotbot to current project
dotbot init -Force             # Reinitialize (preserves workspace data)
dotbot init -Workflow <name>   # Install with a workflow
dotbot init -Stack <name>      # Install with a tech stack
dotbot list                    # List available workflows and stacks
dotbot run <workflow>          # Run/rerun a workflow
dotbot workflow add <name>     # Add a workflow to existing project
dotbot workflow remove <name>  # Remove an installed workflow
dotbot workflow list           # List installed workflows
dotbot registry add <n> <src>  # Add an enterprise extension registry
dotbot registry update [name]  # Update registry (all or named)
dotbot registry list           # List registries and available content
dotbot doctor                  # Run project health checks
dotbot status                  # Check installation status
dotbot update                  # Update global installation

Updating via PowerShell Gallery:

Update-Module Dotbot

Architecture

.bot/
โ”œโ”€โ”€ systems/            # Core systems
โ”‚   โ”œโ”€โ”€ mcp/            # MCP server (stdio, auto-discovers tools)
โ”‚   โ”‚   โ”œโ”€โ”€ tools/      # One folder per tool (metadata.yaml + script.ps1)
โ”‚   โ”‚   โ””โ”€โ”€ modules/    # NotificationClient, PathSanitizer, SessionTracking
โ”‚   โ”œโ”€โ”€ ui/             # Pure PowerShell HTTP server + vanilla JS frontend
โ”‚   โ””โ”€โ”€ runtime/        # Autonomous loop, worktree manager, provider CLIs
โ”‚       โ””โ”€โ”€ ProviderCLI/  # Stream parsers for Claude, Codex, Gemini
โ”œโ”€โ”€ workflows/          # Installed workflows (each with workflow.yaml + recipes/)
โ”‚   โ””โ”€โ”€ <name>/         # workflow.yaml, recipes/, (optional systems/, workspace/)
โ”œโ”€โ”€ settings/           # Default settings + provider configurations
โ”‚   โ”œโ”€โ”€ settings.default.json
โ”‚   โ”œโ”€โ”€ theme.default.json
โ”‚   โ””โ”€โ”€ providers/      # claude.json, codex.json, gemini.json
โ”œโ”€โ”€ recipes/            # AI content
โ”‚   โ”œโ”€โ”€ agents/         # Specialized personas (implementer, planner, reviewer, tester)
โ”‚   โ”œโ”€โ”€ skills/         # Reusable capabilities (status, verify, write-test-plan, write-unit-tests)
โ”‚   โ”œโ”€โ”€ prompts/        # Numbered step-by-step processes (00-kickstart-interview โ†’ 99-autonomous-task)
โ”‚   โ”œโ”€โ”€ includes/       # Shared prompt fragments
โ”‚   โ””โ”€โ”€ research/       # Research templates
โ”œโ”€โ”€ workspace/          # Version-controlled runtime state
โ”‚   โ”œโ”€โ”€ tasks/          # Task queue (todo/analysing/analysed/in-progress/done/โ€ฆ)
โ”‚   โ”œโ”€โ”€ sessions/       # Session history + run logs
โ”‚   โ”œโ”€โ”€ product/        # Product docs (mission, tech stack, entity model)
โ”‚   โ”œโ”€โ”€ plans/          # Execution plans
โ”‚   โ”œโ”€โ”€ decisions/      # Architecture decision records
โ”‚   โ””โ”€โ”€ reports/        # Generated reports
โ”œโ”€โ”€ hooks/              # Project-specific scripts (dev, scripts, verify)
โ”œโ”€โ”€ init.ps1            # IDE integration setup
โ””โ”€โ”€ go.ps1              # Launch UI server

MCP Tools

The dotbot MCP server exposes 33 tools, auto-discovered from systems/mcp/tools/:

Task Management (15): task_create, task_create_bulk, task_get_next, task_get_context, task_list, task_get_stats, task_mark_todo, task_mark_analysing, task_mark_analysed, task_mark_in_progress, task_mark_done, task_mark_needs_input, task_mark_skipped, task_answer_question, task_approve_split

Decision Tracking (7): decision_create, decision_get, decision_list, decision_update, decision_mark_accepted, decision_mark_deprecated, decision_mark_superseded

Session Management (5): session_initialize, session_get_state, session_get_stats, session_update, session_increment_completed

Plans (3): plan_create, plan_get, plan_update

Steering: steering_heartbeat

Development: dev_start, dev_stop

Workflows and stacks can add their own tools (e.g. kickstart-via-jira adds repo_clone, repo_list, atlassian_download, research_status).

See .bot/README.md for full tool documentation.

Testing

Four-layer test pyramid with ~500 assertions:

Layer What it covers Credentials
1 - Structure Syntax validation, module exports, workflow manifest parsing, task creation, condition evaluation, multi-workflow isolation None
2 - Components MCP tool lifecycle, task types, decision tracking, provider CLI, notification client, workflow integration, UI server startup None
3 - Mock Provider Analysis/execution flows with mock Claude CLI, rate limit detection, stream parsing None
4 - E2E Full end-to-end with real AI provider API API key
pwsh tests/Run-Tests.ps1            # Run layers 1-3
pwsh tests/Run-Tests.ps1 -Layer 1   # Structure tests
pwsh tests/Run-Tests.ps1 -Layer 2   # Component tests
pwsh tests/Run-Tests.ps1 -Layer 3   # Mock provider tests
pwsh tests/Run-Tests.ps1 -Layer 4   # E2E (requires API key)

CI runs layers 1-3 on every push and PR across Windows, macOS, and Linux. Layer 4 runs on schedule or manual trigger.

Troubleshooting

dotbot command not found after install - Restart your terminal. The installer adds ~/dotbot/bin to your PATH.

Script execution blocked on Windows - Run Set-ExecutionPolicy RemoteSigned -Scope CurrentUser and try again.

PowerShell version error - Requires PowerShell 7+. Check with $PSVersionTable.PSVersion and upgrade if needed.

License

MIT

Release History

VersionChangesUrgencyDate
v4.0.2Maintenance release. ## Install ``` # Homebrew (macOS / Linux) brew install andresharpe/dotbot/dotbot # Scoop (Windows) scoop bucket add dotbot https://github.com/andresharpe/scoop-dotbot scoop install dotbot # From source git clone https://github.com/andresharpe/dotbot ~/dotbot pwsh ~/dotbot/bootstrap.ps1 ``` High7/10/2026
v4.0.1### Added - **`bootstrap.ps1`** at the repo root โ€” the one-time install step. Drops the `bin/shim/dotbot*` PATH shim into `~/.local/bin` (Linux/macOS) or `%LOCALAPPDATA%\Microsoft\WindowsApps` (Windows). Refuses PowerShell 5.1; never sets `$env:DOTBOT_HOME` for the user (design decision D4). Honours `-ShimDir` and `-Force`. - **`dotbot status`** subcommand reporting resolved `DOTBOT_HOME`, framework branch + short SHA + dirty flag, version, user-settings path, and the active project's workflow /High7/3/2026
v3.5.0## What's Changed * fix: point Gemini CLI install hint to @google/gemini-cli by @carlospedreira in https://github.com/andresharpe/dotbot/pull/17 * fix: remove unnecessary async from synchronous callback in TeamsDelivโ€ฆ by @bbolek-ap in https://github.com/andresharpe/dotbot/pull/19 * fix: align deep dive output path with downstream consumers by @carlospedreira in https://github.com/andresharpe/dotbot/pull/21 * fix: phantom tool calls and param names by @carlospedreira in https://github.com/andreshHigh4/17/2026
main@2026-04-16Latest activity on main branchHigh4/16/2026
0.0.0No release found โ€” using repo HEADHigh4/8/2026

Dependencies & License Audit

Loading dependencies...

Similar Packages

nodespace-coreLocal-first knowledge base with semantic search for AI coding assistants. Fewer tokens, faster context.v0.2.0
codebase-contextGenerate a map of your codebaseto help AI Agents understand your architecture, coding conventions and patterns. Discoverable with Semantic Searchv2.3.0
nix-aiYour AI coding toolkit, declared in Nix โ€” Claude, Gemini, Copilot, 15+ MCP servers, one flakev3.8.1
codexCLIA command-line information store for quick reference of frequently used data, with dot notation paths, shell completions, and MCP server for AI agent integration.v1.3.0
slack-mcp-serverSession-based Slack MCP for Claude and MCP clients: local-first workflows, secure-default HTTP.v4.6.0

More in MCP Servers

supersetCode Editor for the AI Agents Era - Run an army of Claude Code, Codex, etc. on your machine
kreuzbergA polyglot document intelligence framework with a Rust core. Extract text, metadata, images, and structured information from PDFs, Office documents, images, and 91+ formats. Available for Rust, Python
ai-engineering-from-scratchLearn it. Build it. Ship it for others.
CodeGraphContextAn MCP server plus a CLI tool that indexes local code into a graph database to provide context to AI assistants.