Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
bighardperson avatar

Tdesign Miniprogram

  • 8 installs
  • 33 repo stars
  • Updated April 26, 2026
  • bighardperson/computer-science-skills-collection

TDesign Mini Program is a Claude Code skill for building WeChat mini program UIs with Tencent's TDesign component library of 60+ components.

About

TDesign Mini Program is a Claude Code skill for building WeChat mini program UIs with Tencent's TDesign component library. It documents installation, project configuration, theme and dark-mode setup, and the import paths for 60+ components across basic, navigation, input, and data-display categories, including chat components for AI interfaces. A developer uses it when building or styling a WeChat mini program with TDesign.

  • TDesign WeChat Mini Program UI component library by Tencent
  • 60+ components with dark mode, theme customization, and AI chat components
  • Includes install, config, and per-component import-path reference

Tdesign Miniprogram by the numbers

  • 8 all-time installs (skills.sh)
  • Ranked #1,729 of 2,244 Frontend Development skills by installs in the Skillselion catalog
  • Data as of Jul 30, 2026 (Skillselion catalog sync)
At a glance

tdesign-miniprogram capabilities & compatibility

Capabilities
frontend · ui design
Use cases
frontend · ui design
Pricing
Free
From the docs

What tdesign-miniprogram says it does

TDesign WeChat Mini Program UI component library by Tencent.
SKILL.md
Provides 60+ high-quality components with dark mode support, theme customization, and more.
SKILL.md
npm i tdesign-miniprogram -S --production
SKILL.md
npx skills add https://github.com/bighardperson/computer-science-skills-collection --skill tdesign-miniprogram

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs8
repo stars33
Last updatedApril 26, 2026
Repositorybighardperson/computer-science-skills-collection

What it does

Build and style WeChat mini program interfaces using the TDesign component library.

Who is it for?

Wiring up and theming TDesign UI components in a WeChat mini program, including AI chat interfaces.

Skip if: Non-WeChat platforms or web apps not using the mini program TDesign library.

When should I use this skill?

You are building a WeChat mini program with TDesign components or configuring its theme/dark mode.

What you get

A correctly configured TDesign mini program with the right components imported and themed.

By the numbers

  • 60+ components
  • 6 basic components
  • 8 navigation components

Files

SKILL.mdMarkdownGitHub ↗

TDesign Mini Program Skill

TDesign WeChat Mini Program component library, an enterprise-level design system by Tencent. Provides 60+ high-quality components with dark mode support, theme customization, and more.

When to Use This Skill

This skill should be triggered when:

  • Developing WeChat Mini Programs with TDesign component library
  • Using TDesign UI components (Button, Input, Dialog, etc.)
  • Implementing interfaces following TDesign design specifications
  • Configuring TDesign themes and style customization
  • Building AI chat interfaces (using TDesign Chat components)
  • Implementing dark mode adaptation

Quick Start

Installation

npm i tdesign-miniprogram -S --production

Modify app.json

Remove "style": "v2" from app.json to avoid style conflicts.

Modify project.config.json

Add the following to the setting section of project.config.json:

{
  "setting": {
    "packNpmManually": true,
    "packNpmRelationList": [
      {
        "packageJsonPath": "./package.json",
        "miniprogramNpmDistDir": "./"
      }
    ]
  }
}

Modify tsconfig.json (TypeScript projects)

{
  "paths": {
    "tdesign-miniprogram/*": [
      "./miniprogram/miniprogram_npm/tdesign-miniprogram/*"
    ]
  }
}
After modifying project.config.json, build npm in WeChat DevTools: Tools - Build npm
After successful build, check Compile JS to ES5

Using Components

Import in page or component JSON file:

{
  "usingComponents": {
    "t-button": "tdesign-miniprogram/button/button"
  }
}

Use in WXML:

<t-button theme="primary">Button</t-button>

Component Categories

Basic Components (6)

ComponentDescriptionImport Path
ButtonButtontdesign-miniprogram/button/button
DividerDividertdesign-miniprogram/divider/divider
FabFloating Action Buttontdesign-miniprogram/fab/fab
IconIcontdesign-miniprogram/icon/icon
LayoutLayouttdesign-miniprogram/row/row
LinkLinktdesign-miniprogram/link/link

Navigation Components (8)

ComponentDescriptionImport Path
BackTopBack to Toptdesign-miniprogram/back-top/back-top
DrawerDrawertdesign-miniprogram/drawer/drawer
IndexesIndex Listtdesign-miniprogram/indexes/indexes
NavbarNavigation Bartdesign-miniprogram/navbar/navbar
SideBarSide Navigationtdesign-miniprogram/side-bar/side-bar
StepsStepstdesign-miniprogram/steps/steps
TabBarBottom Tab Bartdesign-miniprogram/tab-bar/tab-bar
TabsTabstdesign-miniprogram/tabs/tabs

Input Components (16)

ComponentDescriptionImport Path
CalendarCalendartdesign-miniprogram/calendar/calendar
CascaderCascadertdesign-miniprogram/cascader/cascader
CheckBoxCheckboxtdesign-miniprogram/checkbox/checkbox
DateTimePickerDate Time Pickertdesign-miniprogram/date-time-picker/date-time-picker
InputInputtdesign-miniprogram/input/input
PickerPickertdesign-miniprogram/picker/picker
RadioRadiotdesign-miniprogram/radio/radio
RateRatetdesign-miniprogram/rate/rate
SearchSearchtdesign-miniprogram/search/search
SliderSlidertdesign-miniprogram/slider/slider
StepperSteppertdesign-miniprogram/stepper/stepper
SwitchSwitchtdesign-miniprogram/switch/switch
TextareaTextareatdesign-miniprogram/textarea/textarea
TreeSelectTree Selecttdesign-miniprogram/tree-select/tree-select
UploadUploadtdesign-miniprogram/upload/upload
FormFormtdesign-miniprogram/form/form

Data Display Components (18)

ComponentDescriptionImport Path
AvatarAvatartdesign-miniprogram/avatar/avatar
BadgeBadgetdesign-miniprogram/badge/badge
CellCelltdesign-miniprogram/cell/cell
CollapseCollapsetdesign-miniprogram/collapse/collapse
CountDownCountdowntdesign-miniprogram/count-down/count-down
EmptyEmpty Statetdesign-miniprogram/empty/empty
FooterFootertdesign-miniprogram/footer/footer
GridGridtdesign-miniprogram/grid/grid
ImageImagetdesign-miniprogram/image/image
ImageViewerImage Viewertdesign-miniprogram/image-viewer/image-viewer
ProgressProgresstdesign-miniprogram/progress/progress
ResultResulttdesign-miniprogram/result/result
SkeletonSkeletontdesign-miniprogram/skeleton/skeleton
StickyStickytdesign-miniprogram/sticky/sticky
SwiperSwipertdesign-miniprogram/swiper/swiper
TableTabletdesign-miniprogram/table/table
TagTagtdesign-miniprogram/tag/tag
ListListtdesign-miniprogram/list/list

Feedback Components (12)

ComponentDescriptionImport Path
ActionSheetAction Sheettdesign-miniprogram/action-sheet/action-sheet
DialogDialogtdesign-miniprogram/dialog/dialog
DropdownMenuDropdown Menutdesign-miniprogram/dropdown-menu/dropdown-menu
GuideGuidetdesign-miniprogram/guide/guide
LoadingLoadingtdesign-miniprogram/loading/loading
MessageMessagetdesign-miniprogram/message/message
NoticeBarNotice Bartdesign-miniprogram/notice-bar/notice-bar
OverlayOverlaytdesign-miniprogram/overlay/overlay
PopupPopuptdesign-miniprogram/popup/popup
PullDownRefreshPull Down Refreshtdesign-miniprogram/pull-down-refresh/pull-down-refresh
SwipeCellSwipe Celltdesign-miniprogram/swipe-cell/swipe-cell
ToastToasttdesign-miniprogram/toast/toast

AI Chat Components (9)

ComponentDescriptionImport Path
ChatListChat Listtdesign-miniprogram/chat-list/chat-list
ChatMessageChat Messagetdesign-miniprogram/chat-message/chat-message
ChatSenderChat Sendertdesign-miniprogram/chat-sender/chat-sender
ChatContentChat Contenttdesign-miniprogram/chat-content/chat-content
ChatActionbarChat Action Bartdesign-miniprogram/chat-actionbar/chat-actionbar
ChatLoadingChat Loadingtdesign-miniprogram/chat-loading/chat-loading
ChatMarkdownChat Markdowntdesign-miniprogram/chat-markdown/chat-markdown
ChatThinkingChat Thinkingtdesign-miniprogram/chat-thinking/chat-thinking
AttachmentsAttachmentstdesign-miniprogram/attachments/attachments

Common Patterns

Button

<!-- Basic Buttons -->
<t-button theme="primary" size="large">Primary Button</t-button>
<t-button theme="light" size="large">Light Button</t-button>
<t-button size="large">Default Button</t-button>

<!-- Outline and Text Buttons -->
<t-button theme="primary" size="large" variant="outline"
  >Outline Button</t-button
>
<t-button theme="primary" size="large" variant="text">Text Button</t-button>

<!-- Icon Button -->
<t-button
  theme="primary"
  icon="app"
  content="Icon Button"
  size="large"
></t-button>

<!-- Loading State -->
<t-button theme="primary" size="large" loading>Loading</t-button>

<!-- Disabled State -->
<t-button theme="primary" size="large" disabled>Disabled</t-button>

<!-- Block Button -->
<t-button theme="primary" size="large" block>Block Button</t-button>

<!-- Ghost Button (transparent background) -->
<t-button theme="primary" ghost size="large">Ghost Button</t-button>

Input

{
  "usingComponents": {
    "t-input": "tdesign-miniprogram/input/input"
  }
}
<t-input
  label="Label"
  placeholder="Please enter"
  value="{{value}}"
  bind:change="onChange"
/>

Dialog

{
  "usingComponents": {
    "t-dialog": "tdesign-miniprogram/dialog/dialog"
  }
}
<t-dialog
  visible="{{visible}}"
  title="Dialog Title"
  content="Dialog content"
  confirm-btn="Confirm"
  cancel-btn="Cancel"
  bind:confirm="onConfirm"
  bind:cancel="onCancel"
/>

Toast

import Toast from 'tdesign-miniprogram/toast/index';

Toast({
  context: this,
  selector: '#t-toast',
  message: 'Toast message',
});

AI Chat Interface

{
  "usingComponents": {
    "t-chat-list": "tdesign-miniprogram/chat-list/chat-list",
    "t-chat-message": "tdesign-miniprogram/chat-message/chat-message",
    "t-chat-sender": "tdesign-miniprogram/chat-sender/chat-sender"
  }
}
<t-chat-list layout="single">
  <t-chat-message
    avatar="{{item.avatar}}"
    name="{{item.name}}"
    content="{{item.content}}"
    role="{{item.role}}"
  />
  <view slot="footer">
    <t-chat-sender bind:send="onSend" />
  </view>
</t-chat-list>
Component({
  data: {
    messages: [
      {
        role: 'user',
        content: [{ type: 'text', data: 'Hello' }],
      },
      {
        role: 'assistant',
        content: [{ type: 'text', data: 'Hello! How can I help you?' }],
      },
    ],
  },
  methods: {
    onSend(e) {
      const { value } = e.detail;
      // Handle send message
    },
  },
});

Style Customization

Method 1: Using Style Attribute

<t-button style="color: red">Custom Style</t-button>
<t-button custom-style="color: red">Custom Style</t-button>

Method 2: Disable Style Isolation

Override styles directly in page:

.t-button--primary {
  background-color: navy;
}

In custom components, enable styleIsolation:

Component({
  options: {
    styleIsolation: 'shared',
  },
});

Method 3: External Style Classes

<t-button t-class="my-button-class">Button</t-button>
.my-button-class {
  background-color: navy !important;
}

Method 4: CSS Variables

TDesign provides rich CSS variables for theme customization:

page {
  --td-button-primary-bg-color: #0052d9;
  --td-button-border-radius: 8rpx;
}

Dark Mode

1. Modify app.json

{
  "darkmode": true
}

2. Import Design Token

In app.wxss:

@import 'miniprogram_npm/tdesign-miniprogram/common/style/theme/_index.wxss';

3. Use CSS Variables

.text {
  color: var(--td-text-color-secondary);
}

4. Special Component Adaptation

For components wrapped in custom-tab-bar or root-portal, add .page class:

<view class="page">
  <t-tab-bar />
</view>

Reference Files

This skill includes comprehensive documentation in references/:

Basic Documentation

  • miniprogram/getting-started.md - Quick start guide
  • miniprogram/overview.md - Component overview
  • miniprogram/custom-style.md - Style customization
  • miniprogram/custom-theme.md - Theme customization
  • miniprogram/dark-mode.md - Dark mode

Component Documentation (miniprogram/components/)

  • button.md - Button
  • input.md - Input
  • dialog.md - Dialog
  • form.md - Form
  • ... more component docs

AI Chat Component Documentation (miniprogram-chat/)

  • getting-started.md - Chat component quick start
  • sse.md - SSE streaming
  • components/chat-message.md - Chat message
  • components/chat-sender.md - Chat sender
  • components/chat-list.md - Chat list
  • ... more chat component docs

Use Read tool to access specific reference files when detailed API information is needed.

Key Requirements

  • Minimum base library version: ^2.12.0
  • Build npm in WeChat DevTools required
  • Remove "style": "v2" from app.json

Resources

Notes

  • This skill was automatically generated from TDesign official documentation
  • Reference files preserve the structure and examples from source docs
  • Some reference content remains in Chinese as per official documentation

Related skills

FAQ

How is it installed?

Via npm i tdesign-miniprogram, then removing style v2 from app.json and configuring packNpmManually in project.config.json before building npm in WeChat DevTools.

How many components does it cover?

60+ components across basic, navigation, input, and data-display categories, plus chat components for AI interfaces.

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.