“Remando en dulce de leche” — Dicho popular
dulce-de-leche (ddl)
One command to install, configure, and update every charly-vibes tool.
dulce-de-leche (ddl) is a thin orchestrator that bootstraps the entire
charly-vibes tool ecosystem on any platform
— macOS, Linux, or Windows. ddl itself needs nothing but the binary; a few
tools have prerequisites (npm for incitaciones, and a Rust toolchain for
tools without published release binaries) — ddl tells you exactly what is
missing and how to install it. See Troubleshooting.
The problem
The charly-vibes ecosystem has 8 active Rust CLI tools (wai, dont, ah, pretender, testaruda, vampiro, specodelic, turu/whisper), plus bd and openspec (workflow/issue tooling) and incitaciones (npm) — 12 managed tools in total (funkalization, the visual semantic design workspace, joined as the newest experimental extension). Each tool has:
- Its own config file or directory
- Its own init command
- Its own installation path (cargo install, brew install, scoop install)
Result: a new user runs 5+ install commands and 5+ init commands before seeing value. Configs are scattered across the repo root with no standard convention.
The solution
ddl provides a single binary that:
- Installs all tools from prebuilt GitHub release binaries —
cargo installas fallback when no release binary exists, npm for incitaciones - Configures them under a single
.ddl/directory — no root pollution - Migrates existing configs into
.ddl/(via symlinks in Phase 1) - Reports status across the whole toolset in one command
- Upgrades everything to compatible versions in one step
It is not a package manager, a reimplementation of any tool, or a CLI
launcher that replaces wai/dont/ah. Each tool keeps its own identity
and CLI grammar. ddl is just the orchestrator — the “brew bundle” for
charly-vibes.
Status
Shipped — ddl is published on crates.io and GitHub releases, and the full toolset boots on macOS, Linux, and Windows (verified end-to-end by the 3-platform smoke gate). Current version: see Release Status (generated from Cargo.toml at build time). See Implementation Status for current state.
License
Apache 2.0 — see LICENSE.