This repository uses LTS behavior by default.
- Use LTS versions by default for runtime stacks.
- Never pin a fixed non-LTS version in code or playbooks unless explicitly requested.
- Do not add fixed latest-version shortcuts that can drift away from support policy.
- If an explicit version is needed, use environment override variables and document it.
-
Node.js:
- Default channel must remain
LTS. NODE_MAJORis an explicit override only.nodejstask should remain idempotent and continue to installnodejs+ bundlednpmfrom LTS source.
- Default channel must remain
-
PHP:
- Use an LTS-compatible package baseline and keep major
8.x. PHP_VERSIONis an override only.- Never force Apache/Nginx installation.
- Use an LTS-compatible package baseline and keep major
-
Core flow:
install.shis a bootstrap only (Ansible + project sync + CLI install/launch).- Component installation must remain in Ansible playbooks (
ansible/site.yml+ansible/tasks/*.yml).
- When updating stack tasks, preserve behavior for Debian/Ubuntu compatibility.
- Keep existing cleanup behavior that repairs known broken apt sources (Docker / legacy PPAs) as part of bootstrap stability.
- Keep user prompt text and component tree aligned with currently supported stack components:
dockerphpcomposernodejszshzsh_plugins
- Keep changes minimal and scoped.
- Do not force extra non-LTS defaults without explicit user request.
- Record changes and keep behavior backward-compatible where possible.