用途:在本地搭建一个 Next.js 的 Alpaca 仪表盘,用于模拟交易(paper trading)与行情数据演示。生成的应用使用已发布的 @alpacahq/alpaca-trade-api 包,通过 SDK 直接调用 Trading API 与 Market Data API。
主要能力:脚手架会生成包含 package.json、app/、components/、lib/ 和 .env.local 的应用,并带有 dashboard、positions、stocks、stock detail、trade、orders 等页面。默认 APCA_PAPER="true",即模拟交易,不配置实盘。
使用方式:先确认目标目录与应用名,然后在该技能目录下运行:
npx tsx scripts/scaffold.ts --target-directory /path/to/my-alpaca-dashboard --app-name my-alpaca-dashboard
若本地运行时支持,也可用 node scripts/scaffold.ts 或 bun scripts/scaffold.ts;Node 20 建议优先用 npx tsx。脚本在未传参时会读取环境变量 APCA_API_KEY_ID 与 APCA_API_SECRET_KEY;若本地无凭据,可加 --allow-placeholder-credentials,生成的 .env.local 会含占位符,需用户自行填写后再运行。常用参数:--create-subdirectory(把 --target-directory 当作父目录,创建 target/app-name)、--key-id / --secret(直接写入模拟凭据,不读环境变量)、--paper(设置生成的 APCA_PAPER,默认 true,演示时保持开启)。完成后按提示执行:cd /path/to/my-alpaca-dashboard、npm install、npm run dev。
限制与安全:目标目录可含无关文件,脚手架会合并模板,但拒绝覆盖任何已存在的生成路径(含 .env.local);目标不能是文件或符号链接。常见失败包括缺少 TypeScript 运行器、缺少凭据、应用名不合法(需小写 npm 包名,不含空格、大写字母、前导点或下划线)、目标不安全。默认仅模拟交易,除非用户明确要求并理解风险,否则不配置实盘;不得在对话或命令输出中回显 APCA_API_SECRET_KEY;除非用户要求,不运行 npm install 或 npm run dev。