ferramenta organizadora de comandos para acumular todos os seus preciosos comandos ??
Um organizador de comandos permite salvar comandos que você usa com frequência, mas que são muito complicados ou longos para serem lembrados. Para cada comando acumulado , hoard
salva
#
) Se você se perder em seu enorme histórico de comandos e não conseguir encontrar, por exemplo, um comando docker
específico entre milhares de comandos docker
que você já executou, apenas acumule -o. Com um nome e uma descrição será muito mais fácil encontrá-lo novamente. Quando você procurar esse comando novamente um mês depois, dê uma olhada nos comandos acumulados .
hoard
não deve substituir o localizador de histórico do shell, como fzf
atuin
ou utilitários semelhantes. Em vez disso, deve ser usado em conjunto com eles.
Agora com integração chatGPT?
É melhor usar o Rustup para configurar um conjunto de ferramentas Rust, então você pode executar:
cargo install hoard-rs
Ou construa você mesmo:
cargo build --release
Encontre os binários em ./target/release/hoard
Mova-os para onde você precisar (como /usr/local/bin/hoard
) Ou execute
cargo install --path .
Testado em:
Instale hoard
executando
./install.sh
Se você estiver executando casca fish
LATEST_RELEASE=1.4.2 ./install.fish
paru -S hoard
brew tap Hyde46/hoard
brew install hoard
sudo port install hoard-cli
Mais informações aqui
Melhor instalar a partir do código-fonte, boa sorte
Instale hoard
como um plugin para ativar o preenchimento automático. Dependendo do seu shell, execute um dos seguintes comandos. Para mantê-lo instalado para sua próxima sessão de shell, adicione o comando source
com um caminho absoluto para seu .bashrc
ou copie e cole o conteúdo do plugin em seu .bashrc
.
source src/shell/hoard.bash
source src/shell/hoard.zsh
source src/shell/hoard.fish
O pacote hoard está no repositório de pacotes nixpkgs.
Instale-o com nix-env -iA hoard
, obtenha-o temporariamente com nix-shell -p hoard
ou adicione-o à sua configuração.
hoard new
Se um parâmetro não for conhecido ao salvar o comando, coloque um #
(ou seu token personalizado de ~/.config/hoard/config.yml
) Você também pode nomear seus parâmetros assim:
echo "My name is #first and I live at #city. Did I tell you my name, #first?"
Ao colocar #first
você só precisa fazer isso uma vez para cada ocorrência no comando. Um nome de parâmetro é definido como tudo seguido pelo token até que o primeiro caractere de espaço seja encontrado. Alternativamente, você pode determinar onde o parâmetro nomeado termina colocando um !
(Ou seu token personalizado de ~/.config/hoard.config.yml
)
echo "My name is #first named parameter! and I live at #city. Did I tell you my name, #first?"
<Ctrl-h>
Ou, alternativamente, se não for instalado como plugin, a pesquisa interativa ainda poderá ser realizada, embora sem preenchimento automático. Isso pressupõe que o usuário copie o comando com o mouse da IU
hoard list
Ao executar hoard list
como um plugin de shell e selecionar um comando parametrizado, hoard
solicitará a entrada de todos os parâmetros ausentes antes de enviar o comando completo para sua entrada de shell.
Se houver um arquivo trove.yml
presente no diretório local, hoard
apenas carregará esse arquivo trove e não exibirá seu tesouro "global"! (Edite ~/.config/hoard/config.yml read_from_current_directory
para desativar)
Ao executar hoard list
ou por meio do atalho de tesouro, pressione Ctrl-a
para ser solicitado um prompt. Descreva o que o seu comando deve fazer e o chatGPT criará e armazenará um novo comando com base no seu prompt.
Se você ainda não possui uma conta OpenAI para gerar uma chave de API, acesse esta página. (Dada a baixa quantidade de tokens consumidos, isso é extremamente barato. ~ 0,01$ para 30 comandos gerados)
Você precisa definir a variável env
export OPENAI_API_KEY=abcabcabc
Ou para uma solução permanente, defina gpt_api_key
em seu ~/.config/hoard/config.yml
chatGPT nem sempre responde no mesmo formato. Às vezes, o comando resultante será adicionado à descrição. Use o modo de edição <TAB>/<Ctrl-E>
para editar o comando acumulado em sua forma correta.
Você pode manter seus comandos sincronizados em vários terminais usando hoard sync
Primeiro registre uma nova conta
hoard sync register
Então faça login com sua nova conta
hoard sync login
Salve seus comandos locais online
hoard sync save
Faça login com a mesma conta em um computador/terminal diferente e execute
hoard sync get
Isso irá mesclar seu arquivo local com o baseado em nuvem. Você será questionado sobre como lidar com colisões, se houver alguma. No entanto, se não estiver satisfeito com a forma como a fusão aconteceu, você tem a opção de reverter o comando hoard sync get
mais recente
hoard sync revert
Se você deseja hospedar seu próprio servidor de sincronização, verifique seu repositório. Em seguida, atualize seu arquivo de configuração para apontar para o novo local do servidor ~/.config/hoard/config.yml
hoard remove <name>
hoard remove_namespace <namespace_name>
hoard edit <name>
Mostra a localização do arquivo de configuração e do arquivo trove
hoard info
Alterar token de parâmetro do arquivo de configuração
hoard set_parameter_token <parameter_token>
trove.yml
ou URLs apontando para um arquivo trove.yml hoard import /path/to/trove.yml
ou
hoard import https://troves.com/new_trove.yml
hoard export /path/to/exported/trove.yml
Mostrar lista de comandos na GUI
<F1>
Próximo item na lista de comandos
<Ctrl-N> / <Down-Arrow>
Item anterior na lista de comandos
<Ctrl-P> / <Ctrl-Y> / <Up-Arrow>
Próxima guia de namespace
<Ctrl-L> / <Right-Arrow>
Guia de namespace anterior
<Ctrl-H> / <Left-Arrow>
Selecione o comando
<Enter>
Desistir
<Esc> / <Ctrl-D> / <Ctrl-C> / <Ctrl-G>