用途:把 Rails 项目配置为可在 Conductor(面向并行编码代理的 Mac 应用)的工作区中正确运行,支持带隔离端口、Redis 设置和共享密钥的并行编码代理。
主要能力:
- 在项目根目录创建 conductor.json(若不存在),指定 setup 为 bin/conductor-setup、run 为 script/server。
- 创建可执行的 bin/conductor-setup:从 $CONDUCTOR_ROOT_PATH 软链 .env 与 config/master.key,并执行 bundle install、npm install。
- 创建可执行的 script/server:以 CONDUCTOR_PORT(默认 3000)设置 PORT 和 VITE_RUBY_PORT(PORT+1000);若存在 CONDUCTOR_WORKSPACE_NAME,则用 cksum 生成哈希对 16 取模得到 REDIS_DB,并导出 REDIS_URL=redis://localhost:6379/<DB>,最后 exec bin/dev。
- 更新现有 Rails 配置以通过 ENV.fetch('REDIS_URL', ...) 读取 Redis 地址:config/initializers/sidekiq.rb、config/cable.yml(development 使用 redis adapter)、config/environments/development.rb(redis_cache_store)、config/initializers/rack_attack.rb(RedisCacheStore)。
使用方式:在匹配该范围的 Rails 项目中应用,创建上述文件后执行 chmod +x bin/conductor-setup 与 chmod +x script/server;按需创建 script/ 目录。验证时确认文件存在且脚本可执行、运行 script/server 无错误、并检查配置引用了 ENV['REDIS_URL'] 或 ENV.fetch('REDIS_URL', ...)。
限制:已存在的 conductor.json、bin/conductor-setup、script/server 不应覆盖,需跳过并告知用户;仅修改 Redis 相关配置,文件不存在或未用 Redis 时跳过;仅用于明确匹配上述范围的场景,输出不能替代环境特定验证、测试或专家评审;缺少必要输入、权限、安全边界或成功标准时应停止并请求澄清。