用途:Aspireify 是一次性设置技能,用于完成 aspire init 已启动的 Aspire 初始化。前提是 aspire init 已生成骨架 AppHost(apphost.ts 或 apphost.cs)并在仓库根目录创建 aspire.config.json。完成后由常驻的 aspire 技能负责后续 AppHost 工作,除非用户明确要求,否则不要删除该技能。
主要能力与原则:尽量少改用户代码,默认让 AppHost 适配应用而非反过来;优先用 WithEnvironment() 匹配现有环境变量名;优先使用 Aspire 管理的端口(WithHttpsEndpoint(env: "PORT")、WithHttpEndpoint(env: "PORT") 或省略端口),仅在用户确认端口确实重要(外部回调、OAuth 重定向、浏览器扩展、webhook 或仓库文档硬性要求)时保留固定端口;先 1:1 映射现有 docker-compose.yml 再优化;不重构目录、不改文件名或构建脚本。遇到取舍(连接字符串、端口绑定、OTel 导出)应说明现状、零改动方案与小幅改动方案的收益,让用户决定;用户拒绝则按零改动实现。不确定是否为服务、依赖关系或端口是否重要时应询问。
API 与资源:写 AppHost 代码前必须用 aspire docs search 和 aspire docs get 查证最新 API,按 Tier 1(Aspire.Hosting.)→ Tier 2(CommunityToolkit.Aspire.Hosting.)→ Tier 3(AddExecutable/AddDockerfile/AddContainer)顺序选择,不得臆造 API。JavaScript/TypeScript 应用需选择正确资源类型(AddViteApp、AddNodeApp 或 AddJavaScriptApp)。始终称产品为 Aspire,不要写“.NET Aspire”。向用户展示仪表板 URL 时必须带完整登录 token 查询参数。默认配置 HTTPS 端点,JavaScript 和 Python 应用调用 WithHttpsDeveloperCertificate()。不要硬编码 URL,应传端点引用。
配置迁移:可将 .env 文件与 .NET User Secrets 迁移为 AppHost 参数:密钥用 AddParameter(name, secret: true),非密钥配置用 AddParameter(name, secret: false) 或 WithEnvironment(),映射到 Aspire 资源的值改用 AddPostgres、AddRedis 等加 WithReference()。迁移前与用户逐项确认,绝不自动删除 .env 文件,也不修改服务 .csproj 中的 UserSecretsId。
硬性规则:不要安装 Aspire workload(已过时,用 Aspire CLI 处理一切);不要改仓库根 global.json 的 .NET SDK 版本;不要改现有服务项目的 TargetFramework;修改前检查 git 状态,避免覆盖无关改动;若 AppHost 的 Aspire.AppHost.Sdk 指向 NuGet 上不可用的预览版,更新为最新稳定版;Aspire 操作用 aspire start、aspire add、aspire restore、aspire docs search,普通 .NET 操作可用 dotnet build 等。
限制:本技能面向本地开发体验,不处理生产部署清单、云资源预配或发布配置。资料未提供具体收费、平台支持范围与效果数据。