Image: AI generated
Si quieres adoptar SSOT en un proyecto existente pero no puedes reescribir desde cero, si quieres extraer automáticamente OpenAPI y DDL de código legacy Go/NestJS/FastAPI – codistill exprime las especificaciones del código existente.
“Ya tenemos 200 endpoints”
Alguien lee el articulo de yongol y pregunta: “Se ve bien, pero nuestro proyecto ya tiene decenas de miles de lineas. Necesitamos escribir SSOT desde cero?”
Empezar desde cero seria ideal, pero en la practica es imposible. Ningun equipo puede detener un servicio en produccion y escribir specs desde cero. No se pueden arrancar los cimientos de una tienda abierta.
Por eso se creo codistill. Exprime SSOT del codigo existente.
Mete la fruta entera, sale jugo
codistill analiza estaticamente el codigo fuente de frameworks web para extraer automaticamente specs declarativas.
codist scan --openapi ./my-project
Esta sola linea produce una spec OpenAPI 3.0 del codigo existente. Lo que tomaba dias de trabajo manual termina en segundos.
Cero overhead en runtime. Sin instrumentacion. Analisis estatico puro.
Tres frameworks
| Framework | Lenguaje | Extraccion |
|---|---|---|
| Gin | Go | Rutas, bindings, respuestas, middleware |
| NestJS | TypeScript | Decoradores, DTOs, guards, interceptores |
| FastAPI | Python | Rutas, modelos Pydantic, dependencias |
Consolidacion DDL
Cuando se acumulan 50 archivos de migracion, es dificil saber como luce el esquema actual.
codist ddl ./migrations -o ./schema
Lee todo el historial de migraciones y genera un snapshot limpio CREATE TABLE por tabla.
Scaffolding de consultas sqlc
Extrae esqueletos de consultas SQL del codigo con patron repository.
codist sql next --repo ./repository --queries ./db/query
codist sql status
Entrada al pipeline yongol
La salida de codistill es la entrada de yongol. codistill extrae SSOT del codigo existente; yongol valida consistencia y genera codigo. La transicion de brownfield a greenfield ocurre incrementalmente.
Existing code
↓ codist scan --openapi
↓ codist ddl
↓ codist sql next
OpenAPI + DDL + sqlc
↓ yongol validate
↓ yongol generate
SSOT-based codebase
No es obra de cimientos sino refuerzo antisismico. Patron Strangler Fig de Fowler (2004) – no reemplazar legacy de golpe; envolverlo incrementalmente.
Empezar
npx skills add park-jun-woo/codistill
codist scan --openapi ./my-project
El codigo existente se convierte en jugo.
Code: github.com/park-jun-woo/codistill
Referencias
- Huang, R., Motwani, M., Martinez, I., & Orso, A. (2024). Generating REST API Specifications through Static Analysis. ICSE 2024. ACM
- Perry, D. E. & Wolf, A. L. (1992). Foundations for the Study of Software Architecture. ACM SIGSOFT, 17(4), 40-52. ACM
- Fowler, M. (2004). StranglerFigApplication. Link
- Lercher, A. et al. (2024). Generating Accurate OpenAPI Descriptions from Java Source Code. arXiv
- Chauhan, S. et al. (2026). OpenAI for OpenAPI. arXiv
- De Silva, L. & Balasubramaniam, D. (2012). Controlling software architecture erosion. JSS, 85(1). ScienceDirect
- Fritzsch, J. et al. (2019). Microservices Migration in Industry. IEEE ICSME. arXiv
- Curino, C. A. et al. (2008). Graceful database schema evolution. VLDB, 1(1). VLDB
- Nghiem, D. et al. (2023). REST API Design and Specification Practices. IEEE VL/HCC. IEEE
Articulos relacionados
- yongol – La quilla del SaaS de codificacion con IA – Herramienta que valida y genera codigo del SSOT extraido por codistill.
- Ratchet Pattern – Como hacer que los agentes terminen el trabajo – Trasfondo del flujo ratchet de
codist sql next. - Reins Engineering – IA con riendas – El marco de ingenieria al que pertenece codistill.