用途:为项目创建或审查 gen-env 命令,使同一项目能在 localhost 上同时运行多个相互隔离的实例,适用于多 worktree、功能分支或多版本并行开发。
主要能力:以工作区名称(--name <workspace>)为核心派生实例身份,生成 COMPOSE_PROJECT_NAME、DOCKER_NETWORK、VOLUME_PREFIX、CONTAINER_PREFIX 与 *_HOST;从临时端口范围 49152-65535 动态分配端口并检查可用性;通过 *.localhost 子域隔离浏览器 Cookie 与 localStorage;为每个实例设置独立数据卷、网络和认证域,避免相互污染;支持锁定文件保存名称与端口以便复用。
使用方式:执行 gen-env --name <workspace> 生成 .localnet.env(或项目特定名称)环境文件;锁定信息存于 .gen-env.lock,名称匹配时复用端口,--force 重新生成,--clean 删除生成文件与锁定文件。配合 .envrc 使用 PATH_add bin 与 dotenv_if_exists .localnet.env,并通过 --env-file 供 Docker Compose 使用;Tilt 可读取该环境文件。示例:gen-env --name bb-dev;清理单个实例用 docker compose -p localnet-feature-x down -v。
适用场景:多分支/多 worktree 并行开发、需要隔离数据库和浏览器状态的本地调试、Tilt 与 Docker Compose 集成场景。
限制:资料未提供具体安装命令、官方价格或授权信息;实现参考为 TypeScript/Bun(见 @IMPLEMENTATION.md),高级场景见 @ADVANCED_PATTERNS.md;端口分配在 CI 中使用短超时并需兼容禁用 IPv6 的环境。