Commit Message Skill
When to Use
Use this skill when:
- •Creating commit messages for code changes
- •Following project commit conventions
- •Ensuring clear commit history
- •Grouping related changes logically
Commit Message Format
Follow Conventional Commits format with scope detection:
code
<type>(<scope>): <description> [optional body] [optional footer]
Commit Types
Based on project patterns, use these types:
- •
feat: Nova funcionalidade - •
fix: Correção de bugs - •
docs: Mudanças na documentação - •
refactor: Refatoração de código - •
perf: Melhorias de performance - •
test: Adição ou correção de testes - •
chore: Tarefas de manutenção
Scopes for This Project
Detect scope from files changed:
- •
indexer: Changes toindexer.py - •
search: Changes tosearch.py - •
organize: Changes toorganize.py - •
metrics: Changes tometrics.py - •
database: Database schema changes - •
ocr: OCR-related changes - •
docs: Documentation updates - •
deps: Dependency changes
Examples from Project Context
Feature Addition
code
feat(indexer): adiciona suporte a OCR para PDFs escaneados - Implementa extração com pytesseract como fallback - Adiciona métricas de extração ao banco de dados - Garante extração completa mesmo de PDFs escaneados
Bug Fix
code
fix(search): corrige tratamento de caracteres especiais em busca Corrige problema onde termos com acentos não eram encontrados corretamente em buscas FTS5.
Documentation
code
docs(readme): atualiza instruções de instalação com OCR Adiciona seção sobre instalação do Tesseract OCR para garantir extração completa de todos os documentos.
Refactoring
code
refactor(indexer): melhora organização das funções de extração Separa lógica de extração direta e OCR em funções distintas para melhor manutenibilidade.
Performance
code
perf(database): adiciona índices para melhorar performance de busca Cria índices em category e contract_number para acelerar queries filtradas.
Testing
code
test(indexer): adiciona testes para classificação de documentos Testa classificação de contratos, aditivos e anexos com diferentes padrões de nomes de arquivo.
Chore
code
chore(deps): atualiza pdfplumber para versão 0.10.0 Atualiza dependência para versão mais recente com melhorias de performance.
Commit Message Best Practices
- •Portuguese: Use português para descrições (project standard)
- •Clear Scope: Always include scope when applicable
- •Concise: Keep first line under 72 characters
- •Body: Use body for detailed explanations when needed
- •Breaking Changes: Use
BREAKING CHANGE:in footer if applicable
Scope Detection Rules
Based on file paths:
- •
contrato/indexer.py→(indexer) - •
contrato/search.py→(search) - •
contrato/organize.py→(organize) - •
contrato/metrics.py→(metrics) - •
contrato/requirements.txt→(deps) - •
contrato/README.md→(docs) - •Database files →
(database)
Examples from Codebase Context
Adding OCR Feature
code
feat(indexer): adiciona OCR para extração de PDFs escaneados Implementa extração completa de texto usando Tesseract OCR como fallback quando pdfplumber não extrai texto suficiente. Adiciona tabela extraction_metrics para rastrear métodos de extração utilizados.
Fixing Classification
code
fix(indexer): corrige classificação de anexos com partes Ajusta regex para identificar corretamente anexos divididos em partes (ex: Anexo III - Parte I).
Database Changes
code
feat(database): adiciona tabela de métricas de extração Cria tabela extraction_metrics para armazenar estatísticas detalhadas de cada extração, incluindo método utilizado e tempo de processamento.
Checklist
When creating commit message:
- • Type correctly identified (feat, fix, docs, etc.)
- • Scope detected from changed files
- • Description clear and in Portuguese
- • Body explains "why" not just "what" (if needed)
- • Breaking changes documented in footer
- • Message follows conventional commits format