context-distill
context-distill é um servidor MCP que comprime saídas de comandos ruidosas em resumos precisos e acionáveis para fluxos de trabalho com LLMs. Use distill_batch para logs grandes e distill_watch para deltas ciclo a ciclo. Construído com Go, Cobra, Viper e DI para destilação confiável local e com suporte a provedores.
Documentação

context-distill
Uma ferramenta Go que destila a saída de comandos e recupera contexto de código antes que chegue a um LLM pago. Disponível como Skill (recomendado), CLI autônomo e servidor MCP. Inspirado no CLI distill e construído com arquitetura hexagonal, injeção de dependência e TDD.
Visão Geral
context-distill expõe quatro operações acessíveis de três maneiras:
| Modo | Melhor para | Como funciona |
|---|---|---|
| Skill ⭐ (recomendado) | Qualquer agente que consiga ler markdown e executar comandos de shell | O agente lê um arquivo SKILL.md do próprio diretório de skills e aprende quando e como invocar o CLI. Zero configuração no lado do agente. |
| CLI | Scripts locais, pipelines de CI, agentes com capacidade de shell | Subcomandos diretos: context-distill distill_batch, context-distill distill_mcp_output, context-distill distill_watch, context-distill search_code. |
| MCP | Agentes/clientes com suporte nativo a MCP (Claude Desktop, Cursor, Codex…) | Executa como servidor MCP sobre transporte stdio. |
| Operação | Propósito |
|---|---|
distill_batch | Comprime a saída completa de um comando para responder a uma única pergunta explícita. |
distill_mcp_output | Destila payloads MCP brutos, ou chama uma ferramenta MCP e destila o resultado em uma única etapa. |
distill_watch | Compara dois snapshots consecutivos e retorna apenas o delta relevante. |
search_code | Localiza código relevante no repositório e retorna correspondências compactas para a próxima etapa de raciocínio. |
Todos os três modos compartilham os mesmos casos de uso subjacentes, regras de validação e comportamento de saída. Apenas o método de invocação difere.
Também oferece:
- Configuração de provedor LLM via YAML e variáveis de ambiente.
- Interface de terminal interativa para configuração inicial (
--config-ui). - Suporte a Ollama e qualquer provedor compatível com OpenAI.
Por que o Modo Skill é Recomendado
| Skill | CLI | MCP | |
|---|---|---|---|
| Configuração de agente necessária | Nenhuma — basta colocar SKILL.md no diretório de skills do agente | O agente precisa saber executar comandos de shell | Registrar servidor na configuração do cliente |
| Funciona entre agentes | ✅ Qualquer agente que leia markdown | ✅ Qualquer agente que execute shell | ⚠️ Apenas clientes compatíveis com MCP |
| Complexidade de configuração | Copiar um arquivo por agente | Instalar binário | Instalar binário + registrar transporte |
| Portabilidade | Funciona em qualquer repositório | Funciona em qualquer shell | Vinculado à configuração do cliente MCP |
O modo Skill funciona porque agentes de codificação modernos (Codex, Claude Code, Cursor, Aider, OpenCode…) já sabem ler documentação de projeto e executar comandos de shell. Um arquivo SKILL.md ensina ao agente quando destilar ou recuperar contexto de código e como chamar o CLI — sem necessidade de integração de protocolo.
Recursos
- Interface tripla — arquivo Skill para adoção sem configuração + CLI para uso direto no shell + ferramentas MCP para clientes nativos de protocolo.
- Quatro operações principais —
distill_batch,distill_mcp_output,distill_watchesearch_code. - Arquitetura hexagonal —
distill/domain,distill/application,platform/*. - Injeção de dependência via
sarulabs/di. - Gerenciamento de configuração com
viper+.env. - Validação específica por provedor no momento da configuração.
- Interface de configuração interativa (
--config-ui). - Testes unitários, de integração e opcionais ao vivo.
Requisitos
- Go 1.26+
- Make (recomendado)
Se preferir não compilar, você pode instalar um binário pré-compilado dos GitHub Releases (veja abaixo).
Instalação
Opção A: Compilar a partir do código-fonte
make build
O binário é colocado em ./bin/context-distill.
Para instalá-lo no seu PATH:
make install
# installs to ~/.local/bin/context-distill
Opção B: Binário pré-compilado (sem necessidade de compilação)
Linux / macOS:
# Latest release
curl -fsSL https://raw.githubusercontent.com/jcastilloa/context-distill/master/scripts/install.sh | sh
# Specific version
curl -fsSL https://raw.githubusercontent.com/jcastilloa/context-distill/master/scripts/install.sh | VERSION=vX.Y.Z sh
Windows (PowerShell):
# Latest release
iwr https://raw.githubusercontent.com/jcastilloa/context-distill/master/scripts/install.ps1 -UseBasicParsing | iex
# Specific version
$env:VERSION='vX.Y.Z'; iwr https://raw.githubusercontent.com/jcastilloa/context-distill/master/scripts/install.ps1 -UseBasicParsing | iex
Variáveis de ambiente do instalador:
| Variável | Padrão |
|---|---|
REPO | jcastilloa/context-distill |
SERVICE_NAME | context-distill |
INSTALL_DIR | ~/.local/bin (Linux/macOS) · %LOCALAPPDATA%\context-distill\bin (Windows) |
VERSION | Tag da versão mais recente |
Alvos do Makefile
make help
| Alvo | Descrição |
|---|---|
make build | Compila o binário para ./bin/context-distill |
make install | Instala o binário em ~/.local/bin/context-distill |
make clean | Remove ./bin |
Início Rápido
1. Configure o provedor (todos os modos)
context-distill --config-ui
2. Verifique se funciona
echo "PASS: TestA, PASS: TestB, FAIL: TestC - expected 4 got 5" | context-distill distill_batch --question "Did tests pass? Return only PASS or FAIL. If FAIL, list failing test names."
context-distill distill_watch --question "What changed? Return one short sentence." --previous-cycle "services: api=OK, db=OK, cache=OK" --current-cycle "services: api=OK, db=FAIL, cache=OK"
context-distill distill_mcp_output \
--tool-name "list_items" \
--question "Return only item names, one per line." \
--output '[{"type":"text","text":"[{\"id\":\"a1\",\"name\":\"Alpha\"},{\"id\":\"b2\",\"name\":\"Beta\"}]"}]'
context-distill distill_mcp_output \
--server-command "/absolute/path/to/mcp-server" \
--server-arg "--transport" \
--server-arg "stdio" \
--tool-name "get_status" \
--tool-arguments '{"scope":"production"}' \
--question "Return only status and version as JSON."
context-distill search_code --query "provider_name" --mode text --question "Return only file:line, one per line."
Se os comandos retornarem respostas compactas esperadas, a configuração está pronta.
3. Escolha seu modo
⭐ Modo Skill (recomendado)
Copie SKILL.md para o diretório de skills apropriado do agente (veja Configuração do Skill). Seu agente o lerá automaticamente e começará a destilar.
Modo CLI
Use os subcomandos diretamente em scripts ou chamadas de shell do agente:
# Pipe (preferred)
echo "data" | context-distill distill_batch --question "..."
# Explicit flag
context-distill distill_batch --question "..." --input "data"
# Explicit stdin marker
echo "data" | context-distill distill_batch --question "..." --input -
# MCP payload distillation
context-distill distill_mcp_output --tool-name "list_items" --question "Return only item names." --output '<mcp payload>'
# MCP call + distillation in one step
context-distill distill_mcp_output --server-command "/absolute/path/to/mcp-server" --server-arg "--transport" --server-arg "stdio" --tool-name "get_status" --tool-arguments '{"scope":"production"}' --question "Return only status and version as JSON."
# Code retrieval
context-distill search_code --query "LoadDistillConfig" --mode symbol --question "Return likely definitions first as file:line, one per line."
Modo MCP
context-distill --transport stdio
Em seguida, registre o servidor no seu cliente MCP (veja Registro de Cliente MCP).
Configuração do Skill (Recomendado)
O skill instalável canônico agora vive em SKILL.md.
Esse arquivo é o lugar mais claro para aprender o comportamento e o arquivo mais fácil de copiar para um diretório de skills de agente.
O skill agora cobre quatro fluxos de trabalho concretos:
- Destilar saída longa de comando com
distill_batch. - Destilar payloads MCP brutos que você já possui com
distill_mcp_output --output. - Chamar uma ferramenta MCP e destilar o resultado em uma única etapa com
distill_mcp_output --server-command. - Localizar código antes de abrir muitos arquivos com
search_code.
Modelos adicionais prontos para copiar estão aqui:
Onde instalar o Skill
Instale SKILL.md no nível do projeto, no nível global, ou em ambos:
| Agente | Caminho no nível do projeto | Caminho global |
|---|---|---|
| Claude Code | .claude/skills/context-distill/SKILL.md | ~/.claude/skills/context-distill/SKILL.md |
| Codex | .codex/skills/context-distill/SKILL.md | ~/.codex/skills/context-distill/SKILL.md |
| OpenCode | .opencode/skills/context-distill/SKILL.md | ~/.opencode/skills/context-distill/SKILL.md |
| Cursor | .cursor/skills/context-distill/SKILL.md | ~/.cursor/skills/context-distill/SKILL.md |
Nível do projeto (recomendado para equipes): todo agente que trabalha no repositório o adota automaticamente.
Global (recomendado para uso pessoal): disponível em todos os projetos sem configuração por repositório.
Exemplo de instalação rápida (Claude Code, nível do projeto)
mkdir -p .claude/skills/context-distill
cp SKILL.md .claude/skills/context-distill/SKILL.md
Exemplo de instalação rápida (todos os agentes, global)
for agent in .claude .codex .opencode .cursor; do
mkdir -p ~/"$agent"/skills/context-distill
cp SKILL.md ~/"$agent"/skills/context-distill/SKILL.md
done
Referência de Comandos CLI
Os comandos CLI fornecem as mesmas capacidades das ferramentas MCP (destilação + recuperação de código), mas são invocados diretamente do shell. Use-os em scripts locais, pipelines de CI ou com runtimes de agente que executam comandos de shell em vez de ferramentas MCP.
Métodos de entrada
# 1. Pipe (preferred)
echo "data" | context-distill distill_batch --question "..."
# 2. Explicit flag
context-distill distill_batch --question "..." --input "data"
# 3. Explicit stdin marker
echo "data" | context-distill distill_batch --question "..." --input -
distill_batch
Destila um payload de saída bruto usando um contrato de pergunta explícito.
go test ./... 2>&1 | context-distill distill_batch --question "Did all tests pass? Return only PASS or FAIL."
Flags:
| Flag | Obrigatória | Descrição |
|---|---|---|
--question | sim | Pergunta exata a ser respondida a partir da saída do comando. |
--input | não | Saída bruta do comando a ser destilada. Se omitida, lê da entrada padrão. |
distill_mcp_output
Destila resultados MCP em um destes modos:
- Você já possui um payload MCP bruto e o passa com
--output. - Você quer que
context-distillchame uma ferramenta MCP primeiro e depois destile o resultado.
context-distill distill_mcp_output \
--tool-name "list_items" \
--question "Return only item names, one per line." \
--output '<mcp payload>'
context-distill distill_mcp_output \
--server-command "/absolute/path/to/mcp-server" \
--server-arg "--transport" \
--server-arg "stdio" \
--tool-name "get_status" \
--tool-arguments '{"scope":"production"}' \
--question "Return only status and version as JSON."
Flags:
| Flag | Obrigatória | Descrição |
|---|---|---|
--question | sim | Pergunta exata a ser respondida a partir do resultado MCP. |
--tool-name | não* | Contexto útil ao usar --output; obrigatório ao invocar um servidor. |
--output | não* | Payload MCP bruto a ser destilado diretamente. |
--server-command | não* | Binário do servidor MCP a ser invocado quando --output for omitido. |
--server-arg | não | Argumento do servidor MCP. Repita para múltiplos valores. |
--tool-arguments | não | Objeto JSON passado à ferramenta MCP de destino. |
* Você deve fornecer --output ou uma invocação de servidor (--server-command + --tool-name).
distill_watch
Destila apenas o delta relevante entre dois snapshots.
context-distill distill_watch \
--question "Return only newly failing services, one per line." \
--previous-cycle "$(cat /tmp/health.prev)" \
--current-cycle "$(cat /tmp/health.curr)"
Flags:
| Flag | Obrigatória | Descrição |
|---|---|---|
--question | sim | Pergunta exata a ser respondida a partir das mudanças do ciclo. |
--previous-cycle | sim | Snapshot de saída do ciclo de observação anterior. |
--current-cycle | sim | Snapshot de saída do ciclo de observação atual. |
search_code
Pesquisa código do repositório localmente e destila correspondências compactas de acordo com --question.
context-distill search_code \
--query "distill_watch" \
--mode symbol \
--question "Return definitions first, then usages, as file:line."
Importante:
- A sintaxe do CLI usa flags. Use
--query,--mode,--question,--max-results,--context-lines. - Não use argumentos de shell como
search_code mode=text query="..." max_results=5(esse formato não é sintaxe CLI válida). - Para
--mode path, trate--querycomo um fragmento de caminho (por exemplo,.go) e use--scopepara filtros glob.
Flags:
| Flag | Obrigatória | Descrição |
|---|---|---|
--query | sim | Consulta de busca para texto, regex, nome de símbolo ou fragmento de caminho. |
--mode | sim | Modo de busca: text, regex, symbol ou path. |
--question | sim | Contrato de saída para o resultado compacto final. |
--scope | não | Filtros glob opcionais (repita a flag ou separe por vírgula). |
--max-results | não | Limite rígido para candidatos retornados (padrão 20). |
--context-lines | não | Linhas de contexto ao redor de cada correspondência (padrão 2). |
Notas do CLI
- Os comandos CLI e as ferramentas MCP compartilham os mesmos casos de uso subjacentes e regras de validação.
- Entradas inválidas/ausentes retornam código de saída diferente de zero.
- A saída é gravada na saída padrão exatamente como produzida pelo caso de uso selecionado.
Modo Servidor MCP
Executando o servidor
context-distill --transport stdio
# or without building:
go run ./cmd/server --transport stdio
Versão
go run ./cmd/server version
Flags do Servidor
| Flag | Descrição | Padrão |
|---|---|---|
--transport | Modo de transporte MCP (stdio) | service.transport |
--config-ui | Abrir interface de configuração e sair | false |
Registro de Cliente MCP
Após compilar ou instalar o binário, registre-o no seu cliente MCP para usar a interface de ferramentas.
Clientes baseados em JSON (Claude Desktop, Cursor, etc.)
{
"mcpServers": {
"context-distill": {
"command": "/absolute/path/to/context-distill",
"args": ["--transport", "stdio"]
}
}
}
Codex — TOML manual (recomendado)
Adicione a ~/.codex/config.toml:
[mcp_servers.context-distill]
command = "/absolute/path/to/context-distill"
args = ["--transport", "stdio"]
startup_timeout_sec = 20.0
Se você usou make install:
[mcp_servers.context-distill]
command = "/home/<your-user>/.local/bin/context-distill"
args = ["--transport", "stdio"]
startup_timeout_sec = 20.0
Codex — registro via CLI
codex mcp add context-distill -- /absolute/path/to/context-distill --transport stdio
Verifique:
codex mcp list
codex mcp get context-distill
Reinicie sua sessão do Codex para que ele reconheça o novo servidor.
OpenCode — CLI interativo
opencode mcp add
Siga os prompts:
- Localização →
Current projectouGlobal. - Nome →
context-distill. - Tipo →
local. - Comando →
/absolute/path/to/context-distill --transport stdio.
Verifique:
opencode mcp list
Se o servidor ainda não estiver conectado, reinicie sua sessão do OpenCode.
OpenCode — configuração manual (opencode.json)
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"context-distill": {
"type": "local",
"command": ["/absolute/path/to/context-distill", "--transport", "stdio"],
"enabled": true
}
}
}
Notas de registro
- Sempre use um caminho absoluto para o binário.
- Sempre use transporte
stdio. - Se o servidor não aparecer, execute
codex mcp list --jsonpara inspecionar a configuração resolvida.
Referência de Ferramentas MCP
As ferramentas MCP expõem as mesmas capacidades dos comandos CLI (destilação + recuperação de código), mas são consumidas por clientes compatíveis com MCP sobre o transporte stdio.
distill_batch
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
question | string | sim | O que extrair da entrada. Deve incluir um contrato de saída. |
input | string | sim | Saída bruta do comando a ser destilada. |
Retorna uma resposta curta e focada para question.
distill_watch
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
question | string | sim | Qual delta relatar. Deve incluir um contrato de saída. |
previous_cycle | string | sim | Snapshot do ciclo anterior. |
current_cycle | string | sim | Snapshot do ciclo atual. |
| Retorna um resumo curto das alterações relevantes, ou uma mensagem de nenhuma alteração quando nada significativo difere. |
search_code
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
query | string | sim | Consulta de busca para texto, regex, símbolo ou caminho. |
mode | string | sim | Modo de busca: text, regex, symbol, path. |
question | string | sim | Contrato de saída para a resposta destilada. |
scope | array[string] | não | Filtros opcionais de escopo glob. |
max_results | number | não | Limite rígido de correspondências (padrão 20). |
context_lines | number | não | Linhas de contexto por correspondência (padrão 2). |
Retorna saída compacta controlada por question, após recuperação local do repositório.
Notas:
- Esta seção documenta os campos de payload da ferramenta MCP (
snake_case), não flags de shell. - Equivalentes de CLI são
--query,--mode,--question,--scope,--max-results,--context-lines.
Configuração
Interface de terminal (recomendada para configuração inicial)
context-distill --config-ui
# or without building:
go run ./cmd/server --config-ui
Campos editáveis:
| Campo | Notas |
|---|---|
provider_name | Lista suspensa de provedores suportados. |
base_url | Obrigatório para provedores compatíveis com OpenAI. |
api_key | Entrada mascarada. Obrigatório para openai, openrouter, jan. |
Regras de validação:
- Provedores que exigem chave de API bloqueiam o salvamento até que uma seja inserida.
- Provedores compatíveis com OpenAI exigem um
base_url. - Aliases de provedores são normalizados automaticamente (ex.:
OpenAI Compatible→openai-compatible,dmr→docker-model-runner).
Caminho de configuração persistido: ~/.config/context-distill/config.yaml
O salvamento preserva as seções YAML existentes (service, openai, etc.) e atualiza apenas os campos relevantes de distill.
Configuração manual em YAML
Você também pode editar o arquivo de configuração diretamente.
Ordem de busca:
~/.config/<service>/config.yaml./config.yaml
Exemplo de config.yaml:
service:
transport: stdio
openai:
provider_name: openai
api_key: sk-xxxx
base_url: https://api.openai.com/v1
model: gpt-4o-mini
timeout: 30s
max_retries: 3
supports_system_role: true
supports_json_mode: true
distill:
provider_name: ollama
base_url: http://127.0.0.1:11434
model: qwen3.5:2b
timeout: 90s
max_retries: 0
thinking: false
Nota:
service.versioné injetado em tempo de build a partir dos metadados do binário e não precisa ser definido manualmente.
Matriz de Provedores
| Provedor | Transporte | Chave de API Obrigatória | URL Base Padrão |
|---|---|---|---|
ollama | ollama nativo | Não | http://127.0.0.1:11434 |
openai | compatível com OpenAI | Sim | https://api.openai.com/v1 |
openrouter | compatível com OpenAI | Sim | https://openrouter.ai/api/v1 |
openai-compatible | compatível com OpenAI | Não (depende do backend) | — |
lmstudio | compatível com OpenAI | Não | http://127.0.0.1:1234/v1 |
jan | compatível com OpenAI | Sim | http://127.0.0.1:1337/v1 |
localai | compatível com OpenAI | Não | http://127.0.0.1:8080/v1 |
vllm | compatível com OpenAI | Não | http://127.0.0.1:8000/v1 |
sglang | compatível com OpenAI | Não | — |
llama.cpp | compatível com OpenAI | Não | — |
mlx-lm | compatível com OpenAI | Não | — |
docker-model-runner | compatível com OpenAI | Não | http://127.0.0.1:12434/engines/v1 |
Escrevendo Boas Perguntas
A qualidade da saída de destilação/busca depende do contrato question — seja invocado via Skill, CLI ou MCP. Seja explícito sobre o que você quer e em qual formato.
Perguntas ruins
"What happened?""Summarize this"
Perguntas boas
"Did tests pass? Return only PASS or FAIL. If FAIL, list failing test names, one per line.""List only changed file paths, one per line.""Return valid JSON only with keys: severity, file, message."
Exemplos de distill_batch
| Fonte | Pergunta |
|---|---|
go test ./... | "Did tests pass? Return only PASS or FAIL." |
git diff | "List changed files and one short reason per file. Max 10 lines." |
| Logs de CI | "Return only blocking errors with file and line if available." |
Exemplos de distill_watch
| Snapshots | Pergunta |
|---|---|
| Saída do observador de testes em T−1 / T | "What changed in failure count? Return one short sentence." |
| Status de implantação em T−1 / T | "Return only newly failing services, one per line." |
Exemplos de search_code
| Modo | Pergunta |
|---|---|
text | "Return only file:line, one per line." |
symbol | "Return likely definitions first, then usages, as file:line." |
path | "Return matching file paths only, one per line." |
Modelos de AGENTS.md
Se você preferir incorporar instruções diretamente no AGENTS.md do seu projeto, use os arquivos independentes em vez de copiar grandes blocos deste README:
Sugestão de política em uma linha
Adicione isto à documentação do seu projeto para referência rápida:
Default policy: use `context-distill` (via Skill, CLI, or MCP) to distill command output and run `search_code` for repository localization before sending data to an LLM, unless raw output is explicitly required.
Estrutura do Projeto
context-distill/
├── cmd/
│ └── server/
│ ├── main.go
│ ├── bootstrap.go
│ └── openai_distill_config.go
├── distill/
│ ├── application/
│ │ └── distillation/
│ └── domain/
├── mcp/
│ ├── application/
│ └── domain/
├── platform/
│ ├── config/
│ ├── configui/
│ ├── di/
│ ├── mcp/
│ │ ├── commands/
│ │ ├── server/
│ │ └── tools/
│ ├── ollama/
│ └── openai/
├── shared/
│ ├── ai/domain/
│ └── config/domain/
├── SKILL.md
├── config.sample.yaml
├── config.yaml
├── Makefile
└── AGENTS.md
Arquitetura
Regra de dependência:
platform → shared + distill/application + distill/domain
distill/application → distill/domain
cmd → platform + shared
Restrição: shared e distill/domain nunca devem importar platform.
Desenvolvimento
Testes e verificações estáticas
go test ./...
go vet ./...
Fluxo de trabalho local sugerido
go test ./...context-distill --config-ui- Verifique se a CLI funciona:
echo "hello world" | context-distill distill_batch --question "Return the input verbatim." context-distill search_code --query "provider_name" --mode text --question "Return only file:line, one per line." - (Opcional) Inicie o servidor MCP:
context-distill --transport stdio - Valide o comportamento a partir do seu cliente MCP ou via comandos CLI.
Teste ao vivo opcional (provedor real)
DISTILL_LIVE_TEST=1 OPENAI_BASE_URL=https://openrouter.ai/api/v1 \
go test -tags=live ./platform/di -run TestLiveDistillBatchWithOpenAICompatibleProvider -v
Solução de Problemas
| Problema | Correção |
|---|---|
provider unauthorized | Verifique distill.api_key (ou o fallback openai.api_key, dependendo do provedor). |
requires base_url | Defina distill.base_url. O caminho mais rápido é --config-ui. |
| O cliente MCP não detecta o servidor | Confirme que o caminho do binário é absoluto, tem permissões de execução e o transporte é stdio. |
| O servidor falha na validação de configuração | Execute --config-ui para a configuração inicial e depois inicie normalmente. |
| O comando CLI retorna código de saída diferente de zero | Verifique se as flags obrigatórias estão presentes e não vazias (distill_batch: --question; distill_mcp_output: --question mais --output ou --server-command + --tool-name; distill_watch: --question, --previous-cycle, --current-cycle; search_code: --query, --mode, --question). |
distill_mcp_output falha antes da execução da ferramenta | Verifique se --tool-arguments é JSON válido e se o caminho do comando do servidor MCP é absoluto e executável. |
search_code falha com query is required apesar de passar valores | Você provavelmente usou argumentos no estilo MCP (mode=text query=...) no shell. Use flags de CLI: context-distill search_code --mode text --query "..." --question "...". |
O agente ignora SKILL.md | Garanta que o arquivo esteja dentro do diretório correto de skills do agente (ex.: .claude/skills/context-distill/SKILL.md). Consulte a tabela Configuração de Skill para todos os caminhos. |
Segurança
- Nunca commite chaves de API reais em repositórios públicos.
- Prefira segredos baseados em ambiente em ambientes compartilhados ou de CI.
Licença
Copyright © 2026 jcastilloa. Todos os direitos reservados.
A redistribuição e o uso em formas de código-fonte e binárias, com ou sem modificação, são permitidos desde que as seguintes condições sejam atendidas:
- Redistribuições de código-fonte devem manter o aviso de copyright acima, esta lista de condições e o aviso de isenção a seguir.
- Redistribuições em forma binária devem reproduzir o aviso de copyright acima, esta lista de condições e o aviso de isenção a seguir na documentação e/ou outros materiais fornecidos com a distribuição.
- Nem o nome do detentor dos direitos autorais nem os nomes de seus contribuidores podem ser usados para endossar ou promover produtos derivados deste software sem permissão prévia específica por escrito.
ESTE SOFTWARE É FORNECIDO PELOS DETENTORES DOS DIREITOS AUTORAIS E CONTRIBUIDORES "COMO ESTÁ" E QUAISQUER GARANTIAS EXPRESSAS OU IMPLÍCITAS, INCLUINDO, MAS NÃO SE LIMITANDO ÀS GARANTIAS IMPLÍCITAS DE COMERCIABILIDADE E ADEQUAÇÃO A UM FIM ESPECÍFICO SÃO REJEITADAS. EM NENHUM CASO O DETENTOR DOS DIREITOS AUTORAIS OU CONTRIBUIDORES SERÃO RESPONSÁVEIS POR QUAISQUER DANOS DIRETOS, INDIRETOS, INCIDENTAIS, ESPECIAIS, EXEMPLARES OU CONSEQUENCIAIS (INCLUINDO, MAS NÃO SE LIMITANDO À AQUISIÇÃO DE BENS OU SERVIÇOS SUBSTITUTOS; PERDA DE USO, DADOS OU LUCROS; OU INTERRUPÇÃO DE NEGÓCIOS) SEJA COMO FOR CAUSADO E SOB QUALQUER TEORIA DE RESPONSABILIDADE, SEJA EM CONTRATO, RESPONSABILIDADE ESTRITA OU ATO ILÍCITO (INCLUINDO NEGLIGÊNCIA OU OUTRO) DECORRENTE DE QUALQUER FORMA DO USO DESTE SOFTWARE, MESMO SE AVISADO DA POSSIBILIDADE DE TAIS DANOS.