用途:在需要创建新项目时加载,用于搭建可运行的项目脚手架;不适合创建复现或 POC 仓库。核心是让工具链、CI、发布和文档从首个提交起就可用,代码先保持占位,等用户提出逻辑要求再实现。写任何文件前先读 guide.md。主要能力:通过模板和分层复制生成项目结构。模板位于同目录 templates/ 下,需先加载 $choosing-tools 选择技术栈,再按层顺序复制到 <root>/<owner>/<repo>:rust 用 common+rust;js-lib 用 common+js+js-lib;js-cli 用 common+js+js-cli;网站和 napi-rs 项目暂无模板,需按 guide.md 手写;monorepo 按 guide.md 分两层应用。使用方式:先完成受管项目初始化门槛——加载 $global-projects 技能并用其配对解析器找到项目根和项目 CLI;解析仓库 owner 与 name,缺失或有歧义时询问;解析仓库公开或私有,未指定则询问;解析一句话描述,缺失则询问;用显式可见性选项运行 CLI 的 init 命令,即 moi init --public、moi init --private 或配对的 mo 命令;验证本地路径和 origin 后在其内创建脚手架。owner、name、可见性和描述已知后,无需二次确认。不得在其他位置创建项目,不得用普通 git init 代替受管初始化。模板处理:将 _name 路径改名为 .name,repo 改为仓库名;不复制 AGENTS.part.md 和 CONTRIBUTING.part.md,按层顺序把各层 part 合并进 AGENTS.md 的 {{toolchain}} 行和 CONTRIBUTING.md 的 {{setup}} 行;填充 {{owner}}、{{repo}}、{{repo_ident}}、{{description}}、{{year}}、{{rust_version}}。当 owner 有 GitHub Sponsors 时添加 .github/FUNDING.yml。模板不固定依赖版本,新项目中按最新版本添加。js 需写当前 Node 主版本到 .node-version,添加 vite、vite-plus、@liangmi/vp-config、typescript、@typescript/native-preview、@types/node 和 bumpp 到 catalog 与 devDependencies,覆盖 vite 并运行 vp install;js-cli 以 dev 依赖添加 cac 和 picocolors;rust 运行 cargo add 相关命令。脚手架完成后须填写 {{TODO: ...}} 占位,调整包名、crate、CLI 二进制和 CI 矩阵;用 gh repo edit 和 gh api 设置仓库(仅 squash 合并、PR 标题与描述作为提交信息、自动删分支、描述);运行 just ready(Rust)或 vp run check && vp run build && vp run test(JavaScript),不得留下格式改动;搜索 {{ 确保无遗漏占位;逐个 diff 生成文件与模板并检查差异。限制:资料未提供该技能的收费、价格、平台兼容性和效果数据;网站与 napi-rs 无现成模板;依赖版本不固定。
creating-projects
通用与其它
更新于 10-15 23:59