Configuração
O Verboo Code usa arquivos JSON para configuração. Há três escopos:
| Arquivo | Escopo | Commitado? |
|---|---|---|
~/.verboo/settings.json |
Global (todos os projetos) | N/A |
.verboo/settings.json |
Projeto | Sim (recomendado) |
.verboo/settings.local.json |
Projeto local | Não (gitignored) |
A configuração é mesclada nessa ordem — settings locais sobrescrevem projeto, que sobrescrevem global.
Esquema completo
{
"permissions": {
"defaultMode": "ask",
"allow": [],
"deny": []
},
"env": {},
"model": "",
"mcpServers": {},
"hooks": {},
"plugins": [],
"autoCompact": true,
"cleanupPeriodDays": 30
}Permissões
`permissions.defaultMode`
Comportamento padrão para ferramentas sem regra explícita:
| Valor | Comportamento |
|---|---|
"ask" |
Pergunta ao usuário (padrão) |
"auto" |
Aprovação automática de operações seguras |
"bypassPermissions" |
Ignora todas as permissões (apenas para ambientes controlados) |
`permissions.allow`
Lista de ferramentas sempre aprovadas. Sintaxe:
{
"permissions": {
"allow": [
"Bash",
"Bash(npm run *)",
"Bash(git *)",
"Edit",
"Read",
"WebFetch(domain:github.com)",
"WebFetch(domain:raw.githubusercontent.com)",
"Glob",
"Grep"
]
}
}Padrões suportados:
| Padrão | Significa |
|---|---|
"Bash" |
Qualquer comando bash |
"Bash(npm *)" |
Bash com prefixo npm |
"WebFetch(domain:example.com)" |
WebFetch apenas para esse domínio |
"Edit" |
Qualquer edição de arquivo |
"Write(path:/tmp/*)" |
Write apenas em /tmp |
`permissions.deny`
Lista de ferramentas sempre bloqueadas (prioridade sobre allow):
{
"permissions": {
"deny": [
"Bash(rm -rf *)",
"Bash(sudo *)",
"WebFetch(domain:internal.empresa.com)"
]
}
}Variáveis de ambiente
O bloco env injeta variáveis de ambiente na sessão do agente:
{
"env": {
"NODE_ENV": "development",
"DATABASE_URL": "postgres://localhost:5432/dev",
"DEBUG": "app:*"
}
}Nunca coloque segredos em
settings.json(commitado). Usesettings.local.jsonpara variáveis sensíveis.
Modelo
Override do modelo para a sessão:
{
"model": "claude-sonnet-4-6"
}Pode ser qualquer modelo suportado pelo provedor configurado.
MCP Servers
Configuração de servidores MCP (veja MCP para exemplos detalhados):
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_TOKEN": "${GITHUB_TOKEN}"
}
},
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "./"],
"disabled": false
}
}
}Hooks
Configuração de hooks do ciclo de vida (veja Hooks para exemplos):
{
"hooks": {
"PostToolUse": [
{
"matcher": "Edit|Write",
"hooks": [
{
"type": "command",
"command": "prettier --write '{{tool_input.file_path}}' 2>/dev/null || true",
"async": true
}
]
}
],
"Stop": [
{
"matcher": "*",
"hooks": [
{
"type": "command",
"command": "osascript -e 'display notification \"Verboo Code finalizou\" with title \"Verboo\"'",
"async": true
}
]
}
]
}
}Auto-compactação
{
"autoCompact": true
}Quando true, o Verboo Code compacta automaticamente o contexto ao se aproximar do limite do context window. Desabilite se preferir controle manual via /compact.
Limpeza de sessões
{
"cleanupPeriodDays": 30
}Sessões mais antigas que esse número de dias são removidas automaticamente.
Plugins
{
"plugins": [
{
"name": "meu-plugin",
"source": "https://marketplace.verboo.ai/plugins/meu-plugin"
}
]
}Configurações de SSH (sessões remotas)
{
"sshConfig": {
"host": "meu-servidor.com",
"user": "ubuntu",
"identityFile": "~/.ssh/id_rsa",
"port": 22
}
}Customização de atribuição
{
"attribution": {
"coAuthoredBy": false
}
}Desabilita a adição automática de Co-Authored-By: Verboo Code em commits.
Exemplo completo
settings.json típico para um projeto:
{
"permissions": {
"defaultMode": "ask",
"allow": [
"Bash(npm run *)",
"Bash(git status)",
"Bash(git diff *)",
"Bash(git log *)",
"Read",
"Edit",
"Glob",
"Grep",
"WebFetch(domain:docs.npmjs.com)",
"WebFetch(domain:developer.mozilla.org)"
],
"deny": [
"Bash(rm -rf *)",
"Bash(sudo *)"
]
},
"env": {
"NODE_ENV": "development"
},
"hooks": {
"PostToolUse": [
{
"matcher": "Edit|Write",
"hooks": [
{
"type": "command",
"command": "npx prettier --write '{{tool_input.file_path}}' 2>/dev/null || true",
"async": true
}
]
}
]
}
}E settings.local.json (gitignored) com segredos:
{
"env": {
"DATABASE_URL": "postgres://user:senha@localhost:5432/dev",
"OPENAI_API_KEY": "sk-..."
}
}