원클릭으로
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: