Generate CycloneDX SBOMs and audit MoonBit projects for release readiness and open-source compliance.
Dependencies
Seal your MoonBit supply chain.
moon add liyun/moonseal@0.2.1moon update
moon run cmd/main scan .MoonSeal audit: liyun/moonseal
Score: 100/100
Source: 4362 MoonBit lines | 0 errors | 0 warnings
READY No release-readiness issues found.moon run cmd/main sbom . -o moonseal.cdx.jsonmoon run cmd/main check .moon run cmd/main scan . --jsonmoon run cmd/main scan . --markdownmoon run cmd/main scan . --sarifmoon run cmd/main dependencies .moon run cmd/main policy . --policy moonseal-policy.json| Command | Purpose |
|---|---|
| moonseal scan [PATH] [--json \| --markdown \| --sarif] | Audit a project and print findings |
| moonseal check [PATH] | Audit and fail if blocking findings exist |
| moonseal sbom [PATH] [-o FILE] | Generate a CycloneDX 1.6 SBOM |
| moonseal dependencies [PATH] [--json] | Analyze dependency metadata |
| moonseal policy [PATH] [--policy FILE] [--json] | Enforce repository policy |
| moonseal help | Show command help |
| Code | Severity | Check |
|---|---|---|
| MS001 | Error | Module name is present |
| MS002 | Error | Module version is present |
| MS003 | Error | SPDX license declaration is present |
| MS004 | Error | SPDX expression is recognized |
| MS005 | Warning | Repository URL is present |
| MS006 | Error | License file exists |
| MS007 | Error | README exists |
| MS008 | Warning | GitHub Actions workflow exists |
| MS009 | Warning | Changelog exists |
| MS010 | Info | .gitignore exists |
| MS011 | Error | Declared and detected licenses agree |
| MS012 | Warning | License text can be identified |
| MS013 | Error | MoonBit source is present |
| MS014 | Warning | Repository URL uses a recognized Git transport |
moon fmt
moon check --target wasm -d
moon test --target wasm
moon build --target wasm --release
moon run --target wasm cmd/main check .pub(all) struct AuditPolicy {
minimum_score : Int
minimum_source_lines : Int
maximum_warnings : Int
maximum_dependencies : Int
require_repository : Bool
require_ci : Bool
require_changelog : Bool
require_security_policy : Bool
require_pinned_dependencies : Bool
allowed_licenses : Array[String]
denied_licenses : Array[String]
required_files : Array[String]
} derive(Eq, Debug)pub(all) struct DependencyHealth {
total : Int
pinned : Int
unpinned : Int
unique : Int
namespaces : Array[NamespaceCount]
issues : Array[DependencyIssue]
} derive(Eq, Debug)pub(all) struct DependencyIssue {
severity : DependencyHealthSeverity
code : String
dependency : String
message : String
} derive(Eq, Debug)pub(all) struct PolicyResult {
policy : AuditPolicy
violations : Array[PolicyViolation]
} derive(Eq, Debug)pub(all) struct Project {
name : String
version : String
license : String
repository : String
dependencies : Array[Dependency]
} derive(Eq, Debug)fn detect_license(text : StringView) -> String?fn normalize_license(identifier : StringView) -> Stringfn valid_spdx(expression : StringView) -> BoolGenerate CycloneDX SBOMs and audit MoonBit projects for release readiness and open-source compliance.
Dependencies