Mycelium Forge is the package registry of the Mycelium ecosystem for Model-Based Systems Engineering (MBSE) artefacts. Forge provides a public web interface, an HTTP API, and first-party client libraries for publishing, discovering and consuming SysML v2, KerML, ECSS-E-TM-10-25 and Capella artefacts.
Quality Gate Status Code Smells Coverage Duplicated Lines (%) Lines of Code Maintainability Rating Reliability Rating Security Rating Technical Debt Vulnerabilities
To go from a clean clone to a running, debuggable instance of Forge on your own machine, including the Dev Container and plain docker compose paths — see docs/getting-started.md.
The short version:
docker compose up
brings up Postgres, Garage (object storage), Keycloak, the one-shot migrator and the app itself. Once it settles, browse to http://localhost:8080 .
The packages are available on NuGet at:
| project | Nuget |
|---|---|
| Mycelium.Forge.Common | NuGet Version |
| Mycelium.Forge.Client | NuGet Version |
| Mycelium.Forge.Serializer.Json | NuGet Version |
The container image is published to GitHub Container Registry
on every release, as ghcr.io/mycelium-cmbse/mycelium-forge.
| project | Purpose |
|---|---|
Mycelium.Forge |
Public web interface and Forge HTTP API host. |
Mycelium.Forge.Common |
Shared DTOs consumed by the Forge host and the Forge client library. |
Mycelium.Forge.Client |
First-party client library for the Forge HTTP API, consumable by Mycelium Bloom, CI/CD pipelines and third-party tooling. |
Mycelium.Forge.Serializer.Json |
Forge JSON serializer. |
Mycelium.Forge.Generator |
uml4net/Handlebars code-generation pipeline: DTOs and enums generated from the Enterprise Architect model. |
Each of the above has a matching *.Tests project; Mycelium.Forge.EndToEndTests drives a running host over the network.
GitHub Actions are used to build, test and analyze the solution.
| Branch | Build Status |
|---|---|
| Main | Build Status |
| Development | Build Status |
As part of our commitment to security, transparency, and traceability, the container image is built with --sbom=true --provenance=true. On every release, the SBOM (SPDX) and provenance attestations travel with the image and the SPDX document is additionally attached to the GitHub release as a standalone file, for air-gapped delivery. This provides:
- A comprehensive list of all open-source and third-party components in the image, tracking dependencies, licenses and versions, to support vulnerability management.
- A record of the image's origin and build process, so its integrity and authenticity can be verified.
The Mycelium Forge libraries and reference web application are provided to the community under the Apache License 2.0.
Contributions to the code base are welcome — see .github/CONTRIBUTING.md for the workflow.