Skip to content

Commit cc058d9

Browse files
committed
docs: add README.md
1 parent aa5ab6f commit cc058d9

1 file changed

Lines changed: 40 additions & 0 deletions

File tree

frontend/frontend-kit/ui/README.md

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
# UI Package - Frontend Kit
2+
3+
This package is the main UI and React shared component library for the Hyperloop Control Station. It provides reusable, styled components and hooks built on top of **React**, **Shadcn/UI**, and **Tailwind CSS**.
4+
5+
## Project Guidelines
6+
7+
### React-Only Logic
8+
9+
> This package is specifically for **UI and React-related components**.
10+
>
11+
> - If your logic requires React hooks (`useState`, `useEffect`, etc.) or TSX, it belongs here.
12+
> - **If your logic does NOT need React** (e.g., websocket connections), it should be implemented in the `@workspace/core` package. This keeps the codebase clean and allows for better reuse across different environments.
13+
14+
---
15+
16+
## Icon Management
17+
18+
We use a custom Rust-based tool, **icons-master**, to manage our Lucide icon exports. This tool helps keep our icons organized by category and ensures we don't have duplicate exports.
19+
20+
> **⚠️ Windows Support Only**
21+
>
22+
> The `icons-master` CLI currently only supports **Windows**. If you are on macOS or Linux, you must manually update the `.ts` files in `src/icons/`.
23+
24+
### Usage
25+
26+
Here are the scripts you can run:
27+
28+
```bash
29+
# Install dependencies
30+
pnpm install
31+
32+
# Run linter
33+
pnpm lint
34+
35+
# Add a new icon from Lucide (Example: pnpm icon:add arrow-up src/icons)
36+
pnpm icon:add <icon-name> src/icons
37+
38+
# Remove an existing icon export (Example: pnpm icon:remove arrow-up src/icons)
39+
pnpm icon:remove <icon-name> src/icons
40+
```

0 commit comments

Comments
 (0)