跳到主要内容

开始一个项目

Agent 和 Skill 都装好了。这一页你要做两件事:决定做什么,并把电脑准备好——它们其实是 一步,因为要装什么由你选的那个决定,你没选的一样都不会装。你也不需要自己敲命令:把提示词 粘进去,再看回来的结果对不对。

你想做哪一种

现在选的不用管一辈子,项目以后可以再加一个端(见最后一节), 按"你最想先看到什么跑起来"来选就行。

如果你想要就选它是什么
一个登录进去管东西的网站——管商品、管订单、管用户、管文章后台管理系统两半:你看到的那个网页,和背后存数据的那部分
一个装在电脑上、有自己窗口的真程序桌面应用一个端。自己把数据存在文件里,旁边不需要跑别的东西
一个装在手机上的应用Android 应用一个端,但必须用手机自己那套工具链来构建

三者之间,有一个区别比其他都重要:

需要跑数据库能在哪构建
后台管理系统需要——跑在 Docker 里哪都行
桌面应用不需要只能在它要发布的那种电脑上
Android 应用不需要哪都行,装上手机工具链就好
桌面应用必须在它要发布的那种电脑上构建

Windows 的应用只能在 Windows 上构建,macOS 的只能在 macOS 上,没有捷径。如果 Agent 说 可以放进 Docker 跳过这一步,那不行——拒绝它,让它老老实实装工具。

这样说,让它把环境配好

不管选哪一种,这句话的形状都一样:说清楚你要做什么,要求它在装东西之前先告诉你缺了 什么:

把这台电脑配置成能开发 Marsquakes <后台管理系统 | 桌面应用 | Android 应用>。现在只装基础的
那几个,项目自己的那套工具等项目建好了再说。在装任何东西之前,先告诉我缺了什么。

装什么、按什么顺序装、你的操作系统该怎么装,Agent 都已经知道了——你不需要给它清单。

你应该看到: 先是一份"你的电脑缺了什么"的清单,然后是安装过程,最后再检测一遍, 确认现在都有了。

安装程序跑完了,不等于装上了

安装程序可以顺利跑完,却什么有用的都没装上。真正算数的是第二遍检测——之前"缺失"的那一项 现在变成了"找到"。Agent 如果跳过,就说:"再检测一遍,把结果给我看。"

"准备好了"应该是什么样

这里不会"先装着再说"。每个项目都必须有这三个:

程序必须是如果比这个老
Node.js22.12.0 或更高Marsquakes 工具本身跑不起来
pnpm9.0.0 或更高安装项目的各个部分会失败
git2.20.0 或更高项目创建不了

如果某一项是"太老"而不是"没有",就说:"这个版本太老了,换成支持的版本,不要绕过去。"

然后,看你选了哪一种,还有一样东西必须现在就有,因为没有任何工具能以后替你把它装上:

如果你选了现在还需要为什么不能等
后台管理系统Docker 20.10.0+ 和 Docker Compose 2.0.0+你已经决定了要用盒子跑数据库,所以这是你做的选择,不是从项目推导出来的。Compose 如果是 1. 开头,那是硬失败不是警告——它读不了这个项目的文件格式
桌面应用你的操作系统的构建工具这些没有任何工具能替你装——见下面那张表
Android 应用不需要额外的手机那套工具链是从项目推导出来的,所以它可以等

其他的东西——Java、Maven、Rust、Android SDK——故意不在这两个清单里。它们由项目最终 有什么决定,而现在还没有项目,所以等项目初始化的时候再装。Agent 现在就想装的话,你就说: "先不装,等项目初始化的时候再装。"

为什么 Docker 会进清单,Java 永远不会

Docker 在这里是因为决定了要用盒子跑数据库。Java、Maven 和 Rust 取决于项目说自己 有什么——而项目还不存在。

各宿主机的系统依赖

只有选桌面应用才要看这一节。这些包名会随版本变化,所以最好让 Agent 去看官方列表, 别让它自己猜:

读一下 https://v2.tauri.app/start/prerequisites/ ,把里面针对我这个操作系统
列出的包装上。

你应该看到: Agent 报出它装了哪些包,并且和那个页面上针对你的电脑列出的一致。

你的电脑会装什么装完之后应该看到
Windows微软的构建工具——浏览器组件在 Windows 10 及以上自带编译器有响应,而不是"无法识别"
macOS苹果的命令行开发者工具一个路径,例如 /Library/Developer/CommandLineTools
Linux一组系统图形库和网页库每一样都报出一个版本号
刚装完却报 Cargo 找不到

这看起来像是装坏了,其实不是。那个终端窗口是在装好之前打开的,所以它看到的信息是旧的。 说:"开一个新终端窗口再检测一次,别直接重装。"

Agent 不该"顺手改好"的东西

这个项目故意锁定了一些版本。它们看着过时,想帮忙的 Agent 会主动提出升级,而报错却会把 责任推给不相干的东西——一个报内存问题,另一个报数据库损坏——你根本猜不到真实原因。把下面 这句给它,让它知道不该碰:

在改这个项目里任何东西之前,先读最外层的 AGENTS.md,然后告诉我它规定了哪些版本和构建
配置不能动。

你应该看到: Agent 点出几个具体的版本锁定和一项构建配置,并且说明它不会去碰。 说不出来就是没读过那个文件——而它迟早会去"修"其中一条。你说:"认真读一遍那个文件, 重新回答。"

万一它因为下载失败而提出换下载源,把这句也给它:

如果下载失败,去 Docker 自己的设置里配代理,不要换成别的下载源。

如果你后来又加了一个端

假设后台管理系统已经跑起来了,你后来又想加一个桌面应用。启用它是对项目的改动,而"需要 哪些工具"由项目决定——所以启用之后,再让 Agent 做一次安装那一步:

提示词

给这个项目启用桌面应用,然后把它现在需要的东西装上。

你应该看到: 这次装的是 Rust,Java 不会再装一遍,因为它已经在了。

这就是为什么一开始什么都没提前装:站在这一页时,谁也不知道你以后还会想要一个桌面应用, 靠猜就只能"万一你要用"地把所有东西都装上。改成问项目之后,就算你后来改了主意,答案也 还是对的——你只要再让它安装一次。

下一步

去你选的那一种对应的提示词页面:

你选的下一步
后台管理系统构建后台管理系统:创建项目
桌面应用构建桌面应用:创建项目
Android 应用构建 Android 应用:创建项目