---
name: jira-update-version
description: Verifica se há versão nova dos comandos de Jira e atualiza a instalação, reinstalando os comandos nos CLIs. Use quando o pedido for atualizar as skills, checar se saiu versão nova, ou quando um comando de Jira se comportar de forma diferente do documentado.
---

# Atualizar os comandos de Jira

Compara a instalação local com o repositório, mostra o que mudou e aplica.

## Antes de começar

Os scripts ficam em `$env:JIRA_CLI_HOME\bin\`. Se essa variável estiver vazia, use o
diretório `bin` que fica duas pastas acima deste arquivo.

Este comando **não precisa das credenciais do Jira**. Se o token do programador expirou, a
atualização ainda tem de funcionar — é justamente por ela que a correção chega.

Tudo aqui é **PowerShell no Windows**.

## 1. Veja o que há de novo

Comece sempre por aqui. `-Check` não muda nada:

```powershell
& "$env:JIRA_CLI_HOME\bin\jira-update-version.ps1" -Check
```

A saída traz a versão local, os commits novos e quais arquivos mudaram, separando
**comandos com comportamento alterado** (`skills/`) de **scripts alterados** (`bin/`). A
última linha resume:

| `STATUS:` | O que fazer |
|---|---|
| `atualizado` | Nada. Diga que já está na versão mais nova e pare. |
| `atrasado` | Vá para o passo 2. |
| `sem-git` | O `git` não está instalado. Passe o link que o script imprimiu. |
| `sem-repo` | A instalação veio de um `.zip`, não de um clone. Mostre os passos que o script imprimiu para migrar. |
| `sem-upstream` | A branch local não acompanha nenhuma remota. Alguém mexeu no git da instalação; isso é para resolver à mão. |
| `falha-de-rede` | Repasse o erro. Costuma ser VPN, proxy ou o GitHub fora. |

## 2. Resuma antes de aplicar

Não despeje o log de commits. **Diga em uma ou duas frases o que muda para quem usa** —
foi corrigido um bug do `jira-sync`? entrou um comando novo? mudou uma pergunta do
`jira-card`? As mensagens de commit e a lista de arquivos dão isso.

Se apenas o `README.md` mudou, diga que é só documentação — a pessoa decide se vale
atualizar agora.

Aí pergunte se pode aplicar. É um `git pull` numa pasta de ferramentas, então não é
arriscado — mas é a instalação da pessoa, e ela pode estar no meio de outra coisa.

## 3. Aplique

```powershell
& "$env:JIRA_CLI_HOME\bin\jira-update-version.ps1"
```

O script faz, nesta ordem: `git pull --ff-only`, reinstala os ponteiros em todos os CLIs
(`install.ps1`) e compara o `config.json` local com o exemplo da versão nova.

| `STATUS:` | O que fazer |
|---|---|
| `aplicado` | Terminou. Vá para o passo 4. |
| `alteracoes-locais` | Há arquivos modificados na pasta. Mostre a lista e as três opções que o script imprimiu. **Não escolha por conta própria** — pode ser um ajuste que a pessoa fez de propósito. |
| `falha-no-pull` | Repasse o erro. Se falar de histórico divergente, há commit local; isso é para resolver à mão. |

Sobre `-Force`: ele guarda as alterações locais num stash antes de atualizar. **Só use se o
programador pedir**, e avise que elas ficaram no stash e como recuperar
(`git -C <pasta> stash pop`).

## 4. Ao terminar

Duas coisas para dizer, nessa ordem:

1. **Reinicie o CLI de IA.** A maioria varre os diretórios de comandos só na inicialização,
   então um comando novo — ou uma descrição mudada — só aparece depois disso. O corpo das
   skills o agente lê em tempo real e já vale.
2. **Se o script listou chaves faltando no `config.json`**, repasse a lista e diga que
   `jira-init` redescobre tudo, ou que dá para editar à mão consultando o
   `config.example.json`. O script não preenche sozinho de propósito: os valores descrevem
   a instância de cada um, e um default inventado moveria card errado.

Não diga que atualizou sem ter visto `STATUS: aplicado`.
