用途:为 Compose Multiplatform 功能开发提供严格的架构规范,通过功能切片(feature slice)强制关注点分离,是相关代理与技能共同引用的架构规则单一来源。
主要能力:定义 Screen、View、Component、Domain、Repository、DataSource 各层职责与约束。Screen 为薄适配层,只读取 viewState 并传给 View,禁止逻辑、remember 与计算,硬上限 1000 行、建议 600 行以内;View 为纯 UI,只做布局、只使用 viewState 与 eventHandler,禁止副作用与 remember;Component 承载全部逻辑、状态、事件、用例与生命周期,导航仅通过 Decompose(StackNavigation/childStack、SlotNavigation/childSlot);UseCase 每类一文件,只返回项目自定义的 AppResult<T>(非 kotlin.Result),统一处理错误;Repository 为具体类,仅依赖 DataSource,协调本地与远程;DataSource 分本地与远程,commonMain 中须使用 Ktor HttpClient,OkHttp 仅限 JVM/Android 源集。
使用方式:按 feature/<featureName>/ 目录结构组织 api 与 impl,impl 下分 screen、view、component、domain、data、di;ViewState 采用 Loading/Success/Error 三态模板,表单场景需保留草稿并设置 inlineError/generalError;DI 使用 @BindingContainer 模块;序列化仅用 Kotlinx Serialization。
适用场景:构建 Compose Multiplatform 功能,尤其是需要统一架构约束、可复用功能切片与清晰分层的项目。
限制:规则为强制性约束,违反将导致架构不一致;具体项目配置、依赖版本与完整安装步骤暂未提供。