Skip to content

Validar se algum arquivo de custom instruction 4000 caracteres limite #8

@tcardosoMSFT

Description

@tcardosoMSFT

Contexto
O GitHub Copilot oferece suporte a Repository Custom Instructions, que permitem definir orientações específicas no nível do repositório para influenciar as respostas do Copilot (por exemplo: padrões de código, convenções, práticas arquiteturais, etc.).
De acordo com a documentação oficial do GitHub:
Repository custom instructions são carregadas a partir de arquivos específicos no repositório e possuem um limite máximo de 4000 caracteres, sendo aplicadas automaticamente às interações do Copilot dentro do contexto do repositório.
📖 Referência:
https://docs.github.com/en/enterprise-cloud@latest/copilot/concepts/prompting/response-customization?tool=webui#about-repository-custom-instructions
Garantir a validação correta desses arquivos é essencial para evitar comportamentos inesperados ou falhas silenciosas no uso do Copilot.


🎯 Objetivo
Melhorar a robustez do processo, adicionando validações relacionadas aos arquivos de custom instructions, conforme as regras definidas pelo GitHub Copilot.


🔍 Regras de Validação
Validação de existência
Verificar se existe pelo menos um arquivo de Repository Custom Instructions configurado no repositório.

Validação de tamanho
Verificar se o conteúdo do arquivo não ultrapassa o limite de 4000 caracteres, conforme definido na documentação oficial.
Caso o limite seja excedido:
Retornar um Excel com os arquivos que excede este limite


✅ Critérios de Aceitação
[ ] O sistema valida a existência de arquivos de Repository Custom Instructions.
[ ] O sistema valida que o arquivo possui no máximo 4000 caracteres.
[ ] As mensagens de erro fazem referência direta às regras do GitHub Copilot, facilitando o entendimento.
[ ] A execução é interrompida quando alguma validação falhar.
[ ] Testes automatizados cobrem os cenários:
Nenhum arquivo encontrado.
Arquivo válido dentro do limite.
Arquivo inválido acima de 4000 caracteres.

Metadata

Metadata

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions