Generate a DevCenter Dashboard
To get a high-level overview of your repositories' state, including upgrade progress, migrations, and security vulnerabilities, you can use the Moderne CLI's mod devcenter command to generate an interactive HTML dashboard.
This is particularly useful when working with multiple repositories, as it provides a centralized view of metrics and data tables from recipe runs across all your projects.
Prerequisites
Before generating a DevCenter dashboard, you need:
- Moderne CLI installed and configured
- Repositories cloned to a shared local directory
- Built LSTs (Lossless Semantic Trees) for your repositories
Steps
- Clone your repositories to a shared directory:
mkdir ~/devcenter-repos
cd ~/devcenter-repos
git clone https://github.com/your-org/repo1.git
git clone https://github.com/your-org/repo2.git
# ... clone additional repositories
- Build the LSTs for all repositories:
mod build ~/devcenter-repos/
- Install the DevCenter starter recipes:
mod config recipes jar install io.moderne.recipe:rewrite-devcenter:LATEST
- Run the DevCenter starter recipe across your repositories:
mod run ~/devcenter-repos/ --recipe io.moderne.devcenter.DevCenterStarter
- Generate the DevCenter dashboard:
mod devcenter ~/devcenter-repos/ --last-recipe-run
View the Results
After the command completes, the CLI outputs the path to the generated HTML file:
open ~/devcenter-repos/devcenter.html
Open this file in a web browser to view the interactive DevCenter dashboard. The dashboard visualizes repository metrics and data tables from the executed recipe, giving you insight into:
- Overall repository health
- Upgrade and migration progress
- Security vulnerabilities
- Other metrics collected by the DevCenter recipes
Customization
You can create custom DevCenter recipes by modifying the starter recipe YAML. To use a custom recipe:
- Create your custom recipe YAML file (e.g.,
my-devcenter.yml) - Install the custom recipe:
mod config recipes yaml install my-devcenter.yml
- Run your custom recipe instead of the default starter
- Generate the dashboard with
--last-recipe-run