# xpier 项目钉定配置(可选:没有它 xpier 也能自动检测)
# 所有字段都可选,不需要的直接删掉或保持注释。字段说明见 docs/architecture.md。

runtime: fpm                  # 项目类型/运行时(决定 xpier up 怎么处理):
#  ┌ fpm        标准 PHP / Laravel —— 无需 up:cd 项目 && xpier link,nginx+php-fpm 直接服务,访问 <目录名>.test
#  ├ static     静态站点            —— 同 fpm,link 后 nginx 直接出文件
#  ├ hyperf     Hyperf 常驻服务     —— 在下方 apps: 写启动命令,xpier up 拉起
#  ├ swoole     Swoole 常驻服务     —— 同 hyperf
#  └ frankenphp FrankenPHP          —— 同 hyperf
# php: "8.4"                # 钉定 PHP 版本(如 "8.2" / "8.4")

extensions:               # 需要的 PHP 扩展(键=扩展名, 值=版本约束)
  swoole: "^6.0"          # 约束:"*" 任意 / "^6.0" / ">=6.0"
  redis: "*"
  xdebug: "*"
  # 装法:xpier sync --apply 或 xpier ext:install swoole --php 8.4

# services:                 # 依赖的系统服务(sync --apply 会 brew 安装)
#   - mysql
#   - redis

apps:                     # 多应用编排(与 dev.yaml 同构,dev.yaml 优先;两种条目可混用)
#   # 网站型:无 cmd —— up 自动注册站点(相当于 link),nginx+php-fpm 直接服务
  blog:
    dir: .                # 可选,默认当前目录
    domain: larablog.test     # 必填:访问域名
    secure: true          # 可选:开启 https(默认 http)
    php: "8.4"            # 可选:固定 PHP 版本

#   # 进程型:有 cmd —— up 托管常驻进程(Hyperf/vite...)
#   php-server:
#     dir: /path
#     cmd: php bin/hyperf.php server:watch
#     ports: ["9501"]
#     domain: api.test      # 可选:生成 nginx 反代
#     node: "20"            # 可选:经 nvm 固定 Node
#     extensions: [swoole]  # 可选:启动前检查扩展
