provide installation utilities
评估
- 难度
- 5/5
- 预计耗时
- 一周以上
- 新手友好度
- 35/100
- Issue 类型
- 功能
- 描述清晰度
- 需要澄清
- 活跃度
- 冷清
- 技术栈
- typescript
- 领域
- cli
调研方向
首先检查 tab 当前如何提供 shell 补全,以及使用它的 CLI 将如何通过 my-cli init 或 my-cli complete --install 等命令集成这些补全。定义 issue 中列出的受支持安装和 shell 情况,包括独立安装、全局 npm 安装和项目本地安装;完成意味着安装工具的范围和行为已达成一致并实现,并且已针对每种受支持的情况进行验证。
由索引模型根据 Issue 内容生成。
描述
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?
- 主要语言
- TypeScript
- 星标
- 280
- 派生
- 11
- PR 合并指标
- 30 天内没有已合并 PR
环境准备
这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
bombshell-dev/tab 的其他 Issue
-
An option is resolved from the root before the matched command, so a short name means one thing for the whole line可能已有人在做 @AmirSa12 于 4 天前认领。 未关闭
难度 4/5 3-5 天 新手友好度 56/100
bombshell-dev/tab#153 · 6 条评论 ·
-
enhancement
难度 3/5 1-2 天 新手友好度 55/100
bombshell-dev/tab#127 · 2 条评论 ·
-
难度 3/5 1-2 天 新手友好度 55/100
bombshell-dev/tab#118 ·
-
难度 4/5 3-5 天 新手友好度 48/100
bombshell-dev/tab#107 · 3 条评论 ·
-
documentation enhancement
难度 5/5 一周以上 新手友好度 30/100
bombshell-dev/tab#106 · 1 条评论 ·
查看 bombshell-dev/tab 的全部 Issue
相似的 Issue
-
Mondriaan
难度 1/5 1 小时以内 新手友好度 88/100
knaw-huc/textannoviz#709 ·
维护者通常 1 天内回复
-
streams:add
难度 1/5 1 小时以内 新手友好度 62/100
维护者通常 1 天内回复
-
About page content is also published as an unstyled duplicate at /about/about/可能已有人在做 关联的 PR 仍在进行中或已合并。 未关闭
难度 2/5 1-3 小时 新手友好度 78/100
walletbeat/walletbeat#1558 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 82/100
hawk-digital-environments/HAWKI#438 ·
维护者通常 1 天内回复
-
good first issue
难度 2/5 1-3 小时 新手友好度 78/100
OktoLabsAI/okto-pulse#114 ·
维护者通常 1 天内回复