Kit de 3 scripts Python para automatizar processamento de documentações OpenAPI.
| Script | Função | Uso |
|---|---|---|
| 1_hydrate_openapi.py | Enriquece OpenAPI com metadados | Adiciona info, segurança, traduções |
| 2_fix_schema_names_and_refs.py | Corrige schemas inválidos | Remove espaços dos nomes |
| 3_fix_semantic_paths.py | Resolve erros semânticos | Configurável via YAML |
# Clone o projeto
git clone https://github.com/rafactx/openapi-fixer-v2.git
cd openapi-fixer-v2
# Configure automaticamente
pnpm setup✅ Pronto! Ambiente configurado automaticamente.
# Processar OpenAPI completo
pnpm hydrate openapi.json config.yaml dictionary.json summaries.json
# Corrigir schemas com espaços
pnpm fix-schemas openapi.json --verbose
# Corrigir problemas semânticos
pnpm fix-semantic openapi.json --verbose
# Executar todas as correções
pnpm fix-all
# Gerar template de configuração
pnpm export-configpython3 1_hydrate_openapi.py openapi.json config.yaml dictionary.json summaries.jsonFaz: Adiciona metadados, segurança, traduções, títulos PT-BR
python3 2_fix_schema_names_and_refs.py openapi.json --verboseFaz: Banner V1 → BannerV1 + atualiza todas as referências
python3 3_fix_semantic_paths.py openapi.json --config custom.yamlFaz: Remove requestBody de DELETE, corrige parâmetros, etc.
# Pipeline completo
pnpm hydrate openapi.json config.yaml dictionary.json summaries.json
pnpm fix-all # Executa schemas + semânticas automaticamenteCrie correções customizadas sem tocar no código:
# 1. Gere template
pnpm export-config
# 2. Edite corrections-template.yaml
- id: "custom_fix"
action: "DELETE_KEY"
path: "paths./users/{id}/get"
details:
key_to_delete: "deprecated_field"
# 3. Execute
pnpm fix-semantic openapi.json --config corrections-template.yamlpnpm clean # Limpa arquivos temporários
pnpm help # Lista todos os comandos
python3 script.py --help # Ajuda específica# Erro: "No module named 'yaml'"
pip install PyYAML
# Erro: "Arquivo não encontrado"
ls -la openapi.json
# Problemas de encoding
# Certifique-se que arquivos estão em UTF-8- Faça backup do
openapi.jsonantes - Use
--verbosepara debug - Scripts são idempotentes (pode executar várias vezes)
- Use
--helppara ver todas as opções