whatisgithub

What is cube-ui?

didi/cube-ui — explained in plain English

Analysis updated 2026-06-24

9,117JavaScriptAudience · developerComplexity · 2/5Setup · easy

In one sentence

cube-ui is a mobile-first UI component library for Vue, built by DiDi, that provides ready-made phone-screen components like buttons and action sheets, installable one piece at a time to keep your app's file size small.

Mindmap

mindmap
  root((repo))
    What it does
      Mobile components
      Vue integration
      Modular imports
    Components
      Buttons
      Action sheets
      Mobile inputs
    Setup
      npm install
      vue-cli template
    Audience
      Vue developers
      Mobile web apps
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Build a mobile web app in Vue using pre-made phone-screen UI components like action sheets and buttons.

USE CASE 2

Start a new Vue mobile project with one command using cube-ui's vue-cli template.

USE CASE 3

Import only the specific cube-ui components your app needs to keep the final bundle size small.

What is it built with?

JavaScriptVue

How does it compare?

didi/cube-uimrdoob/stats.jscarbon-design-system/carbon
Stars9,1179,1169,120
LanguageJavaScriptJavaScriptJavaScript
Setup difficultyeasyeasyeasy
Complexity2/51/52/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 30min
License not described in the explanation.

So what is it?

cube-ui is a mobile UI component library built with Vue, the JavaScript framework for building web interfaces. It was created by DiDi, the Chinese ride-hailing company, and released as open source. The library gives developers a ready-made set of visual building blocks, such as buttons and action sheets, that are designed for use on smartphone-sized screens. Rather than requiring you to pull in every component at once, cube-ui supports modular imports. You pick only the components your project needs, which keeps the final bundle size smaller. The library is installed through npm, the standard JavaScript package manager, with a single command. For starting a new project from scratch, the README points to a template that works with vue-cli, Vue's official project scaffolding tool. Running one command sets up the initial file structure and configuration so you do not have to wire everything together by hand. The README is brief and focuses on installation, basic usage, and development setup. It does not describe the full list of included components, those are documented separately on the project's website. cube-ui is one of several open-source libraries DiDi maintains alongside mobile frameworks and app optimization tools.

Copy-paste prompts

Prompt 1
Help me set up cube-ui in a new Vue project and add a bottom action sheet and a loading spinner to a page.
Prompt 2
Show me how to import only the Button and ActionSheet components from cube-ui without pulling in the whole library.
Prompt 3
Walk me through scaffolding a cube-ui Vue project with vue-cli and building a simple mobile form with touch-friendly inputs.
Prompt 4
Help me customize cube-ui component colors and styles in my Vue project to match my app's branding.

Frequently asked questions

What is cube-ui?

cube-ui is a mobile-first UI component library for Vue, built by DiDi, that provides ready-made phone-screen components like buttons and action sheets, installable one piece at a time to keep your app's file size small.

What language is cube-ui written in?

Mainly JavaScript. The stack also includes JavaScript, Vue.

What license does cube-ui use?

License not described in the explanation.

How hard is cube-ui to set up?

Setup difficulty is rated easy, with roughly 30min to a first successful run.

Who is cube-ui for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.