Skip to content

Latest commit

 

History

History
78 lines (67 loc) · 1.83 KB

contribute.md

File metadata and controls

78 lines (67 loc) · 1.83 KB

Project Contribution Guide

🛠️ Development Environment Setup

Prerequisites

  • Node.js v20+
  • pnpm v9+

1. Install Global Dependencies

pnpm install turbo --global

2. Configure Environment

  1. Copy the environment template:
cp app/website/.env.template app/website/.env
  1. Fill in required values in the new .env file

3. Start Development Server

pnpm dev

🧩 Component Development Guide

Project Structure

Components are organized in a structured hierarchy:

📁 /packages/ui/cuicui
├── 📁 [section_name]
│ ├── 📁 [category_name]
│ │ ├── 📁 [component_name]
│ │ │ ├── 📄 [variant1_name].variant.tsx
│ │ │ ├── 📄 [variant2_name].variant.tsx
│ │ │ └── 📄 component.ts
│ │ └── ...
│ ├── 📁 [category_name]
│ │ ├── 📁 [component_name]
│ │ │ ├── 📄 [variant1_name].variant.tsx
│ │ │ └── 📄 component.ts
│ │ └── ...
│ └── ...
└── ...

Creating a New Component

  1. Create component directory:
mkdir -p packages/ui/cuicui/[section]/[category]/YourComponentName
  1. Add base component (component.ts):
// Example component structure
export interface ComponentProps {
  // Type definitions
}

export const BaseComponent = (props: ComponentProps) => {
  // Implementation
}
  1. Create variants (*.variant.tsx):
    // primary.variant.tsx
    export const PrimaryVariant = (props: ComponentProps) => (
      <BaseComponent {...props} className="primary-style" />
    )
  2. Run the "pre-build" script to generate component exports:
pnpm pre-build

Commit Message Convention

We are using Gitmoji for our commit messages. You can find the rules at gitmoji.dev