把自然语言描述转为结构化 JSON,并由 mcp-diagram-generator MCP 服务生成 Draw.io、Mermaid 或 Excalidraw 图表文件。
编程
CodeAssist Kotlin + Compose
试用Gera projetos Android completos em Kotlin + Jetpack Compose + Material 3 no formato do CodeAssist (com.tyron.code), prontos para importar e compilar direto no celular. Use quando o usuário pedir para criar app Android, app Kotlin, app Compose, projeto CodeAssist, ou qualquer combinação de "cria um app", "faz um aplicativo", "monta um projeto" — exceto quando pedir Rust no backend (use kotlin-rust-app) ou JStudio (use jstudio-android-dev).
它能做什么
CodeAssist Kotlin + Jetpack Compose App Generator
技能文档
CodeAssist Kotlin + Jetpack Compose App Generator
Generate complete Android app projects in CodeAssist format (module.toml, no Gradle) with Kotlin + Jetpack Compose + Material 3 ultra-modern design.
Target Environment
- IDE: CodeAssist (
com.tyron.code) — mobile IDE that compiles on-device - Build system: Native (NOT Gradle) — uses
module.tomlinstead ofbuild.gradle - Language: Kotlin (latest) + Jetpack Compose
- UI Framework: Material 3 (
androidx.compose.material3) - Min SDK: 21 | Target/Compile SDK: 34
CRITICAL Rules
- NEVER use Gradle files — no
build.gradle,build.gradle.kts,settings.gradle, orlibs.versions.toml - ALWAYS use
module.tomlfor build configuration - Source files go in
src/main/kotlin/(NOTsrc/main/java/) - Package structure:
com.example.{appname}(or user-specified) - ALL resource files required — drawable, mipmap, mipmap-anydpi-v26, values (colors, strings, themes)
- Design MUST be ultra-modern — Material 3, rounded corners, gradients, animations, dark/light theme
- Only use available dependencies — see dependency list in
references/dependencies.md - ZIP format MUST match CodeAssist export format exactly
- NEVER include
.exmu-cfg1.databinary files — they are IDE-internal and auto-generated - NEVER add
exportedAtorfileCountoruncompressedSizeto manifest.json — they are export-only metadata
Workflow
Step 1: Understand the Request
Parse what the user wants: app name, features, screens, permissions. If the request is clear, skip questions and proceed directly.
Step 2: Create Project Skeleton
Run the packager script to scaffold the base structure:
python scripts/package_project.py --name "{app_name}" --package "com.example.{name}"
This creates all config files (manifest.json, module.toml, workspace.json, libraries.json, AndroidManifest.xml, proguard-rules.pro) and the resource templates (colors.xml, strings.xml, themes.xml, icons).
Step 3: Write Kotlin Source Code
Write all .kt files under the generated path: {name}/project/app/src/main/kotlin/com/example/{name}/
Design rules (MANDATORY):
- Material 3 theme — use
MaterialThemewith customColorScheme SurfaceandScaffoldas root composablesTopAppBar(Material 3CenterAlignedTopAppBarorMediumTopAppBar)- Rounded corners:
RoundedCornerShape(16.dp)on cards/containers - Padding:
16.dpstandard,24.dpfor sections Cardcomposables for content blocks withelevationLazyColumn/LazyRowfor scrollable content- State with
remember { mutableStateOf(...) }andby remember - Screen navigation via state enum (NO Navigation library)
- One file per screen/feature for complex apps
Column,Row,Boxfor layout compositionIconwithIcons.Default.*orIcons.Outlined.*AnimatedVisibility,animateContentSize()for smooth transitions- Custom color palette in a
Theme.ktor insideMainActivity.kt
Available APIs — see references/dependencies.md
NOT available (NEVER use):
androidx.navigation— Navigation componentandroidx.room— Room databaseretrofit2/okhttp3— networkingcoil/glide— image loadinghilt/dagger— dependency injectioncom.google.accompanist— Accompanist- Any library NOT in the dependency list
Step 4: Customize Resources
Edit the generated resource files:
colors.xml— set app-specific Material 3 color palettestrings.xml— setapp_nameand add UI stringsic_launcher_foreground.xml— customize vector icon for the app- Keep all other resource files as generated
Step 5: Update AndroidManifest.xml
Add permissions as needed:
INTERNET— if the app uses networkingACCESS_NETWORK_STATE— if checking network statusWRITE_EXTERNAL_STORAGE/READ_EXTERNAL_STORAGE— if accessing files- Add
android:usesCleartextTraffic="true"for HTTP
Add extra `` entries only if needed (rare — most Compose apps are single-activity).
Step 6: Package and Deliver
Package the project into a ZIP:
cd {name} && zip -r ../output/{name}.zip . && cd ..
Upload via upload_file and present to the user with:
- App name and what it does
- List of screens/features
- How to import into CodeAssist (just open the ZIP)
Validation Checklist
Before delivering, verify:
-
manifest.jsonexists at ZIP root with correctnameandpackageName -
deps/libraries.jsonexists with all 5 dependency entries -
project/.platform/workspace.jsonexists withbuildSystem: "native" -
project/app/module.tomlexists withcompose = trueand correct namespace -
project/app/src/main/AndroidManifest.xmlexists with correct package - At least one
.ktfile exists in correct package directory - All 9 resource files exist (2 drawable, 2 mipmap, 2 mipmap-anydpi-v26, 3 values)
-
proguard-rules.proexists - NO Gradle files anywhere
- NO
.exmu-cfg1.datafiles - Code only uses available dependencies (no Room, Retrofit, Navigation, etc.)
References
- Dependencies & APIs: See
references/dependencies.md - Config templates: See
references/config-templates.md
相关技能
从 AdMapix API 拉取广告创意、应用、榜单和收入预估等数据,原样返回结构化 JSON。
诊断生产力系统反复失效的根因,给出最小干预——容量测算、瓶颈定位、可靠的本地记录。
通过托管的 OAuth GraphQL 接口查询与管理 Linear 的 issue、项目、团队、周期、标签和评论。
以 AI 机器人身份加入视频会议,提供语音、虚拟形象与屏幕共享四种模式。
在本地磁盘以分类纯 Markdown 文件保存需要长期留存的事实,与智能体内置记忆并存。