python
Convenções idiomáticas de Python no DEILE: async-first, Pydantic v2, typing, gerenciamento de pacotes.
O DEILE foi feito para ser estendido. Três dos cinco pontos de extensão não exigem Python — drop um arquivo e está vivo no próximo turno.
Uma skill é um arquivo Markdown com frontmatter YAML — não há código Python para escrever. Drop o arquivo num dos seis diretórios de scan, e ela vira (a) auto-injeção no system prompt quando algum gatilho casa, (b) função explícita chamável pelo modelo, e (c) slash command com o nome do arquivo.
| 1 | bundled | biblioteca interna do DEILE — padrões base |
| 2 | user | diretório do operador — escopo pessoal |
| 3 | user (Claude) | compat com diretório de comandos Claude |
| 4 | projeto | diretório versionado no repositório do projeto |
| 5 | projeto (Claude) | compat com .claude/commands do projeto |
| 6 | configurado | paths extras declarados em configuração |
Colisão de nome: o de maior precedência vence (com log informativo). Toda mudança em qualquer diretório é refletida em ~0,5 s via hot-reload do watchdog.
| file_globs | ativa quando arquivos do padrão são mencionados (ex.: *.rs) |
| code_block_langs | ativa quando o turno contém um bloco fenced naquela linguagem |
| keywords | ativa em ocorrência word-boundary de termos-chave |
| file_content_patterns | ativa quando arquivos do projeto casam regex (lidos em 4 KiB, com containment) |
Quando algum gatilho casa, o conteúdo da skill é injetado como bloco identificado no system prompt do turno corrente. Sem injeção arbitrária — só o relevante, só quando relevante.
O DEILE vem com um piso pequeno e opinativo. Qualquer projeto pode sobrescrever colocando um arquivo de mesmo nome num diretório de maior precedência.
Convenções idiomáticas de Python no DEILE: async-first, Pydantic v2, typing, gerenciamento de pacotes.
Padrões de TS para projetos JS/TS: strict mode, tipos explícitos, ESM, modernidade de tooling.
Ciclo test-first: escrever o teste falhando, implementar o mínimo, refatorar, garantir a regressão.
Quando uma tarefa é grande e independente, o agente pode dividir em 2 a 5 sub-DEILEs com sessões limpas. Cada sub-DEILE aparece em um sub-painel no terminal. Você acompanha as frentes em tempo real e mantém foco em uma com a tecla numérica.
Cada sub-DEILE é uma task asyncio do mesmo processo. Compartilha registries (tools, personas, skills) e memória. Concorrência por semáforo, orçamento de tempo por timeout.
Em modo cluster, cada sub-DEILE vira um dispatch para o deile-worker, com polling de progresso. Isolamento real, custo contabilizado por sub-DEILE, panel sincronizado pelos endpoints estruturados do worker.
O princípio Open/Closed é forte aqui. Cinco pontos de extensão cobrem 95% dos casos de personalização — e três deles não exigem Python.
Subclassifica Tool, declara schema com nível de segurança e categoria, retorna ToolResult. Auto-discovery ou registro explícito.
Slash command com nome, aliases e flag CLI opcional. Auto-discovery em diretório dedicado.
Implementa Parser com prioridade. Roda em paralelo com os demais; o registry decide quem ganha.
Markdown puro (instruções) + YAML (capacidades). Sem Python.
Markdown com frontmatter YAML. Sem Python. Hot-reload em milissegundos.
O DEILE tem um plugin manager com ciclo de vida completo e hot-reload via watchdog. Para extensão de comportamento, prefira tools, skills ou personas — os três cobrem a maioria dos casos sem precisar de plugin.