MoonBit package readiness auditor for Mooncakes releases
moon add ZBZ-ai-nb/cakecheck@0.1.0ZBZ-ai-nb/cakechecklet input = @audit.sample_good_input()
let report = @audit.audit_project(input)
println(report.summary())
println(report.to_markdown())moon run examples/basicmoon run cmd/mainpub fn audit_project(input : AuditInput) -> AuditReport
pub fn parse_manifest(text : String) -> ManifestInfo
pub fn sample_good_input() -> AuditInput
pub fn sample_risky_input() -> AuditInput
pub fn AuditReport::summary(self : AuditReport) -> String
pub fn AuditReport::to_markdown(self : AuditReport) -> String
pub fn AuditReport::to_json(self : AuditReport) -> String
pub fn AuditReport::has_errors(self : AuditReport) -> Bool
pub fn AuditReport::is_ready(self : AuditReport) -> Bool
pub fn AuditReport::gate(self : AuditReport, profile : AuditProfile) -> GateResult
pub fn AuditReport::remediation_plan(self : AuditReport, limit : Int) -> String
pub fn diff_reports(before : AuditReport, after : AuditReport) -> AuditDiff
pub fn analyze_readme(readme : String) -> ReadmeMetrics
pub fn analyze_workflow(text : String) -> WorkflowInfo
pub fn analyze_license(text : String) -> LicenseFacts
pub fn parse_semver(value : String) -> SemVerInfo
pub fn analyze_namespace(raw : String, repository : String) -> NamespaceInfo
pub fn analyze_api_compatibility(before : String, after : String) -> ApiCompatibility
pub fn api_snapshot_declarations(snapshot : String) -> Array[String]
pub fn build_acceptance_evidence(input : AuditInput) -> EvidenceMatrix
pub fn build_release_plan(input : AuditInput) -> ReleasePlan
pub fn build_quality_matrix(input : AuditInput) -> QualityMatrix
pub fn review_acceptance(input : AuditInput) -> AcceptanceReviewmoon fmt --check
moon check
moon check --deny-warn
moon build
moon test
moon test --deny-warn
moon run examples/basic
moon run cmd/main
moon info
moon publish --dry-run4,929 non-empty non-comment MoonBit code lines
5,638 total .mbt linesname = "ZBZ-ai-nb/cakecheck"
version = "0.1.0"
readme = "README.md"
repository = "https://github.com/ZBZ-ai-nb/cakecheck.git"
license = "MIT"
description = "MoonBit package readiness auditor for Mooncakes releases"moon login
moon publish --dry-run
moon publishhttps://mooncakes.io/docs/ZBZ-ai-nb/cakecheck
https://mooncakes.io/api/v0/manifest/ZBZ-ai-nb/cakecheckpub(all) struct AcceptanceReview {
report : AuditReport
evidence : EvidenceMatrix
quality : QualityMatrix
release_plan : ReleasePlan
level : AcceptanceLevel
decision : String
} derive(Eq, Debug)pub(all) struct ApiCompatibility {
before_count : Int
after_count : Int
added : Array[String]
removed : Array[String]
required_bump : VersionBump
} derive(Eq, Debug)pub(all) struct AuditReport {
package_name : String
version : String
checks : Array[AuditCheck]
score : Score
} derive(Eq, Debug)pub(all) struct EvidenceMatrix {
items : Array[EvidenceItem]
present_count : Int
missing_count : Int
} derive(Eq, Debug)pub(all) struct GateResult {
profile : AuditProfile
passed : Bool
message : String
required_codes : Array[String]
} derive(Eq, Debug)pub(all) struct LicenseFacts {
family : LicenseFamily
spdx_id : String
osi_approved : Bool
has_copyright : Bool
has_permission_grant : Bool
has_warranty_disclaimer : Bool
has_patent_grant : Bool
} derive(Eq, Debug)pub(all) struct QualityMatrix {
axes : Array[QualityAxis]
weighted_score : Int
max_score : Int
normalized_score : Int
} derive(Eq, Debug)pub(all) struct ReadmeMetrics {
line_count : Int
heading_count : Int
code_block_count : Int
command_count : Int
link_count : Int
bullet_count : Int
has_installation : Bool
has_usage : Bool
has_example : Bool
has_validation : Bool
has_license : Bool
has_support_scope : Bool
has_unsupported_scope : Bool
sections : Array[SectionInfo]
} derive(Eq, Debug)pub(all) struct ReleasePlan {
package_name : String
version : String
steps : Array[ReleaseStep]
blockers : Array[String]
} derive(Eq, Debug)pub(all) struct WorkflowInfo {
command_count : Int
moon_command_count : Int
has_checkout : Bool
has_moon_install : Bool
has_check : Bool
has_build : Bool
has_test : Bool
has_run : Bool
has_publish_dry_run : Bool
targets : Array[String]
commands : Array[WorkflowCommand]
} derive(Eq, Debug)fn license_notice_template(project : String, holder : String, year : Int) -> Stringfn semver_accepts_mooncakes_release(version : String) -> BoolMoonBit package readiness auditor for Mooncakes releases