provide installation utilities
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 35/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Cần làm rõ
- Mức độ hoạt động
- Ít trao đổi
- Công nghệ
- typescript
- Lĩnh vực
- cli
Hướng nghiên cứu
Bắt đầu bằng cách xem xét cách tab hiện cung cấp tính năng hoàn thành lệnh shell và cách một CLI sử dụng nó sẽ tích hợp tính năng này thông qua các lệnh như my-cli init hoặc my-cli complete --install. Xác định các trường hợp cài đặt và shell được hỗ trợ nêu trong issue, bao gồm cài đặt độc lập, cài đặt npm toàn cục và cài đặt cục bộ trong dự án; được xem là hoàn thành khi phạm vi và hành vi của tiện ích cài đặt đã được thống nhất và triển khai, kèm theo việc xác thực cho từng trường hợp được hỗ trợ.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
CLIs using tab will ideally provide a bit of functionality to help the user install completions. Since we'll all be recreating the same logic, it seems to me like it should be built into tab itself. It should probably be provided as a utility function which can be either invoked within a larger setup flow (my-cli init) or as specific command (my-cli complete --install)
I haven't dug in too deep yet, but I'm imagining this would:
- detect the current shell (if not passed in explicitly)
- check if the completions are already installed
- either install or update the completion setup
In the process of figuring this out for our CLI (https://varlock.dev), I also realized that the way the CLI is installed can affect how it must be set up. Our tool can be installed as a standalone binary via curl or brew, as a global node_module (npm i -g), or within a project's node_modules. The installation utilities should also probably take care of detecting how the cli is installed and warn (or error?) if the tool is not on the user's PATH.
Supporting completions for locally installed packages invoked via package manager (pnpm exec my-cli) is something I'd love to see happen, but I'm guessing it's just not possible unless the package managers themselves support it?
- Ngôn ngữ chính
- TypeScript
- Star
- 280
- Fork
- 11
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Chuẩn bị môi trường
Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của bombshell-dev/tab
-
An option is resolved from the root before the matched command, so a short name means one thing for the whole lineCó thể đã có người làm @AmirSa12 đã nhận 3 ngày trước. Đang mở
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 56/100
bombshell-dev/tab#153 · 6 bình luận ·
-
enhancement
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 55/100
bombshell-dev/tab#127 · 2 bình luận ·
-
support completions for npx/bunxĐang mở
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 55/100
bombshell-dev/tab#118 ·
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 48/100
bombshell-dev/tab#107 · 3 bình luận ·
-
documentation enhancement
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 30/100
bombshell-dev/tab#106 · 1 bình luận ·
Tất cả issue của bombshell-dev/tab
Issue tương tự
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 85/100
lukilabs/beautiful-mermaid#160 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 66/100
rescript-lang/rescript-lang.org#1420 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
chthollyphile/folia-major#520 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
databuddy-analytics/Databuddy#1106 ·
Maintainer thường phản hồi trong vòng 1 ngày