# Instruções para Publicação no npm

Este documento contém as instruções para publicar o pacote `php-universal-mcp-server` no repositório npm.

## Pré-requisitos

1. Ter uma conta no npm (crie em [npmjs.com](https://www.npmjs.com/signup) se não tiver)
2. Estar logado via linha de comando (`npm login`)
3. Ter permissão para publicar o pacote (ser o proprietário ou colaborador)

## Processo de Publicação

### Método 1: Usando o script automatizado

O método mais fácil é usar o script de publicação fornecido:

```bash
node npm-publish.js
```

Este script realizará as seguintes etapas:
- Verificará se você está logado no npm
- Exibirá as informações do pacote para confirmação
- Executará os testes para garantir que tudo está funcionando
- Publicará o pacote no npm

### Método 2: Publicação manual

Se preferir fazer o processo manualmente, siga estes passos:

1. Verifique se você está logado no npm:
   ```bash
   npm whoami
   ```

2. Verifique a versão atual no package.json:
   ```bash
   cat package.json | grep version
   ```

3. Execute os testes para garantir que tudo está funcionando:
   ```bash
   npm test
   ```

4. Publique o pacote:
   ```bash
   npm publish
   ```

## Atualizando a Versão

Se você precisar atualizar a versão antes de publicar, use um dos comandos abaixo:

- Para atualizar a versão patch (1.0.1 → 1.0.2):
  ```bash
  npm version patch
  ```

- Para atualizar a versão minor (1.0.1 → 1.1.0):
  ```bash
  npm version minor
  ```

- Para atualizar a versão major (1.0.1 → 2.0.0):
  ```bash
  npm version major
  ```

## Verificação Após Publicação

Após a publicação, você pode verificar se o pacote foi atualizado corretamente:

```bash
npm view php-universal-mcp-server version
```

## Solução de Problemas

### "You do not have permission to publish"

Se você receber um erro de permissão, verifique se:
1. Você é o proprietário do pacote
2. Você está logado com a conta correta

### "Version already exists"

Se a versão já existir, você precisará atualizar a versão no package.json antes de publicar novamente.

### "Package name already exists"

O nome do pacote já está sendo usado por outro usuário. Considere usar um escopo (`@username/package-name`).
