← ClaudeAtlas

ps-css-buildlisted

Sets up a modern CSS build pipeline for a PrestaShop child theme: source partials in _dev/css/, lightningcss bundle+minify to a single generated assets/css/custom.css, pnpm 11 with supply-chain hardening, pre-commit hook with zero-dependency Node fallback, and agent/team documentation. Replaces runtime @import chains and manual ?v= cache-bust versioning. Use when scaffolding CSS architecture for a new PS child theme, when a theme has multiple @import'ed CSS partials loaded at runtime, when the user mentions manual CSS version bumps, CSS cache busting problems, "el CSS no se actualiza", or wants the Milagros-style CSS build on another project.
educlopez/mallard · ★ 3 · Web & Frontend · score 72
Install: claude install-skill educlopez/mallard
# PS CSS Build — pipeline para child themes Montado y probado en `milagros-colombia-b2b-v9.1` (PS 9.1, child de Panda). Sustituye: `@import` runtime (N requests encadenados) + bumps manuales `?v=N` + hacks tipo `_bust={$smarty.now}` (que anulan caché por completo). ## Resultado final ``` themes/{child}/ ├── _dev/ │ ├── README.md # doc del sistema (plantilla abajo) │ └── css/ │ ├── custom.css # entry point: @import de los parciales (SIN ?v=) │ ├── tokens.css # :root design tokens │ ├── base.css │ ├── components.css │ ├── utilities.css │ └── pages/*.css ├── scripts/bundle-css.js # fallback cero-deps para el hook ├── assets/css/custom.css # GENERADO — único CSS servido ├── package.json # pnpm + scripts css/watch ├── pnpm-workspace.yaml # supply-chain hardening ├── pnpm-lock.yaml └── .gitignore # node_modules/ .githooks/pre-commit # raíz del repo .gitattributes # dist marcado generated ``` PS core auto-registra `assets/css/custom.css` como `theme-custom` — mantener ese path/nombre exacto = cero cambios PHP, tema padre intacto. ## Paso 1 — Mover fuentes ```bash cd themes/{child} mkdir -p _dev/css git mv assets/css/*.css _dev/css/ # parciales + custom.css git mv assets/css/pages _dev/css/pages # si existe ``` Limpiar el entry point `_dev/css/custom.css`: - Quitar todos los `?v=N` de los imports: `sed -i '' -E "s/\.css\?v=[0-9]+'/.css'/g" _dev/css