Skip to content

Poorgramer-Zack/everything-dart

Repository files navigation

Everything Dart 🎯

The definitive GitHub Copilot CLI plugin for the Dart ecosystem — Flutter, Serverpod, and Jaspr, unified by one language.

Agents Skills MCP Servers License


📖 Overview

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.

Who is this for?

  • 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

What does it provide?

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

Philosophy

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.


⚡ Quick Start

Installation

# 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-dart

Note: /plugin install installs to user scope by default (~/.copilot/plugins/). All your projects share the same agents, skills, hooks, and MCP servers.

Install coding rules

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

On Windows (PowerShell):

Invoke-WebRequest -Uri "https://raw.githubusercontent.com/Poorgramer-Zack/everything-dart/main/AGENTS.md" -OutFile AGENTS.md

Tip: To disable the plugin for a specific project, run copilot plugin disable everything-dart.

Verify

copilot plugin list

You should see everything-dart listed with 14 agents and 19 skills.

First use

# 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"

Route requests through conductor (recommended)

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 conductor

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

Model-aware agents

All 14 bundled agents now pin an explicit model: in frontmatter.

  • claude-opus-4.6 — planning, architecture, and security-critical review
  • claude-sonnet-4.6 — orchestration and routing
  • claude-sonnet-4.5 — TDD guidance
  • gpt-5.3-codex — implementation
  • gpt-5.4 — review and analysis
  • gpt-5.4-mini — E2E and build/computer-use workflows
  • claude-haiku-4.5 — lightweight documentation tasks

Note: Copilot CLI currently documents reasoning_effort as a global user setting in ~/.copilot/config.json, not a per-model or per-agent setting.


📋 Prerequisites

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

📦 What's Inside

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

🤖 Agents (14)

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.

🎯 Orchestration

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

💻 Implementation

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

🏗️ Planning & Architecture

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

🔍 Code Review

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

🧪 Testing

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

🔧 Build & Refactor

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

📚 Documentation

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 (19)

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.

⚡ Workflow

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

📱 Flutter

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

🔤 Dart

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

🖥️ Backend

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

🚀 DevOps & Code Generation

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 Servers (5)

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-flutter server runs directly via dart mcp-server — no npm package needed. It requires Dart SDK 3.9+.

Environment Setup

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.


🔤 LSP Servers

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.

Setup

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

On 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

Included Servers

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

Verify

# Check LSP status in a Copilot CLI session
/lsp

🪝 Hooks (1)

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


📏 Coding Rules Installation

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.

Install to your project

# 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.md

On 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.md

Tip: AGENTS.md is recognized by Copilot CLI, VS Code, Claude Code, and GitHub.com coding agent — the widest cross-tool compatibility of any instruction file format.

What's inside

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

Highlights

// ✅ 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),
}

🚀 Usage Workflows

A. Feature Development (step by step)

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

B. Code Review

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

C. Debugging & Build Fixes

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

D. Full-Cycle Automation

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

📂 Dart Skills Archive

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.


📁 Project Structure

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.md at your mono-repo root for always-on coding rules.


🔧 Local Development & Customization

Add project-specific agents

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

Add project-specific skills

Create skill directories in .github/skills/ with a SKILL.md file inside each:

.github/skills/my-custom-skill/SKILL.md

Override coding rules

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.

Disable MCP servers

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.

Plugin Development

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

❓ Troubleshooting

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

🔄 Comparison with Everything Copilot CLI

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.


🤝 Contributing

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

Naming Conventions

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 Description Guidelines

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.

📄 License

MIT


Built with ❤️ for the Dart community. One language, full stack.

About

The everything-dart plugin for Copilot CLI — comprehensive Dart ecosystem coverage for Flutter, Serverpod, and Jaspr, with specialized agents, skills, and battle-tested coding rules.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Contributors