Setup Android Repository
| This documentation was generated with the assistance of AI. Please report any inaccuracies. |
End-to-end bootstrap for an Android/Gradle repository of either flavor — library or app. It resolves the flavor, branching model and mode once, collects the project’s identity and shared pipeline parameters once, then prints a setup-mode statement (from scratch, or an inventory of the prior setup it found), then orchestrates six other skills in a fixed order so nothing is asked twice.
Purpose
iru-setup-android-repository is the Android-specific stack orchestrator invoked by iru-setup-repository (or
run standalone) once the project type is known to be android-library or android-app. Rather than duplicating
Gradle scaffolding, documentation setup, .gitignore generation, CI/CD workflow authoring, changelog
bootstrapping, or README generation, it resolves the flavor’s scaffold skill (iru-setup-android-library or
iru-setup-android-app) and passes every downstream skill only the args keys that skill’s own Step 0 actually
accepts. It always invokes the scaffold skill, even in mode: existing: every component sub-skill announces
whether it is creating from scratch or updating, warns about the prior setup it owns, and asks Update / Keep as is /
Replace per file (or applies on-existing when that arrived via args) — the orchestrator never asks those
questions itself, so nothing is asked twice. Pipeline questions are cost-aware: the repository visibility drives
recommendations about GitHub Actions minutes, SonarCloud pricing and GitHub Pages availability, and ci: no skips
the workflows step entirely (security block included). It also asks the accessibility level once
(enforce/report/off/none, for both flavors) and forwards it to the scaffold skill, which writes it to
.ui-quality.yml (see Building user interfaces).
Plugin
Shipped by the iru-android plugin of the ai-catalog marketplace (install with /plugin install iru-android@ai-catalog; see Plugins).
Inputs
| Argument | Required | Description | Default |
|---|---|---|---|
|
No |
|
None — detected or asked |
|
No |
|
|
|
No |
|
Detected from disk |
|
No |
|
|
Identity fields ( |
Yes (unresolved ones) |
Free-text project-identity fields asked directly in Step 2, using exactly the key names the resolved flavor’s scaffold skill reads. |
None — user must supply |
|
No |
Shared pipeline parameters asked in Step 3, presented with their defaults. Branches, Java version and emulator API
level are skipped when |
|
|
No |
The workflows skill’s own key. When supplied it always wins over the |
Derived from |
|
No |
Whether the repository is open source, resolved via |
Asked |
|
No |
|
Detected or asked |
|
No |
|
Asked |
|
No |
|
Asked |
|
No |
|
|
|
No |
The Maven Central publish path, or the app distribution path ( |
|
|
No |
|
|
|
No |
Passed through only if supplied via |
Resolved by the scaffold skill |
|
No |
|
|
Scaffold toolchain toggles ( |
No |
Never asked by this orchestrator; passed through untouched only if supplied via |
|
Outputs
-
The flavor’s Gradle scaffold — a
lib/library module plus a Composeapp/sample, or a singleapp/application module — the Gradle wrapper and root build files (viairu-setup-android-libraryoriru-setup-android-app), created from scratch or updated per file group according to the user’s Update / Keep as is / Replace answers. -
A root
.ui-quality.ymlcarrying the chosenaccessibilitylevel (owned by the scaffold skill), and the sample UI test’s.ui-screenshots/captures; CI uploads.ui-screenshots/as a 7-dayui-screenshotsartifact. -
A scaffolded Antora documentation site under
docs/(viairu-setup-antora). -
Root and per-module
.gitignorefiles (viairu-setup-android-gitignore). -
CI/CD workflows —
develop.yml/main.yml/sync.yml(gitflow) ormain.yml/publish.yml(main-only), plussecurity.ymland.github/dependabot.yml(viairu-setup-android-github-workflows); none of these are generated whenci: no. -
A root
CHANGELOG.mdbackfilled from git/GitHub release history (viairu-setup-changelog). -
A root
README.mdwith badges, a project-status table, documentation links, and installation instructions (viairu-setup-readme). -
A final report summarizing the setup mode, the resolved flavor/branching/mode, identity/license/pipeline parameters (including
visibility,ci,ci-tests,pages), a per-component table with the action actually taken (created / updated / replaced / kept as is / skipped (ci: no)), the consolidated required-secrets table (omitted when no workflows were generated), and explicit review warnings.
Execution flow
Dependencies
Invokes
Each of the following is invoked via the iru-isolated-skill-executor
agent rather than a direct Skill call — every sub-skill re-derives what it needs straight from the filesystem
this orchestrator has just written to, so only a short completion summary flows back, keeping each sub-skill’s own
exploration/file reads (and the Android scaffold’s very long template listings) out of this orchestrator’s own
context. Every sub-agent is launched with run_in_background: false since each step depends on the previous
one’s files being on disk:
-
Setup Android Library — Step 4,
flavor: library: writes or updateslib/and the sample Composeapp/module, passing Step 2’s identity fields and Step 3’s pipeline parameters (includingvisibility,ci,mode, andon-existingwhen supplied) asargs. Always invoked, even inmode: existing. -
Setup Android App — Step 4,
flavor: app: writes or updates the singleapp/application module, passing the same kind ofargs. Always invoked, even inmode: existing. -
Setup Antora — Step 5: scaffolds or updates the Antora documentation site, invoked with no
args(onlyon-existing, when it arrived via this orchestrator’sargs) since it derives the component name/title/version from the Gradle project itself. -
Setup Android Gitignore — Step 6: writes or updates root and per-module
.gitignorefiles, invoked with noargs(onlyon-existing, when supplied) since it derives the module list fromsettings.gradle.ktsand detectsmodefrom whether a root.gitignorealready exists. -
Setup Android GitHub Workflows — Step 7, skipped entirely when
ci: no: writes the CI/CD + security workflows, passing Step 1’sflavor/branchingand Step 3’s pipeline parameters (includingvisibility,ci-tests,pages, and the effectiverun-instrumented-tests) asargs. -
Setup Changelog — Step 8: bootstraps or updates the root
CHANGELOG.md, invoked with noargs(onlyon-existing, when supplied) since it works from the repository’s own git tag/GitHub Release history. -
Setup Readme — Step 9, last: bootstraps or updates the root
README.md, passing onlysonar,ci,pages(andon-existingwhen supplied); it explores the finished state left by every earlier step.
Invoked by
-
Setup Repository — Step 4, Android library/app bootstrap, via the
iru-isolated-skill-executoragent.
Related agents
-
iru-isolated-skill-executor— spawned once per sub-skill (Steps 4–9), so all six sub-skills' own exploration/file-read transcripts don’t accumulate in this orchestrator’s context over the course of a single bootstrap run.
Source
SKILL.md on GitHub — the file this page was generated from.