The definitive GitHub Copilot CLI plugin for the Dart ecosystem — Flutter, Serverpod, and Jaspr, unified by one language.
Everything Dart is a GitHub Copilot CLI plugin purpose-built for the Dart full-stack ecosystem. It ships 14 specialized agents, 19 optimized skills, 5 MCP tool servers, lifecycle hooks, and over 1,200 lines of battle-tested coding rules — everything a Flutter/Dart team needs to produce production-grade code from day one.
- Flutter developers building mobile, desktop, or web apps with Copilot CLI
- Serverpod teams running Dart on the backend with type-safe APIs
- Jaspr adopters writing Dart-powered server-side rendered websites
- Full-stack Dart shops that want one language across the entire stack
| Layer | What you get |
|---|---|
| Agents | 14 AI agents for orchestration, implementation, planning, code review, TDD, build fixes, and documentation |
| Skills | 19 optimized skills covering workflows, Flutter, Dart, backend, DevOps, and code generation |
| MCP Servers | 5 tool servers (Context7, Exa, Dart SDK, Memory, Sequential Thinking) |
| Hooks | 1 hook configuration for TDD guardrails, debug-print detection, and session-end diagnostics |
| Coding Rules | 1,200+ lines of Effective Dart, Flutter architecture, Serverpod, and security rules |
One language, full stack.
Flutter for mobile and desktop. Serverpod for the backend. Jaspr for the web. Dart everywhere — no context-switching, no language boundaries, one set of coding rules, one CI pipeline.
# Install from GitHub (user-scoped, recommended)
copilot plugin install Poorgramer-Zack/everything-dart
# Or install from a local clone
git clone https://github.com/Poorgramer-Zack/everything-dart.git
copilot plugin install ./everything-dartNote:
/plugin installinstalls to user scope by default (~/.copilot/plugins/). All your projects share the same agents, skills, hooks, and MCP servers.
This repository currently ships its always-on coding rules in AGENTS.md. Copy it to your project root so Copilot CLI and other coding agents auto-load the rules:
curl -o AGENTS.md https://raw.githubusercontent.com/Poorgramer-Zack/everything-dart/main/AGENTS.mdOn Windows (PowerShell):
Invoke-WebRequest -Uri "https://raw.githubusercontent.com/Poorgramer-Zack/everything-dart/main/AGENTS.md" -OutFile AGENTS.mdTip: To disable the plugin for a specific project, run
copilot plugin disable everything-dart.
copilot plugin listYou should see everything-dart listed with 14 agents and 19 skills.
# Ask Copilot to plan a feature — conductor routes planning work to planner
copilot "Plan a user profile editing feature with Serverpod backend"
# Or invoke a skill directly
copilot "/tdd"The conductor agent is the plugin's orchestration dispatcher. Set it as the default routed agent so requests flow through conductor for clarification and delegation; for code-touching work it enforces approval-gated Phase 1 planning before Phase 2 TEST:
Option 1: Launch flag
copilot --agent conductorOption 2: Shell alias (recommended)
PowerShell 7+ (Windows)
Add to your profile (notepad $PROFILE):
# Everything Dart — launch Copilot CLI with conductor agent
function cop { copilot --agent conductor @args }Reload with . $PROFILE, then use cop to launch.
Bash / Zsh (macOS / Linux)
Add to ~/.bashrc or ~/.zshrc:
# Everything Dart — launch Copilot CLI with conductor agent
alias cop='copilot --agent conductor'Reload with source ~/.bashrc or source ~/.zshrc, then use cop to launch.
All 14 bundled agents now pin an explicit model: in frontmatter.
claude-opus-4.6— planning, architecture, and security-critical reviewclaude-sonnet-4.6— orchestration and routingclaude-sonnet-4.5— TDD guidancegpt-5.3-codex— implementationgpt-5.4— review and analysisgpt-5.4-mini— E2E and build/computer-use workflowsclaude-haiku-4.5— lightweight documentation tasks
Note: Copilot CLI currently documents
reasoning_effortas a global user setting in~/.copilot/config.json, not a per-model or per-agent setting.
| Tool | Min Version | Required? | Purpose |
|---|---|---|---|
| Dart SDK | 3.9+ | ✅ Required | Language runtime and dart mcp-server |
| Flutter | 3.35+ | ✅ Required | Mobile / desktop / web framework |
| GitHub Copilot CLI | latest | ✅ Required | Host platform for this plugin |
| Node.js | 18+ | ✅ Required | Runs npx-based MCP servers |
| Serverpod CLI | latest | ⬜ Optional | Backend code generation (serverpod generate) |
| Docker | latest | ⬜ Optional | Local PostgreSQL for Serverpod development |
| Component | Count | Description |
|---|---|---|
| Agents | 14 | Specialized AI agents for orchestration, implementation, planning, review, TDD, builds, and docs |
| Skills | 19 | Optimized prompt skills for workflows, Flutter, Dart, backend, DevOps, and code generation |
| MCP Servers | 5 | External tool servers for docs, search, reasoning, and Dart SDK |
| Hooks | 1 | Cross-platform hook configuration for TDD guardrails, debug-print detection, and session-end diagnostics |
| Coding Rules | 1,200+ lines | AGENTS.md — copy to project root for always-on coding rules |
| Archived Skills | 5 | Legacy skill categories in dart-skills/ plus a guide README for self-serve reference |
Every agent is defined as an .agent.md file in the agents/ directory. Copilot CLI automatically selects the best agent based on your prompt — you never need to invoke them manually.
| Agent | Description | Tools | Auto-activates when… |
|---|---|---|---|
conductor |
Orchestration dispatcher — clarifies the request, selects skills deliberately, dispatches specialists, and enforces approval-gated Phase 1 planning before Phase 2 TEST for code changes. | read, edit, search, execute | Set as the default routed agent, or use for complex multi-step tasks |
| Agent | Description | Tools | Auto-activates when… |
|---|---|---|---|
coder |
Implementation specialist — writes production code following Effective Dart, API design best practices, and modern Dart 3 idioms. | read, edit, search, execute | Code implementation tasks, feature coding, bug fixes |
| Agent | Description | Tools | Auto-activates when… |
|---|---|---|---|
planner |
Expert planning for complex features and refactoring. Creates step-by-step implementation plans with risk assessment. | read, search | User asks to plan, design, or scope a feature |
architect |
System design and architecture specialist. Produces ADRs, evaluates trade-offs, and designs scalable architectures. | read, search | Architecture discussions, system design questions |
| Agent | Description | Tools | Auto-activates when… |
|---|---|---|---|
code-reviewer |
General Flutter/Dart code review — quality, maintainability, and best practices. | read, search | After code changes (must use) |
dart-reviewer |
Dart-specific reviewer — Effective Dart compliance, null safety, async patterns, modern Dart 3 idioms. | read, search | Dart code style issues or when Dart-specific review is requested |
security-reviewer |
Security vulnerability detection — auth flows, user input, API endpoints, secret handling. | read, search, edit, execute | Security-sensitive code changes (auth, payments, API keys) |
database-reviewer |
PostgreSQL + Serverpod database specialist — schemas, migrations, queries, and table definitions. | read, search | Database code changes, migration files, Serverpod protocol YAML |
| Agent | Description | Tools | Auto-activates when… |
|---|---|---|---|
tdd-guide |
TDD enforcement specialist — Red-Green-Refactor workflow, 80%+ coverage target, mocktail and golden tests. | read, edit, search, execute | New feature development or bug fixes |
e2e-runner |
E2E test specialist — integration_test + Patrol for mobile, agent-browser for Jaspr web apps. |
read, edit, search, execute, web | E2E test creation, integration testing tasks |
| Agent | Description | Tools | Auto-activates when… |
|---|---|---|---|
flutter-build-resolver |
Build error resolution — flutter build, pub get, build_runner, Gradle, Xcode, and serverpod generate. |
read, edit, search, execute | Build failures, dependency resolution errors |
refactor-cleaner |
Code cleanup and refactoring — lint fixes, dead code removal, structural improvements. | read, edit, search, execute | Refactoring requests, cleanup tasks |
| Agent | Description | Tools | Auto-activates when… |
|---|---|---|---|
doc-updater |
Documentation generator — updates READMEs, API docs, CHANGELOGs, and codemaps when code changes. | read, edit, search, execute | After significant code changes |
docs-lookup |
Library documentation lookup via Context7 — up-to-date API references, examples, and migration guides. | read, search, web | "How do I use X?" questions, API lookup |
Skills are optimized prompt instructions that Copilot CLI selects automatically based on your task, or that you can invoke explicitly by name. They live in skills/*/SKILL.md.
| Skill | Invoke | Description |
|---|---|---|
planning |
/planning |
Feature planning + multi-PR blueprints with risk assessment and dependency graphs |
tdd |
/tdd |
Red-Green-Refactor TDD workflow — write failing test → implement → refactor → repeat |
code-review |
/code-review |
Code quality + security audit — Effective Dart, null safety, state management, Serverpod patterns |
verify |
/verify |
Pre-commit verification pipeline — analyze → format → test → coverage → build |
build-fix |
/build-fix |
Build error diagnosis and fix — pub, Gradle, Xcode, build_runner, Serverpod |
| Skill | Description |
|---|---|
flutter-architecture |
App structure — feature boundaries, layering, dependency direction, and state ownership |
flutter-ui |
Widget composition, layout, responsive UI, theming, and interaction polish |
flutter-state |
Riverpod, BLoC, and notifier-driven state flows with clear async boundaries |
flutter-navigation |
Routing + deep links — GoRouter/AutoRoute, navigation guards, App Links, custom URL schemes |
flutter-services |
3rd-party integrations — social auth (Google/Apple/Facebook), ads, RevenueCat, Sentry |
flutter-testing |
Unit, widget, integration, and E2E testing patterns for Flutter apps |
| Skill | Description |
|---|---|
dart-patterns |
Modern Dart 3 patterns — sealed classes, records, pattern matching, and immutable data modeling |
ts-to-dart |
Port TypeScript types, async flows, and business logic to idiomatic Dart |
| Skill | Description |
|---|---|
serverpod |
Full-stack Dart backend — type-safe APIs, PostgreSQL, database migrations, code generation |
baas |
Backend-as-a-Service — Firebase + Supabase integration patterns for Flutter |
jaspr |
Jaspr web framework — Dart full-stack web with SSR/SSG |
| Skill | Description |
|---|---|
devops |
CI/CD — GitHub Actions, Fastlane, Codemagic, deployment, Docker |
openapi-to-dart |
OpenAPI 3.0 to Dart — generate type-safe clients and Freezed models from specs |
shadcn-flutter |
shadcn-style Flutter components, design tokens, and polished app-shell patterns |
Usage:
copilot "/planning Add social authentication with Google and Apple sign-in"
copilot "/tdd"
copilot "/build-fix flutter build fails with Gradle error"
copilot "/flutter-testing"
copilot "/verify"MCP (Model Context Protocol) servers extend Copilot CLI with external tools. They are defined in mcp.json and start automatically when the plugin is loaded.
Note: GitHub MCP is built into Copilot CLI — no additional configuration needed. For personal persistent servers, use
~/.copilot/mcp-config.json. For one-off session servers, use--additional-mcp-config.
| Server | Package / Command | Required Env Vars | What It Does |
|---|---|---|---|
context7 |
npx @upstash/context7-mcp@latest |
— | Up-to-date library documentation lookup |
exa |
npx exa-mcp-server |
EXA_API_KEY |
Web search for tutorials, blog posts, and real-world usage examples |
memory |
npx @modelcontextprotocol/server-memory |
— | Persistent memory across Copilot sessions |
sequential-thinking |
npx @modelcontextprotocol/server-sequential-thinking |
— | Step-by-step reasoning for complex problem solving |
dart-flutter |
dart mcp-server |
— | Dart/Flutter SDK — pub search for pub.dev docs, code analysis, formatting |
Note: The
dart-flutterserver runs directly viadart mcp-server— no npm package needed. It requires Dart SDK 3.9+.
Set these environment variables for full MCP functionality:
# Exa — required for exa MCP server (web search fallback for docs)
export EXA_API_KEY="..."On Windows (PowerShell):
$env:EXA_API_KEY = "..."Servers that require auth will fail silently if their environment variables are not set.
The plugin includes a reference lsp.json with pre-configured language servers for Dart and Serverpod. Since Copilot CLI's plugin format does not support bundling LSP configs, you need to copy this file manually.
Copy the bundled lsp.json to your project or user config:
# Project-level (recommended)
cp everything-dart/lsp.json .github/lsp.json
# User-level (applies to all projects)
cp everything-dart/lsp.json ~/.copilot/lsp-config.jsonOn Windows (PowerShell):
# Project-level
Copy-Item everything-dart\lsp.json .github\lsp.json
# User-level
Copy-Item everything-dart\lsp.json $HOME\.copilot\lsp-config.json| Server | Command | File Extensions | Purpose |
|---|---|---|---|
dart |
dart language-server --protocol=lsp |
.dart |
Dart code intelligence — go-to-definition, diagnostics, hover |
serverpod |
serverpod language-server |
.spy.yaml |
Serverpod protocol YAML — schema validation and completion |
# Check LSP status in a Copilot CLI session
/lspHooks run automatically at specific points in the Copilot CLI session lifecycle. They are defined in hooks.json and support both bash and PowerShell (cross-platform).
| # | Trigger | What It Does |
|---|---|---|
| 1 | preToolUse, agentStop, subagentStop, sessionEnd |
Enforces TDD guardrails for code edits, warns about missing matching tests, and scans lib/ for leftover debug print() statements (supports // ignore: debug_print to suppress) |
Timeouts vary per hook and are defined with both bash and powershell variants, so it works on macOS, Linux, and Windows.
The plugin ships comprehensive coding rules in AGENTS.md (1,200+ lines). Copy it to your project root so Copilot CLI auto-loads the rules from the git root and current working directory.
# Recommended: always-on rules
cp path/to/everything-dart/AGENTS.md ./AGENTS.md
# Or download AGENTS.md directly
curl -o AGENTS.md https://raw.githubusercontent.com/Poorgramer-Zack/everything-dart/main/AGENTS.mdOn Windows (PowerShell):
# Recommended: always-on rules
Copy-Item path\to\everything-dart\AGENTS.md .\AGENTS.md
# Or download AGENTS.md directly
Invoke-WebRequest -Uri "https://raw.githubusercontent.com/Poorgramer-Zack/everything-dart/main/AGENTS.md" -OutFile AGENTS.mdTip:
AGENTS.mdis recognized by Copilot CLI, VS Code, Claude Code, and GitHub.com coding agent — the widest cross-tool compatibility of any instruction file format.
| Section | Key Rules |
|---|---|
| Core Principles | Effective Dart compliance, immutability first, type safety, final/const everywhere, composition over inheritance |
| Dart Coding Style | Naming conventions, import ordering, const constructors, records, pattern matching, sealed classes, extension types, null safety, error handling, type inference, arrow functions |
| Flutter Architecture | State management (Provider/Riverpod/BLoC), widget patterns, composition, navigation (GoRouter/AutoRoute), theming |
| Serverpod Backend | Endpoint architecture, table definitions (protocol YAML), database patterns, auth, Redis caching, code generation workflow |
| Jaspr Web | Component patterns, SEO-friendly routing, SSR/SSG configuration, hydration patterns |
| Testing | TDD workflow (mandatory), 80%+ coverage target, test types, AAA pattern, mocktail for mocks, golden tests for widgets |
| Security | Mandatory pre-commit checks, secret management, secure storage, security response protocol |
| Git Workflow | Conventional commit format, PR process, branch naming conventions |
| Performance | Flutter-specific optimizations (const widgets, RepaintBoundary, lazy loading), Serverpod-specific (connection pooling, pagination) |
| Development Workflow | Agent selection guide, feature implementation workflow, verification loops |
| Directory Structure | Recommended layouts for Flutter app, Serverpod backend, and Jaspr web app |
// ✅ Immutability first — create new instances, never mutate
final newList = [...list, item];
final updatedUser = user.copyWith(name: 'Alice');
// ✅ Sealed classes for exhaustive unions
sealed class AuthState {}
class Authenticated extends AuthState { final User user; ... }
class Unauthenticated extends AuthState {}
// ✅ Records and pattern matching (Dart 3+)
final (name, age) = getUserInfo();
switch (result) {
case Ok(:final value) => handleSuccess(value),
case Err(:final error) => handleError(error),
}1. /planning "Add user profile editing with avatar upload"
→ planner agent creates a step-by-step implementation plan
→ Review and confirm before any code is written
2. /tdd (for each component)
→ Write failing test first (Red)
→ Implement minimal code to pass (Green)
→ Refactor for clarity (Refactor)
3. /build-fix (if build fails)
→ flutter-build-resolver diagnoses Gradle/Xcode/pub/build_runner errors
→ Applies targeted fix — no architectural changes
4. /verify (before commit)
→ Runs dart analyze → dart format → flutter test → coverage check → build
1. /code-review
→ code-reviewer checks quality, maintainability, and best practices
→ dart-reviewer checks Effective Dart compliance and modern idioms
→ Security audit included — auth flows, input validation, secret handling
2. database-reviewer auto-activates for DB changes
→ Reviews schemas, migrations, queries, and Serverpod table definitions
1. /build-fix "flutter build fails with Gradle error"
→ flutter-build-resolver agent diagnoses the failure
2. Agent reads error output and identifies root cause
→ Gradle version mismatch, missing dependency, SDK path, etc.
3. Applies targeted fix
→ Updates build.gradle, pubspec.yaml, or Xcode settings as needed
→ Never introduces unnecessary architectural changes
4. /verify to confirm the fix
1. copilot --agent conductor "Add social authentication with Google and Apple sign-in"
→ conductor routes the request, selects skills, and dispatches the right specialists
→ For code changes, Phase 1 PLAN must be approved before Phase 2 TEST
The dart-skills/ directory contains 5 archived skill categories plus a guide README.md. These are the legacy granular skills that informed the 19 optimized skills above.
dart-skills/
├── flutter/ # Flutter UI, state, routing, animations, hooks, etc.
├── backend/ # Serverpod, Firebase, Supabase, PostgreSQL
├── dart/ # Freezed, fpdart, effective-dart, code generation
├── workflow/ # TDD, testing, code review, verification, planning
├── devops/ # GitHub Actions, Fastlane, Codemagic, Docker
└── README.md # Self-serve usage guide
When to use: If you want the older category-by-category reference material, browse the archive and adapt the relevant guidance into your own project skills or instructions.
Recommended directory layout for a Flutter + Serverpod + Jaspr mono-repo:
my_project/
├── my_project_flutter/ # Flutter mobile/desktop app
│ ├── lib/
│ │ ├── main.dart
│ │ ├── features/ # Feature-based modules
│ │ │ ├── auth/
│ │ │ │ ├── auth_screen.dart
│ │ │ │ ├── auth_controller.dart
│ │ │ │ └── auth_repository.dart
│ │ │ ├── home/
│ │ │ └── settings/
│ │ ├── shared/ # Shared widgets, utils, theme
│ │ └── routing/ # GoRouter / AutoRoute config
│ ├── test/ # Unit and widget tests
│ ├── integration_test/ # E2E tests
│ └── pubspec.yaml
│
├── my_project_server/ # Serverpod backend
│ ├── lib/
│ │ └── src/
│ │ ├── endpoints/ # API endpoints
│ │ ├── models/ # Table definitions (YAML)
│ │ └── business/ # Business logic
│ ├── test/ # Server tests
│ ├── migrations/ # Database migrations
│ └── pubspec.yaml
│
├── my_project_client/ # Serverpod generated client
│ └── lib/
│ └── src/
│ └── protocol/ # Generated protocol classes
│
├── my_project_web/ # Jaspr web app (optional)
│ ├── lib/
│ │ ├── main.dart
│ │ ├── components/ # Jaspr components
│ │ └── pages/ # Page components
│ ├── web/
│ └── pubspec.yaml
│
├── docker-compose.yaml # PostgreSQL + Redis for Serverpod
│
└── .github/
├── agents/ # Project-specific agent overrides
├── skills/ # Project-specific skill additions
└── copilot-instructions.md # Project-specific overrides (optional)
Note: Place the plugin's
AGENTS.mdat your mono-repo root for always-on coding rules.
Place .agent.md files in your project's .github/agents/ directory. They load alongside the plugin's agents.
.github/agents/my-custom-agent.agent.md
Create skill directories in .github/skills/ with a SKILL.md file inside each:
.github/skills/my-custom-skill/SKILL.md
The AGENTS.md at your project root provides the base rules. To add project-specific overrides, create .github/copilot-instructions.md in your project root. Project-level instructions are merged with AGENTS.md — your rules take precedence.
This plugin ships its own mcp.json. For personal persistent server changes outside the plugin, use ~/.copilot/mcp-config.json. For session-only experiments, use --additional-mcp-config.
To modify the plugin itself:
# 1. Clone the repository
git clone https://github.com/Poorgramer-Zack/everything-dart.git
cd everything-dart
# 2. Edit plugin files
# Agents: agents/*.agent.md
# Skills: skills/*/SKILL.md
# Hooks: hooks.json
# MCP Servers: mcp.json
# Coding Rules: AGENTS.md
# Plugin Config: plugin.json
# 3. Install from local path to test
copilot plugin install .
# 4. Reload MCP servers after config changes
copilot mcp reload
# 5. Verify your changes
copilot plugin list| Problem | Solution |
|---|---|
| MCP server won't start | Ensure Node.js 18+ is installed and npx is available in your PATH |
dart mcp-server not found |
Requires Dart SDK 3.9+. Run dart --version to check |
| Skills not triggering | Check the SKILL.md description — Copilot CLI matches tasks to skills by keyword |
| Agent not auto-activating | Verify the agent's .agent.md description matches the type of task you're asking |
| Plugin not loading | Run copilot plugin list and verify plugin.json syntax is valid JSON |
| Hooks not running | Confirm hooks.json has "version": 1 at the top level |
| Env vars not set | MCP servers requiring auth (Exa) fail silently without credentials |
serverpod generate fails |
Ensure Serverpod CLI is installed: dart pub global activate serverpod_cli |
| Build errors after plugin update | Run copilot mcp reload to restart MCP servers with the new config |
| Everything Copilot CLI | Everything Dart | |
|---|---|---|
| Agents | 25 | 14 |
| Skills | 168 | 19 (+ 5 archived categories) |
| MCP Servers | 24 | 5 |
| Focus | Multi-language (TypeScript, Python, Go, Rust, …) | Flutter / Dart only |
| Backend | Node.js, Python, Go, Rust | Serverpod (Dart) |
| Web Framework | React, Vue, Angular, Svelte | Jaspr (Dart) |
| Mobile | React Native, Flutter | Flutter |
| Coding Rules | Language-agnostic + per-language rules | Effective Dart + Flutter-specific |
| Best For | Polyglot teams and multi-language projects | Teams fully committed to Dart |
When to choose Everything Dart: Your team writes Dart for everything — mobile, backend, and web. You want deep, opinionated rules and skills tuned for the Dart ecosystem without the overhead of unrelated language support.
When to choose Everything Copilot CLI: Your team uses multiple languages and frameworks. You need broad coverage across TypeScript, Python, Go, and more.
Contributions are welcome! Here's how to get started:
# 1. Fork and clone
git clone https://github.com/YOUR_USERNAME/everything-dart.git
cd everything-dart
# 2. Create a feature branch
git checkout -b feat/add-riverpod-skill
# 3. Make your changes (agents, skills, hooks, rules)
# 4. Test locally
copilot plugin install .
copilot plugin list
# 5. Open a PR with a clear description| Component | Convention | Example |
|---|---|---|
| Agents | kebab-case.agent.md |
code-reviewer.agent.md |
| Skills (Flutter) | flutter-* |
flutter-navigation, flutter-testing |
| Skills (General) | descriptive name | planning, build-fix, ts-to-dart |
Skill descriptions in SKILL.md drive Copilot CLI's automatic skill selection. Write them to be:
- Action-oriented — start with a verb or describe what the skill does
- Specific — include trigger keywords that match real user prompts
- Concise — 1–2 sentences maximum
<!-- ✅ Good -->
Generate type-safe Dart client code and Freezed models from OpenAPI/Swagger specifications.
<!-- ❌ Bad -->
This skill helps with OpenAPI stuff.Built with ❤️ for the Dart community. One language, full stack.