{"id":28194443,"url":"https://github.com/jesuserro/dotfiles","last_synced_at":"2026-05-24T00:02:43.476Z","repository":{"id":145993210,"uuid":"323024044","full_name":"jesuserro/dotfiles","owner":"jesuserro","description":"Dotfiles architected for MCP, Multi-Agent workflows (Cursor/Claude/Codex) \u0026 Data Engineering. Managed with chezmoi + sops + age. Turning my local environment into a portable AI-Augmented Workstation 🤖.","archived":false,"fork":false,"pushed_at":"2026-05-23T21:56:02.000Z","size":15177,"stargazers_count":2,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-05-23T22:10:48.307Z","etag":null,"topics":["ai","ai-agents","chezmoi","claude","codex","cursor","dotfiles","dotfiles-linux","mcp","mcp-client","mcp-server","oh-my-zsh","skills","sops","zsh"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jesuserro.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2020-12-20T08:11:17.000Z","updated_at":"2026-05-23T10:49:33.000Z","dependencies_parsed_at":null,"dependency_job_id":"f3a3c92e-54fa-46ea-99b0-2b3b77d69870","html_url":"https://github.com/jesuserro/dotfiles","commit_stats":null,"previous_names":[],"tags_count":43,"template":false,"template_full_name":null,"purl":"pkg:github/jesuserro/dotfiles","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jesuserro%2Fdotfiles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jesuserro%2Fdotfiles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jesuserro%2Fdotfiles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jesuserro%2Fdotfiles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jesuserro","download_url":"https://codeload.github.com/jesuserro/dotfiles/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jesuserro%2Fdotfiles/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33416315,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-23T22:14:44.296Z","status":"ssl_error","status_checked_at":"2026-05-23T22:14:43.778Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","ai-agents","chezmoi","claude","codex","cursor","dotfiles","dotfiles-linux","mcp","mcp-client","mcp-server","oh-my-zsh","skills","sops","zsh"],"created_at":"2025-05-16T13:12:11.270Z","updated_at":"2026-05-24T00:02:43.471Z","avatar_url":"https://github.com/jesuserro.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Dotfiles\n\n![Chezmoi](https://img.shields.io/badge/chezmoi-dotfiles-00b0ff?style=flat-square)\n![SOPS](https://img.shields.io/badge/SOPS-secrets-00b0ff?style=flat-square)\n![Age](https://img.shields.io/badge/Age-encryption-00b0ff?style=flat-square)\n![Zsh](https://img.shields.io/badge/Zsh-shell-00b0ff?style=flat-square)\n![MCP](https://img.shields.io/badge/MCP-Cursor%20%7C%20Codex%20%7C%20OpenCode-00b0ff?style=flat-square)\n\n\u003e **Aviso:** Proyecto personal. Requiere experiencia con Linux/WSL: `chezmoi apply` puede sobrescribir configuración en HOME.\n\nCapa de configuración de usuario para **Ubuntu LTS / WSL2** (Windows 11 Pro): shell, MCPs para agentes IA, secretos cifrados y mantenimiento del sistema.\n\n\u003e **Legacy:** RCM (`rcup`, `.rcrc`) fue el gestor histórico de symlinks. **No es operativo.** El flujo canónico es **Chezmoi** + **SOPS/age**.\n\n---\n\n## Arquitectura en tres capas\n\n| Capa | Herramientas | Rol |\n|------|--------------|-----|\n| **Bootstrap** | `make install*`, `make deps-*` | APT, diagnóstico, opt-in (`install-chezmoi`, `install-sops`, `install-zsh-stack`) |\n| **Materialización** | `chezmoi status` / `diff` / `apply` | Symlinks RC, MCPs, `~/.config/mcp-secrets.env` generado, runtime AI |\n| **Mantenimiento** | `make update`, `make ai-cursor-check`, `make ai-mcp-governance` | Sistema y herramientas — **no** sustituye `chezmoi apply` |\n\n```mermaid\nflowchart LR\n    bootstrap[\"make install*\"] --\u003e chezmoi[\"chezmoi apply\"]\n    chezmoi --\u003e home[\"HOME ~/.cursor, ~/.zshrc, mcp-secrets.env\"]\n    update[\"make update\"] --\u003e tools[\"APT, npm, MCP images\"]\n```\n\n---\n\n## Qué comando usar cuándo\n\n| Situación | Comando |\n|-----------|---------|\n| Máquina nueva, instalar paquetes base | `make install-check` → `make install` (ver [INSTALL.md](docs/INSTALL.md)) |\n| Publicar plantillas y secretos a HOME | `chezmoi --source=$HOME/dotfiles apply` o `make install-dotfiles DOTFILES_APPLY=1` |\n| Solo recargar aliases/PATH en la sesión | `source ~/.zshrc` |\n| Editar token GitHub, DSN Postgres, MinIO | `sops secrets.sops.yaml` → `chezmoi apply -i scripts` |\n| Actualizar Windows/WSL, APT, npm, OMZ, MCPs | `make update` |\n| Validar Cursor/MCP/skills en HOME | `make ai-cursor-check` |\n| Validar MANIFEST ↔ plantillas en repo | `make ai-mcp-governance` |\n| Regenerar plantillas MCP desde MANIFEST | `make ai-mcp-generate APPLY=1` → `chezmoi apply` |\n\n`make install` **no** ejecuta `chezmoi apply` por defecto. Son pasos distintos.\n\n---\n\n## Máquina nueva (resumen)\n\n```bash\ngit clone https://github.com/jesuserro/dotfiles.git ~/dotfiles \u0026\u0026 cd ~/dotfiles\nmake install-check \u0026\u0026 make install SKIP_EXTERNAL=1\nmake install-chezmoi \u0026\u0026 make install-sops \u0026\u0026 make install-zsh-stack\n# Restaurar ~/.config/sops/age/keys.txt (manual)\nsops secrets.sops.yaml\nmake install-dotfiles DOTFILES_APPLY=1\nsource ~/.zshrc\n```\n\nDetalle: [docs/INSTALL.md](docs/INSTALL.md) · operación diaria: [docs/OPERATIONS.md](docs/OPERATIONS.md).\n\n---\n\n## Máquina existente (resumen)\n\n```bash\ncd ~/dotfiles \u0026\u0026 git pull\nchezmoi --source=\"$HOME/dotfiles\" status\nchezmoi --source=\"$HOME/dotfiles\" apply\nsource ~/.zshrc\n# opcional: make update\n```\n\n---\n\n## Documentación\n\n| Doc | Contenido |\n|-----|-----------|\n| **[docs/OPERATIONS.md](docs/OPERATIONS.md)** | Guía operativa principal (flujos, secretos, MCPs, riesgos, chuleta) |\n| [docs/INSTALL.md](docs/INSTALL.md) | Bootstrap e instalación inicial |\n| [docs/CHEZMOI.md](docs/CHEZMOI.md) | Chezmoi, SOPS, symlinks RC, scripts, `ZSH_RC_APPLY` |\n| [docs/SECRETS_EXAMPLES.md](docs/SECRETS_EXAMPLES.md) | Ejemplos de secretos (GitHub, Postgres, MinIO) |\n| [docs/UPDATE.md](docs/UPDATE.md) | `make update` (mantenimiento; no aplica Chezmoi) |\n| [docs/GUIA_MCP_AI.md](docs/GUIA_MCP_AI.md) | MCPs, skills, comandos AI |\n| [docs/MCP_QUICKREF.md](docs/MCP_QUICKREF.md) | Referencia rápida para agentes |\n| [docs/README.md](docs/README.md) | Índice completo |\n\n## Estructura y testing\n\n```\ndotfiles/\n├── ai/                 # MCPs, skills, MANIFEST\n├── dot_cursor/         # Plantillas MCP Cursor\n├── docs/               # Documentación humana\n├── secrets.sops.yaml   # Secretos cifrados (SOPS)\n└── zshrc, aliases/     # RC gestionados por symlinks Chezmoi\n```\n\n```bash\nmake test-fast\n```\n\nVer [docs/TESTING.md](docs/TESTING.md) · árbol: [STRUCTURE.md](STRUCTURE.md).\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjesuserro%2Fdotfiles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjesuserro%2Fdotfiles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjesuserro%2Fdotfiles/lists"}