create-aliuq
v0.0.3
Published
Scaffolding tool for aliuq projects
Readme
create-aliuq
Interactive project scaffolding CLI powered by @clack/prompts.
Usage
npm create aliuq@latest [project-directory]Options:
-n, --dry-run Simulate without writing files
-v, --verbose Print detailed file output
-f, --force Overwrite non-empty target directories without prompting
-l, --locale <lang> Override locale (en / zh)
-V, --version Print version
-h, --help Show helpDirectory conflict behavior
When the target directory already contains files, create-aliuq now follows a safer mainstream scaffold flow:
- Preview a few existing entries before doing anything destructive
- Default to abort
- Support merge into the existing directory, keeping unrelated files and replacing only conflicting paths
- Only overwrite after an explicit confirmation, or when
--forceis passed - Delay deletion until just before file generation, so earlier prompt cancellation does not wipe files
Templates
web-shadcn
Vue 3 + Vite + Tailwind CSS v4 + shadcn-vue.
| Prompt | Options | |--------|---------| | Package manager | bun / pnpm / npm / yarn | | Linter | Biome / ESLint + @antfu/eslint-config / oxlint + oxfmt | | Git hooks | simple-git-hooks + lint-staged | | Install all shadcn components | yes / no | | aliuq registry | add custom shadcn-vue registry |
tsdown-lib
TypeScript library starter powered by tsdown.
| Prompt | Options | |--------|---------| | Package manager | bun / pnpm / npm / yarn | | Output format | esm / cjs / dual | | Linter | Biome / ESLint + @antfu/eslint-config / oxlint + oxfmt | | Git hooks | simple-git-hooks + lint-staged |
devcontainer
Generates .devcontainer/devcontainer.json.
| Prompt | Options |
|--------|---------|
| Registry | ghcr.io / Docker Hub / Aliyun / custom |
| Tag | me / base / alpine / debian |
| Forwarded ports | comma-separated list |
| postCreateCommand | shell command after container creation |
Architecture notes
The runtime is organized into small modules so new templates are easier to add:
src/cli.ts: argument parsing and help/version outputsrc/app.ts: interactive flow orchestrationsrc/project.ts: target-directory validation and overwrite policysrc/scaffold.ts: file copy + Handlebars rendering enginesrc/templates/base.ts: template contractsrc/templates/shared.ts: shared package-manager and lint helperssrc/templates/*.ts: concrete template implementations
Development
npm install
npm run dev
npm run build
npm run lint
npm run typecheck