¿Qué hace generate-custom-instructions-from-codebase?
Generador de instrucciones de migración y evolución de código para GitHub Copilot. Analiza las diferencias entre dos versiones de un proyecto (ramas, commits o lanzamientos) para crear instrucciones precisas que permitan a Copilot mantener la coherencia durante migraciones tecnológicas, refactorizaciones importantes o actualizaciones de versiones de frameworks.
¿Cómo funciona?
- Selecciona dos versiones del proyecto: Pueden ser ramas (
mainvsfeature/nueva-api), commits (abc123vsdef456) o releases (v1.0vsv2.0). - Analiza las diferencias: Examina los cambios entre ambas versiones para identificar patrones: nombres de funciones, estructuras de importación, estilos de código, etc.
- Genera instrucciones: Crea un conjunto de instrucciones claras y específicas que Copilot puede usar para mantener la coherencia con la versión objetivo.
¿Por qué es útil?
- Migraciones tecnológicas: Al cambiar de una librería a otra (ej. de
axiosafetch), esta habilidad genera instrucciones para que Copilot use la nueva sintaxis de forma consistente. - Refactorizaciones importantes: Si renombras funciones o cambias la estructura de módulos, las instrucciones evitan que Copilot siga sugiriendo el código antiguo.
- Actualizaciones de frameworks: Al actualizar de una versión mayor a otra (ej. React 16 a React 18), las instrucciones aseguran que Copilot adopte las nuevas APIs y patrones.
Plataformas soportadas
- GitHub Copilot (Chat y sugerencias inline)
- Compatible con cualquier repositorio de Git.
Ejemplo de uso
Supón que estás migrando un proyecto de JavaScript a TypeScript. Con esta habilidad:
- Comparas la rama
main(JS) confeature/typescript-migration(TS). - Se generan instrucciones como:
- "Usa tipos explícitos para todos los parámetros de función."
- "Define interfaces para objetos con más de 2 propiedades."
- "Usa
importES modules en lugar derequire."
- Copilot aplica estas reglas automáticamente en nuevas sugerencias.
Requisitos
- Git instalado en el sistema.
- Acceso a los repositorios de Git locales o remotos.
- GitHub Copilot activo en tu editor.
Comandos útiles
# Comparar dos ramas
github/generate-custom-instructions-from-codebase main feature/nueva-api
# Comparar dos commits
github/generate-custom-instructions-from-codebase abc123 def456
# Comparar dos releases (tags)
github/generate-custom-instructions-from-codebase v1.0 v2.0
Personalización
Puedes ajustar las instrucciones generadas editando el archivo .github/copilot-instructions.md en la raíz del repositorio. Este archivo será sobreescrito con las nuevas instrucciones.
Limitaciones
- Las instrucciones se basan en diferencias visibles; cambios de estilo implícitos pueden no detectarse.
- Es necesario que las diferencias entre versiones sean representativas (al menos 10-15 archivos modificados es ideal).
Contribuciones
Si encuentras errores o mejoras, por favor abre un issue o PR en el repositorio oficial.