Problem
The downstream product add-ons flow must stay generic in agentswarm-cli, while OpenSwarm owns its concrete add-ons list. The first implementation also had unsafe .env edge cases:
- escaped values did not round-trip correctly;
- selected keys could be partially written during prompting;
- duplicate or malformed add-on config could produce wrong prompts;
- new
.env files needed secret-file permissions;
- writes needed to refuse tracked
.env files;
- existing CRLF line endings needed to be preserved.
Expected
Keep the OpenSwarm-compatible .env add-ons path, but make agentswarm-cli expose only a validated generic add-ons container and safe env writing.
Scope
Replace the hardcoded add-ons list with validated downstream product config, keep /addons hidden by default, harden .env writes, and add focused unit and terminal E2E coverage.
Problem
The downstream product add-ons flow must stay generic in
agentswarm-cli, while OpenSwarm owns its concrete add-ons list. The first implementation also had unsafe.envedge cases:.envfiles needed secret-file permissions;.envfiles;Expected
Keep the OpenSwarm-compatible
.envadd-ons path, but makeagentswarm-cliexpose only a validated generic add-ons container and safe env writing.Scope
Replace the hardcoded add-ons list with validated downstream product config, keep
/addonshidden by default, harden.envwrites, and add focused unit and terminal E2E coverage.