provide installation utilities
Évaluation
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Accessibilité débutants
- 35/100
- Type d'issue
- Fonctionnalité
- Clarté
- À clarifier
- Activité
- Calme
- Stack technique
- typescript
- Domaine
- cli
Piste de recherche
Commencez par examiner comment tab expose actuellement les complétions du shell et comment une CLI cliente les intégrerait via des commandes telles que my-cli init ou my-cli complete --install. Définissez les cas d’installation et de shell pris en charge indiqués dans l’issue, notamment les installations autonomes, les installations npm globales et les installations locales au projet ; le travail est terminé lorsque le périmètre et le comportement de l’utilitaire d’installation sont définis et implémentés, avec une validation pour chaque cas pris en charge.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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?
- Langage dominant
- TypeScript
- Étoiles
- 282
- Forks
- 11
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Préparer son environnement
Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de bombshell-dev/tab
-
An option is resolved from the root before the matched command, so a short name means one thing for the whole linePeut-être pris @AmirSa12 l’a pris il y a 10 jours. Ouverte
Difficulté 4/5 3-5 jours Accessibilité débutants 56/100
bombshell-dev/tab#153 · 6 commentaires ·
-
enhancement
Difficulté 3/5 1-2 jours Accessibilité débutants 55/100
bombshell-dev/tab#127 · 2 commentaires ·
-
support completions for npx/bunxOuverte
Difficulté 3/5 1-2 jours Accessibilité débutants 55/100
bombshell-dev/tab#118 ·
-
Difficulté 4/5 3-5 jours Accessibilité débutants 48/100
bombshell-dev/tab#107 · 3 commentaires ·
-
documentation enhancement
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 30/100
bombshell-dev/tab#106 · 1 commentaire ·
Toutes les issues de bombshell-dev/tab
Issues similaires
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
dsh-market/dsh-market#877 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
stellar/stellar-dev-skill#151 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
Les mainteneurs répondent en général sous 1 jour
-
Trial & Error: guided Blind offer squeezes on phones and sits under the touch toolbar on iPadOuvertearea:arcade game ready-for-agent
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
fderuiter/deruiter.dev#2281 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
scope: data grid type: bug
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
Les mainteneurs répondent en général sous 2 jours