Shepherd

A tool and package to manage DDD (Domain Driven Design) projects in Dart/Flutter, with domain health analysis, cleaning automation, YAML export, and CLI integration.

1. Setup & Onboarding

๐Ÿš€

Quick Start

Simply run shepherd to start. It detects configuration and guides you through setup.

๐Ÿ› ๏ธ

Setup Modes

Choose between Automation Only for CI/CD or Full Setup for complete DDD management.

๐Ÿ“ฅ

Direct Init

Use shepherd init to sync with your team's existing domains and start working immediately.

2. Automation & CI/CD

๐Ÿงน

Deep Cleaning

Run shepherd clean to clean all microfrontends at once. Ideal for monorepos.

๐Ÿ“

Automatic Changelog

Smartly generates entries for feature branches and merges them for release branches.

๐Ÿš€

Deployment Pipeline

shepherd deploy handles version bumping, changelog generation, and PR creation.

3. DDD & Project Management Alpha

๐Ÿฉบ

Domain Health Analysis

shepherd analyze checks for architectural violations and structure issues.

โš™๏ธ

Configuration & Owners

Manage domain owners interactively or via CLI commands like add-owner.

๐Ÿ’พ

Persistence

Export your domain structure to devops/domains.yaml for version control.

Installation

CLI (Recommended)

Install globally to use the CLI:

dart pub global activate shepherd

Package

Add to your pubspec.yaml to use as a package:

dependencies: shepherd: ^0.7.4

Then run dart pub get