DevDash é uma ferramenta de dashboard no terminal com alto grau de personalização, direcionada a profissionais de desenvolvimento e criação. Através de um sistema flexível de configurações, é possível adaptar cores, organizar a disposição dos widgets e definir estratégias de atualização para construir um monitoramento visual sob medida.
Arquivo de Configuração Inicial
Todas as personalizações do DevDash são gerenciadas via arquivos YAML. O arquivo padrão fica em ~/.config/devdash/default.yml, mas você pode apontar para um arquivo alternativo com o parâmetro -c:
devdash -c meu_perfil_custom.yml
A estrutura do arquivo contém as seções general para configurações globais e projects para definições por projeto, permitindo ajustes completos do comportamento e aparência.
Personalização de Temas e Cores
Para modificar a paleta visual do DevDash, utilize os campos themes e options dentro da configuração do projeto.
Definição Básica de Temas
No bloco do projeto, estabeleça cores para componentes específicos:
projects:
- name: dashboard_monitoramento
themes:
padrao:
border_color: blue
text_color: green
title_color: yellow
Ajuste de Cores por Componente
Widgets individuais podem ter suas cores sobrescritas:
elements:
- name: ga.bar_users
options:
title_color: cyan
bar_color: magenta
num_color: black
O DevDash suporta cores como: default, black, red, green, yellow, blue, magenta, cyan e white, aplicáveis a bordas, textos, títulos e gráficos.
Organização do Layout
O sistema de layout segue o modelo linha-coluna-widget, definido pelo campo widgets para controlar a distribuição das informações.
Estrutura de Grid Básica
Um exemplo típico de configuração de layout:
widgets:
- row:
- col:
size: "M"
elements:
- name: github.stars
- name: github.commits
- col:
size: "L"
elements:
- name: ga.line_users
Escalas de Dimensionamento
O parâmetro size determina o espaço relativo do widget, com opções: "S" (pequeno), "M" (médio), "L" (grande) e "XL" (extra-grande).
Disposição Complexa
Para monitores mais elaborados, combine múltiplas linhas e colunas:
widgets:
- row:
- col:
size: "M"
elements:
- name: host.cpu
- name: host.memory
- col:
size: "M"
elements:
- name: host.disk
- name: host.network
- row:
- col:
size: "L"
elements:
- name: ga.table_traffic_sources
Gerenciamento de Ciclos de Atualização
Balanceie a frescura dos dados com o consumo de recursos através de configurações de atualização.
Intervalo Padrão Global
Defina o tempo de atualização padrão em segundos na seção general:
general:
refresh: 300 # Atualiza a cada 5 minutos
Atualização Específica por Widget
Cada componente pode ter seu próprio intervalo:
elements:
- name: monitor.status
options:
refresh: 60 # Atualiza a cada 1 minuto
- name: github.pull_requests
options:
refresh: 180 # Atualiza a cada 3 minutos
Atalhos de Teclado
Use Ctrl-r para recarregar a configuração e atualizar todos os dados, e Ctrl-e para editar o arquivo de configuração atual.
Exemplos de Perfil Prático
1. Dashboard de Monitoramento de Sistema
projects:
- name: monitor_sistema
services:
local_host:
username: usuario_sistema
widgets:
- row:
- col:
size: "L"
elements:
- name: host.cpu
options:
title_color: red
border_color: cyan
- name: host.memory
options:
title_color: green
border_color: cyan
- col:
size: "L"
elements:
- name: host.disk
options:
title_color: yellow
border_color: cyan
- name: host.network
options:
title_color: blue
border_color: cyan
2. Painel de Acompanhamento de Projeto
projects:
- name: acompanhamento_projeto
services:
github:
token: seu_token_github
owner: seu_usuario
repository: seu_repositorio
widgets:
- row:
- col:
size: "M"
elements:
- name: github.stars
options:
color: yellow
- name: github.commits
options:
color: green
- col:
size: "M"
elements:
- name: github.issues
options:
color: red
- name: github.pull_requests
options:
color: blue
Resolução de Problemas e Dicas
Validar um arquivo de configuração pode evitar erros de execução:
devdash --validate-config meu_perfil.yml
Após editar o arquivo, pressione Ctrl-r para aplicar as mudanças sem reiniciar o DevDash.
Diretórios de exemplo do projeto, como example, contêm perfis pré-configurados para referência, como monitoramento de analytics, repositórios Git ou combinações de fontes de dados.