Templates
repoctl templates are maintained by @icebreakers/monorepo-templates. The CLI, scaffolder, and docs share the same template metadata.
Built-In Templates
| Key | Category | Default target | Use case |
|---|---|---|---|
tsdown | library | packages/tsdown | TypeScript library |
vue-lib | library | packages/vue-lib | Vue 3 component library |
vue-hono | app | apps/client | Vue 3 + Hono app |
hono-server | service | apps/server | Hono API service |
vitepress | docs | apps/website | VitePress docs site |
cli | tool | apps/cli | TypeScript CLI |
Discover Templates
repo templates
repo templates tsdown
repo templates --category library
repo templates --json
repo templates --markdown --out docs/templates.mdCreate From A Template
repo new sdk --template tsdown
repo new ui --template vue-lib
repo new api --template hono-server
repo new website --template vitepress
repo new toolbox --template cliSimple names are placed in the conventional target folder. Library templates go under packages/; app templates go under apps/. If you pass an explicit path such as packages/shared-utils, repoctl respects it.
Choose By Goal
Publish an npm library
repo new sdk --template tsdownCheck first:
package.jsonname,exports, andtypes.- Whether
tsdown.config.tsmatches the desired output format. - Whether public types need
tsdtests.
Build reusable Vue components
repo new ui --template vue-libCheck first:
- Component entry points only expose stable APIs.
- Styles pass Stylelint.
- A docs site or example app should be created alongside it if needed.
Create an app or service
repo new web --template vue-hono
repo new api --template hono-serverCheck first:
- Runtime environment variables and deployment constraints.
dev,build, andtypecheckscripts are part of root tasks.- CI needs integration or E2E tests.
Create a docs site
repo new docs --template vitepressCheck first:
- Nav and sidebar are organized around the product or package.
- A second locale is required.
repo templates --markdownoutput should be written into docs.
Create a CLI
repo new toolbox --template cliCheck first:
- The
binfield matches the final command name. - Argument parsing, exit codes, and help output are testable.
- README documents command usage.
Preview Creation
repo new website --template vitepress --dry-run
repo new website --template vitepress --json
repo new website --template vitepress --json --out plans/website.json--dry-run does not write files. It shows the template, source directory, target directory, package name, and output files.
--json emits the same plan as structured data and implies --dry-run.
--out <file> persists the preview and also implies --dry-run.
Check Template Health
repo templates --check
repo templates --check --jsonThe check validates duplicate sources and targets, existing source directories, package metadata, categories, descriptions, and temporary files that would be filtered by the scaffolder.
