@@ -91,6 +91,177 @@ Solo para desarrollo; requiere Rust stable y MSVC Build Tools:
9191.\install.ps1 -BuildFromSource
9292```
9393
94+ ## FAQ y solución de problemas
95+
96+ ### ¿La instalación normal necesita Rust o Visual Studio?
97+
98+ No. ` install.ps1 ` descarga el binario correcto para Windows x64 o ARM64 y
99+ comprueba su checksum SHA-256 antes de instalarlo. No uses ` -BuildFromSource ` si
100+ solo quieres utilizar DevNav.
101+
102+ Rust y MSVC Build Tools únicamente son necesarios para compilar. En ese caso,
103+ instala Rust mediante [ rustup] ( https://rust-lang.org/tools/install/ ) y el workload
104+ ** Desktop development with C++** de
105+ [ Visual Studio Build Tools] ( https://visualstudio.microsoft.com/visual-cpp-build-tools/ ) .
106+ Después, abre una PowerShell nueva y comprueba:
107+
108+ ``` powershell
109+ rustc --version
110+ cargo --version
111+ .\install.ps1 -BuildFromSource
112+ ```
113+
114+ El instalador detecta si falta ` cargo ` y muestra un error antes de intentar
115+ compilar.
116+
117+ ### ` dev ` no se reconoce después de instalar
118+
119+ DevNav no añade ` dev.exe ` al ` PATH ` . Instala un módulo de PowerShell que crea el
120+ alias ` dev ` ; este wrapper es necesario para que la carpeta seleccionada se
121+ convierta en la ubicación de la PowerShell actual.
122+
123+ Primero, cierra todas las ventanas de PowerShell 7 y abre una nueva. Si continúa
124+ sin aparecer, ejecuta:
125+
126+ ``` powershell
127+ $module = Join-Path $env:LOCALAPPDATA 'Programs\DevNav\DevNav.psm1'
128+ Test-Path -LiteralPath $module
129+ Import-Module $module -Force
130+ Get-Command dev
131+ ```
132+
133+ Si ` Test-Path ` devuelve ` False ` , vuelve a ejecutar ` install.ps1 ` . Si la importación
134+ manual funciona, comprueba que estás usando PowerShell 7 (` pwsh ` ) y que su perfil
135+ se carga al iniciar:
136+
137+ ``` powershell
138+ $PSVersionTable.PSVersion
139+ $PROFILE
140+ Test-Path -LiteralPath $PROFILE
141+ ```
142+
143+ PowerShell mantiene [ perfiles diferentes según el usuario y el
144+ host] ( https://learn.microsoft.com/powershell/module/microsoft.powershell.core/about/about_profiles ) .
145+ Ejecuta el instalador desde el mismo PowerShell 7 en el que quieras usar ` dev ` .
146+
147+ ### DevNav abre una carpeta de proyectos incorrecta
148+
149+ Comprueba primero el valor efectivo:
150+
151+ ``` powershell
152+ Get-DevRoot
153+ Test-Path -LiteralPath (Get-DevRoot)
154+ ```
155+
156+ Para corregirlo de forma persistente y aplicarlo también a la sesión actual:
157+
158+ ``` powershell
159+ $newRoot = (Resolve-Path -LiteralPath 'D:\Proyectos').Path
160+ [Environment]::SetEnvironmentVariable('DEV_HOME', $newRoot, 'User')
161+ $env:DEV_HOME = $newRoot
162+ Get-DevRoot
163+ ```
164+
165+ La carpeta debe existir antes de usar ` Resolve-Path ` . Para recuperar la ruta
166+ predeterminada ` $HOME\programacion ` :
167+
168+ ``` powershell
169+ [Environment]::SetEnvironmentVariable('DEV_HOME', '', 'User')
170+ Remove-Item Env:DEV_HOME -ErrorAction SilentlyContinue
171+ ```
172+
173+ El valor con alcance ` User ` persiste para futuras terminales; ` $env:DEV_HOME `
174+ solo cambia el proceso actual. Consulta la documentación de
175+ [ variables de entorno de PowerShell] ( https://learn.microsoft.com/powershell/module/microsoft.powershell.core/about/about_environment_variables )
176+ para conocer los distintos alcances.
177+
178+ ### Codex, Claude, OpenCode o Kimi muestran «comando no encontrado»
179+
180+ Los agentes son opcionales y no los instala DevNav. Comprueba cuáles están
181+ disponibles en la PowerShell actual:
182+
183+ ``` powershell
184+ 'codex', 'claude', 'opencode', 'kimi' | ForEach-Object {
185+ $command = Get-Command $_ -ErrorAction SilentlyContinue
186+ [pscustomobject]@{
187+ CLI = $_
188+ Disponible = [bool] $command
189+ Ruta = $command.Source
190+ }
191+ }
192+ ```
193+
194+ Utiliza preferentemente el instalador oficial de cada CLI, que normalmente
195+ configura el ` PATH ` . Si el ejecutable ya existe pero su carpeta no está incluida,
196+ añade ** la carpeta que contiene el ejecutable** , no el archivo ` .exe ` :
197+
198+ ``` powershell
199+ $toolDirectory = 'C:\ruta\al\directorio\bin'
200+ $userPath = [Environment]::GetEnvironmentVariable('Path', 'User')
201+ $entries = @($userPath -split ';' | Where-Object { $_ })
202+
203+ if ($entries -notcontains $toolDirectory) {
204+ $updatedPath = (@($entries) + $toolDirectory) -join ';'
205+ [Environment]::SetEnvironmentVariable('Path', $updatedPath, 'User')
206+ }
207+
208+ # Lo activa también en esta PowerShell.
209+ $env:Path = "$env:Path;$toolDirectory"
210+ ```
211+
212+ Después, repite ` Get-Command <nombre> ` antes de abrir el agente desde DevNav.
213+
214+ ### PowerShell bloquea ` install.ps1 `
215+
216+ No desactives globalmente la [ política de ejecución de
217+ PowerShell] ( https://learn.microsoft.com/powershell/module/microsoft.powershell.core/about/about_execution_policies ) .
218+ Revisa primero el script y, si confías en esta copia del repositorio, desbloquea
219+ únicamente ese archivo:
220+
221+ ``` powershell
222+ Get-ExecutionPolicy -List
223+ Get-Content -LiteralPath .\install.ps1
224+ Unblock-File -LiteralPath .\install.ps1
225+ .\install.ps1
226+ ```
227+
228+ Si ` MachinePolicy ` o ` UserPolicy ` imponen el bloqueo, es una directiva de grupo:
229+ consulta al administrador del equipo en lugar de intentar evitarla.
230+
231+ ### Falla la descarga o no coincide el checksum
232+
233+ El instalador cancela la operación si no puede descargar la release o si el hash
234+ del ejecutable no coincide con ` SHA256SUMS.txt ` . Comprueba la conexión a GitHub,
235+ el proxy o firewall corporativo y vuelve a intentarlo. No omitas la verificación:
236+ un checksum incorrecto puede indicar una descarga incompleta o manipulada.
237+
238+ ### La TUI se cierra o las teclas no responden correctamente
239+
240+ Confirma que utilizas PowerShell 7 dentro de Windows Terminal y ejecuta ` dev ` , no
241+ el ` dev.exe ` interno. Cierra cualquier instancia anterior, actualiza DevNav y abre
242+ una terminal nueva. Si persiste, anota el mensaje mostrado al volver al prompt y
243+ la salida de:
244+
245+ ``` powershell
246+ $PSVersionTable.PSVersion
247+ Get-Command dev
248+ Get-DevRoot
249+ ```
250+
251+ ### ¿Cómo se actualiza DevNav?
252+
253+ Desde el clon local:
254+
255+ ``` powershell
256+ Set-Location C:\ruta\al\clon\dev-nav
257+ git pull --ff-only
258+ .\install.ps1
259+ ```
260+
261+ El instalador puede ejecutarse varias veces: sustituye el binario y el módulo,
262+ verifica nuevamente el checksum y evita duplicar la línea de importación en el
263+ perfil.
264+
94265## Favoritos globales, incluso fuera de la raíz
95266
96267Los favoritos no están limitados a la carpeta principal. Siempre aparecen al
0 commit comments