Setup Repository
| This documentation was generated with the assistance of AI. Please report any inaccuracies. |
The catalog’s single entry point for bootstrapping any repository. It does not scaffold anything itself — it
detects or asks which of the supported project types applies (Java, Spring Boot, Quarkus, TypeScript, web, NestJS, PHP, Python (FastAPI and Django), Android, Swift/Apple (Swift libraries, and iOS/iPadOS/macOS/watchOS/visionOS apps in SwiftUI or UIKit, MVVM or MVC), cross-platform mobile — React Native, Ionic or Kotlin Multiplatform — and macOS/Windows desktop apps, and agent-friendly command-line tools in Rust, Go, Swift or C#/.NET), announces whether the run is a from-scratch setup
or an update of an existing repository, collects the handful of questions genuinely shared across every stack, and
hands off to exactly one of twelve existing stack orchestrators.
For project types with a user interface it also asks whether to support accessibility and assistive technologies, and how strictly automated checks gate the UI tests
(the accessibility input, with an opt-out none; in an existing repository it is pre-selected from iru-explore’s `Accessibility: detection), part of the catalog’s UI contract.
Purpose
iru-setup-repository exists so a user doesn’t need to already know which of this catalog’s stack-specific
orchestrators (iru-setup-java-library-repository, iru-setup-java-springboot,
iru-setup-quarkus-repository, iru-setup-typescript-repository, iru-setup-php-repository,
iru-setup-python-repository, iru-setup-android-repository, iru-setup-swift-repository, iru-setup-kmp-repository, iru-setup-macos-repository, iru-setup-windows-repository, iru-setup-cli-repository) applies to their
repository. It surveys the working directory (running iru-explore when it already holds code) to detect the
project type, asks only the cross-cutting questions the detected/chosen type still needs, and delegates the
actual scaffolding — the downstream orchestrator asks its own project-identity questions and does the real work.
Run against a repository that already has code, it forces mode: existing and prints an inventory of every
component the pipeline owns (build manifest, source layout, Antora docs, .gitignore, each CI workflow,
Dependabot, Sonar config, quality config, changelog, README, license) marked absent / present / partial. mode: existing no longer
means "update silently": every delegated component warns about each pre-existing artifact it finds and asks
whether to keep, update, or replace it (this front door never asks that on their behalf), unless on-existing
pre-answers it for scripted runs.
The shared questions are visibility-aware and cost-aware, stated per GitHub’s current pricing (the user should double-check their plan): standard Actions runners are free for public repositories while private/internal ones consume included minutes (2,000/month on Free, 3,000 on Pro/Team, 50,000 on Enterprise Cloud), macOS minutes cost roughly 10x Linux, SonarCloud is free only for public/open-source projects, and GitHub Pages on a private repository needs Pro/Team/Enterprise Cloud and is publicly reachable unless private access control is used.
Plugin
Shipped by the iru-core plugin of the ai-catalog marketplace (install with /plugin install iru-core@ai-catalog; see Plugins).
Invocation
/iru-setup-repository
Optionally followed by an args block of key: value lines, e.g.:
/iru-setup-repository
project-type: android-app
mode: new
open-source: yes
visibility: public
ci: yes
ci-tests: full
pages: yes
distribution: store
sonar: cloud
Inputs
| Argument | Required | Description | Default |
|---|---|---|---|
|
No |
Any value from the shared vocabulary ( |
Detected by Step 1’s |
|
No |
|
|
|
No |
|
|
|
No |
|
Asked directly, no default |
|
No |
|
Detected via |
|
No |
|
Asked; Yes recommended, with the included-minutes and macOS cost stated for private repositories |
|
No |
|
Asked; |
|
No |
|
|
|
No |
|
|
|
No |
App project types: |
|
|
No |
|
|
|
No |
SonarCloud organization slug, collected only when |
None |
|
No |
Sonar project key, collected when |
None |
|
No |
Self-hosted SonarQube host URL, collected only when |
None |
|
No |
|
Asked for UI types ( |
|
No |
The delegated orchestrator’s own flavor value (for example |
Derived from |
|
No |
JVM stack-shape keys ( |
Detected from the build (Kotlin Spring Boot build tool), else left to the orchestrator |
|
No |
Spring Boot only, meaningful only with |
Left to the orchestrator |
|
No |
Python version floor for the Python flavors. Never asked here; forwarded only when supplied via |
Left to the orchestrator |
|
No |
Comma-separated Apple platforms ( |
Pre-filled from Step 1’s detected |
|
No |
Ionic app framework, |
Pre-filled from Step 1’s detected |
|
No |
React Native toolchain, |
Pre-filled from Step 1’s detected |
|
No |
React Native build strategy, |
|
|
No |
UI approach: Kotlin Multiplatform |
Left to the orchestrator |
|
No |
|
Left to the orchestrator |
|
No |
Pass-through only — never actively asked by this skill; forwarded to the delegated orchestrator when supplied. |
None |
|
No |
Pass-through only, forwarded when supplied. |
None |
|
No |
Pass-through only, forwarded when supplied. |
None |
|
No |
Pass-through only, forwarded when supplied. |
None |
|
No |
Pass-through only, forwarded when supplied. |
None |
|
No |
Pass-through only, forwarded when supplied. |
None |
Other |
No |
Opaque pass-through (for example |
None |
Outputs
-
No files are written directly by this skill — every artifact (source scaffold, Antora docs,
.gitignore, CI workflows,CHANGELOG.md,README.md) is produced by whichever single stack orchestrator Step 4 delegates to, exactly as that orchestrator’s own page describes. -
No
.ui-quality.ymlis written here either — the delegated UI scaffold writes it from the forwardedaccessibilityvalue. -
An up-front announcement (Step 1): "from scratch" or "updating an existing repository", the latter with the absent / present / partial component inventory.
-
A final report (Step 5): the resolved
project-type(with, for the app types, the platforms/framework/toolchain/UI approach that came with it, and the MVVM/MVC architecture the desktop orchestrators reported), the setup mode and where it came from, and every shared input as actually applied (visibilityand how it was resolved,ci,ci-tests,pages,accessibilityfor a UI type, and so on); a per-component table of what the delegated orchestrator did (created / updated / replaced / kept as is / skipped (ci: no)) with every mismatch it flagged between a kept file and this run’s choices; cost notes tied to the visibility; aci: nonote when workflows and the security block were skipped; any key that could not be forwarded; one consolidated secrets/environments table; and an explicit warning block (review every generated file; every listed secret and matching external account must already exist; which values were inferred rather than asked). For Spring Boot types it adds one line on rolling deployments as the orchestrator reported them: enabled or not (withci: no, "not offered - needs the workflows"), and when enabled the strategy, advance mode, whetherpromote.ymlwas generated (arollingstrategy keeps the single-jobdeploy.ymland generates none), and that/iru-springboot-rolling-deployments enable|disableswitches it later. -
When the detected or chosen type is
dotnet(a plain .NET library or service — Windows desktop apps arewindows-app, a .NET command-line tool iscli-tool (dotnet), above; the .NET gate skillsiru-dotnet-test/-coverage/-code-quality/-docfxandiru-setup-antora/-changelog/-readmecan still be run individually),rust/go(a Rust crate or Go module that is not a command-line tool; the Rust/Go gate skills can still be run by hand),php-library,python-library(a plain Python package; the Python gate skills and individual repository-file skills can still be run by hand),otheror otherwise unsupported: a plain report that no bootstrap orchestrator exists in this catalog for it, with no delegation attempted.
Execution flow
Dependencies
Invokes
-
Explore — Step 1, directly (not via a sub-agent), and only when the working directory is non-empty: reads its
## Tech stackreport’s- Project type:line to pre-select Step 2’s option and setmode: existing. -
Exactly one of the following twelve, via the
iru-isolated-skill-executoragent in Step 4, chosen by the resolvedproject-type— never more than one per run outside themultiplecase:-
Setup Java Library Repository — for
java-library. -
Setup Java Spring Boot — for
java-springboot,java-springboot-hilla,kotlin-springboot,kotlin-springboot-hilla(language, build tool, frontend and, withci: yes, blue/green rolling deployments asked by the orchestrator itself; therolling-deployments/deployment-strategy/advancekeys are forwarded only when supplied viaargs). Related: Spring Boot Rolling Deployments. -
Setup Quarkus Repository — for
java-quarkus,kotlin-quarkus. -
Setup TypeScript Repository — for
typescript-library,react-web,nextjs,angular-web,nestjs,react-native-app(withtoolchain: expo|metro),ionic-app(via its ownflavorarg). -
Setup PHP Repository — for
php-laravel,php-wordpress-plugin,php-wordpress-theme,php-prestashop-module(via its ownflavorarg). -
Setup Python Repository — for
python-fastapi,python-django(via its ownflavorarg:fastapiordjango). -
Setup Android Repository — for
android-library,android-app(via its ownflavorarg). -
Setup Swift Repository — for
swift-library,apple-app(via its ownflavorarg, plusplatforms; for an app,ui(SwiftUI/UIKit) andarchitecture(MVVM/MVC) only when supplied viaargs, otherwise that orchestrator asks them). -
Setup KMP Repository — for
kmp-app(cross-platform Kotlin Multiplatform; apps only, so never sentpublishorflavor). -
Setup macOS Repository — for
macos-app(a native macOS desktop app; onlyuiis forwarded from the detected parenthetical,architectureis detected or confirmed by the orchestrator). Reached from the Round 6 "Desktop & command line" of the project-type interview, or by detection; anapple-appwhose platforms include macOS plus another platform — or a macOS-onlyiru-setup-apple-appscaffold — staysapple-appand never offersmacos-app. -
Setup Windows Repository — for
windows-app(a C#/.NET 10 desktop app: WPF, WinUI 3 or Windows Forms; MSIX/WinGet/Microsoft Store), likewise forwarding onlyui. -
Setup CLI Repository — for
cli-tool(an agent-friendly command-line tool in Rust, Go, Swift or C#/.NET). Reached from Round 6’s "Command-line tool" option, whose bounded follow-up picks the language (forwarded aslanguage; pre-filled from a detectedcli-tool (…)parenthetical), or by detection;ui: tuiis forwarded only when detected or supplied viaargs, and the terminal UI, channels,cross-os-ciand identity are asked by the orchestrator. Never sentpublishorflavor.
-
Related agents
-
iru-isolated-skill-executor— spawned once in Step 4 to run the chosen stack orchestrator end-to-end in a fresh context, so that orchestrator’s own multi-step exploration/scaffolding transcript doesn’t accumulate in this front door’s context.
Source
SKILL.md on GitHub — the file this page was generated from.