Skip to content
Apothem
Harnesses

Gemini CLI

Adaptador de harness do Apothem para o Gemini CLI (GA).

Fornecedor: Google Nome de instalação: gemini-cli Status: GA Configuração nativa: GEMINI.md e .gemini/ locais do projeto

Instalação

apothem install --harness gemini-cli --project /path/to/project

O adaptador tem escopo de projeto. Ele instala o GEMINI.md do projeto, converte os comandos do Apothem em comandos de barra TOML do Gemini, normaliza as definições de auxiliares locais e coloca os cohorts de suporte não nativos sob .gemini/.apothem/support/. Outras ferramentas de programação também leem um GEMINI.md de projeto, então o bloco do Apothem nele é escrito como orientação para todo o projeto que não nomeia nenhuma ferramenta específica como sua leitora.

Arquivos gravados:

GEMINI.md
.gemini/commands/*.toml
.gemini/agents/*.md
.gemini/skills/
.gemini/.apothem/support/

Mapeamento do perfil para a configuração nativa

O adaptador lê os cohorts compartilhados do Apothem e encaminha cada um por uma superfície compatível com o Gemini. As regras em Markdown, os templates e o material de hooks permanecem sob .gemini/.apothem/support/ porque são material de suporte, e não um diretório de regras nativo do Gemini. O bloco do Apothem em GEMINI.md termina com uma seção de arquivos de suporte do Apothem que nomeia, em relação à raiz do projeto, o diretório sob .gemini/.apothem/support/ em relação ao qual cada citação no estilo do repositório (rules/<name>.md, templates/..., hooks/...) é resolvida. Os caminhos são relativos para que um GEMINI.md incluído em commit não carregue nenhum caminho específico da máquina.

Cada comando convertido em .gemini/commands/ contém um description e um prompt. O prompt contém apenas as instruções do comando; os metadados do Apothem no topo do arquivo de origem (versão, lista de ferramentas e campos semelhantes) ficam de fora, de modo que o modelo nunca os lê como instruções. O Gemini executa um comando personalizado somente quando você o digita.

As definições de auxiliares em .gemini/agents/ mantêm seus limites de ferramentas e seu limite de turnos: a concessão tools de origem, menos disallowedTools, torna-se uma lista de permissões tools do Gemini com nomes de ferramentas do Gemini, e maxTurns torna-se max_turns. Um auxiliar somente leitura, portanto, não recebe nenhuma ferramenta write_file ou replace. Nenhum modelo é definido, de modo que cada auxiliar herda o modelo da sessão.

Um auxiliar que a chave agent_mcp_servers do perfil lista também ganha uma entrada mcp_<server>_* por servidor nomeado em sua lista de permissões tools, para que possa chamar as ferramentas desse servidor e de nenhum outro; sem a chave, todo auxiliar mantém a lista de permissões simples (consulte Servidores MCP). O Apothem grava uma concessão aqui somente para um nome de servidor composto de letras, dígitos e -, porque o Gemini CLI não consegue endereçar um nome com sublinhado; qualquer outro nome é ignorado e informado, assim como uma concessão para um auxiliar que já alcança todos os servidores MCP.

Notas de compatibilidade

~/.gemini/ continua sendo território de escopo de usuário para as ferramentas que usam um perfil global do Gemini. O adaptador do Gemini CLI grava somente no projeto passado por --project.

Verificação

apothem verify --harness gemini-cli --project /path/to/project

O comando verify confirma que:

  1. A configuração nativa existe no caminho esperado.
  2. Cada destino gerenciado existe; os arquivos gerenciados não estão vazios, e as configurações JSON ou YAML são analisadas sem erros. Adicione --profile PATH para também confirmar que os arquivos instalados correspondem a esse perfil.
  3. A rotina de verificação específica do adaptador informa sucesso.

Atualização

apothem update --harness gemini-cli --project /path/to/project

Atualiza o GEMINI.md, os comandos convertidos, as definições de auxiliares locais, as skills instaladas e a árvore de suporte .gemini/.apothem/support/.

Desinstalação

apothem uninstall --harness gemini-cli --project /path/to/project

Remove o bloco do Apothem de <project>/GEMINI.md e mantém qualquer outro texto nele. O arquivo é excluído somente quando nada mais resta nele. Também remove os arquivos do Apothem em <project>/.gemini/commands/, <project>/.gemini/skills/, <project>/.gemini/agents/ e <project>/.gemini/.apothem/support/; os demais arquivos dessas pastas permanecem. Antes da alteração, uma cópia com carimbo de data e hora de cada arquivo é salva em ~/.apothem/backups/; nenhum arquivo de backup é deixado no projeto. O YAML do perfil compartilhado e o motor do Apothem não são afetados.

Conformity gate

python -m apothem.conformity.gate --all .

Solução de problemas

SintomaCorreção
Arquivo de configuração não encontradoExecute novamente apothem install --harness gemini-cli --project /path/to/project
Falha na verificaçãoExecute apothem update --harness gemini-cli --project /path/to/project e depois verifique novamente
Conteúdo de configuração inesperadoVerifique ~/.config/apothem/profile.yaml ou --profile PATH e depois execute novamente apothem update --harness gemini-cli --project /path/to/project

Ajustes de configuração

SinalizadorPadrãoDescrição
--dry-runfalsePré-visualiza a instalação sem gravar arquivos.

Veja também

On this page