> For the complete documentation index, see [llms.txt](https://elguerre.gitbook.io/de0an/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://elguerre.gitbook.io/de0an/capitulo-11-backstage-y-un-futuro-prometedor/preparacion-y-herramientas-con-ia.md).

# Preparación y Herramientas con IA

Recordemos que en el capítulo 1 dedicamos un buen rato a preparar el entorno de desarrollo: instalar Visual Studio, el SDK de Windows 10, los emuladores, habilitar el modo desarrollador y configurar las herramientas necesarias. Era un proceso manual, paso a paso, con sus capturas de pantalla y sus comprobaciones.

Hoy, ese mismo proceso se ha simplificado enormemente, no solo porque las herramientas han evolucionado, sino porque la propia IA puede guiarnos durante la configuración.

## De Visual Studio a VS Code (y más allá)

El primer gran cambio es el editor. Visual Studio sigue siendo un IDE potente, especialmente para desarrollo .NET, pero **Visual Studio Code** se ha convertido en el editor de referencia para la mayoría de desarrolladores:

* Ligero y rápido de instalar.
* Extensible con miles de extensiones.
* Integración nativa con Git.
* Soporte de primera clase para Angular, TypeScript, .NET y prácticamente cualquier tecnología.
* **GitHub Copilot** y **Claude Code** funcionan perfectamente con él.

Para nuestro nuevo stack (Angular + .NET), VS Code es la elección natural. Un solo editor para frontend y backend.

## Configuración asistida por IA

Lo interesante es que la propia preparación del entorno puede estar asistida por IA. Imagina esta conversación con Claude Code:

```
> Necesito preparar un entorno de desarrollo para un proyecto
  Angular 19 con backend .NET 9 y Aspire. ¿Qué necesito instalar?
```

Y la respuesta incluye no solo la lista de herramientas, sino los comandos exactos para instalarlas, la verificación de versiones y la resolución de conflictos comunes. Sin necesidad de buscar en documentación dispersa.

## Las herramientas de hoy

| Entonces (Cap. 1)                  | Ahora                              |
| ---------------------------------- | ---------------------------------- |
| Visual Studio 2015                 | VS Code + extensiones              |
| SDK Windows 10                     | Node.js + Angular CLI + .NET SDK   |
| Emulador de Windows Phone          | Navegador web (Chrome DevTools)    |
| VSTS (Visual Studio Team Services) | GitHub + GitHub Actions            |
| Blend para diseño visual           | Angular DevTools + Chrome DevTools |
| NuGet Package Manager              | npm + NuGet CLI                    |

## Git con superpoderes

En el capítulo 1 también hablamos del control de versiones. Hoy, Git sigue siendo el estándar indiscutible, pero la experiencia de usarlo ha mejorado:

* **Copilot CLI** puede sugerir comandos Git complejos a partir de descripciones en lenguaje natural.
* **Claude Code** puede hacer commits, crear ramas, y gestionar el flujo de trabajo Git directamente.
* **Conventional Commits** y herramientas de linting automatizan la calidad de los mensajes de commit.

## Dev Containers

Una innovación que merece mención especial son los **Dev Containers**. Permiten definir tu entorno de desarrollo completo en un archivo de configuración, de manera que cualquier persona del equipo (o la IA) puede replicar exactamente el mismo entorno:

```json
{
  "name": "Task[in] 2.0",
  "image": "mcr.microsoft.com/devcontainers/dotnet:9.0",
  "features": {
    "ghcr.io/devcontainers/features/node:1": {
      "version": "22"
    }
  },
  "postCreateCommand": "dotnet restore && npm install"
}
```

Adiós a los problemas de *"en mi máquina funciona"*. El entorno es código, versionado y reproducible.

## La lección que permanece

A pesar de todos estos cambios, la lección fundamental del capítulo 1 sigue vigente: **antes de escribir una sola línea de código, asegúrate de que tu entorno está correctamente configurado**. La IA puede ayudarte a hacerlo más rápido, pero no te exime de verificar que todo funciona correctamente antes de comenzar.
