How duckweed-yhb/moon-hive works
MoonHive is a local MoonBit package-verification CLI: users inspect one or survey many candidates, fetched or copied into isolated workspaces, then receive actionable compatibility diagnoses and reports. The graph includes documented doctor and local-dashboard capabilities as well as the main verification path. README architecture and sampled platform C FFI support the layer boundaries; feature-to-feature wiring and report details are not fully sampled, so uncertain links are omitted.
Main entry points: check.mbt Toolchain checks · main.mbt CLI dispatch · inspect.mbt Inspect candidate · model.mbt Report model
Components 24
Commands
- CLI dispatch
cmd/moonhive/main.mbt - Inspect candidate
features/inspect/inspect.mbt - Survey packages
features/survey/survey.mbt - Environment check
features/doctor/doctor.mbt - Dashboard server
features/serve/serve.mbt
Verification
- Git acquisition
verify/gitsource/source.mbt - Isolated workspace
verify/workspace/workspace.mbt - Toolchain checks
verify/check/check.mbt - Result diagnosis
verify/diagnose/diagnose.mbt - Verification results
report/model/model.mbt
Platform adapters
- Process execution
platform/proc/proc.mbt - Filesystem access
platform/fs/fs.mbt - Time utilities
platform/time/time.mbt - Local HTTP
platform/http/http.mbt - Error contract
core/error/error.mbt
Reports and dashboard
- Report model
report/model/model.mbt - JSON output
report/json/json.mbt - Markdown output
report - HTML report
report/site/site.mbt
Other components
- CLI user
- Package source
- Moon registry
- Browser
- Report directory
Connections 32
- CLI user → CLI dispatch: runs command
- CLI dispatch → Inspect candidate: dispatches
- CLI dispatch → Survey packages: dispatches
- CLI dispatch → Environment check: dispatches
- CLI dispatch → Dashboard server: dispatches
- Inspect candidate → Git acquisition: acquires repository
- Package source → Git acquisition: cloned source
- Inspect candidate → Isolated workspace: stages candidate
- Git acquisition → Isolated workspace: provides source
- Moon registry → Isolated workspace: fetched package
- Inspect candidate → Toolchain checks: runs verification
- Survey packages → Toolchain checks: runs verification
- Toolchain checks → Isolated workspace: checks in
- Toolchain checks → Process execution: runs Moon commands
- Toolchain checks → Result diagnosis: classifies evidence
- Result diagnosis → Verification results: produces conclusion
- Toolchain checks → Time utilities: measures duration
- Isolated workspace → Filesystem access: manages files
- Git acquisition → Process execution: runs git
- Environment check → Process execution: checks tools
- Inspect candidate → Report model: prepares report data
- Survey packages → Report model: prepares report data
- Report model → JSON output: formats JSON
- Report model → HTML report: renders HTML
- Report model → Markdown output: renders Markdown
- JSON output → Report directory: writes report
- HTML report → Report directory: writes report
- Markdown output → Report directory: writes report
- Dashboard server → Local HTTP: starts listener
- Dashboard server → Report directory: serves reports
- Browser → Local HTTP: requests pages
- Local HTTP → Browser: returns files