Setup TypeScript Repository
| This documentation was generated with the assistance of AI. Please report any inaccuracies. |
End-to-end bootstrap for an npm/TypeScript repository of any of seven flavors. It collects the flavor, the project’s identity, and the shared pipeline parameters once, announces whether it is setting up from scratch or updating an existing repository, then orchestrates six other skills in a fixed order so nothing is asked twice.
Purpose
iru-setup-typescript-repository is the front door for starting (or catching up) a brand-new npm/TypeScript
repository, whatever its shape — a published library, a React, Next.js or Angular web app, a NestJS backend
service, or a React Native or Ionic mobile app. Rather than duplicating each flavor’s scaffold logic, documentation setup, .gitignore rules, CI
workflows, changelog bootstrapping, or README generation, it resolves the flavor and mode, gathers the
project’s identity and the shared pipeline parameters (open-source, publish/distribution, Sonar, integration
branch, Node version, package manager, repository visibility, CI, CI test scope, GitHub Pages) plus the
flavor-specific choices that shape later steps (React Native toolchain Expo or Metro, NestJS orm/database, Next.js output/e2e) once, and passes each
downstream skill only the args keys it actually accepts. It opens with a "Setup mode" statement and an inventory
of every component it owns (absent / present / partial); the keep/update/replace question for pre-existing files is
asked by each sub-skill, never by this orchestrator, and the final report lists the action taken per component.
For private or internal repositories it states the cost context (included Actions minutes per plan, macOS minutes
roughly 10x Linux for the iOS release job and the Metro iOS simulator build, SonarCloud being free only for public open-source projects, GitHub Pages
requiring a paid plan) and recommends accordingly.
Plugin
Shipped by the iru-typescript plugin of the ai-catalog marketplace (install with /plugin install iru-typescript@ai-catalog; see Plugins).
Invocation
/iru-setup-typescript-repository
Optionally followed by args (key: value lines, one per line) to pre-resolve any input below.
Inputs
| Argument | Required | Description | Default |
|---|---|---|---|
|
No |
|
Asked |
|
No |
|
Derived from |
|
No |
|
Not forwarded (each sub-skill asks) |
|
Yes (per flavor) |
Free-text project-identity fields, asked directly; which apply depends on the resolved flavor (e.g. |
None — user must supply |
|
No |
Whether the repository is open source. Drives the recommended defaults for |
Asked |
|
No |
|
Detected, else asked |
|
No |
|
Asked ( |
|
No |
|
Asked where applicable |
|
No |
|
|
|
No |
|
Asked for UI flavors |
|
No |
Library only: publish to the public npm registry. |
|
|
No |
React Native/Ionic: |
|
|
No |
|
|
|
No |
React Native only: |
Detected, else asked |
|
No |
React Native with |
|
|
No |
Ionic only: its own UI framework, |
Asked |
|
No |
NestJS only: |
|
|
No |
Next.js only: |
Asked |
|
No |
Shared pipeline parameters fed to the scaffold and workflow skills. |
|
Also accepted: distribution’s and `sonar’s detail keys as listed above, and `name/scope/identity fields per flavor.
Outputs
-
A "Setup mode" announcement (from scratch vs updating an existing repository) with a per-component inventory (for UI flavors including
.ui-quality.yml). -
The flavor’s own scaffold output —
package.jsonand toolchain files (viairu-setup-typescript-library,iru-setup-react-web,iru-setup-nextjs-web,iru-setup-angular-web,iru-setup-nestjs-app,iru-setup-react-native-app, oriru-setup-ionic-app). When files already exist, the scaffold skill itself asks Update / Keep as is / Replace per file (or applieson-existing). -
A scaffolded Antora documentation site under
docs/(viairu-setup-antora). -
A root
.gitignorecoveringnode_modules/, build output, coverage, and the Antora build output (viairu-setup-typescript-gitignore). -
build.yml/release.yml/sync.yml/security.ymlGitHub Actions workflows and.github/dependabot.yml(viairu-setup-typescript-github-workflows) — skipped entirely whenci: no, with the security block (Dependabot, dependency-review, CodeQL, OSV-Scanner, gitleaks) skipped alongside. -
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 resolved flavor/mode/identity/license/pipeline parameters (including visibility, ci, ci-tests, pages), which files were created / updated / replaced / kept as is / skipped (ci: no) with mismatches listed for kept files, the cost context for private repositories, the consolidated required-secrets table, decisions made on the user’s behalf, and an explicit warning to review every generated file before building, committing, or relying on CI.
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 needs to come back, keeping each
sub-skill’s own exploration/file reads out of this orchestrator’s own context:
-
Setup TypeScript Library — Step 5, when
flavor: library: writespackage.jsonand the library toolchain, passing identity and pipelineargs. -
Setup React Web — Step 5, when
flavor: react: scaffolds a Vite React app, passing identity, pipeline, andstorybookargs(nopublish/distributionkey). -
Setup Next.js Web — Step 5, when
flavor: nextjs: scaffolds a Next.js app, passing identity,output,e2e,distribution,package-manager,node-versionand pipelineargs;router,cache-componentsandstylingonly if they arrived viaargs.pagesis deliberately not sent. -
Setup NestJS App — Step 5, when
flavor: nestjs: scaffolds a NestJS service, passing identity,orm,database(only whenormis notnone),distribution,package-manager,node-versionand pipelineargs;module-systemandhttponly if they arrived viaargs. -
Setup Angular Web — Step 5, when
flavor: angular: scaffolds an Angular CLI app, passing identity (nodescription),directory, and pipelineargs. -
Setup React Native App — Step 5, when
flavor: react-native: scaffolds an Expo or Metro React Native app, passing identity (nodescription),toolchain,app-id,app-slug,app-directory,native-builds(Expo only), anddistributionargs. -
Setup Ionic App — Step 5, when
flavor: ionic: scaffolds a Capacitor hybrid app, passingframework,app-id, identity, anddistributionargs. -
Setup Antora — Step 6: scaffolds the Antora documentation site, invoked with no
args(or onlyon-existingwhen supplied) since it derives the component name/title/version directly frompackage.json. Run before Step 8 so that skill’s own docs-config survey finds it already in place. -
Setup TypeScript Gitignore — Step 7: writes or updates the root
.gitignore, invoked with noargs(or onlyon-existingwhen supplied) since it explores the repository directly (package manager, framework, Playwright, docs tooling). -
Setup TypeScript GitHub Workflows — Step 8: writes the CI/CD workflows, passing
flavor, the pipeline parameters (includingvisibility,pages, andci-testswhere resolved),publish/distribution/toolchain/native-builds(Expo only)/framework/orm/output/e2e(only when the flavor uses them), and the deriveddocs-toolasargs. Skipped entirely whenci: no. -
Setup Changelog — Step 9: bootstraps the root
CHANGELOG.md, invoked with noargs(or onlyon-existingwhen supplied) since it works from the repository’s own git tag/GitHub Release history. -
Setup Readme — Step 10, last: bootstraps the root
README.md, passingsonar,ci, andpages(pluson-existingwhen supplied); it explores the finished state left by every earlier step.
Invoked by
-
Setup Repository — Step 4, TypeScript, web, NestJS, Next.js and mobile bootstrap, via the
iru-isolated-skill-executoragent.
Related agents
-
iru-isolated-skill-executor— spawned once per sub-skill (Steps 5–10, except Step 8 whenci: no), 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.