v0.5.0
Install
macOS / Linux:
curl -fsSL https://raw.githubusercontent.com/ScaleCommerce-DEV/scdev/main/install.sh | shFeatures
-
scdev linkcommand - create named link networks for direct container-to-container communication between separate projectsscdev link create <name>/scdev link delete <name>- manage named link networksscdev link join <name> <member>.../scdev link leave <name> <member>...- add/remove projects or individual servicesscdev link ls- list all links and their membersscdev link status <name>- show members and connection state- Members can be whole projects (
sec-scan) or specific services (redis-debug.app) - Each link creates a dedicated Docker network (
scdev_link_<name>) for isolation between link groups - Containers resolve each other by container name via Docker's embedded DNS (e.g.,
app.project-b.scdev) - Links persist in global state and auto-reconnect on
scdev start - Validation: link name characters, project/service existence, duplicate prevention
-
scdev info/scdev status/scdev listshow link information - links are displayed alongside services and shared services -
scdev renamecommand - rename a project with full Docker resource migration- Stops containers, migrates volume data (named + Mutagen sync), removes old network
- Updates state file and link memberships atomically
- Rewrites
name:in.scdev/config.yaml(preserves formatting and comments) - Restarts project with new name
- Confirmation prompt (skip with
--force) - Validates new name is DNS-safe and not already taken
Bug Fixes
- Fix variables in typed config fields -
${VAR}placeholders in int/bool fields (e.g.,port: ${PORT},router: ${ENABLE}) caused "cannot unmarshal !!str into int" errors. The first config parse pass now uses a minimal struct, deferring typed field parsing until after variable substitution.
Improvements
- Added
ContainerNameFor()standalone helper for building container names without a loaded Project - Added
CopyVolume()to Runtime interface for volume data migration