بنقرة واحدة
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: