Ecosystem Management
Per-ecosystem management modules are DevCentr’s deep surface for a language or tooling stack: versions/pins, detected tools, health summary, bootstrap actions, and documentation links. They sit beside Install (orchestration funnel) and Toolchain Advisor (host/target decisions).
Purpose
-
Give each ecosystem a dedicated management UI (pattern after WSL Manager).
-
Prefer an official Toolchain Control Plane when the ecosystem ships one (Toolchain Management Pattern).
-
When it does not, show a short advisory at the top of the module and offer community version managers as a bridge.
-
Educate maintainers and users via a link to the philosophy doc—do not block setup.
Toolchain Management Protocol
The Toolchain Management Protocol is the set of standard, repeatable behaviors (not a network protocol) expected of an official toolchain entrypoint. Philosophy: Toolchain Management Pattern.
| Behavior | Expectation |
|---|---|
Bootstrap |
Install via OS package managers when possible; refresh PATH; gate on a post-install health check. |
Pin and resolve |
Per-project pin wins over user default over system; resolution is part of the official entrypoint. |
Health |
Machine-readable component status ( |
Repair |
Failures map to ordered, idempotent repair actions that can run non-interactively. |
Upgrade and rollback |
Upgrades are transactional; failed mid-state can return to last known-good. |
Surface parity |
CLI, GUI, and ideally IDE/agent APIs expose the same verbs and health model. |
These are behavioral expectations for maintainers and tools. Wire formats and schemas arrive with the Toolchain Framework (TCF).
Toolchain Management advisory
Philosophy: Toolchain Management Pattern. Control plane metaphor: Toolchain Control Plane (TCP / TCoP). Maintainer toolkit (planned): Toolchain Framework (TCF).
Metadata lives on each language definition (app/src/modules/languages/<ecosystem>.sdl) in the unifiedControlPlane block. See Definition Files.
| Condition | UI behavior |
|---|---|
|
No gap advisory. Optional positive note that an official toolchain control plane was detected. |
|
|
Advisory copy (canonical):
This ecosystem has no official Toolchain Control Plane yet (Toolchain Management Pattern). Version pinning and environment repair should live in the main entrypoint—not only in community tools. Community version managers are a stopgap.
Learn more links to the Toolchain Management Pattern explanation.
Architecture (module first)
| Choice | Decision |
|---|---|
Shared banner |
|
Shared loader / panel |
|
Per-ecosystem page |
Thin page shell in |
Entry points (Flutter — first instance)
-
Home hub: Card “Flutter” → Manage Flutter.
-
Sidebar: Nav item “Flutter”.
-
Page id:
pageFlutter(index 9 in the page switcher array inapp.d).
Layout
pageFlutter
├── title row
├── AdvisoryBanner (when unifiedControlPlane requires it)
├── muted help line
└── ecosystemManagerHost
└── EcosystemManagerPanel
├── status summary (control-plane status)
├── community tools list (bridge)
└── actions: Learn more (philosophy) | Setup how-to (when available)
Data
-
Language SDL:
app/src/modules/languages/flutter.sdl(and peers). -
Docs URL (default):
https://docs.devcentr.org/general-knowledge/latest/explanation/infrastructure/toolchain-management.html