Một công cụ CLI để tái sử dụng mã theo kiểu shadcn-ui, cho phép cài trực tiếp mã nguồn thực tế vào dự án thay vì dùng gói npm, nên có thể tự do chỉnh sửa. jsrepo hướng tới việc tích hợp quá trình xây dựng và phát hành registry để tái sử dụng mã, giúp quy trình này đơn giản hơn và dễ bảo trì hơn.
Tính năng chính
- Cách làm kiểu shadcn/ui: thay vì cài component dưới dạng gói npm, CLI sẽ thêm trực tiếp các tệp mã nguồn thực tế vào dự án. Có thể kiểm soát trực tiếp mã nguồn và chỉnh sửa theo ý muốn.
- Registry riêng: bất kỳ ai cũng có thể tạo registry mã của riêng mình để chia sẻ công khai hoặc dùng riêng tư.
- Tích hợp MCP: thông qua Model Context Protocol (MCP), có thể tích hợp với các trình soạn thảo mã dùng AI như Cursor, Windsurf. AI có thể hiểu các component trong registry JSRepo và thực hiện các tác vụ như tìm kiếm hoặc thêm component vào dự án chỉ bằng lệnh ngôn ngữ tự nhiên.
- Lưu trữ linh hoạt: hỗ trợ cả tự lưu trữ bằng nhiều nhà cung cấp Git như GitHub, GitLab, BitBucket và lưu trữ thông qua jsrepo.com.
- CLI mạnh mẽ: cung cấp nhiều tính năng như thêm nhanh các khối mã bằng lệnh
add, hoặc cập nhật theo kiểu tương tác bằng lệnhupdate. - Quản lý phiên bản an toàn: hỗ trợ đầy đủ SemVer để có thể nâng cấp một cách dự đoán được, đồng thời tương thích với các giải pháp hiện có như Changesets.
- Cộng tác nhóm: chia sẻ và quản lý mã an toàn trong nội bộ nhóm thông qua private registry.
- Registry động: cung cấp tính năng nâng cao để tải component động tại runtime.
- Tính năng bổ sung: cung cấp các tích hợp giúp thuận tiện hơn cho phát triển như tiện ích mở rộng Raycast.
So sánh cách lưu trữ: jsrepo.com vs. Git Provider (tự lưu trữ)
JSRepo cung cấp hai lựa chọn chính cho cách lưu trữ registry.
jsrepo.com (lưu trữ được quản lý)
- Cách dễ nhất: không cần cấu hình riêng, chỉ cần đăng nhập bằng tài khoản GitHub và có thể xuất bản registry ngay.
- Quản lý phiên bản mạnh mẽ: khác với Git tag, phiên bản sau khi đã phát hành sẽ không thể thay đổi (immutable), nhờ đó hỗ trợ quản lý phiên bản SemVer an toàn và đáng tin cậy hơn.
- Private registry: hỗ trợ sẵn khả năng chia sẻ mã riêng tư an toàn với thành viên nhóm thông qua lệnh
jsrepo auth. - Hiệu năng và tính năng tiện ích: mang lại hiệu năng tốt hơn, đồng thời bao gồm các tính năng bổ sung như tìm kiếm và phân tích.
Git Provider (tự lưu trữ)
- Kiểm soát hoàn toàn: dùng trực tiếp kho Git như GitHub, GitLab làm registry để tự kiểm soát mọi thứ.
- Quản lý phiên bản cơ bản: quản lý phiên bản bằng Git tag, nhưng tag có thể bị chỉnh sửa nên có thể kém ổn định hơn so với jsrepo.com.
- Cần tự thiết lập: cần tự quản lý xác thực và phân quyền để truy cập private registry, v.v.
Trường hợp sử dụng
https://github.com/shyakadavis/geist
https://github.com/ieedan/shadcn-svelte-extras
Chưa có bình luận nào.