opentiny/tiny-vue

TinyVue is an enterprise-class UI component library of OpenTiny community, support both Vue.js 2 and Vue.js 3, as well as PC and mobile.

Less

2,266

3,120 commits

updated Oct 13, 2026

See the code

README

OpenTiny Logo

An enterprise-class UI component library, support both Vue.js 2 and Vue.js 3, as well as PC and mobile.

Ask DeepWiki

English | 简体中文

🌈 Features:

  • 📦 104 clean, easy-to-use and powerful components.
  • 🖖 One code, Support both Vue.js 2 and Vue.js 3.
  • 🖥️ One code, Support both PC and Mobile.
  • 🌍 Support internationalization.
  • 🎨 Support theme customization.
  • 📊 Components support configuration development, can support low-code platform.
  • 💡 Use a cross-end and cross-framework architecture, flexible and portable.

Build with AI

tiny-vue-skill is a set of skill tools designed for AI coding assistants, enabling them to deeply understand the usage, APIs, and best practices of the TinyVue component library, thereby helping you develop applications with TinyVue more efficiently.

You can install tiny-vue-skill globally using the following command:

npx skills add opentiny/agent-skills -g --skill tiny-vue-skill --agent cursor

tiny-vue-skill

The --agent parameters corresponding to some other AI tools:

Agent--agent
Ampamp
Antigravityantigravity
Claude Codeclaude-code
Clawdbotclawdbot
Codexcodex
Cursorcursor
Droiddroid
Gemini CLIgemini-cli
GitHub Copilotgithub-copilot
Goosegoose
Kilo Codekilo
Kiro CLIkiro-cli
OpenCodeopencode
Roo Coderoo
Traetrae
Windsurfwindsurf

🛠️ Usage

1. Installation

Execute the following command to install the TinyVue component library for Vue.js 3.

npm i @opentiny/vue@3

Execute the following command to install the TinyVue component library for Vue.js 2.

npm i @opentiny/vue@2

2. Import component

Then you can use the TinyVue component(such as <tiny-button>) in the App.vue file.

<script lang="ts" setup>
  import { Button as TinyButton } from '@opentiny/vue'
</script>

<template>
  <tiny-button>Tiny Vue</tiny-button>
</template>

🖥️ Development

git clone git@github.com:opentiny/tiny-vue.git
cd tiny-vue
pnpm i

# Vue.js 3
pnpm dev

# Vue.js 2
pnpm dev2

Open your browser and visit: http://127.0.0.1:7130/

🤝 Contributing

Welcome to join our OpenTiny community!🎉

If you don't know how to start, please read our contributing guide.

  • Add the official assistant WeChat opentiny-official and join the technical exchange group.
  • Add to the mailing list opentiny@googlegroups.com

✨ Contributors

Contributors are community members who have 1 or more PR merged in OpenTiny.

Thanks goes to these wonderful people (emoji key):

❤️ Credits

Thanks to:

  • The element project which is an old component library based on Vue.js. TinyVue draws on Element at the beginning of its design, and is compatible with Element's component API.
  • The floating-ui project which is a small library that helps you create "floating" elements such as tooltips, popovers, dropdowns, and more. Many components of TinyVue are based on the capabilities provided by Floating UI.
  • The vxe-table project which is a Vue-based table component, supports rich features, TinyVue's Grid component is based on vxe-table.
  • The sortablejs project which is a powerful drag-and-drop library. The drag-and-drop sorting function of TinyVue's Grid / Transfer / Tabs and other components is based on Sortable.
  • @adamwathan's article Renderless Components in Vue.js, which inspired TinyVue's renderless component design architecture and ultimately enabled cross-end and cross-framework capabilities in the TinyVue project.

License

MIT

component-library
frontend
headless-components
opentiny
renderless-components
tiny-vue
vue
vue3
vue-components

opentiny/tiny-vue

TinyVue is an enterprise-class UI component library of OpenTiny community, support both Vue.js 2 and Vue.js 3, as well as PC and mobile.

Less

2,266

3,120 commits

updated Oct 13, 2026

See the code

README

OpenTiny Logo

An enterprise-class UI component library, support both Vue.js 2 and Vue.js 3, as well as PC and mobile.

Ask DeepWiki

English | 简体中文

🌈 Features:

  • 📦 104 clean, easy-to-use and powerful components.
  • 🖖 One code, Support both Vue.js 2 and Vue.js 3.
  • 🖥️ One code, Support both PC and Mobile.
  • 🌍 Support internationalization.
  • 🎨 Support theme customization.
  • 📊 Components support configuration development, can support low-code platform.
  • 💡 Use a cross-end and cross-framework architecture, flexible and portable.

Build with AI

tiny-vue-skill is a set of skill tools designed for AI coding assistants, enabling them to deeply understand the usage, APIs, and best practices of the TinyVue component library, thereby helping you develop applications with TinyVue more efficiently.

You can install tiny-vue-skill globally using the following command:

npx skills add opentiny/agent-skills -g --skill tiny-vue-skill --agent cursor

tiny-vue-skill

The --agent parameters corresponding to some other AI tools:

Agent--agent
Ampamp
Antigravityantigravity
Claude Codeclaude-code
Clawdbotclawdbot
Codexcodex
Cursorcursor
Droiddroid
Gemini CLIgemini-cli
GitHub Copilotgithub-copilot
Goosegoose
Kilo Codekilo
Kiro CLIkiro-cli
OpenCodeopencode
Roo Coderoo
Traetrae
Windsurfwindsurf

🛠️ Usage

1. Installation

Execute the following command to install the TinyVue component library for Vue.js 3.

npm i @opentiny/vue@3

Execute the following command to install the TinyVue component library for Vue.js 2.

npm i @opentiny/vue@2

2. Import component

Then you can use the TinyVue component(such as <tiny-button>) in the App.vue file.

<script lang="ts" setup>
  import { Button as TinyButton } from '@opentiny/vue'
</script>

<template>
  <tiny-button>Tiny Vue</tiny-button>
</template>

🖥️ Development

git clone git@github.com:opentiny/tiny-vue.git
cd tiny-vue
pnpm i

# Vue.js 3
pnpm dev

# Vue.js 2
pnpm dev2

Open your browser and visit: http://127.0.0.1:7130/

🤝 Contributing

Welcome to join our OpenTiny community!🎉

If you don't know how to start, please read our contributing guide.

  • Add the official assistant WeChat opentiny-official and join the technical exchange group.
  • Add to the mailing list opentiny@googlegroups.com

✨ Contributors

Contributors are community members who have 1 or more PR merged in OpenTiny.

Thanks goes to these wonderful people (emoji key):

❤️ Credits

Thanks to:

  • The element project which is an old component library based on Vue.js. TinyVue draws on Element at the beginning of its design, and is compatible with Element's component API.
  • The floating-ui project which is a small library that helps you create "floating" elements such as tooltips, popovers, dropdowns, and more. Many components of TinyVue are based on the capabilities provided by Floating UI.
  • The vxe-table project which is a Vue-based table component, supports rich features, TinyVue's Grid component is based on vxe-table.
  • The sortablejs project which is a powerful drag-and-drop library. The drag-and-drop sorting function of TinyVue's Grid / Transfer / Tabs and other components is based on Sortable.
  • @adamwathan's article Renderless Components in Vue.js, which inspired TinyVue's renderless component design architecture and ultimately enabled cross-end and cross-framework capabilities in the TinyVue project.

License

MIT

component-library
frontend
headless-components
opentiny
renderless-components
tiny-vue
vue
vue3
vue-components

Significant stargazers

聪小陈

936 followers · starred Nov 2023

agoni1212

3 followers · starred Oct 2023

w2xi

84 followers · starred Nov 2024