# Dowel documentation > Dowel is one binary for scaffolding, code generation, plugin installs, hot reload and a stdio MCP server, with command verbs you know from php artisan. ## Getting Started - [Getting Started](https://anilcancakir.com/dowel/docs/getting-started/index.md): Everything you need to add dowel to your project, run your first command, and wire the MCP server into your AI client. - [Installation](https://anilcancakir.com/dowel/docs/getting-started/installation.md): Getting started with dowel requires a few steps to wire the CLI binary and codegen scaffolding into your project. - [Quickstart](https://anilcancakir.com/dowel/docs/getting-started/quickstart.md): A 5-step walkthrough taking a fresh Dart or Flutter project from zero to a working dowel setup with a plugin installed and a custom command registered. ## Commands - [Commands](https://anilcancakir.com/dowel/docs/commands/index.md): Catalogue of every user-facing command shipped by dowel. Twenty-two commands, grouped by intent. - [install](https://anilcancakir.com/dowel/docs/commands/install.md): Scaffold the canonical Flutter consumer project structure and install the fast-CLI wrapper in a single step. Running install produces bin/dispatcher.dart, the… - [start](https://anilcancakir.com/dowel/docs/commands/start.md): The start command spawns flutter run as a detached background process, scrapes the VM Service URI from its output, and records the session so that every… - [tinker](https://anilcancakir.com/dowel/docs/commands/tinker.md): Connected REPL into the running Flutter app. Evaluates Dart expressions via the VM Service protocol and pretty-prints the result. Requires the app to be… - [plugin:install](https://anilcancakir.com/dowel/docs/commands/plugin-install.md): Register a third-party dowel plugin into the consumer project. After adding a package to pubspec.yaml and running flutter pub get, plugin:install wires the… - [make:plugin](https://anilcancakir.com/dowel/docs/commands/make-plugin.md): Scaffold a new dowel plugin skeleton under packages// (or a custom target directory). Produces a fully wired, immediately testable plugin package in a… - [make:fast-cli](https://anilcancakir.com/dowel/docs/commands/make-fast-cli.md): Scaffold a POSIX shell wrapper (bin/dowel) and AOT-compiled dowel binary for about 100 ms startup, avoiding the 3-second dart run overhead with build hooks. - [mcp:serve](https://anilcancakir.com/dowel/docs/commands/mcp-serve.md): Start the dowel MCP server over stdio JSON-RPC, exposing substrate and plugin-contributed tools to AI clients such as Claude Code, Cursor, and Windsurf. ## MCP - [MCP Integration Overview](https://anilcancakir.com/dowel/docs/mcp/overview.md): How dowel exposes its commands to AI clients as MCP tools: what MCP is, the ten substrate tools, the tools plugins contribute and the state file that ties a… - [MCP Server Setup](https://anilcancakir.com/dowel/docs/mcp/setup.md): The dowel CLI ships with a built-in Model Context Protocol (MCP) server that exposes your running Flutter app to AI coding assistants. The server speaks stdio… - [MCP Tool Reference](https://anilcancakir.com/dowel/docs/mcp/tool-reference.md): Catalogue of every MCP tool surfaced by dowel directly. The MCP server exposes 10 substrate tools (always available) plus plugin-contributed tools when the… ## Plugins - [Plugin Authoring Guide](https://anilcancakir.com/dowel/docs/plugins/authoring.md): A plugin is a Dart package that ships a DowelServiceProvider subclass. The subclass declares the CLI commands and MCP tool descriptors the plugin contributes… - [install.yaml Schema Reference](https://anilcancakir.com/dowel/docs/plugins/install-yaml.md): Canonical schema for the declarative install.yaml manifest consumed by plugin:install's manifest flow. - [PluginInstaller Fluent DSL](https://anilcancakir.com/dowel/docs/plugins/installer-dsl.md): The PluginInstaller class is the procedural escape hatch for plugin install logic that the declarative install.yaml manifest cannot express. ## Reference - [Signature DSL](https://anilcancakir.com/dowel/docs/reference/signature-dsl.md): The signature DSL compresses a command's name, positional arguments, and options into a single Dart string. CommandSignature.parse… ## Optional - [Dowel](https://anilcancakir.com/dowel): the package landing page - [Full documentation](https://anilcancakir.com/dowel/docs/llms-full.txt): every page in one file