Metadata-Version: 2.4
Name: hueman-cli
Version: 0.2.0
Summary: Centralized theme manager: one YAML palette feeds Jinja2 templates that generate each tool's config.
Author: 4DRIAN0RTIZ
License-Expression: MIT
Project-URL: Homepage, https://hueman.cuevaneander.tech
Project-URL: Source, https://github.com/NeanderTeam/hueman
Project-URL: Issues, https://github.com/NeanderTeam/hueman/issues
Keywords: theme,colors,palette,dotfiles,jinja2,terminal,cli
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Desktop Environment
Classifier: Topic :: Utilities
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: Jinja2>=3.1.6
Requires-Dist: PyYAML>=6.0.1
Provides-Extra: dev
Requires-Dist: pytest>=8.0; extra == "dev"
Dynamic: license-file

# hueman

Gestor centralizado de temas: una **paleta de color (YAML)** alimenta
**templates Jinja2** que generan la configuración real de tus herramientas
(kitty, tmux, nvim, starship, Windows Terminal, lo que declares en tu propio
config). Sin dependencias de ningún gestor de dotfiles: todo el mapeo de rutas
de salida vive en un `hueman.config.yaml` propio, fuera de este repo.

## Quickstart

```sh
pipx install hueman-cli                               # o: pip install hueman-cli
hueman init                                           # escribe un config de ejemplo en ~/.config/hueman/config.yaml
# ajusta tus targets en ese archivo, luego:
hueman set <paleta> --dry-run
hueman set <paleta>
```

Desde el código fuente (requiere Python >= 3.9):

```sh
git clone https://github.com/NeanderTeam/hueman.git
cd hueman && pip install -e .
```

Actualizar: `pipx upgrade hueman-cli` (o `pip install -U hueman-cli`).
Desinstalar: `pipx uninstall hueman-cli` (o `pip uninstall hueman-cli`); tu config
y los archivos generados no se borran (detalle en la
[guía de instalación](https://hueman.cuevaneander.tech/?p=install)).

Otros comandos: `init` (config de ejemplo), `list` (paletas), `status` (tema activo) y `sync` (estado
compartido entre máquinas).

## Ideas centrales

- Una paleta, muchos targets; el mapeo de salidas es declarativo.
- Templates y paletas empaquetados son defaults; los directorios custom ganan.
- `overwrite` para archivos generados enteros, `patch` para bloques dentro de
  configs editadas a mano.
- `reload` por target y `post_apply` global, best-effort, con política
  `warn` / `error`.
- Sync opcional de la paleta activa entre máquinas (`state_sync`).
- Agregar una tool nueva es un template + un target, no un cambio al motor.

## Herramientas empaquetadas

`hueman/palettes/` y `hueman/templates/` traen 25 paletas estéticas genéricas y templates
para las herramientas más comunes (kitty, tmux, polybar, nvim/nightfox, dunst,
bspwm, yazi, qutebrowser, rofi, fzf, atuin, oh-my-posh, wezterm, starship,
Termux). Para targets idiosincráticos usa `template_dirs` en tu config en vez
de pedir que se agreguen aquí.

## Documentación

Documentación completa: **[hueman.cuevaneander.tech](https://hueman.cuevaneander.tech)**

Para verla en local (las fuentes están en `website/`):

```sh
python3 -m http.server 8765 --directory website
```

y abre `http://localhost:8765`.

## Soporte

¿Un bug o una idea? Abre un issue en
[github.com/NeanderTeam/hueman/issues](https://github.com/NeanderTeam/hueman/issues).

## Estructura del repo

| Ruta | Contenido |
|---|---|
| `hueman/cli.py` | CLI y orquestación (comando `hueman`) |
| `hueman/engine/` | Config, paletas, targets, render, reload, estado compartido |
| `hueman/palettes/`, `hueman/templates/` | Paletas YAML y plantillas Jinja2 empaquetadas |
| `hueman/data/hueman.config.example.yaml` | Ejemplo comentado de config externa (lo escribe `hueman init`) |
| `tests/` | Suite de tests |
| `website/` | Sitio de documentación |

El repo es autocontenido: nada dentro importa código fuera de sí mismo, salvo
el config externo que cada usuario provee. Un repo de dotfiles solo necesita
tener `hueman` instalado y su propio `hueman.config.yaml`.

## Licencia

MIT, ver [LICENSE](LICENSE).
