一键导入
cammp
Generate Clean Architecture module structure for Android/KMP projects (standalone)
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Generate Clean Architecture module structure for Android/KMP projects (standalone)
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | cammp |
| description | Generate Clean Architecture module structure for Android/KMP projects (standalone) |
| argument-hint | [feature-name] |
| disable-model-invocation | true |
Generate a full Clean Architecture module structure for an Android/KMP feature. This skill creates all the files directly - no MCP server required.
Use $ARGUMENTS as the feature name. If empty, ask the user what feature to generate.
Feature names support paths (e.g., account/login) and kebab-case (e.g., user-profile).
Use the current working directory as the project root. Verify that settings.gradle.kts or build.gradle.kts exists there.
Infer from existing project files:
build.gradle.kts or build.gradle in the app module for namespace or applicationIdAndroidManifest.xml for the package attributecom.example.app)app)Check settings.gradle.kts for the project's root module name. Common values: app, shared, composeApp.
hilt)Ask the user which DI framework to use, or infer from existing project dependencies. See strategies reference for details.
Options: hilt, koin, koin_annotations, metro
none)Ask the user what datasource structure they want. See strategies reference for details.
Options: none, combined, local_only, remote_only, local_and_remote
true) - Presentation module with Compose UIfalse) - API module (public contract layer)true) - DI moduleSee naming conventions reference for full details on package name computation, namespace formatting, and settings include paths.
Quick summary:
com./org. prefix, remove invalid chars, default to cammpuser-profile -> userProfilecom.{sanitizedOrg}.{rootModule}.{featureName}.{moduleName}:{rootModule}:{feature}:{module}Before creating any file or directory, check if it already exists. Skip if present. Never overwrite existing files.
See settings gradle reference for exact details.
includeBuild("build-logic") if not already presentinclude lines for each enabled module: include(":{root}:{feature}:{module}")gradle/libs.versions.tomlbuild.gradle.kts if neededSee build logic reference for exact templates and structure.
Create the build-logic/ directory with:
settings.gradle.kts - Plugin management and version catalog from parentbuild.gradle.kts - kotlin-dsl plugin, AGP/Kotlin deps, convention plugin registrationssrc/main/kotlin/com/{sanitizedOrg}/convention/helpers/:
AndroidLibraryDefaults.ktStandardTestDependencies.ktTestOptions.ktsrc/main/kotlin/com/{sanitizedOrg}/convention/core/:
Aliases.kt - Version catalog alias constantsDependencies.kt - DSL for adding dependenciessrc/main/kotlin/com/{sanitizedOrg}/convention/:
See module templates reference for exact build.gradle.kts templates, directory structures, and dependency graphs.
For each enabled module, create:
{root}/{feature}/{module}/build.gradle.kts - From template with namespace and dependencies{root}/{feature}/{module}/src/main/kotlin/{package/path}/Placeholder.kt{root}/{feature}/{module}/src/test/kotlin/ (empty, for tests)model/, repository/, usecase/ for domain)After creating all files: