Documentação / MCP e ACP

Claude Code

Execute o seu próprio Claude Code dentro do Yuli, com a sua conta, conectado a todo o IDE e com as mesmas regras.

No Modo assinatura, o Yuli executa o seu próprio Claude Code, sem modificá-lo e com a sua própria conta. O Claude Code raciocina; o Yuli lhe dá o IDE completo como ferramentas e faz cumprir as mesmas regras que aplica ao seu agente próprio.

O Claude Code é um produto da Anthropic. O Yuli não é afiliado à Anthropic nem endossado por ela. O Yuli nunca toca nas suas credenciais: é você quem faz login, com o fluxo oficial.

Conectar passo a passo

  1. Escolha o agente. No seletor acima do chat, Com quem você trabalha?, escolha Claude Code no grupo “Sua assinatura · sua conta”. Você também pode fazer isso em Opções globais → IA e modelos → Modo de IA → Agente.
  2. Instalação. Se o Yuli não encontrar claude, você verá “Instale o Claude Code para usá-lo aqui”. Clique em Abrir instalador oficial, instale-o e clique em Detectar novamente. O Yuli não baixa nem instala o CLI.
  3. Aviso. Uma única vez, “Antes de começar com o modo assinatura” explica que o Claude Code usa a sua conta e que o código que ele lê vai para a Anthropic sob a sua conta, como fora do Yuli. Clique em Entendi, continuar.
  4. Confiança da pasta. Em “Você confia nesta pasta para o Claude Code?”, responda com Confiar e abrir o Claude Code. O Yuli também deixa o servidor yuli aprovado, para que o Claude Code não pergunte de novo.
  5. Faça login dentro do Claude Code, no terminal, como sempre.
  6. Se o Claude Code ainda não tiver aprovado o servidor yuli, aparece Aprovar agora: ele reinicia a sessão com a mesma conversa.

O Yuli detecta claude no PATH, nos caminhos do instalador oficial e do npm, e dentro do WSL no Windows.

Onde fica a configuração

Por padrão, o Yuli não escreve nada no seu projeto. A configuração dele fica na pasta de trabalho do Yuli e é entregue ao Claude Code ao iniciá-lo, com opções documentadas do CLI:

Opção Arquivo Conteúdo
--settings settings.json Permissões, hooks e linha de status.
--mcp-config mcp.json O servidor yuli via stdio.
--append-system-prompt-file rules.md As regras do Yuli.
--plugin-dir plugin/ O plugin yuli-code: skills do Yuli e o agente revisor.

No Windows, esses arquivos ficam em %LOCALAPPDATA%\.yulicode\workspaces\<id do projeto>\claude\ e são regenerados a cada início de sessão.

Dentro do projeto (opcional)

Em Opções globais → IA e modelos → Modo de IA, grupo “Regras do Modo assinatura”, desative Configuração fora do projeto. Então o Yuli escreve a configuração dele dentro do projeto, excluída do Git:

Arquivo Conteúdo
.mcp.json Registra o servidor yuli. Mantém os seus outros servidores.
.claude/CLAUDE.md Regras do Yuli em um bloco gerenciado. O que você escrever fora dele nunca é tocado.
.claude/settings.local.json Permissões e hooks. As suas regras são mantidas.
.claude/hooks/yuli-hook Encaminha cada evento ao Yuli.
.claude/rules/ Padrões da stack e regras do Sonar.
.claude/skills/yuli-* Procedimentos do Yuli.
.claude/agents/yuli-reviewer.md O agente revisor.

Antes de escrever, o Yuli mostra cada arquivo com o seu diff: Aplicar N arquivos ou Agora não. A alteração é aplicada como uma tarefa na janela de alterações e pode ser desfeita.

Permissões

Lista Conteúdo
allow Bash, Edit, Write, MultiEdit, NotebookEdit, WebFetch, WebSearch e as ferramentas yuli_* (exceto Git e CI).
ask git commit, git push, git merge, git rebase, git reset --hard, gh pr, glab mr, az pipelines, az repos, e yuli_git_commit, yuli_git_push, yuli_cloudbees.
deny Ler .env (em qualquer pasta) e ~/.ssh/**. As chaves e os *.pem são bloqueados pelo hook.

O Yuli também desativa a atribuição automática em commits e PRs.

Hooks

Evento O que o Yuli faz
SessionStart Injeta a memória do projeto, o estilo de arquitetura e a missão. Depois de compactar ou retomar, injeta a missão novamente.
UserPromptSubmit Decide se Git e CI ficam habilitados na sessão de acordo com o seu pedido.
PreToolUse Bloqueia Git/CI não solicitados e a leitura de segredos, revisa estrutura e nomes, e mostra perguntas como cartões.
PostToolUse Reflete o trabalho na janela de alterações, no plano, na verificação e na qualidade.
PermissionRequest Mostra a solicitação como um cartão do Yuli.
Stop Não deixa encerrar o turno sem verificação verde nem medição, até o número de tentativas.
SubagentStart / SubagentStop Conta os subagentes em segundo plano.
Notification Avisa sobre os diálogos do terminal.

Se o Yuli estiver fechado, os hooks não bloqueiam nada.

Trabalhar

A aba tem duas visualizações, que você alterna no canto superior direito:

  • Chat (padrão): os seus pedidos, as respostas formatadas, os arquivos alterados, a verificação e o plano ao vivo. O Claude Code fica compacto embaixo: é ali que você escreve.
  • Terminal: o Claude Code em tela cheia.

Acima de ambas:

  • Modelo e Esforço de raciocínio. Aplicar e reiniciar reinicia o Claude Code e continua a mesma conversa.
  • Uso do plano Claude: a janela de 5 horas, a semana e o limite de gastos.

Os menus próprios do terminal do Claude Code aparecem como um cartão com as mesmas opções. O Yuli envia as teclas apenas quando você clica.

Regras que o Yuli faz cumprir

Regra Como
Git, CI e DevOps só se você pedir O hook os bloqueia se você não tiver pedido na sessão. Com o pedido, cada ação continua pedindo aprovação.
Branches só se você pedir Criar um branch ou um worktree é bloqueado mesmo com o Git habilitado.
Segredos protegidos .env, chaves e credenciais não são lidos.
Estrutura e nomes Cada gravação é revisada; se algo falhar, é bloqueada com a correção exata.
Critério de concluído Sem verificação verde (build, testes e inicialização), o Claude Code não pode encerrar o turno.

Desative Fazer cumprir as regras para passar para “Só avisar”. Git e segredos são sempre protegidos. Tentativas de verificação define quantas vezes o Yuli insiste (3 por padrão).

Solução de problemas

Sintoma O que fazer
“Aguardando o Claude Code usar as ferramentas do Yuli” Aprove o servidor yuli ou clique em Aprovar agora. Verifique com /mcp.
/mcp mostra yuli com erro Abra o projeto no Yuli. yuli_status explica o motivo.
As regras não mudaram Elas são carregadas na inicialização: reinicie a sessão pela barra.