PHPackages                             tasuku43/mermaid-class-diagram - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. tasuku43/mermaid-class-diagram

AbandonedArchivedLibrary[Utility &amp; Helpers](/categories/utility)

tasuku43/mermaid-class-diagram
==============================

Generate class diagrams code written in mermaid-js.

v0.7.0(10mo ago)101.1k↓82.6%4[2 PRs](https://github.com/tasuku43/php-mermaid-class-diagram/pulls)MITPHPCI passing

Since Aug 20Pushed 9mo ago1 watchersCompare

[ Source](https://github.com/tasuku43/php-mermaid-class-diagram)[ Packagist](https://packagist.org/packages/tasuku43/mermaid-class-diagram)[ RSS](/packages/tasuku43-mermaid-class-diagram/feed)WikiDiscussions main Synced 3w ago

READMEChangelog (10)Dependencies (4)Versions (19)Used By (0)

Mermaid class diagram generater
===============================

[](#mermaid-class-diagram-generater)

Overview
--------

[](#overview)

Generate Mermaid-js class diagram from php code.
This tool focuses on the relationships between classes and omits the details of class internals at this stage.

Installation
------------

[](#installation)

Via Composer

```
composer require --dev tasuku43/mermaid-class-diagram
```

Usage
-----

[](#usage)

### Command

[](#command)

- `vendor/bin/mermaid-class-diagram generate --path  [options]`

### Options

[](#options)

- `--path `: Required. Directory (recursively scanned) or single PHP file.
- `--exclude-relationships `: Hide edge types; case-insensitive; aliases supported.
    - `dependency|dependencies|dep|deps`
    - `composition|compositions|comp`
    - `inheritance|inheritances|extends`
    - `realization|realizations|implements`
- `--trait-mode `: Trait rendering mode. Default: `flatten`.
    - `with-traits` (aliases: `with_traits`, `with`): show trait nodes and `use` edges; suppress class-level comp/dep duplicates provided by traits.
    - `flatten` (aliases: `flat`): hide trait nodes and `use` edges; reassign trait-origin comp/dep to using classes; supports trait→trait→class chains; deduplicates.

### Examples

[](#examples)

#### Execute command by specifying a directory (sample project)

[](#execute-command-by-specifying-a-directory-sample-project)

```
$ vendor/bin/mermaid-class-diagram generate --path tests/data/Project
classDiagram
    class AbstractController {

    }
    class AuditLogger {
    }
    class AuditTarget {
    }
    class User {
    }
    class UserController {
    }
    class UserRepository {
    }
    class UserRepositoryInterface {

    }
    class UserService {
    }
    class UserStatus {

    }

    User *-- UserStatus: composition
    AbstractController  User: dependency
    UserRepositoryInterface  User: dependency
    UserService *-- AuditLogger: composition
    UserService ..> AuditTarget: dependency
    UserService ..> InvalidArgumentException: dependency
    UserService ..> User: dependency
    UserService *-- UserRepositoryInterface: composition
```

 ```
classDiagram
    class SomeAbstractClass {

    }
    class SomeClassA {
    }
    class SomeClassB {
    }
    class SomeClassC {
    }
    class SomeClassD {
    }
    class SomeClassE {
    }
    class SomeInterface {

    }

    SomeInterface  SomeClassB: dependency
    SomeClassE ..> SomeClassC: dependency
```

      Loading #### Execute command by specifying a file (sample file)

[](#execute-command-by-specifying-a-file-sample-file)

```
$ vendor/bin/mermaid-class-diagram generate --path tests/data/Project/Controller/UserController.php
classDiagram
    class UserController {
    }

    AbstractController  UserId: dependency
```

      Loading License
-------

[](#license)

The MIT License (MIT). Please see [LICENSE](https://github.com/tasuku43/php-mermaid-class-diagram/blob/main/LICENSE) for more information.

###  Health Score

38

—

LowBetter than 83% of packages

Maintenance56

Moderate activity, may be stable

Popularity26

Limited adoption so far

Community13

Small or concentrated contributor base

Maturity46

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 91.6% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~85 days

Recently: every ~40 days

Total

14

Last Release

300d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/b7b8550144ee3b05e9e63d367105b5d392127e8d997f995800de07208b4b5f0c?d=identicon)[tasuku43](/maintainers/tasuku43)

---

Top Contributors

[![tasuku43](https://avatars.githubusercontent.com/u/43329036?v=4)](https://github.com/tasuku43 "tasuku43 (109 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (9 commits)")[![oliverklee](https://avatars.githubusercontent.com/u/765746?v=4)](https://github.com/oliverklee "oliverklee (1 commits)")

---

Tags

class-diagram-generatorclassdiagramdiagramdiagramsmermaidmermaid-diagramsmermaidjsphpphpumldiagramdiagramsmermaidmermaidjsClass Diagramdiagram-generator

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/tasuku43-mermaid-class-diagram/health.svg)

```
[![Health](https://phpackages.com/badges/tasuku43-mermaid-class-diagram/health.svg)](https://phpackages.com/packages/tasuku43-mermaid-class-diagram)
```

###  Alternatives

[psalm/plugin-laravel

Psalm plugin for Laravel

3345.1M337](/packages/psalm-plugin-laravel)[phparkitect/phparkitect

Enforce architectural constraints in your PHP applications

9184.1M24](/packages/phparkitect-phparkitect)[friendsoftypo3/content-blocks

TYPO3 CMS Content Blocks - Content Types API | Define reusable components via YAML

101466.4k45](/packages/friendsoftypo3-content-blocks)[coenjacobs/mozart

Composes all dependencies as a package inside a WordPress plugin

4753.9M23](/packages/coenjacobs-mozart)[brianhenryie/strauss

Prefixes dependencies namespaces so they are unique to your plugin

186406.5k30](/packages/brianhenryie-strauss)[jolicode/castor

A lightweight and modern task runner. Automate everything. In PHP.

54642.4k4](/packages/jolicode-castor)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
