Official starter templates for vue-tui — the Vue framework for building terminal user interfaces.
Requirements: Node.js 22.18+.
Each top-level directory is a self-contained template. Scaffold one with tiged, which copies a single subdirectory out of this repo:
npx tiged vuejs-ai/vue-tui-starter/vite my-app
cd my-app
npm install
npm run devThen edit src/app.vue and watch the terminal update instantly via HMR (experimental).
Press q to quit the running app.
| Template | Stack | What it shows |
|---|---|---|
vite |
Vue SFC + @vue-tui/vite |
In-process terminal dev server with HMR (experimental) and a production build. A friendly hello world using <Spinner> from @vue-tui/components. |
More templates may be added over time — each as its own directory, scaffolded the same way
(npx tiged vuejs-ai/vue-tui-starter/<template> my-app).
A minimal app wired up with the @vue-tui/vite
plugin:
npm run dev— boots the app in your terminal with state-preserving HMR.npm run build— bundlessrc/main.tsinto a singledist/main.js.npm run preview— builds, then runs the production output.
Its vite.config.ts composes @vitejs/plugin-vue (compiles your SFCs) with vueTui() (the terminal dev server + production build):
import { defineConfig } from "vite";
import vue from "@vitejs/plugin-vue";
import { vueTui } from "@vue-tui/vite";
export default defineConfig({
plugins: [vue(), vueTui()],
});- vue-tui — the framework: components (
Box,Text, …), composables (useInput,useFocus, …), and yoga-based flexbox layout. @vue-tui/components— high-level components such as<Spinner>.
MIT