Referencia de Config

A configuracao do Mole vive em mole.yaml. Todos os campos podem ser sobrescritos com variaveis de ambiente prefixadas com MOLE_.

Exemplo completo

github:
  app_id: 12345                          # ID do GitHub App
  private_key_path: /etc/mole/app.pem    # Caminho para a chave privada
  webhook_secret: "secret"               # Webhook secret

llm:
  api_key: "sk-ant-..."                  # API key da Anthropic
  review_model: "claude-sonnet-4-6"      # Modelo para review padrao
  deep_review_model: "claude-opus-4-6"   # Modelo para deep review
  # Pricing por 1M tokens [input, output] -- para o dashboard de Custos
  # Usa pricing publicado da Anthropic se omitido
  pricing:
    claude-sonnet-4-6: [3.00, 15.00]
    claude-opus-4-6: [15.00, 75.00]

mysql:
  host: localhost
  port: 3306
  database: mole
  user: mole
  password: "password"

valkey:
  host: localhost
  port: 6379

server:
  port: 8080
  environment: production            # development | production

worker:
  count: 3

log:
  level: info                            # debug | info | warn | error

# Defaults no nivel do servidor (sobrescriveis por repo via .mole/config.yaml)
defaults:
  language: en                           # en, pt-BR
  personality: mole                      # mole, formal, minimal

# Exploracao de codebase (opcional -- requer git no host)
# Habilita o comando /mole dig para reviews contextuais
repos:
  base_path: "/var/lib/mole/repos"   # Onde clonar repos (vazio = desabilitado)

exploration:
  max_turns: 25                       # Max turnos de tool-use do Sonnet
  model: "claude-sonnet-4-6"           # Modelo de exploracao

# Dashboard (opcional)
dashboard:
  github_client_id: ""
  github_client_secret: ""
  session_secret: ""
  base_url: "http://localhost:8080"
  allowed_org: ""                        # Restringir a membros da org (vazio = permitir todos)

GitHub

CampoTipoDescricao
github.app_idnumberID do GitHub App
github.private_key_pathstringCaminho para o arquivo PEM
github.webhook_secretstringSecret de validacao do webhook

LLM

CampoTipoDescricao
llm.api_keystringAPI key da Anthropic
llm.review_modelstringModelo para reviews padrao
llm.deep_review_modelstringModelo para deep reviews
llm.pricingobjectPricing por 1M tokens [input, output] para rastreamento de custos

MySQL

CampoTipoDescricao
mysql.hoststringHost do MySQL
mysql.portnumberPorta do MySQL
mysql.databasestringNome do banco
mysql.userstringUsuario do banco
mysql.passwordstringSenha do banco

Valkey

CampoTipoDescricao
valkey.hoststringHost do Valkey
valkey.portnumberPorta do Valkey

Server

CampoTipoPadraoDescricao
server.portnumber8080Porta HTTP
server.environmentstringproductionAmbiente (development, production)

Worker

CampoTipoPadraoDescricao
worker.countnumber3Numero de goroutines de worker

Log

CampoTipoPadraoDescricao
log.levelstringinfoNivel de log (debug, info, warn, error)

Defaults

CampoTipoPadraoDescricao
defaults.languagestringenIdioma do review (en, pt-BR)
defaults.personalitystringmoleModo de personalidade (mole, formal, minimal)

Repos

CampoTipoPadraoDescricao
repos.base_pathstring(vazio)Onde clonar repos para /mole dig (vazio = desabilitado)

Exploration

CampoTipoPadraoDescricao
exploration.max_turnsnumber25Max turnos de tool-use do Sonnet para exploracao de codebase
exploration.modelstringclaude-sonnet-4-6Modelo usado para exploracao de codebase

Dashboard

Dashboard opcional com HTMX para rastreamento de crescimento de desenvolvedores. Requer um GitHub OAuth App (criado em github.com/settings/developers) com callback URL http://seu-servidor/auth/callback.

CampoTipoDescricao
dashboard.github_client_idstringClient ID do GitHub OAuth App
dashboard.github_client_secretstringClient secret do GitHub OAuth App
dashboard.session_secretstringSecret de sessao aleatorio de 32 caracteres
dashboard.base_urlstringURL publica da instancia Mole
dashboard.allowed_orgstringRestringir acesso a membros de uma org GitHub (vazio = permitir todos)

Roles de acesso

RoleDados PropriosMedia da EquipeIndividual OutrosModulosCustos
DevSimSim (anonimo)NaoSimNao
Tech LeadSimSimSim (opt-in)SimNao
ManagerNaoSimNaoSimNao
AdminSimSimSimSimSim

Manager ve menos que Tech Lead por design — esta ferramenta e para crescimento, nao avaliacao de RH.

Variaveis de ambiente

Todo campo pode ser sobrescrito com variaveis de ambiente usando o prefixo MOLE_:

VariavelCampo de config
MOLE_GITHUB_APP_IDgithub.app_id
MOLE_GITHUB_PRIVATE_KEY_PATHgithub.private_key_path
MOLE_GITHUB_WEBHOOK_SECRETgithub.webhook_secret
MOLE_LLM_API_KEYllm.api_key
MOLE_LLM_REVIEW_MODELllm.review_model
MOLE_LLM_DEEP_REVIEW_MODELllm.deep_review_model
MOLE_MYSQL_HOSTmysql.host
MOLE_MYSQL_PORTmysql.port
MOLE_MYSQL_DATABASEmysql.database
MOLE_MYSQL_USERmysql.user
MOLE_MYSQL_PASSWORDmysql.password
MOLE_VALKEY_HOSTvalkey.host
MOLE_VALKEY_PORTvalkey.port
MOLE_SERVER_PORTserver.port
MOLE_SERVER_ENVIRONMENTserver.environment
MOLE_WORKER_COUNTworker.count
MOLE_LOG_LEVELlog.level
MOLE_REPOS_BASE_PATHrepos.base_path
MOLE_EXPLORATION_MAX_TURNSexploration.max_turns
MOLE_EXPLORATION_MODELexploration.model
MOLE_DASHBOARD_GITHUB_CLIENT_IDdashboard.github_client_id
MOLE_DASHBOARD_GITHUB_CLIENT_SECRETdashboard.github_client_secret
MOLE_DASHBOARD_SESSION_SECRETdashboard.session_secret
MOLE_DASHBOARD_BASE_URLdashboard.base_url
MOLE_DASHBOARD_ALLOWED_ORGdashboard.allowed_org
MOLE_DEFAULTS_LANGUAGEdefaults.language
MOLE_DEFAULTS_PERSONALITYdefaults.personality