English version: README.en.md
Escribes repo en PowerShell, eliges un repositorio en un menú TUI y se abre opencode --auto en él, en la misma terminal. Al salir de OpenCode, la terminal se queda en la carpeta de ese repositorio.
Demo_repo.mp4
- Lee las carpetas madre de
%USERPROFILE%\.repo\repoconfig.json. - Muestra sus subcarpetas como
madre/repoen un selector con ventana de 12 filas, filtroSearch:y redibujado in situ. - Con
Introlanzaopencode --autocon el repo elegido como directorio de trabajo.Esccancela. - Al final de la lista hay una opción «+ Nuevo repo…»: eliges carpeta madre, escribes un nombre y se crea la carpeta; después se abre OpenCode en ella como en cualquier otro repo.
- Al salir de OpenCode te quedas en la carpeta del repo elegido. El cambio lo hace una función
repoque el instalador escribe en tu perfil de PowerShell: un proceso hijo no puede cambiar el directorio de su shell, así que lo cambia la propia shell al recuperar el control.
- picocolors: colores (
◆ ◇ ■ ❯ │ └, verde/cian/atenuado). Única dependencia, instalada en local. - Node readline:
keypressen modo raw para flechas,Intro,Escy filtrado por texto. - El componente es un port a selección única de
searchMultiselect(src/prompts/search-multiselect.ts) de vercel-labs/skills: ventana fija con↑/↓ N more, cursor acotado sin wrap y conteo de filas visuales reales para el borrado del fotograma. - Requiere Node.js ≥ 22 y PowerShell en Windows. El shim
repo.ps1que genera npm se borra en la instalación y, además, la función del perfil lo eclipsa aunque exista.
Se instala directamente desde GitHub: no hace falta cuenta ni registro de npm. Requiere Node.js ≥ 22, Git y PowerShell (Windows). Pega literalmente esta línea en PowerShell:
npm install -g github:BIMpraxis/repo; Remove-Item "$env:APPDATA\npm\repo.ps1" -Force -ErrorAction SilentlyContinue; repo --installrepo --install escribe en tu perfil de PowerShell ($PROFILE) un bloque con la función repo, que es la que deja la terminal en el repositorio elegido al salir de OpenCode. Es idempotente: si el bloque ya está, no lo duplica.
Después abre una terminal nueva (o ejecuta . $PROFILE): el perfil solo se carga al arrancar PowerShell.
repo --install --dry-runmuestra el bloque que se escribiría, sin escribir nada.repo --uninstallretira el bloque y deja el perfil como estaba.
Desde una copia local del repositorio (desarrollo):
npm install -g .; repo --installEl comando repo queda disponible desde cualquier carpeta. Desde cmd.exe o con powershell -NoProfile, repo abre OpenCode pero la terminal no cambia de carpeta.
%USERPROFILE%\.repo\repoconfig.json (se autocrea vacía la primera vez). Rellénala antes del primer repo: si está vacía, el programa sale con «Sin carpetas madre».
{ "roots": ["C:\\repos"] }| Tecla | Acción |
|---|---|
↑ ↓ |
mover cursor |
| texto | filtrar la lista |
Intro |
abrir el repo en OpenCode |
Esc |
cancelar |
repo --uninstall; npm rm -g repo-ocEl orden importa: repo --uninstall retira el bloque del perfil y lo implementa el propio paquete, así que hay que ejecutarlo antes de desinstalar el paquete. Solo queda tu config en %USERPROFILE%\.repo\, bórrala si quieres.
MIT — ver LICENSE.