Package Exports
- jobtracker
- jobtracker/dist/infrastructure/adapters/cli/app.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (jobtracker) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
JobTracker 🚀
JobTracker es una TUI para buscar y seguir ofertas de empleo que centraliza avisos, palabras clave y postulaciones en una sola interfaz rapida de terminal.
La herramienta que te ayuda a no perder el control de tu busqueda de empleo.
Por que JobTracker?
En vez de abrir multiples pestanas y volver a filtrar los mismos portales una y otra vez, JobTracker te da una vista unica, ordenada y operable desde teclado.
- Rapido y ligero: construido con React + Ink para una experiencia agil en consola.
- Extensible por diseño: sistema de plugins para agregar nuevos portales de empleo.
- Datos en tu maquina: toda la informacion se guarda localmente en JSON.
- Productividad primero: escaneo, keywords, postulaciones y pluginspensados como partes del mismo sistema.
Que lo hace diferente
- Un solo lugar: todos los avisos de diferentes portales en una lista unificada.
- Keywords automaticas: busca por las palabras que configures en todos los plugins.
- Seguimiento de postulaciones: marca a donde aplicaste y su estado.
- Plugins de terceros: cualquier desarrollador puede crear nuevos scrapers.
Arquitectura
JobTracker sigue principios de ingenieria pragmatica:
- Clean Architecture: separacion entre logica de negocio e infraestructura.
- Screaming Architecture: la estructura del proyecto refleja su proposito.
- Hexagonal Architecture: puertos y adaptadores para aislar el core.
- Repository Pattern: acceso a datos detras de interfaces.
Capturas de pantalla
Splash
Pantalla de arranque con version e indicadores de estado.

Entorno principal
Vista de tres paneles con navegacion por teclado.

Dialogo de keywords
Modal para gestionar palabras clave de busqueda.

Hotkeys
Navegacion
| Tecla | Accion |
|---|---|
↑ / ↓ |
Navegar entre registros del panel activo |
Tab |
Cambiar entre paneles (Avisos → Postulaciones → Detalle) |
PageUp / PageDown |
Paginar en el panel activo |
Acciones rapidas
| Tecla | Panel | Accion |
|---|---|---|
Enter |
Avisos | Copiar aviso a postulaciones |
Enter |
Postulaciones | Abrir detalle de postulacion |
Enter |
Detalle | Abrir enlace del aviso en navegador |
Supr |
Modal Detalle | Eliminar postulacion seleccionada |
Funciones globales
| Tecla | Accion |
|---|---|
S |
Iniciar escaneo con plugins |
K |
Abrir modal de keywords |
P |
Abrir panel de plugins |
Q |
Salir de la aplicacion |
Modal de Keywords (K)
| Tecla | Accion |
|---|---|
I |
Insertar nueva keyword |
Enter |
Guardar keyword (en modo insercion) |
Supr / Del |
Eliminar keyword seleccionada |
Esc |
Cerrar modal |
Modal de Plugins (P)
| Tecla | Accion |
|---|---|
↑ / ↓ |
Navegar plugins instalados y disponibles |
Enter |
Seleccionar plugin (required para descargar) |
A |
Agregar plugin desde ruta local (.scrapper) |
D |
Descargar plugin seleccionado del repositorio |
E |
Eliminar plugin seleccionado |
S |
Sincronizar plugins instalados (actualiza si hay nueva version) |
Esc |
Cerrar modal |
Indicador: ▸ marca el plugin seleccionado
Opciones CLI
Instalacion global
Una vez publicado, puedes instalar JobTracker como paquete npm:
npm install -g jobtracker
jobtracker --helpUso global
# Ver ayuda
jobtracker --help
# Sin splash screen
jobtracker --noSplash
# Agregar keyword
jobtracker --addKey "python"
# Eliminar keyword
jobtracker --delKey "python"
# Modo silencioso (escaneo sin TUI)
jobtracker --silent
# Listar plugins instalados y disponibles
jobtracker --list-plugins
# Sincronizar plugins (actualiza los instalados)
jobtracker --sync-plugins
# Descargar un plugin especifico del repositorio
jobtracker --download-plugin trabajandocl
# Eliminar un plugin instalado
jobtracker --delete-plugin trabajandoclInstalacion local (desarrollo)
Luego de bajar el repositorio debes actualizar las dependencias y puedes probar que corra con los siguientes comandos
npm install
npm run devUso local
# TUI completa
npm run dev
# Agregar keyword sin entrar a TUI
npm run dev:add -- "python"
# Eliminar keyword sin entrar a TUI
npm run dev:del -- "python"
# Modo silencioso (sin TUI)
npm run dev:silentPlugins
JobTracker es extensible. Puedes agregar plugins para diferentes portales de empleo.
Plugins disponibles
Descarga los plugins desde los Releases:
| Plugin | Descarga |
|---|---|
| computrabajo.cl | computrabajo-cl.scrapper |
| trabajando.cl | trabajando-cl.scrapper |
Instalar plugins
# Desde el directorio del proyecto
jobtracker --addPlugin ./path/al/plugin.scraper
# O moviendo la carpeta del plugin a ~/.jobtracker/plugins/Crear tu propio plugin
JobTracker tiene un Plugin SDK que te permite crear scrapers para cualquier portal de empleo.
Consulta plugin-sdk/README.md para la documentacion completa.
# Validar estructura del plugin
npx tsx plugin-sdk/scripts/validate.ts --name mi-plugin
# Compilar TypeScript a JavaScript
npx tsx plugin-sdk/scripts/build.ts --name mi-plugin
# Probar el plugin
npx tsx plugin-sdk/scripts/test.ts --name mi-plugin --keywords "python,react"
# Empaquetar para distribucion
npx tsx plugin-sdk/scripts/pack.ts --name mi-pluginStack tecnico
- Lenguaje: TypeScript
- Runtime: Node.js
- UI: React + Ink
- CLI: Commander
- Paths: env-paths
- Persistencia: JSON local
- Scraping: Playwright
Para mas detalles sobre la arquitectura, patrones y especificaciones tecnicas, consulta el SPEC.md.
Contribuir
Las contribuciones son bienvenidas, ya sea reportando bugs, proponiendo mejoras o enviando codigo.
- Haz un fork del repositorio
- Crea una rama (
git checkout -b feature/mi-cambio) - Haz commit de tus cambios
- Sube tu rama
- Abre un Pull Request
Contacto
Si te gusta, considera darle una estrella al repositorio.