Новый проект из MyApplication
Создай самостоятельный проект из закоммиченного состояния sibling-шаблона MyApplication и
полностью убери его пользовательские идентификаторы. Не переноси историю шаблона, локальные файлы
IDE или build outputs.
Перед изменениями полностью прочитай
references/myapplication-checklist.md. Это карта
обязательных замен и значений, которые нужно сохранить.
Входные данные
Определи из запроса или согласуй только действительно неоднозначные значения:
- абсолютный путь новой директории и имя директории проекта;
- display name приложения и Gradle root project name;
- namespace; по умолчанию
org.michaelbel.<normalized-name>;
- application ID; по умолчанию совпадает с namespace;
- GitHub owner и repo slug; по умолчанию
michaelbel и нормализованное имя репозитория;
- тип иконки:
android, compose или jetpack;
- краткое описание для README.
<normalized-name> означает lowercase ASCII-сегмент без пробелов, дефисов и других символов,
недопустимых в Kotlin package. Не угадывай другое имя бренда или другой owner. Если пользователь
явно задал значение, оно приоритетнее default.
Тип иконки определяй по назначению проекта:
android — обычное Android-приложение;
compose — проект или sample, главным предметом которого является Jetpack Compose;
jetpack — проект библиотеки, компонента или sample из семейства AndroidX/Jetpack.
Выбор иконки не разрешает менять плагины, зависимости или архитектуру. Если назначение нельзя
надёжно определить из запроса, спроси только тип иконки.
Рабочий процесс
- Проверь, что
/Users/mihailbelyj/Projects/MyApplication существует и является git-репозиторием.
Изучи его актуальное закоммиченное состояние и git status. Если в шаблоне есть незакоммиченные
изменения, не включай их молча: используй HEAD и сообщи об этом либо согласуй другой источник.
- Убедись, что целевая директория не существует или пуста. Не объединяй шаблон с существующим
проектом и не перезаписывай файлы без отдельного согласия.
- Экспортируй именно tracked files из
HEAD, например
git -C /Users/mihailbelyj/Projects/MyApplication archive HEAD | tar -x -C <empty-project-dir>.
Не копируй .git, .gradle, .kotlin, build, local.properties, .DS_Store,
.claude/settings.local.json и остальные локальные файлы .idea.
- Инициализируй новый git-репозиторий, не добавляя remote и не создавая commit без соответствующего
запроса пользователя. Сохрани симлинки
CLAUDE.md и GEMINI.md на AGENTS.md.
- До текстовых замен вычисли checksum
.github/debug-key.jks. Сохрани файл побайтово и не меняй
debug signing block: keyAlias = "myapplication", путь к key store и существующие credentials
остаются прежними. Не выводи credentials в лог или ответ.
- Выполни адресные изменения из checklist. Не делай глобальную замену
myapplication, потому что
это имя debug key должно остаться прежним.
- Скопируй выбранный asset этого skill в
<project>/.idea/icon.svg:
assets/icons/android.svg, assets/icons/compose.svg или assets/icons/jetpack.svg. В git из
.idea должен попадать только icon.svg.
- Получи через
cuckcoder MCP актуальные github-repo и
github-readme, затем приведи tracked repository files к ним. Не добавляй
placeholder-текст, выдуманный cover или неподтверждённые ссылки.
- Просканируй экспортированный из шаблона набор текстовых файлов на старые project name, display
name, package и GitHub repo slug; до первого staging не полагайся на пустой
git ls-files нового
репозитория. Проверяй signing block отдельным безопасным запросом, который не печатает
password-поля.
- Повтори checksum key store и проверь package directory, package declarations, namespace,
application ID, archive name, app label, README links, IDE icon и AI-agent instructions.
Проверка и завершение
- Проверь, что
CLAUDE.md и GEMINI.md остались симлинками, а .idea/icon.svg не игнорируется.
- Не обновляй SDK, AGP, Kotlin или зависимости только потому, что создан новый проект.
- Не меняй launcher/splash artwork, CI или module names, если это не следует из отдельного запроса.
- Шаблон вычисляет
versionCode через git rev-list --count HEAD, поэтому Gradle не сможет пройти
конфигурацию до первого commit. Если commit не был запрошен, честно зафиксируй этот отложенный
шаг вместо скрытого commit.
- После разрешённого первого commit запусти
./gradlew assembleDebug и ./gradlew lint. Исправь
только ошибки, относящиеся к созданию проекта.
- External GitHub-настройки, remote, secrets и push выполняй только по явному запросу. Если remote
уже создан и пользователь просит полностью оформить репозиторий, загрузи
github-repo-settings
и выполни его после локального создания проекта.
1---2name: create-project-from-template3description: Use when пользователь просит создать и оформить новый Android-проект копированием шаблона `Projects/MyApplication`: задать имя проекта, package/namespace/applicationId, GitHub metadata, package directories и выбрать `.idea/icon.svg` для Android, Compose или Jetpack. Не используй для добавления модуля или фичи в существующий проект и не используй для проекта, который должен быть создан другим шаблоном или Android Studio wizard.4---56# Новый проект из MyApplication78Создай самостоятельный проект из закоммиченного состояния sibling-шаблона `MyApplication` и9полностью убери его пользовательские идентификаторы. Не переноси историю шаблона, локальные файлы10IDE или build outputs.1112Перед изменениями полностью прочитай13[references/myapplication-checklist.md](references/myapplication-checklist.md). Это карта14обязательных замен и значений, которые нужно сохранить.1516## Входные данные1718Определи из запроса или согласуй только действительно неоднозначные значения:1920- абсолютный путь новой директории и имя директории проекта;21- display name приложения и Gradle root project name;22- namespace; по умолчанию `org.michaelbel.<normalized-name>`;23- application ID; по умолчанию совпадает с namespace;24- GitHub owner и repo slug; по умолчанию `michaelbel` и нормализованное имя репозитория;25- тип иконки: `android`, `compose` или `jetpack`;26- краткое описание для README.2728`<normalized-name>` означает lowercase ASCII-сегмент без пробелов, дефисов и других символов,29недопустимых в Kotlin package. Не угадывай другое имя бренда или другой owner. Если пользователь30явно задал значение, оно приоритетнее default.3132Тип иконки определяй по назначению проекта:3334- `android` — обычное Android-приложение;35- `compose` — проект или sample, главным предметом которого является Jetpack Compose;36- `jetpack` — проект библиотеки, компонента или sample из семейства AndroidX/Jetpack.3738Выбор иконки не разрешает менять плагины, зависимости или архитектуру. Если назначение нельзя39надёжно определить из запроса, спроси только тип иконки.4041## Рабочий процесс42431. Проверь, что `/Users/mihailbelyj/Projects/MyApplication` существует и является git-репозиторием.44 Изучи его актуальное закоммиченное состояние и `git status`. Если в шаблоне есть незакоммиченные45 изменения, не включай их молча: используй `HEAD` и сообщи об этом либо согласуй другой источник.462. Убедись, что целевая директория не существует или пуста. Не объединяй шаблон с существующим47 проектом и не перезаписывай файлы без отдельного согласия.483. Экспортируй именно tracked files из `HEAD`, например49 `git -C /Users/mihailbelyj/Projects/MyApplication archive HEAD | tar -x -C <empty-project-dir>`.50 Не копируй `.git`, `.gradle`, `.kotlin`, `build`, `local.properties`, `.DS_Store`,51 `.claude/settings.local.json` и остальные локальные файлы `.idea`.524. Инициализируй новый git-репозиторий, не добавляя remote и не создавая commit без соответствующего53 запроса пользователя. Сохрани симлинки `CLAUDE.md` и `GEMINI.md` на `AGENTS.md`.545. До текстовых замен вычисли checksum `.github/debug-key.jks`. Сохрани файл побайтово и не меняй55 debug signing block: `keyAlias = "myapplication"`, путь к key store и существующие credentials56 остаются прежними. Не выводи credentials в лог или ответ.576. Выполни адресные изменения из checklist. Не делай глобальную замену `myapplication`, потому что58 это имя debug key должно остаться прежним.597. Скопируй выбранный asset этого skill в `<project>/.idea/icon.svg`:60 `assets/icons/android.svg`, `assets/icons/compose.svg` или `assets/icons/jetpack.svg`. В git из61 `.idea` должен попадать только `icon.svg`.628. Получи через `cuckcoder` MCP актуальные `github-repo` и63 `github-readme`, затем приведи tracked repository files к ним. Не добавляй64 placeholder-текст, выдуманный cover или неподтверждённые ссылки.659. Просканируй экспортированный из шаблона набор текстовых файлов на старые project name, display66 name, package и GitHub repo slug; до первого staging не полагайся на пустой `git ls-files` нового67 репозитория. Проверяй signing block отдельным безопасным запросом, который не печатает68 password-поля.6910. Повтори checksum key store и проверь package directory, package declarations, namespace,70 application ID, archive name, app label, README links, IDE icon и AI-agent instructions.7172## Проверка и завершение7374- Проверь, что `CLAUDE.md` и `GEMINI.md` остались симлинками, а `.idea/icon.svg` не игнорируется.75- Не обновляй SDK, AGP, Kotlin или зависимости только потому, что создан новый проект.76- Не меняй launcher/splash artwork, CI или module names, если это не следует из отдельного запроса.77- Шаблон вычисляет `versionCode` через `git rev-list --count HEAD`, поэтому Gradle не сможет пройти78 конфигурацию до первого commit. Если commit не был запрошен, честно зафиксируй этот отложенный79 шаг вместо скрытого commit.80- После разрешённого первого commit запусти `./gradlew assembleDebug` и `./gradlew lint`. Исправь81 только ошибки, относящиеся к созданию проекта.82- External GitHub-настройки, remote, secrets и push выполняй только по явному запросу. Если remote83 уже создан и пользователь просит полностью оформить репозиторий, загрузи `github-repo-settings`84 и выполни его после локального создания проекта.