Se puede aplicar IA para programar en visual fox?

485 views
Skip to first unread message

Cristobal Lopez

unread,
Jun 21, 2026, 1:01:07 AMJun 21
to Comunidad de Visual Foxpro en Español
La respuesta es sí. El problema que tiene visual fox con los formularios es que son binarios. Entonces qué hacer para que la IA coja todo el contexto de tu programación en Fox. Nosotros hemos hecho un desarrollo en claude de tal forma que :
    a) Transformamos los binarios a texto mediante FOXBIN2prg
    b) Metemos el contexto de todo el ERP en claude. Cómo trabajamos, creación de vistas, etc.
    c) Solitamos a claude que nos cree un formulario nuevo en txt.
    d) Volvemos a pasar el texto a binario con foxbin2prg 
y la magia ocurre. El sistema es capaz de crear, modificar formularios fox y prgs e incluso reports.

Victor Espina

unread,
Jun 23, 2026, 11:13:55 AMJun 23
to Comunidad de Visual Foxpro en Español
Incluso podrias crear un tool que invocara a fox2bin para renombrar el txt con la extension correcta e invocar a fox2bin para que genere el binario. y luego indiciar a la IA que use ese tool.

VFP9DEV

unread,
Jun 24, 2026, 9:40:22 PMJun 24
to Comunidad de Visual Foxpro en Español
Todos sabemos que, aunque no tenga soporte oficial, FoxPro sigue sosteniendo los sistemas y la facturación de muchísimas empresas en nuestra realidad. El reto es: ¿cómo no quedarnos atrás con las nuevas tecnologías?
  
Hace poco me invitaron a una entrevista/masterclass universitaria y aprovechamos para desmitificar el uso de la IA en entornos legacy. Comparto desde la experiencia real:
  
Cómo estructurar instrucciones precisas para que la IA entienda el IDE cerrado de Fox.
  
Por qué el programador de sistemas comerciales no va a desaparecer, sino que evolucionará a ser un orquestador de agentes.
  
El impacto real de la optimización y la eficiencia en el uso diario de estas herramientas.
  
Si les interesa ver cómo se ve la IA aplicada a la vieja escuela del desarrollo corporativo, los invito a echarle un vistazo:

Victor Espina

unread,
Jun 30, 2026, 11:47:03 AMJun 30
to Comunidad de Visual Foxpro en Español
"Por qué el programador de sistemas comerciales no va a desaparecer, sino que evolucionará a ser un orquestador de agentes."  

Eso que dices es una gran verdad... yo estoy justo en ese proceso, solo que en lugar de usar varios agentes, termine usando un solo agente con varios skills, siendo uno de ellos el skill "organizador" que se encargar de ejecutar los otros cuando es necesario.   Mi flujo de trabajo paso de picar codigo todo el dia a hacerr de "project manaager",  creando un archivo .md por cada feature a implementar y revisando lo que los distintos skills van haciendo a partir de ese .md.... de picar codigo muy, pero muy poco... confieso que esto le quito toda la diversion que tenia como desarrollador, pero es innegable que puedo entregar mucho mas rapidamente que antes.

Una verdadera lastima, pero tristemente algo inevitable a estas alturas,  tanto si programas para otros como si programas para tu propia empresa.





Hugo

unread,
Jul 6, 2026, 3:26:33 PM (10 days ago) Jul 6
to Comunidad de Visual Foxpro en Español
y como serian esos MD, asi aprendemos todos.

Victor Espina

unread,
Jul 6, 2026, 5:48:05 PM (10 days ago) Jul 6
to Comunidad de Visual Foxpro en Español

Por ejemplo, este es un caso real que hice en estos dias. Inicie el archivo .MD (9901_Favortes.md) con este texto:

Se quiere agregar la funcion de favoritos al componente TMResManager.  En particular se quiere:

- Crear los endpoint y SPs necesarios para poder marcar/desmarcar uno o mas documentos como "favoritos" usando la tabla tmfavdb.
- Agregar una opcion en el toolbar principal de TMResManager para poder marcar/desmarcar como favoritos uno o mas documentos.
- Agregar un dropdown en el div "ViewFilter" con las siguientes opciones:
  - Recientes (ultimos 25 documentos creados/modificados por el usuario actual).
  - Mis favoritos (documentos marcados como favorito)
  - Todos (todos los documentos). Esta debe ser la vista por defecto.



Luego, se lo pase a un skill coordinadorr de nombre tm-do:

/tm-do 9901_Favorites.md

Este skill recibe el nombre del archivo, ve que esta en si etapa inicial y se lo pasa a otro skill que hace la funcion de Project Manager.  Este skill analiza el contenido del archivo y genera una version mas detallada que incluye las tareas a pasar al skill desarrollador.  El resultado fue:

# CONTROL DE PROCESO
[ ] Spec OK
[ ] Coded
[ ] Test units
[ ] Revised
[ ] Tested
[ ] Ready


# REQUERIMIENTO ORIGINAL

Se quiere agregar la funcion de favoritos al componente TMResManager.  En particular se quiere:

- Crear los endpoint y SPs necesarios para poder marcar/desmarcar uno o mas documentos como "favoritos" usando la tabla tmfavdb.
- Agregar una opcion en el toolbar principal de TMResManager para poder marcar/desmarcar como favoritos uno o mas documentos.
- Agregar un dropdown en el div "ViewFilter" con las siguientes opciones:
  - Recientes (ultimos 25 documentos creados/modificados por el usuario actual).
  - Mis favoritos (documentos marcados como favorito)
  - Todos (todos los documentos). Esta debe ser la vista por defecto.


# DESCRIPCIÓN Y CONTEXTO

## Objetivo del Feature

Permitir al usuario marcar documentos del repositorio Tailor como **favoritos** y filtrar la grilla del `TMResManager` entre **Todos**, **Mis favoritos** y **Recientes**, con persistencia en `tmfavdb` y operaciones masivas desde el toolbar.

## Alcance y Casos de Uso

### Dentro del alcance

| Caso | Descripción |
|------|-------------|
| **Marcar favorito** | Con uno o más documentos seleccionados, el toolbar agrega registros en `tmfavdb` para el usuario de sesión. |
| **Desmarcar favorito** | Con uno o más documentos seleccionados, elimina favoritos del usuario actual (idempotente si ya no existen). |
| **Vista Todos** | Lista completa de documentos activos (comportamiento actual de `GET /tm/repo`). Vista por defecto al abrir. |
| **Vista Mis favoritos** | Lista solo documentos marcados como favorito por el usuario de sesión. |
| **Vista Recientes** | Lista los últimos 25 documentos creados o modificados por el usuario de sesión (`createdBy` o última modificación atribuible al usuario). |
| **Indicador en grilla** | Columna o marca visual opcional `isFavorite` en filas para reflejar estado actual. |
| **API dedicada** | Endpoints REST bajo `/api/tm/fav` con SPs `spTMFavPost` y `spTMFavDrop`. |
| **Extensión de listado** | Extender `spTMRepoList` (o parámetro `@view`) para soportar filtros `all`, `favorites`, `recent` sin romper consumidores actuales. |

### Fuera del alcance

- Favoritos compartidos entre usuarios.
- Orden personalizado de favoritos.
- Sincronización offline o persistencia en `localStorage`.
- Favoritos sobre documentos eliminados (FK en `tmfavdb` debe respetarse al borrar docs).
- Paginación avanzada en vista Recientes (tope fijo 25).

## Arquitectura / Datos

### Tabla existente `tmfavdb`

| Columna | Tipo | Descripción |
|---------|------|-------------|
| `rowid` | INT IDENTITY | PK |
| `userid` | VARCHAR(100) | Login del usuario (`SESSION_USER` / sesión TALOS) |
| `docid` | INT | FK → `tmrepodb.rowid` |
| `created` | DATETIME | Alta del favorito |

Índices existentes: `ix_tmfavdb_userid`, `ix_tmfavdb_docid`.

### Stored procedures (SQL Server, schema empresa)

| SP | Propósito |
|----|-----------|
| `spTMFavPost` | Recibe lista JSON/array de `docid`; inserta favoritos del usuario de sesión omitiendo duplicados. |
| `spTMFavDrop` | Recibe lista de `docid`; elimina favoritos del usuario de sesión. |
| `spTMRepoList` (alter) | Nuevo parámetro `@view VARCHAR(20) = 'all'` con valores: `all`, `favorites`, `recent`. `@recent` usa TOP 25 ordenado por actividad del usuario. Incluir columna calculada `isFavorite BIT` en el result set. |

El usuario de sesión se obtiene con el mecanismo estándar TMLIB (`TMH::getSessionUser()` o equivalente ya usado en otros SPs).

### API REST (Laravel, `api/app/tmlib`)

| Método | Ruta | SP | Body |
|--------|------|-----|------|
| POST | `/api/tm/fav` | `spTMFavPost` | `{ "docids": [1,2,3] }` |
| DELETE | `/api/tm/fav` | `spTMFavDrop` | `{ "docids": [1,2,3] }` |
| GET | `/api/tm/repo?view=all\|favorites\|recent` | `spTMRepoList` | query param `view` (default `all`) |

Controlador sugerido: `TMFavController` o métodos en `TMRepoController` para fav; rutas en `api/app/tmlib/routes/api.php`.

### Frontend (`TMResManager`)

**Ubicación:** `app/src/app/tmlib/ui/tm-res-manager/`

| Elemento | Detalle |
|----------|---------|
| **ViewFilter dropdown** | `nz-select` en `.ViewFilter` con opciones: `Todos`, `Recientes`, `Mis favoritos`. Modelo `viewFilter: 'all' \| 'recent' \| 'favorites'`. Al cambiar, invoca `requeryDocuments()`. |
| **Toolbar** | Botones `Favorito` / `Quitar favorito` (o toggle único según selección). Habilitados cuando `checkedCount >= 1`. Iconos Ant Design (`star` / `star-fill`). |
| **requeryDocuments** | Pasa `view` al GET `/tm/repo?view=...`. |
| **Selección múltiple** | Usar `lastSelection.checkedRows` para enviar `docids` al POST/DELETE fav. |

## Criterios de Aceptación

1. Marcar favorito persiste en `tmfavdb` para el usuario de sesión.
2. Desmarcar elimina el registro correspondiente sin error si ya no existía.
3. Vista **Todos** muestra el listado completo (default).
4. Vista **Mis favoritos** muestra solo documentos favoritos del usuario.
5. Vista **Recientes** muestra máximo 25 documentos del usuario por creación/modificación reciente.
6. El toolbar permite operación masiva sobre la selección actual.
7. Tras marcar/desmarcar, la grilla refleja el cambio (requery o actualización local de `isFavorite`).
8. `GET /tm/repo` sin `view` mantiene compatibilidad (equivale a `all`).
9. Código documentado con JSDoc/PHPDoc según estándar TercerMedio.

# TASK LIST

[ ] Crear `spTMFavPost.sp.sql` y `spTMFavDrop.sp.sql` en `api/app/tmlib/migrations/empresa/sql/api/`.
[ ] Alterar `spTMRepoList.sp.sql`: parámetro `@view`, filtros favorites/recent, columna `isFavorite`.
[ ] Registrar rutas `POST/DELETE /api/tm/fav` y extender `TMRepoController` (o `TMFavController`) + query `view` en index.
[ ] Actualizar `TMResManager`: dropdown ViewFilter, botones toolbar favorito, `requeryDocuments` con `view`.
[ ] Documentar PHPDoc/JSDoc en archivos tocados.



Una vez completado ese proceso el skill coordinador espera a que yo revise el documento y le de el visto bueno marcando la casilla "Spec OK".  Una vez hhecho eso, escribo "listo" y el skill coordinador retoma el documento, ve que ya revise la especificacion y se lo pasa al skill desarrollador, el cual se encargar de programar todas las tareas indicadas en el documento y propone una lista de test units a implementar para validar el codigo generado. Una vez completado, marca la casilla "Coded" en el control de proceso y el skill coordinador una vez mas espera a que yo revise lo hecho por el desarrollador y marque la casilla "Revised". 

Esto causa que el skill coordinador le pase la batuta a otro skill QA que se encarga de implementar las pruebas, ejecutarlas y verificar el resultado.  Si alguna prueba falla, se invoca de nuevo el skill desarrollador para que haga la correccion y el skill coordinador vuelve a invocar al skill QA para que repita la prueba que fallo. Este proceso se puede repetir un maximo de 3 veces, luego de lo cual si aun quedan test units no conformes, el proceos se detiene para que yo pueda revisar que paso.

Una vez que todas las pruebas fueron completadas, el skill coordinador marca la casilla "Tested" y me devuelve el control par que yo haga pruebas finales.  Si en esas pruebas encuentro detalles, puedo armar una lista de inconformidades en la seccion # Revision del MD y luego indicarle al skill coordinador que las revise.  Este le pasa el testigo al skill desaarrollador parra que haga las correcciones y luego al skill QA para que repita los test units.   Este proceso se repite hasta que yo este satisfecho y marque la casilla "Ready" en el MD.

El archivo MD final quedo asi:

# CONTROL DE PROCESO
[x] Spec OK
[x] Coded
[x] Test units
[x] Revised
[x] Tested
[x] Ready


# REQUERIMIENTO ORIGINAL

Se quiere agregar la funcion de favoritos al componente TMResManager.  En particular se quiere:

- Crear los endpoint y SPs necesarios para poder marcar/desmarcar uno o mas documentos como "favoritos" usando la tabla tmfavdb.
- Agregar una opcion en el toolbar principal de TMResManager para poder marcar/desmarcar como favoritos uno o mas documentos.
- Agregar un dropdown en el div "ViewFilter" con las siguientes opciones:
  - Recientes (ultimos 25 documentos creados/modificados por el usuario actual).
  - Mis favoritos (documentos marcados como favorito)
  - Todos (todos los documentos). Esta debe ser la vista por defecto.


# DESCRIPCIÓN Y CONTEXTO

## Objetivo del Feature

Permitir al usuario marcar documentos del repositorio Tailor como **favoritos** y filtrar la grilla del `TMResManager` entre **Todos**, **Mis favoritos** y **Recientes**, con persistencia en `tmfavdb` y operaciones masivas desde el toolbar.

## Alcance y Casos de Uso

### Dentro del alcance

| Caso | Descripción |
|------|-------------|
| **Marcar favorito** | Con uno o más documentos seleccionados, el toolbar agrega registros en `tmfavdb` para el usuario de sesión. |
| **Desmarcar favorito** | Con uno o más documentos seleccionados, elimina favoritos del usuario actual (idempotente si ya no existen). |
| **Vista Todos** | Lista completa de documentos activos (comportamiento actual de `GET /tm/repo`). Vista por defecto al abrir. |
| **Vista Mis favoritos** | Lista solo documentos marcados como favorito por el usuario de sesión. |
| **Vista Recientes** | Lista los últimos 25 documentos creados o modificados por el usuario de sesión (`createdBy` o última modificación atribuible al usuario). |
| **Indicador en grilla** | Columna o marca visual opcional `isFavorite` en filas para reflejar estado actual. |
| **API dedicada** | Endpoints REST bajo `/api/tm/fav` con SPs `spTMFavPost` y `spTMFavDrop`. |
| **Extensión de listado** | Extender `spTMRepoList` (o parámetro `@view`) para soportar filtros `all`, `favorites`, `recent` sin romper consumidores actuales. |

### Fuera del alcance

- Favoritos compartidos entre usuarios.
- Orden personalizado de favoritos.
- Sincronización offline o persistencia en `localStorage`.
- Favoritos sobre documentos eliminados (FK en `tmfavdb` debe respetarse al borrar docs).
- Paginación avanzada en vista Recientes (tope fijo 25).

## Arquitectura / Datos

### Tabla existente `tmfavdb`

| Columna | Tipo | Descripción |
|---------|------|-------------|
| `rowid` | INT IDENTITY | PK |
| `userid` | VARCHAR(100) | Login del usuario (`SESSION_USER` / sesión TALOS) |
| `docid` | INT | FK → `tmrepodb.rowid` |
| `created` | DATETIME | Alta del favorito |

Índices existentes: `ix_tmfavdb_userid`, `ix_tmfavdb_docid`.

### Stored procedures (SQL Server, schema empresa)

| SP | Propósito |
|----|-----------|
| `spTMFavPost` | Recibe lista JSON/array de `docid`; inserta favoritos del usuario de sesión omitiendo duplicados. |
| `spTMFavDrop` | Recibe lista de `docid`; elimina favoritos del usuario de sesión. |
| `spTMRepoList` (alter) | Nuevo parámetro `@view VARCHAR(20) = 'all'` con valores: `all`, `favorites`, `recent`. `@recent` usa TOP 25 ordenado por actividad del usuario. Incluir columna calculada `isFavorite BIT` en el result set. |

El usuario de sesión se obtiene con el mecanismo estándar TMLIB (`TMH::getSessionUser()` o equivalente ya usado en otros SPs).

### API REST (Laravel, `api/app/tmlib`)

| Método | Ruta | SP | Body |
|--------|------|-----|------|
| POST | `/api/tm/fav` | `spTMFavPost` | `{ "docids": [1,2,3] }` |
| DELETE | `/api/tm/fav` | `spTMFavDrop` | `{ "docids": [1,2,3] }` |
| GET | `/api/tm/repo?view=all\|favorites\|recent` | `spTMRepoList` | query param `view` (default `all`) |

Controlador sugerido: `TMFavController` o métodos en `TMRepoController` para fav; rutas en `api/app/tmlib/routes/api.php`.

### Frontend (`TMResManager`)

**Ubicación:** `app/src/app/tmlib/ui/tm-res-manager/`

| Elemento | Detalle |
|----------|---------|
| **ViewFilter dropdown** | `nz-select` en `.ViewFilter` con opciones: `Todos`, `Recientes`, `Mis favoritos`. Modelo `viewFilter: 'all' \| 'recent' \| 'favorites'`. Al cambiar, invoca `requeryDocuments()`. |
| **Toolbar** | Botones `Favorito` / `Quitar favorito` (o toggle único según selección). Habilitados cuando `checkedCount >= 1`. Iconos Ant Design (`star` / `star-fill`). |
| **requeryDocuments** | Pasa `view` al GET `/tm/repo?view=...`. |
| **Selección múltiple** | Usar `lastSelection.checkedRows` para enviar `docids` al POST/DELETE fav. |

## Criterios de Aceptación

1. Marcar favorito persiste en `tmfavdb` para el usuario de sesión.
2. Desmarcar elimina el registro correspondiente sin error si ya no existía.
3. Vista **Todos** muestra el listado completo (default).
4. Vista **Mis favoritos** muestra solo documentos favoritos del usuario.
5. Vista **Recientes** muestra máximo 25 documentos del usuario por creación/modificación reciente.
6. El toolbar permite operación masiva sobre la selección actual.
7. Tras marcar/desmarcar, la grilla refleja el cambio (requery o actualización local de `isFavorite`).
8. `GET /tm/repo` sin `view` mantiene compatibilidad (equivale a `all`).
9. Código documentado con JSDoc/PHPDoc según estándar TercerMedio.

# TASK LIST

[x] Crear `spTMFavPost.sp.sql` y `spTMFavDrop.sp.sql` en `api/app/tmlib/migrations/empresa/sql/api/`.
[x] Alterar `spTMRepoList.sp.sql`: parámetro `view`, filtros favorites/recent, columna `isFavorite`.
[x] Registrar rutas `POST/DELETE /api/tm/fav` y extender `TMRepoController` (o `TMFavController`) + query `view` en index.
[x] Actualizar `TMResManager`: dropdown ViewFilter, botones toolbar favorito, `requeryDocuments` con `view`.
[x] Documentar PHPDoc/JSDoc en archivos tocados.

# TEST UNITS

- [OK] `spTMFavPost` debe insertar favoritos del usuario sin duplicados
- [OK] `spTMFavDrop` debe eliminar favoritos del usuario para los docids indicados
- [OK] `spTMRepoList` debe soportar `@view` all, favorites y recent (TOP 25) con `isFavorite`
- [OK] Rutas `POST/DELETE /api/tm/fav` deben estar registradas
- [OK] `GET /api/tm/repo` debe aceptar query param `view`
- [OK] TMResManager debe enviar `view` al listar documentos
- [OK] TMResManager debe llamar POST/DELETE `/tm/fav` al marcar/desmarcar selección

# REVISION
[x] La marca de favorito debe mostrarse en la columna info
[x] Debe usarse un solo boton en el toolbar para marcar/desmarcar favoritos.  Al momento de procesar, si el documento es favorito se le quita la marca y si no lo es, se le asigna
[x] Al intentar quitar la marca de favorito se genera un error "debe indicar al menos un docID"
[x] La marca de favorito debe mostrarse en color negro sobre fondo transparente.
[x] Al pulsar el boton de favorito con un documento marcado como favorito, no elimina la marca.
[x] Cuando un documento ya no esta en la lista de favoritos, sigue apareciendo la marca en pantalla

Espero les sirva de ayuda, pero aclaro:  yo soy SUPER novato en esto... lo que les describo es lo que me ha funcionado a mi por ahora, pero no siginfifca ni que sea la mejor practica ni que funcione para todo el mundo.

Saludos

Victor ESpina

José Antonio Peña Martínez

unread,
Jul 6, 2026, 9:30:51 PM (10 days ago) Jul 6
to publice...@googlegroups.com
De lo poco que he leído el ejemplo de Victor representa lo que ahora llaman prompts, donde se hace paso a paso las verificaciones mediante un check interactuando con el usuario, lo que indican que está en auge es el uso de loops, donde estos mismos pasos no se detienen o preguntan si se van a a detener a solicitar información.

Todo esto es muy avanzado y poco a poco iremos observando lo que funciona y no para nuestras necesidades.

Saludos!

--
Blog de la Comunidad Visual FoxPro en Español http://comunidadvfp.blogspot.com
---
Has recibido este mensaje porque estás suscrito al grupo "Comunidad de Visual Foxpro en Español" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a publicesvfoxp...@googlegroups.com.
Para ver este debate, visita https://groups.google.com/d/msgid/publicesvfoxpro/0d636111-c2af-4de2-8adb-8be7a4efd1b2n%40googlegroups.com.


--
Desarrollo de Sistemas TecnoPro
José Antonio Peña

Saludos!

Victor Espina

unread,
Jul 7, 2026, 8:03:06 AM (10 days ago) Jul 7
to Comunidad de Visual Foxpro en Español
Asi es. El tema es que estos "agentes autonomos" debes programarlos tu mismo usando Python, NodeJS o alguna otra herramienta que te permita implementar ese loop. Por ahora, al menos en mi caso, no veo que valga la pena el esfuerzo extra; con los promps me va super bien :)

Victor Espina

Arturo Ramos

unread,
Jul 7, 2026, 4:30:02 PM (9 days ago) Jul 7
to Comunidad de Visual Foxpro en Español
El punto más importante al programar con IA está en "Las Especificaciones".

El prompt es importante, pero programar con prompts es lo que se conoce como "Vibe coding".

Sin contexto, sin especificaciones claras, sin conocimiento, la IA va a generar resultados pobres y alucinaciones.

Si el mastro Victor (saludos amigo) es SUPER novato, entonces yo soy un bebé super-novato, pero si les puedo recomendar algo por lo que he recorrido en mi experiencia programando con la IA.

Lo que muestra Victor con los skills es una buena forma de usar la misma IA para generar el "Spec" necesarios para ponerla a trabajar.

Spec-Driven Development (SDD) 

Metodología de software donde la especificación (un documento que detalla cómo debe comportarse el programa) se crea antes de escribir cualquier código.

Ver: Kiro, Spec Kit, OpenSpect.

Knowledge-Driven Development (KDD)

Es una forma de crear programas donde el conocimiento del proyecto es tan importante como el código.

Ver: Kaddo

Intent-Driven Development (IDD)

Desarrollo Guiado por la Intención.

En otras palabras, al programar con SDD, KDD, IDD... cambiamos el "vibe coding" por un desarrollo estructurado y predecible.

Como dice Victor, perdimos lo divertido del desarrollo, ahora nos toca convertirnos de "Programador" a "Agentic Engineer".

El lenguaje con el que se programe es independiente a esto, ya tiene mucho que no programo en VFP pero como digo, creo que es lo de menos, todo esto aplica de igual forma.

¿Qué opinan?

Saludos.

Arturo Ramos.

Victor Espina

unread,
Jul 7, 2026, 8:15:08 PM (9 days ago) Jul 7
to Comunidad de Visual Foxpro en Español
Tal cual. Yo probe SpecKit pero siento que es demasiado complejo para proyectos pequeños o medianos.  Sin embargo, los principios de SDD se pueden aplicar de otras formas mas eficientes a proyectos mas parecidos a los que manejamos. Tal como yo lo veo en este momento, el desarrollo con IA se puede ver como:

a) Picar tu proyecto en pequeñas unidades funcionales (los "features") que se puedan implementar de forma independiente (aunque con dependencias, obviamente)
b) Organizar esos "features" en el tiempo (que hago primero y que hago despues)
c) Para cada feature crear un archivo de spec basico donde se describa lo que se quiere
d) Dejar que la IA complete el spec, revisarlo y aprobarlo
e) Dejar que la IA programe el feature basado en el spec
f) Revisar y probar lo que hizo la IA
g) Dejar que la IA cree y ejecute los test units para el feature
h) Verificar que todos los test units funcionen 
i) Repetir con el siguiente feature.

Adicionalmente, esta forma de encarar los proyectos se alinea muy bien con otra tecnica muy famosa (aunque ya como que en declive):  la metodologia Agile.  SI estas en un equipo, se puden hacer scrums semanales para planificar los features que se implementaran durante el "sprint" de la semana.

Asi que amigos, este es un nuevo mundo donde forzozamente vamos a tener que dejar de lado nuestra pasion por programar y abrazar el odioso papel del Project Manager que solo revisa documentos y se asgura que los minions (la IA) haga bien lo que se le pide.

Saludos

Victor Espina

Victor Espina

unread,
Jul 8, 2026, 12:14:55 PM (8 days ago) Jul 8
to Comunidad de Visual Foxpro en Español
Aqui encontre un buen articulo al respecto:

https://www.linkedin.com/posts/rahman-a-09901082_multi-agent-vs-single-agent-vs-single-agent-activity-7420885799820451840-sehX/

Saludos

Victor Espina

On Tuesday, July 7, 2026 at 4:30:02 PM UTC-4 Arturo Ramos wrote:

Carlos X. Montes

unread,
Jul 9, 2026, 11:04:40 AM (7 days ago) Jul 9
to publice...@googlegroups.com
Para usar correctamente la inteligencia artificial, tienes que hacer la documentación antes de empezar a programar, como siempre debió ser.
Aunque el término VIBE CODING tiene otro significado, me parece que siempre fue el programador ROUGE que se clavaba de cabeza a desarrollar y era muy hábil en eso y la documentación era el código.
En lo que a mi se refiere, ahora paso más tiempo revisando código que digitándolo yo mismo, el ritmo de desarrollo, en mi caso, se ha acelerado bastante.
Esto me ha animado a pasar todo mi sistema de fox a C # y creo que el próximo año tendré casi todo migrado.
Esto era impensable en 2025, tengo una suscripción de 20 USD mensuales con ChatGPT y que buena inversión ha resultado ser.
Saludos colegas.

Mario Alfredo Oviedo Carranza

unread,
Jul 9, 2026, 11:42:08 AM (7 days ago) Jul 9
to publice...@googlegroups.com
tu eres experto en C

o lo puede hacer cualquier alma como yo

debo de tener un nivel aprendizaje 


Has recibido este mensaje porque estás suscrito a un tema del grupo "Comunidad de Visual Foxpro en Español" de Grupos de Google.
Para cancelar la suscripción a este tema, visita https://groups.google.com/d/topic/publicesvfoxpro/0HVPFnjady0/unsubscribe.
Para cancelar la suscripción a este grupo y a todos sus temas, envía un correo electrónico a publicesvfoxp...@googlegroups.com.
Para ver este debate, visita https://groups.google.com/d/msgid/publicesvfoxpro/CAHeRZ64_3NZjgZzFVQsC2JjL7uA18R2R8C8NWT9EzDqqoZPX9g%40mail.gmail.com.

Miguel Antúnez

unread,
Jul 9, 2026, 4:14:13 PM (7 days ago) Jul 9
to publice...@googlegroups.com
flyer.png
Estimados, buenas tardes 👋

Los invito al próximo taller práctico: Control de Activos con IA, .NET 8, MVC y SQL Server.

En este taller construiremos paso a paso una aplicación empresarial, partiendo desde un requerimiento realista hasta llegar al desarrollo usando Inteligencia Artificial como apoyo, arquitectura por capas, stored procedures y .NET 8 MVC.

Veremos temas como:

✅ Análisis del requerimiento
✅ Diseño de base de datos en SQL Server
✅ Stored Procedures
✅ Arquitectura MVC por capas
✅ Uso de IA durante el desarrollo
✅ Registro de foto del activo con FILESTREAM
✅ Construcción paso a paso de la aplicación

📅 Fecha: 17/07/2026
🕖 Hora: 7:00 p. m.
🌎 Hora: Lima, Perú
💻 Modalidad: Microsoft Teams

Registro aquí:
https://events.teams.microsoft.com/event/4b08a1a3-1312-48b7-aa10-d05b58ceb38c@3aea00ec-d0dc-46b1-8b6a-a232797c7a3f

No es necesario ser experto; la idea es aprender el proceso completo paso a paso.

¡Los espero! 🚀




--
Requerimiento inicial - Control de Activos.pdf

Octavio Rodriguez

unread,
Jul 9, 2026, 5:14:37 PM (7 days ago) Jul 9
to publice...@googlegroups.com

Miguel Antúnez

unread,
Jul 9, 2026, 7:10:02 PM (7 days ago) Jul 9
to publice...@googlegroups.com

Carlos X. Montes

unread,
Jul 10, 2026, 8:38:56 AM (7 days ago) Jul 10
to publice...@googlegroups.com
Experto no soy, si sabes programar, no deberías tener problemas en entender el código C# que te genera la IA.

Miguel Antúnez

unread,
Jul 10, 2026, 9:49:31 AM (6 days ago) Jul 10
to publice...@googlegroups.com

Miguel Antúnez

unread,
1:50 PM (7 hours ago) 1:50 PM
to publice...@googlegroups.com
flyer recordatorio.png
Estimados, 👋

Para quienes deseen seguir el taller en línea y construir el ejercicio paso a paso desde su equipo, les comparto las herramientas que sería recomendable tener instaladas previamente.

No es necesario ser experto; durante el taller iremos avanzando paso a paso. Lo importante es tener el entorno listo para aprovechar mejor la sesión.

Herramientas a instalar:

Visual Studio Community
https://visualstudio.microsoft.com/vs/community/

.NET 8 SDK
https://dotnet.microsoft.com/download/dotnet/8.0

SQL Server Developer / Express
https://www.microsoft.com/sql-server/sql-server-downloads

SQL Server Management Studio — SSMS
https://learn.microsoft.com/es-es/ssms/install/install

Git for Windows
Opcional, pero recomendado para versionar el proyecto.
https://git-scm.com/downloads/win

ChatGPT
https://chatgpt.com/

El taller será práctico y trabajaremos el flujo completo:

requerimiento → base de datos → stored procedures → FILESTREAM → capas → MVC .NET 8 → pruebas con IA

Recomendación: instalar las últimas versiones disponibles. En la mayoría de casos pueden convivir con versiones anteriores sin reemplazarlas.

Nos vemos en el taller 🚀

Reply all
Reply to author
Forward
0 new messages