Git: update gitignore prompt

This commit is contained in:
2026-06-29 02:33:41 -06:00
parent 3e8b91da96
commit bd66ed8c52
9 changed files with 370 additions and 15 deletions
+1
View File
@@ -29,5 +29,6 @@ Cada prompt incluye al inicio la línea `[ESTADO: LISTO | BORRADOR | DEPRECADO]`
| Directorio | Descripción | | Directorio | Descripción |
|---|---| |---|---|
| `guides/` | Recursos de referencia para el desarrollador (no contiene prompts ni `CATALOG.md`) | | `guides/` | Recursos de referencia para el desarrollador (no contiene prompts ni `CATALOG.md`) |
| `sandbox/` | Directorio de trabajo local para pruebas con agentes — excluido de Git |
| `history/` | Historial de ejecuciones y reportes — excluido de Git, gestionado por `project_manage_prompts/` | | `history/` | Historial de ejecuciones y reportes — excluido de Git, gestionado por `project_manage_prompts/` |
| `to_history/` | Buffer de staging hacia `/history` — excluido de Git | | `to_history/` | Buffer de staging hacia `/history` — excluido de Git |
+1 -1
View File
@@ -7,7 +7,7 @@ Prompts para tareas relacionadas con el sistema de control de versiones Git: con
| Nombre base | Estado | Descripción | Formatos disponibles | | Nombre base | Estado | Descripción | Formatos disponibles |
|---|---|---|---| |---|---|---|---|
| gitignore | BORRADOR | Prompt para generar un archivo `.gitignore` personalizado | txt, md, json, xml | | gitignore | BORRADOR | Genera un archivo `.gitignore` adaptado al tipo de proyecto indicado (python, typescript/vue, docker, php/laravel, latex, etc.) | txt, md, json, xml |
| gitconfig | BORRADOR | Prompt para asistir en la configuración de `.gitconfig` | md | | gitconfig | BORRADOR | Prompt para asistir en la configuración de `.gitconfig` | md |
## Notas de uso ## Notas de uso
+77 -1
View File
@@ -1 +1,77 @@
[ESTADOS: BORRADOR] [ESTADO: BORRADOR]
[ROLES]
# Tu rol
Eres un profesional experto en sistemas de control de versiones, con amplio conocimiento de Git y experiencia práctica en proyectos de distintos ecosistemas tecnológicos: lenguajes, frameworks, herramientas de build, gestores de paquetes, editores e IDEs.
# Mi rol
Soy un desarrollador backend con experiencia práctica en Python, Linux, SQL, Git y Docker, con participación en proyectos desde su planeación hasta su despliegue, pero sin especialización profunda en ningún área o tecnología en particular.
[CONTEXTO]
# Propósito
Generar un archivo `.gitignore` adecuado para el tipo de proyecto indicado en los datos de entrada. El archivo resultante debe excluir los archivos y directorios que normalmente no deben rastrearse en Git para ese ecosistema: dependencias, artefactos de compilación, archivos de entorno, cachés, archivos de editor, archivos de sistema operativo, entre otros.
[DATOS DE ENTRADA]
# Tipo proyecto
# Lenguaje
# Elementos especiales
[RESTRICCIONES]
* Queda estrictamente prohibido alucinar: no incluyas patrones que no correspondan al tipo de proyecto indicado ni inventes extensiones o rutas que no existan en ese ecosistema.
* Incluye únicamente patrones relevantes para el tipo de proyecto especificado. No agregues patrones de ecosistemas ajenos salvo que sean herramientas transversales (por ejemplo, archivos de editor o de sistema operativo).
* Si el tipo de proyecto no es reconocido o es ambiguo, detén la ejecución y solicita al usuario que lo aclare antes de continuar.
[PASOS A SEGUIR]
Ejecuta los siguientes pasos en orden y sin omitir ninguno:
1. Análisis de viabilidad: Evalúa si el valor de "Tipo proyecto" es suficientemente claro para identificar el ecosistema. Si es ambiguo o no reconocido, detente aquí y solicita al usuario la información faltante antes de continuar.
2. Identificación del ecosistema: Determina, a partir del tipo de proyecto, los siguientes elementos aplicables:
- Lenguaje o lenguajes principales.
- Framework o frameworks involucrados.
- Herramientas de build, gestores de paquetes y sus directorios de dependencias.
- Herramientas de testing y sus artefactos.
- Archivos de configuración de entorno sensibles (como .env).
3. Construcción del .gitignore: Genera el contenido del archivo `.gitignore` organizado en secciones comentadas. Los comentarios de cada sección deben escribirse en el idioma indicado en "# Lenguaje"; si el dato no está especificado, usar inglés por defecto. Las secciones deben seguir este orden cuando apliquen:
a. Sistema operativo (macOS, Windows, Linux).
b. Editor e IDE (VS Code, JetBrains, Vim, etc.).
c. Dependencias y paquetes.
d. Artefactos de compilación y build.
e. Archivos de entorno y configuración local.
f. Cachés y archivos temporales.
g. Archivos de testing y cobertura.
h. Otros archivos específicos del ecosistema.
i. Herramientas de IA: directorios de configuración y datos generados por aplicaciones de inteligencia artificial y agentes de código (por ejemplo: `.claude/`, `.codex/`, `.cursor/`, `.copilot/`, entre otros). Esta sección aplica a todos los tipos de proyecto.
Si el dato "Elementos especiales" no está vacío, agregar cada elemento indicado en la sección del .gitignore que corresponda según su naturaleza. Si algún elemento no encaja en ninguna sección existente, incluirlo al final bajo el comentario "# Elementos adicionales".
4. Revisión: Verifica que no existan patrones duplicados ni contradictorios en el archivo generado.
[FORMATO DE SALIDA]
- Primera opción (preferida): Escribe el contenido del archivo `.gitignore` directamente en un archivo llamado `.gitignore`.
- Segunda opción (solo si no tienes capacidad de generar archivos): Escribe el contenido al final de la respuesta como un bloque de texto sin formato, usando comillas simples al inicio y al final del bloque (sin ningún otro delimitador, símbolo Markdown ni etiqueta).
[CRITERIO DE ÉXITO]
La ejecución del prompt primario se considera exitosa cuando:
* El archivo `.gitignore` generado cubre los patrones estándar del ecosistema indicado en "Tipo proyecto".
* El contenido está organizado en secciones comentadas y sin duplicados.
* No se incluyen patrones de ecosistemas ajenos al tipo de proyecto especificado, salvo herramientas transversales justificadas.
+60
View File
@@ -0,0 +1,60 @@
# Betriebssystem
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db
Desktop.ini
*~
# Editor und IDE
.vscode/
.idea/
*.swp
*.swo
*.sublime-project
*.sublime-workspace
# Abhängigkeiten und Pakete
node_modules/
bower_components/
jspm_packages/
# Build-Artefakte
dist/
build/
out/
.next/
.nuxt/
# Umgebungs- und Konfigurationsdateien
.env
.env.local
.env.development.local
.env.test.local
.env.production.local
# Cache und temporäre Dateien
.cache/
.parcel-cache/
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
.npm/
.yarn-integrity
.pnp.*
.eslintcache
.stylelintcache
# Test- und Coverage-Dateien
coverage/
.nyc_output/
# KI-Werkzeuge
.claude/
.codex/
.cursor/
.copilot/
+27
View File
@@ -0,0 +1,27 @@
# Sistema operativo
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db
Desktop.ini
*~
# Editor e IDE
.vscode/
.idea/
*.swp
*.swo
# Herramientas de IA
.claude/
.codex/
.cursor/
.copilot/
# Elementos adicionales
history/
to_history/
sandbox/
+71
View File
@@ -0,0 +1,71 @@
# Operating system
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db
Desktop.ini
*~
# Editor and IDE
.vscode/
.idea/
*.swp
*.swo
*.sublime-project
*.sublime-workspace
# Dependencies and packages
venv/
env/
.venv/
__pycache__/
*.py[cod]
*.egg
*.egg-info/
.eggs/
pip-log.txt
pip-delete-this-directory.txt
# Build artifacts
dist/
build/
*.pyc
*.pyo
*.pyd
# Environment and local configuration files
.env
.env.local
.env.*.local
local_settings.py
secrets.py
# Cache and temporary files
.cache/
.pytest_cache/
.mypy_cache/
*.log
# Testing and coverage
htmlcov/
.coverage
.coverage.*
coverage.xml
*.cover
.tox/
nosetests.xml
# Django
db.sqlite3
db.sqlite3-journal
media/
staticfiles/
# AI tools
.claude/
.codex/
.cursor/
.copilot/
+2 -1
View File
@@ -7,7 +7,8 @@ Prompts de utilidad para operaciones internas del proyecto. Generan salidas rele
| Nombre base | Estado | Descripción | Formatos disponibles | | Nombre base | Estado | Descripción | Formatos disponibles |
|---|---|---|---| |---|---|---|---|
| transformar_txt_to_xml | LISTO | Transforma un prompt entre formatos estructurados. Actualmente soporta el tipo `txt_to_xml`. Genera un archivo de evaluación de la transformación. | txt | | transformar_txt_to_xml | LISTO | Transforma un prompt de texto plano a formato XML estructurado. Genera un archivo de evaluación de la transformación. | txt |
| transformar_txt_to_json | BORRADOR | Transforma un prompt de texto plano a formato JSON estructurado. Usa meta-claves con prefijo `_` para representar metainformación sin atributos. Genera un archivo de evaluación de la transformación. | txt |
## Notas de uso ## Notas de uso
- Proporcionar en los datos de entrada: el prompt secundario, el tipo de transformación (`txt_to_xml`) y las reglas de mapeo opcionales. - Proporcionar en los datos de entrada: el prompt secundario, el tipo de transformación (`txt_to_xml`) y las reglas de mapeo opcionales.
+127
View File
@@ -0,0 +1,127 @@
[ESTADO: BORRADOR]
[ROLES]
# Tu rol
Eres un profesional experto en la industria tecnológica, especializado en inteligencia artificial generativa, con amplia experiencia en proyectos de desarrollo de software.
# Mi rol
Soy un desarrollador backend con experiencia práctica en Python, Linux, SQL, Git y Docker, con participación en proyectos desde su planeación hasta su despliegue, pero sin especialización profunda en ningún área o tecnología en particular.
[CONTEXTO]
# Propósito
Este prompt (denominado "prompt primario") contiene embebido un texto escrito por una persona al que llamaremos "prompt secundario". Tu tarea consiste en transformar el prompt secundario de formato de texto plano a formato JSON estructurado, produciendo como resultado un prompt equivalente denominado "prompt resultante", y evaluar si la transformación mejora la aptitud del prompt para usarse en un LLM, agente, etc.
El prompt primario también tiene embebido el dato de entrada "reglas de mapeo", el cual aportará información en [PASOS A SEGUIR] para personalizar la transformación.
[DATOS DE ENTRADA]
# Prompt secundario
=== INICIO PROMPT SECUNDARIO ===
=== FIN PROMPT SECUNDARIO ===
# Reglas mapeo
=== INICIO REGLAS MAPEO ===
=== FIN REGLAS MAPEO ===
[RESTRICCIONES]
* Queda estrictamente prohibido alucinar: no inventes información, referencias, datos, ejemplos ni instrucciones que no estén fundamentadas.
* Prioriza el rigor y la precisión del análisis por encima de la cordialidad hacia el usuario.
* No agregues secciones, estructuras ni instrucciones nuevas al prompt resultante a menos que sean estrictamente necesarias para subsanar ambigüedades críticas detectadas durante el análisis.
* Conserva el idioma original del prompt secundario en el prompt resultante.
[PASOS A SEGUIR]
Ejecuta los siguientes pasos en orden y sin omitir ninguno:
1. Análisis de viabilidad: Evalúa si el prompt secundario es suficientemente claro para ser procesado. Si detectas ambigüedades críticas o falta de información que impidan ejecutar correctamente el prompt primario, detente aquí y solicita al usuario la información faltante antes de continuar.
2. Detección de idioma: Identifica el idioma del prompt secundario. El prompt resultante debe estar escrito en ese mismo idioma.
3. Correcciones ortográficas: Corrige todos los errores ortográficos presentes en el prompt secundario.
4. Transformación a JSON: Identifica las secciones del prompt secundario y construye el prompt resultante en formato JSON siguiendo estos subpasos:
4.1. Identificar en el prompt secundario, interpretado como prompt en texto plano, las secciones principales, las subsecciones inmediatas y las demás subsecciones anidadas. Cada subsección puede contener información como descripciones, listados, ejemplos, etc.
4.2. La estructura del prompt resultante (prompt JSON) deberá representar, mediante claves en snake_case y en orden lógico, cada sección y cada subsección anidada, respetando el orden indicado en el prompt secundario. El JSON resultante debe ser un objeto raíz que contenga todas las secciones del prompt.
4.3. El valor asignado a cada clave debe determinarse según el tipo de contenido:
- Si el contenido es únicamente texto → asignar un string directamente.
- Si el contenido contiene subsecciones → asignar un objeto JSON anidado.
- Si el contenido es una lista de elementos del mismo tipo → asignar un array JSON.
4.4. El contenido debe ser completamente equivalente al original. Dado que JSON no admite atributos, cuando sea necesario preservar el título original de una sección (por ejemplo, para facilitar la reversión a texto plano), incluirlo como meta-clave "_section" dentro del objeto. Cuando el valor es texto y se requiere incluir metainformación, representarlo mediante un objeto con las claves "_section" y "_value".
Por ejemplo: si en el prompt secundario existe la sección "[REGLAS DE NEGOCIO]" con contenido de texto, al transformarse en JSON debe quedar como:
{
"reglas_de_negocio": {
"_section": "REGLAS DE NEGOCIO",
"_value": "contenido de la sección"
}
}
Omitir "_section" únicamente cuando la clave snake_case refleje sin ambigüedad el título original y la reversibilidad no sea un requisito.
4.5. Solo debe agregarse metainformación que aporte valor estructural no representable con una asignación directa. Cuando un elemento tenga datos adicionales relevantes presentes en el prompt original (como número de paso, título, prioridad u otros), representarlos como claves con prefijo "_" dentro del objeto correspondiente. Por ejemplo, un paso numerado con título:
{
"_numero": 4,
"_titulo": "Transformación a JSON",
"_value": "..."
}
No agregar meta-claves si la información ya está implícita en la clave o en la posición del elemento dentro de un array.
4.6. Si el valor de "Reglas mapeo" no está vacío, aplica las reglas de mapeo indicadas con precedencia sobre los subpasos anteriores: realiza la asignación directa entre secciones o subsecciones del prompt de texto plano y claves JSON según lo que dichas reglas indiquen.
Por ejemplo, si las reglas de mapeo son:
"Mapea al mismo nivel de 'roles' la información de '# Mi rol' con la clave 'rol_para_subagente' y agrega las skills 'student' y 'developer' como array"
y el prompt de texto plano contiene:
[ROLES]
Aquí se especifican los roles
# Mi rol
Soy un estudiante
el resultado esperado es:
{
"roles": "Aquí se especifican los roles",
"rol_para_subagente": {
"_value": "Soy un estudiante",
"skills": ["student", "developer"]
}
}
5. Evaluación: Determinar si, bajo la nueva estructura generada, la eficiencia del prompt mejora, es equivalente o se reduce respecto al prompt secundario original. Escribe un resumen muy breve del análisis directamente en la interfaz de usuario. El análisis detallado y argumentado debe guardarse en un archivo de texto plano con el nombre "evaluacion_transformacion.txt".
6. Generación del prompt resultante: Produce el prompt resultante con todos los cambios aplicados en los pasos anteriores.
[FORMATO DE SALIDA]
Responde con dos elementos diferenciados:
A) Resumen en la interfaz de usuario:
Escribe directamente en la conversación un resumen breve y conciso que incluya:
- La evaluación de la transformación (mejora, equivalente o reduce eficiencia) con justificación breve.
- Observaciones principales detectadas (máximo 5 puntos concretos).
- Lista resumida de los cambios aplicados al generar el prompt resultante.
B) Prompt resultante:
- Primera opción (preferida): Escribe el prompt resultante en un archivo con extensión `.json`.
- Segunda opción (solo si no tienes capacidad de generar archivos): Escribe el prompt resultante al final de la respuesta como un bloque de texto sin formato, usando comillas simples al inicio y al final del bloque (sin ningún otro delimitador, símbolo Markdown ni etiqueta) para que la interfaz no interprete su contenido.
[CRITERIO DE ÉXITO]
La ejecución del prompt primario se considera exitosa cuando:
* El resumen en la interfaz de usuario incluye la evaluación de la transformación con su justificación y las observaciones y cambios realizados.
* El prompt resultante está disponible en un archivo de texto plano o, en caso de no ser posible, escrito como texto plano al final de la respuesta sin ningún tipo de formato interpretable.
* El prompt resultante contiene la equivalencia requerida del prompt secundario para un LLM, manteniendo la estructura y la intención original del autor.
+4 -12
View File
@@ -13,8 +13,8 @@ Soy un desarrollador backend con experiencia práctica en Python, Linux, SQL, Gi
[CONTEXTO] [CONTEXTO]
# Propósito # Propósito
Este prompt (denominado "prompt primario") contiene embebido un texto escrito por una persona al que llamaremos "prompt secundario". Tu tarea consiste en analizar el prompt secundario siguiendo estrictamente las instrucciones del prompt primario y producir como resultado un prompt mejorado denominado "prompt resultante", además de evaluar y calificar la transformación que se realice, es decir, si el prompt resultante es más apto para usar en un LLM, agente, etc. Este prompt (denominado "prompt primario") contiene embebido un texto escrito por una persona al que llamaremos "prompt secundario". Tu tarea consiste en transformar el prompt secundario de formato de texto plano a formato XML estructurado, produciendo como resultado un prompt equivalente denominado "prompt resultante", y evaluar si la transformación mejora la aptitud del prompt para usarse en un LLM, agente, etc.
El prompt primario también tiene embebido los datos de entrada "tipo transformacion" y "reglas de mapeo", los cuales aportarán información en [PASOS A SEGUIR] para realizar exitosamente la tarea del prompt primario. El prompt primario también tiene embebido el dato de entrada "reglas de mapeo", el cual aportará información en [PASOS A SEGUIR] para personalizar la transformación.
[DATOS DE ENTRADA] [DATOS DE ENTRADA]
@@ -23,10 +23,6 @@ El prompt primario también tiene embebido los datos de entrada "tipo transforma
=== INICIO PROMPT SECUNDARIO === === INICIO PROMPT SECUNDARIO ===
=== FIN PROMPT SECUNDARIO === === FIN PROMPT SECUNDARIO ===
# Tipo transformacion
=== INICIO TIPO TRANSFORMACION ===
=== FIN TIPO TRANSFORMACION ===
# Reglas mapeo # Reglas mapeo
=== INICIO REGLAS MAPEO === === INICIO REGLAS MAPEO ===
=== FIN REGLAS MAPEO === === FIN REGLAS MAPEO ===
@@ -49,9 +45,7 @@ Ejecuta los siguientes pasos en orden y sin omitir ninguno:
3. Correcciones ortográficas: Corrige todos los errores ortográficos presentes en el prompt secundario. 3. Correcciones ortográficas: Corrige todos los errores ortográficos presentes en el prompt secundario.
4. Análisis del flujo a seguir: Identifica los elementos primarios del prompt en función del valor de "tipo transformacion". 4. Transformación a XML: Identifica las secciones del prompt secundario y construye el prompt resultante en formato XML siguiendo estos subpasos:
Si el valor de "tipo transformacion" es "txt_to_xml", ejecuta los siguientes subpasos:
4.1. Identificar en el prompt secundario, interpretado como prompt en texto plano, las secciones principales, las subsecciones inmediatas y las demás subsecciones anidadas. Cada subsección puede contener información como descripciones, listados, ejemplos, etc. 4.1. Identificar en el prompt secundario, interpretado como prompt en texto plano, las secciones principales, las subsecciones inmediatas y las demás subsecciones anidadas. Cada subsección puede contener información como descripciones, listados, ejemplos, etc.
@@ -84,8 +78,6 @@ Ejecuta los siguientes pasos en orden y sin omitir ninguno:
<roles section="ROLES">Aquí se especifican los roles</roles> <roles section="ROLES">Aquí se especifican los roles</roles>
<rol_para_subagente skills="student developer">Soy un estudiante</rol_para_subagente> <rol_para_subagente skills="student developer">Soy un estudiante</rol_para_subagente>
Si el valor de "tipo transformacion" es distinto de "txt_to_xml", omite los subpasos 4.1 al 4.6 y continúa con el paso 5.
5. Evaluación: Determinar si, bajo la nueva estructura generada, la eficiencia del prompt mejora, es equivalente o se reduce respecto al prompt secundario original. Escribe un resumen muy breve del análisis directamente en la interfaz de usuario. El análisis detallado y argumentado debe guardarse en un archivo de texto plano con el nombre "evaluacion_transformacion.txt". 5. Evaluación: Determinar si, bajo la nueva estructura generada, la eficiencia del prompt mejora, es equivalente o se reduce respecto al prompt secundario original. Escribe un resumen muy breve del análisis directamente en la interfaz de usuario. El análisis detallado y argumentado debe guardarse en un archivo de texto plano con el nombre "evaluacion_transformacion.txt".
6. Generación del prompt resultante: Produce el prompt resultante con todos los cambios aplicados en los pasos anteriores. 6. Generación del prompt resultante: Produce el prompt resultante con todos los cambios aplicados en los pasos anteriores.
@@ -102,7 +94,7 @@ A) Resumen en la interfaz de usuario:
- Lista resumida de los cambios aplicados al generar el prompt resultante. - Lista resumida de los cambios aplicados al generar el prompt resultante.
B) Prompt resultante: B) Prompt resultante:
- Primera opción (preferida): Escribe el prompt resultante en un archivo de texto plano con la extensión determinada por "tipo transformacion". - Primera opción (preferida): Escribe el prompt resultante en un archivo con extensión `.xml`.
- Segunda opción (solo si no tienes capacidad de generar archivos): Escribe el prompt resultante al final de la respuesta como un bloque de texto sin formato, usando comillas simples al inicio y al final del bloque (sin ningún otro delimitador, símbolo Markdown ni etiqueta) para que la interfaz no interprete su contenido. - Segunda opción (solo si no tienes capacidad de generar archivos): Escribe el prompt resultante al final de la respuesta como un bloque de texto sin formato, usando comillas simples al inicio y al final del bloque (sin ningún otro delimitador, símbolo Markdown ni etiqueta) para que la interfaz no interprete su contenido.