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

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions