📱

Get Our Mobile App

Take your business learning on the go!

Download on the App StoreGet it on Google Play

How to build full-stack apps with OpenAI o1 pro - Part 1

Mckay Wrigley3:58:45

Transcription

非常快速地,在我们开始这个视频之前,我只想提一下,这将是一个两部分系列的第一部分,所以这将是初学者入门版本。我们基本上会教授提示系统,我们会教如何设置好你的项目,我们会过一遍工作流程的基础版本。然后在第二部分,我们将有一个更专家级的版本,届时我将向你展示如何将我们在第一部分中学到的一切实际应用到一个更具生产力级别的应用程序中。我们将构建一些看起来比你在这里看到的项目复杂得多的东西,但你将在本期第一部分研讨会中看到的项目将为我们在第二部分将要做的所有事情奠定基础。所以,我只是想在开头提一下。这个视频将是一个关于如何使用我的 o1 Pro 模板系统来构建像我们将在本视频中构建的收据 AI 项目这样的全栈应用程序的研讨会,使用 OpenAI 的 o1 Pro 模型。在我看来,这是目前 OpenAI 提供的最强大的模型,自从它在十二月发布以来,我一直非常广泛地使用它。这是世界上最强大的代码编写模型。我将向你展示这种我个人认为非常适合任何人的六步提示系统。所以,无论你是初学者还是经验丰富的开发者,我认为你都能从中获益良多。再次强调,我们将从零开始构建这个收据 AI 项目,使用我的模板。所以,这个工作流程的真正意义在于,它基本上是利用了我拥有的这个开源入门模板。这实际上是我个人用来启动我的新项目的。我只是把它开源了。我试图做的是找出如何构建一个提示系统,将我的模板与所有这些不同的提示结合起来,使构建这些应用程序更加容易。所以,这对于初学者来说非常棒,因为你实际上不需要了解任何代码就可以开始。这感觉有点像是在为你的大脑做健身。但今天学习的伟大之处在于,你有这些 AI 模型,它们就像私人导师。所以,任何时候你遇到困难或有疑问,你知道,调出 ChatGPT,调出 Claude,调出 Google AI Studio,调出你喜欢的任何聊天应用程序,提出问题,粘贴你的代码,你就可以开始行动了。所以,这个工作流程很大程度上是基于我大约十天前发布的一篇文章。基本上,我给我的一位朋友买了一个 ChatGPT Pro 订阅,他们帮了我一个忙,所以我回馈了他们,给他们买了一个订阅。他们最终用这个构建了一个合法的应用程序,这个应用程序实际上有真正的客户。而且他们不是开发者,他们不懂编程。他们在销售行业工作。所以,我的工作流程试图整合我从中学到的所有东西,吸收他们的经验,并与你们分享。我认为这是一种非常有效的构建方式,即使你不一步一步地使用我将要教给你的这个系统,你也可以在 AI 代码生成方面,在提示方面学到很多东西。这些提示非常详细,让我们快速来看一个例子。这是一个相当大的提示,有很多内容。你知道,有分步说明,有 XML,有模板变量,各种各样的事情。所以,有很多东西可以学习。这个研讨会中的一切都将带有时间戳。这个视频会很长,所以我们会为每一个部分加上时间戳。我们还将把它作为一个课程在 Takeoff 上提供。Takeoff 是我教授 AI 技能的平台。如果你想加入我们的课程论坛,你可以去注册,然后进入课程,在研讨会部分,你会看到“使用 o1 Pro 模板系统构建应用程序”。这显然对你们来说是公开的,然后你可以按课程一步一步地学习,跟踪你的进度等等。这是一个我收到的很多请求。我们当然在 Takeoff 上有许多不同的课程,人们想知道的是,你们的教学风格是怎样的?内容是怎样的?这样我就可以看看我是否真的想加入等等。所以,这也在试图回答这个问题。所以,显然,这将是我们的真实世界课程的开源版本,我们认为它将对你们所有人非常有价值。所以,如果你觉得这个有帮助,请点赞,请转发。如果你在 YouTube 上观看,请点赞并订阅。这对我制作很多免费内容、免费教程和指南非常有帮助。所以,如果你觉得这个有帮助,请与你的朋友分享。我希望得到你们的支持,这样我才能继续做下去。好了,让我们开始讨论这个是为谁准备的,它的目标是什么,如何着手以及大致的工作流程。让我们先从一个演示开始,展示我将要教你如何构建的东西。值得注意的是,你实际上不必构建相同的想法。如果你只是想跟着工作流程学习,并专注于你自己的想法,那也完全没问题。但这个收据 AI 应用基本上是一个应用。让我们快速演示一下。让我们进入仪表板。你会看到我上传了几张收据,已验证。接下来,我可以点击这个“上传收据”按钮。在这里,我将把我最新的云订阅收据拖进来,然后点击上传按钮。这将在后端做很多事情。你可以看到我的收据正在上传。很快就会出现一个成功消息。这实际上是在调用 GPT 4o 来提取一些数据。所以,如果我转到验证页面,你会看到我们上传了收据的图片。你会看到所有这些数据都已填写在这里,对应于这前四个类别。这一切都是从 GPT 40 提取的。这是一个 OpenAI 模型,在他们的 API 上。它只是使用他们的 LLM 从该图像中提取了数据。正确地填写了所有信息,看起来都是正确的数据。所以,我们不需要更新它。我们只需将其归类为软件并确认。好的,现在我们的收据已验证。然后,如果我们转到仪表板,你应该会看到它已被添加,并且我们的仪表板已更新。好的,我们将构建一些看起来相当简单,相当熟悉的东西。当然,这取决于你使用的应用想法,无论是跟着我做还是自己做,你的结果都会不同。所以,这将只是为了让你能够构建一个连接了后端和前端、身份验证和支付等功能的全栈应用程序,这样你就可以开始构建你自己的个人想法了。整个工作流程将向你展示如何做所有事情。你将能够定制工作流程,调整事物以适应你的工作方式,适应你的想法等等。但这是一个快速的例子,说明我们将要构建什么。我已经稍微提到了这一点,但我想多谈谈这个工作流程是为谁准备的。所以,再次强调,这对初学者来说会很棒,因为你们中的大多数人都是第一次开始使用这些 AI 工具,而且你们实际上能够用 ChatGPT、Cursor 等工具构建软件。你能够将这些想法从脑海中提取出来,并真正地将它们变成现实。所以,我们希望为所有初学者做的事情是,教你如何更好地提示。这是你能够从这些 AI 模型获得更好结果的一种方式。所以,让我们教你一个围绕它的工作流程。让我们教你全栈应用程序开发,这样你就能学习到前端、后端以及它们之间的一切。这是你们所有人接近事物的绝佳方式,因为你们不必知道如何编写任何代码。你只需要知道,嘿,我可能会遇到几次困难,我可能会有点迷失,我只需要问 LLM 问题。我会调出我的 AI 导师,以及我喜欢的任何应用程序,我会问它问题,我会粘贴我的代码,我会尝试跟着这个教程学习。到最后,你将有一个很好的起点。在我看来,这是最好的学习方式。你知道,你不想通过一些枯燥的课程来学习如何构建项目,比如“嘿,这里有一个 for 循环,这里有一个 if 语句”。开始学习就是通过实际构建项目。这就是这个工作流程的全部意义。我们想教你一个项目。对于经验丰富的开发者来说,特别是如果你是那种还没有真正接触过 AI 代码生成工具的人,在我看来,现在是时候真正关注这些东西了。因为,你知道,过去你可以忽略这些东西,因为模型不够好。但现在的模型非常好,上下文窗口也越来越长。所以,如果你是一名专业开发者,而你没有使用,你不必使用我的确切工作流程,但如果你没有使用这些东西的一部分,如果你没有学会如何很好地提示模型,如果你没有学会如何使用 Cursor 或 Wind Surf 等 AI 原生 IDE 工具,坦率地说,你将被甩在后面。所以,现在是时候真正关注这些东西了,如果你还没有的话。如果你已经关注了,恭喜你,那太好了,你就像我一样,能够利用这些东西。但特别是如果你是那种在 Copilot 等方面没有取得好成绩的人,这将会帮助你很多。所以,这对初学者来说会很棒,因为你们中的许多人想第一次构建你们的想法,我们将教你们如何做到这一点。而且它对经验丰富的开发者来说也很棒,因为你们中的许多人并没有跟上 AI 代码生成工具的最佳实践。所以,这个工作流程将为你提供很多有趣见解,你可以从中提取并应用到你自己的工作中,你自己的工作流程等等。让我们稍微谈谈课程目标。所以,显然,在课程结束时,你应该能够用 AI 构建一个全栈应用程序。这是本次研讨会的主要收获。你还可以获得其他一些东西。你将学会如何构建更高级的提示。所以,如果你是那种觉得“我就是觉得我提示不好,当我尝试写代码时,我从这些模型那里得不到很好的结果”的人,我们将带你完成这个过程。所以,你将学会如何成为一个更好的提示者。你将学到一些关于使用 Cursor 等 AI 工具的知识。所以,我们将在本课程中使用 Cursor。如果你不使用 Cursor,至少要使用 Wind Surf。Wind Surf 是另一个很棒的 AI 代码编辑器。但你将能够学到一些关于使用这类工具集的实用技能。显然,你将学会如何导航全栈应用程序。所以,你将学到如何使用数据库,比如 Supabase。你将学到如何实现支付,比如使用 Stripe。所以,你将能够掌握在这里学到的所有这些不同的技能,然后走出去,希望能够真正地构建你的想法。有很多人只想构建个人项目和爱好项目,我觉得这很棒。我认为 AI 软件被低估的一点是,你可以利用这个 GitHub 仓库,你可以开始为自己构建这些东西。所以,如果你有这些小小的工具,或者只是想创造、构建、享受乐趣的东西,你就可以做到。如果你真的想创办一家初创公司或开展一项业务,你有一个想法,你将能够从中学到所有可行的见解和工作流程,你将能够真正地追求这种目标。所以,你将在这里获得各种各样的技能,我们只是想让你能够用 AI 进行构建。所以,我们当然会在接下来的课程中深入探讨所有这些步骤。在这个概述部分的结尾,我想做的是,我想从一个非常高的层面来谈谈工作流程。所以,这里的工作方式是,如果我回到提示,我们将使用六步提示系统。实际上是五步,其中两步你可以选择。所以,这里的工作方式是,我们将从克隆我的应用程序模板开始。这是一个入门应用程序模板,它包含了所有的代码,所有我们可能称之为“粘合代码”的东西,这将为你节省大量时间。你知道,你不想经历这些事情,比如,如果我进入应用程序文件夹,你会注意到我们有一个集成了 Stripe 的 API,它已经为你设置好了,这样你就不必去写 Stripe 代码了,如果你想在你的应用程序中实现订阅,我们已经为你准备好了代码。你只需要创建一个 Stripe 账户,获取你的 API 密钥,添加它们,然后你就可以准备好订阅了。所以,应用程序模板的优势在于,它为你提供了一个很好的入门模板,可以节省你在开始这些新项目时的大量烦人的启动工作。使用一个高质量的入门模板的另一个好处是,当你将入门模板提供给 AI 模型并要求它返回代码时,你将所有这些上下文注入到一个已经有结构的应用程序中。所以,会发生的是,AI 几乎就像你团队中的一名开发者。这就是我希望你在这门课程的其余部分,在这次研讨会的其余部分,将 o1 Pro 视为你团队中的一名开发者,而不是一个普通的 AI 模型。o1 Pro 确实是第一个几乎感觉像真正的开发者在执行任务的模型。所以,我们会给它这些步骤,就像我们进入规划工作流程和规划提示部分时你会看到的那样。你会看到,当我们用我们模板中的代码一步一步地向 AI 模型输入信息时,它将能够在此基础上进行添加,你将看到这个工作流程变得多么流畅。但基本上会发生的是,我们将从一个小的请求提示开始。我们将与 AI 模型进行迭代,以提出我们将用于其余提示的请求。一旦我们完成了请求提示,我们将使用该请求来生成技术规范。这将极大地影响 AI 如何构建你的应用程序。当你有一个非常复杂的输出文本规范时,你可以看到这个提示的例子。我们当然会详细讨论每一个提示,现在只是保持高层次。但发生的是,你会得到那个文本规范,然后你可以将规范和你的请求输入到一个规划提示中。所以,这基本上是工作流程的第三步。一旦有了规划提示,AI 模型将充当任务规划者。它将把这些事情一步一步地分解。根据你的想法,根据你对它的迭代次数,你可能会得到大约十几个步骤,这可能是我们在这里要构建的东西的步骤数。一旦你从规划提示中获得了步骤,你就可以使用这两个代码生成示例之一。我们将在这门课程中坚持使用标准的版本。我会在那个部分讨论 XML 版本。但这就是 AI 模型,这就是 o1 Pro 将充当你的开发者,就像你的个人助手一样,每月 200 美元。o1 Pro 当然有点贵。我会在那里提到一些你可能使用的其他模型。但你将能够用你的项目请求,用我为你编写的项目规则(这些规则是我作为模板的一部分编写的)来输入这个代码生成提示。这是模板的另一个优点。你将输入文本规范,输入实现计划,然后输入你现有的代码。这又来自于你开始时使用的模板,我们会告诉你如何做。然后,你将一步一步地输入这个代码生成提示,以及所有其他信息,它将能够构建你的应用程序,这将非常酷。最后,你将能够进行最后的审查步骤。这一步是可选的,只是为了清理一些收尾工作。这将真正帮助你开始,你将得到一个实际的全栈应用程序,这将非常酷。所以,这就是工作流程的大致情况。我知道这可能感觉非常快。请记住,我们将在接下来的内容中详细介绍每一个提示,所以不要担心,哦,我已经感到迷失了。我们只是在回顾一下步骤的样子。这只是一个六步系统,其中代码生成提示尤其是一个需要根据你得到的步骤数多次循环的步骤。但这就是工作流程的样子,这就是我们将要教你的。我们将教你如何插入所有这些不同的技术,所有这些堆栈的不同部分,以便让这个 AI 模型为你工作,为你生成应用程序。这个工作流程将被分解成几个部分。我们刚刚完成了概述部分。现在我们将进入工具部分。我们将介绍工作流程中将要使用的所有核心工具。然后我们将进入提示部分。我们将涵盖工作流程中将要使用的所有六个提示。一旦我们完成了工具和提示,我们将进入项目设置部分。这是我们将涵盖你需要设置账户等所有事情的地方。好消息是,除了 o1 Pro 之外,你将使用的所有账户都将是免费的。你不需要向许多不同的公司支付信用卡费用。这些都是免费的。然后我们将构建应用程序,然后我们将进行一个很好的总结部分。我们要谈论的第一个工具是我们实际上要使用的入门模板。所以,整个课程的工作方式是,我们将为你提供所有链接。所以,使用 Takeoff 的一个好处是,你将拥有每一个课程。你可以点击,观看视频,每个视频下方都有文本部分和链接等。这使得一切都非常有条理。显然,你们中的许多人将在 X 和 YouTube 上观看开源版本。所以,我们会确保你们所有人都能获得所有链接。在 X 上,我们会在原始帖子下方提供,在 YouTube 上,我们会在描述中提供。我们希望确保所有这些链接对在这两个平台上观看的你们所有人来说都尽可能容易访问。但你首先需要关注的链接是这个项目的实际 GitHub 仓库。这是一个基于我原始应用程序模板的仓库。所以,我想在开头提一下这两个仓库之间的一些区别。如果你跟着这个特定的工作流程视频和教程,我将要做的,我建议你将从这个仓库克隆。我们将在接下来的课程中一步一步地展示如何做到这一点。我只是想稍微谈谈。如果你感觉更舒适,我的 McKay 应用程序模板。这是我的主要应用程序模板。我将继续更新它,它有一些额外的功能,比如测试和分析。所以,如果你感觉更高级,并且想保持更新,想开始新项目,那么你可能想使用我一直在更新的实际应用程序模板。你可以看到我最近一次更新是两天前。所以我确实会保持更新。这个特定项目中的那个我只是将其冻结了,因为可能会发生的是,我不想在六个月后有人观看这个,而我常用的模板已经过时了,与我们在这里使用的不同。所以我只是将其冻结在这里。这可能是你在这个视频中想要的。它稍微简化了一些,去掉了像测试和分析这样的复杂性,只是为了保持简单,让主要的东西保持主要。你知道我的意思吗?所以,值得注意的是,在这个仓库中,我们有一个相当广泛的 README 文件,里面有许多不同的链接。所以,再次强调,如果你是在 X 和 YouTube 上观看的,README 文件将是另一个很好的地方,你可以在那里找到许多链接。如果你不在 Takeoff 课程论坛中,你可能会错过一些链接,这完全没问题。所以,我们确实努力让它对你们来说非常全面,以便你们知道如何克隆入门模板,知道需要哪些环境变量,知道需要哪些账户等等。所以,我几分钟前也提到过,使用入门模板的主要好处是,你给了 AI 大量的代码来开始工作。所以,你不是从零开始,你不需要做所有这些繁琐的任务,比如“哦,我得去设置数据库,我得去设置我的前端,我得去从 Shad CN 或任何你喜欢的 UI 库下载我的入门组件”。这只是开箱即用,它将为你节省大量时间。所以,请确保你能找到这个 GitHub 仓库,因为这是我们接下来要做的一切的中心真相来源。显而易见的问题是 o1 Pro。所以,让我们稍微谈谈 o1 Pro,因为它将是一个非常昂贵的模型。要使用 o1 Pro,你实际上需要订阅 ChatGPT 的 Pro 订阅套餐,每月 200 美元。这显然对业余爱好者、学生来说非常昂贵。你知道 Takeoff 有很多学生用户等等。所以,让我稍微谈谈 o1 Pro,然后我将简要谈谈你可以使用的可能替代模型,因为我们希望尽可能地让它变得容易访问。但我会,我在 README 文件中也提到了这一点。你会看到我说,虽然我强烈推荐 o1 Pro 用于这个工作流程,但你也可以使用像 o3 mini、Claude 3.5 Sonnet、Gemini 2.0 Pro、DeepSeek R1 这样的模型。问题是,你将在这个特定的工作流程中遇到问题,这就是为什么我推荐使用 Pro。这是目前市场上最好的模型。值得注意的是,我不是 OpenAI 或本视频中任何公司的赞助商。我只是想说清楚。如果我做任何赞助,我以前从未做过,我会非常坦诚地告诉你们。显然,我现有的粉丝都知道我的风格。但我猜会有很多新观众会观看这个,所以我想重申一下,很多人会皱起眉头,用好奇的眼神看着我,因为这看起来可能像赞助,但它不是。这只是,这是我目前与 Claude 3.5 Sonnet 一起使用最多的模型,它为我的 Cursor 使用提供动力。这就是我发现最多价值的地方。所以,如果你是一名专业人士,非常值得。每月 200 美元,基本上就像一个同事。它不仅提供代码生成,还提供深度研究等功能,这是一个新功能。但显然,这里的重点将是 o1 Pro 的代码生成能力,这才是关键所在。所以,o1 Pro 的一些功能,以及它为什么能驱动这个工作流程。A,如果你考虑模型的强大和模型的智商,o1 Pro 是目前你可以公开访问的最强大的模型。所以,如果你想做复杂的代码生成,它就是完美的模型。它是我们最聪明的模型。它在各方面都碾压一切。如果你没有尝试过这个模型,你真的错过了。我无法足够强烈地强调这一点。所以,一些更实际的事情。因为你可能会说,你认为它是一个更聪明的模型,但我认为其他模型也很聪明。我告诉你,它是一个更聪明的模型,但如果你尝试将其他模型用于这个工作流程,你会遇到以下情况。o1 Pro 拥有极其长的上下文窗口,而且不仅仅是上下文窗口长,上下文窗口的利用率也非常高。例如,像谷歌的模型,比如 Gemini 2.0 Pro。这个模型有数百万个 token 的上下文。你可能会想,Gemini 的上下文更长,为什么不使用它呢?问题是,它会遇到与其他模型相同的问题,那就是一旦你超过大约 20 万个 token,上下文窗口的利用率,也就是说它从数百万个 token 中提取上下文的能力就会迅速下降。而 o1 Pro 拥有非常好的上下文窗口利用率。这意味着,如果你一次输入 10 万个 token 的代码,就像我们在这个工作流程中要做的那样,o1 Pro 可以看到一个非常晦涩的文件,它在 4 万个 token 的位置,然后是另一个晦涩的文件,它在 7.5 万个 token 的位置。它实际上能够从这些文件中提取信息并编写代码。我还没有在其他模型上看到这种持续性。这是让这个工作流程奏效的一个重要因素。因为要将大量代码输入到一个模型中,并让它实际编写所有需要编写的代码,它确实需要能够使用你提供给它的所有上下文。而 o1 Pro 在这方面表现出色。另一件非常重要的事情是,o1 Pro 的输出 token 非常连贯,而且可以很长。这个东西可以可靠地输出 2 万个 token 的代码。所以,如果你在这个工作流程中的某个步骤,比如 13 个不同的文件正在被编辑,那么它实际上能够输出所有这 13 个文件,并且会准确地完成。而许多其他模型可能可以为你完成几个文件,但一旦超过两位数,它们就会真的遇到困难。而 o1 Pro 就能轻松应对。所以,我再次提到过,你真的应该把 o1 Pro 想象成一个 AI 同事,而不是仅仅一个 AI 模型。与它一起工作就像你团队中的一名开发者。这就是我们将如何对待它。所以,显然,你必须自己尝试这个工作流程,才能真正相信我的观点。我告诉你,我比世界上大多数人花在 AI 代码生成上的时间都多。这实际上是我每天都在做的事情。所以我对这些东西有很好的直觉。你要么得相信我的话,试试看,然后你会觉得“哦,是的,o1 Pro 很棒”,或者你会错过。所以,我建议尝试这个模型。如果你想使用其他模型,显然 Claude 3.5 Sonnet 是一个非常棒的代码模型。你可以通过 Claude 每月 20 美元的订阅等方式访问它。这是一个很棒的模型。你当然可以使用 ChatGPT o3 mini。o3 mini high 是一个很好的模型。我提到了 Gemini 2.0 Pro,另一个很棒的模型。然后还有 DeepSeek R1,如果你更倾向于开源模型等。R1 是另一个你会喜欢的模型。正如我所提到的,你会遇到一些问题,因为会有上下文长度限制,模型输出的代码不够多,不够连贯。也许它错过了一些应该包含的文件。所以,对于那些使用这些模型的人来说,你可能需要调整这个工作流程才能让它们正常工作。但最好至少尝试一下其他模型并找到解决办法,而不是什么都不做。所以,这是我对模型的看法。再次强调,我强烈推荐使用 o1 Pro。之所以叫做 o1 Pro 模板系统,是因为这个工作流程是为这个模型设计的。我知道这可能是一段关于模型和事物的漫长演讲。但为了理解这个工作流程的力量,你真的需要理解,这个模型尤其对于它来说是必需的。当然,希望在接下来的几个月里,我们能以更便宜的价格获得这个模型,获得其他同样强大但更便宜的模型,无论是来自 OpenAI 还是其他实验室。你知道,这些 LLM 的好处是成本会随着时间的推移而降低。所以,如果你在第一天看到这个,你可能买不起。但你知道,可能在一两个月或三个月后,市场上可能会有同等产品,价格更低。也许甚至来自,也许订阅费会下降。我不知道会发生什么。但要留意,我们将获得更好的模型,在 2025 年全年都会有。所以,继续用这个提示系统尝试一些新模型将会很有趣。我们要谈论的下一个工具是 repo prompt。你可以在 repo prompt.com 上找到它。这是一个免费的应用程序,你可以用来帮助管理你的上下文。一个说明,我希望它能尽快解决。你会注意到这是一个 Mac OS 原生应用程序。所以,Windows 和 Linux 用户,我们将看看是否能找到一个替代品。所以,如果你正在观看这个视频,特别是如果你在 X 或 YouTube 上,如果你知道任何对 Windows 和 Linux 用户来说与 repo prompt 类似的工具,请在评论区留言。如果你能为找到的替代品点赞和投票,那将非常有帮助。我们当然希望确保 Windows 和 Linux 用户能够轻松地使用这个工作流程。我们将如何使用 repo prompt 进行这个工作流程是,它将再次帮助我们管理我们的上下文。所以,我们要做的其中一件事是,因为我们将一遍又一遍地输入我们代码库的巨大块,我们将不得不管理,哪些文件夹将被包含,哪些文件将被包含等等。repo prompt 就是为了帮助我们解决这个问题而设计的。所以,Mac OS 用户,请务必下载 repo prompt。它将是你使用的最有用的工具之一。希望 Windows 和 Linux 用户也能很快在官方应用程序上使用它。但希望我们能找到社区成员来帮助我们找到替代品。如果有人找不到一个,这将是一个非常棒的开源项目。所以,如果你想引起轰动,也许你是一个独立黑客、独立开发者,你想建立一个观众,或者你想走红,你应该为 Windows 或 Linux 构建这个。这是你能为社区做的最有价值的事情之一。所以,额外的挑战。真正的额外挑战是尝试使用我们在这个研讨会中使用的工作流程来构建这个。但这就是 repo prompt,我们当然会在接下来的课程中介绍如何使用它。最后,在工具方面,我们将在整个课程中使用 Cursor。所以,我们将通过 o1 Pro、通过 ChatGPT 与 AI 代码生成工具进行交互的主要方式是 Cursor。我们不会大量使用 Cursor,但值得注意的是,我们将在本工作流程视频的其余部分使用的代码编辑器将是 Cursor。Cursor 有一个免费的为期两周的 Pro 试用期。他们有一个业余爱好者级别,提供相当慷慨的完成次数,这里有 2000 次完成次数,这相当不错。所以,如果你从未尝试过 Cursor,我强烈推荐它。这是我一直推荐的东西,特别是对于初学者,因为它会在你的 IDE 中直接提供所有强大的工具,比如聊天、作曲等。这只会让你的生活变得更轻松。显然,鉴于他们有免费计划,几乎不可能拒绝。显然,Cursor 现在是世界上最受欢迎的 AI 工具之一。所以,我可能告诉你们中的大多数人一些你们已经知道的事情。还值得注意的是,我们有一个 Takeoff 课程,我们就在这个星期更新了我们的 Cursor 课程 2.0。所以,如果你觉得“哇,Cursor 太棒了,我想从中获得更多”,这是一个三个小时的课程,你可以完成。如果你已经在 Takeoff 上了,你可以完全掌握所有内容。所以,我们还将在几天内举办一个关于 Cursor Agent 的研讨会。Cursor 刚刚在应用程序中发布了大量新的代理式 AI 编码功能,这些功能非常棒。所以,我们将做另一个关于这个的研讨会风格的视频。所以,一定要留意。我还要快速推荐另外两个 AI 工具:Perplexity。Perplexity 是另一个非常受欢迎的 AI 工具,你们中的许多人都熟悉,许多人已经喜欢并使用它。Perplexity 之所以如此棒,是因为任何时候你需要最新的软件库等文档,你都可以问 Perplexity,获取最新的网络信息。所以,如果你想知道“我不知道如何使用 OpenAI 的文档”,Perplexity 可以搜索它,找出答案,并很快给你一个答案。所以,这是一个非常好的工具。他们也有一个相当慷慨的免费套餐。然后另一个你想要使用的很棒的工具是 VZ。所以,如果你喜欢大量迭代 UI,VZ 可能对你非常有价值。我们不会深入探讨,但绝对值得查看 VZ 的免费套餐,看看你是否喜欢。它可以帮助很多人,特别是那些从未真正构建过 UI 的初学者。他们用 Vzer 做很多很棒的事情。所以,Cursor、Perplexity 和 Vzer 基本上是我们最后要谈论的工具。现在,让我们来谈谈所有的提示,让我们来谈谈提示模板系统。现在我们将稍微放慢一点速度。我们一直在快速前进,一直在谈论推荐的工具和概述。现在我们将进入研讨会的真正核心。现在我们将开始讨论我们的六个提示中的每一个。这是一个非常非常精心设计的提示系统,它将最大化你从 o1 Pro 中获得的东西。这些提示的工作方式是,它们将依次从一个提示传递到下一个,再到下一个。每一个提示都建立在彼此之上,以构建一个非常全面的系统,o1 Pro 可以从中工作。所以,让我们从请求提示开始。请求提示基本上就是你与 AI 模型合作来构思你的想法。所以,我推荐你做的一件事是,我们将逐个提示地进行。我建议你在阅读每一个提示的开头,或者在我分析每一个提示的开头,暂停视频,自己阅读一下,这样你就能对正在发生的事情有一个大致的了解。然后我将带你分析它。所以,花点时间在这里暂停并阅读这个提示。太棒了。所以,我们将在这里看看发生了什么。所以,你可以在开头看到,我说“我有一个 Web 应用的想法,我想开发。这是我的概念”。看到“idea”用大写字母写在两个花括号之间。我们将在这里实际输入我们的请求。我们将会在应用程序部分的步骤一中完成所有这些。所以,我们当然会在那里涵盖所有提示。

然后,我们将介绍您需要从所有不同的服务中进行的所有设置步骤,然后我们实际上将开始构建应用程序,所以我们将在该部分实际使用这些提示,但这里的想法是您基本上将复制此提示并将其粘贴到 01 Pro 中,您将在此处放入您的想法,然后这是唯一真正会协作的提示,这将是一个回合制提示,所以您可以看到我们甚至在提示模型,让它知道这些交流将是回合制的,我们基本上是在说,嘿,在每次交流后返回此格式,这就是所谓的输出格式规范,这基本上是在您的提示中告诉 AI 模型您希望它给您的输出,所以这是我们将一直使用的一种技术,我们将强制它为我们提供结构化输出,我可能不应该使用结构化输出这个词,因为它在与 AI 模型一起工作的上下文中实际上有其他含义,但您可以看到这里,我们基本上是在要求 AI 模型返回项目名称、项目描述,我们将与它一起处理目标受众,我们希望定义我们期望的功能,好的,所以这就是我们将要告诉 AI 我们实际上想要在我们的应用程序中确切的内容,我们甚至会给它一些设计任务,所以关于设计的一点说明,AI 模型在设计方面仍然不是那么好,这仍然是它们需要很长时间才能掌握的东西,这有点讽刺,因为在很多方面,今年它们开始在代码方面变得非常出色,比如它们真的是像竞争性程序员中的前 0.1%,所有这些模型都是如此,01 Pro 绝对是,但它们的设计有些基础,但它仍然足够好,可以开始,而且肯定不算差,但您可以通过指定您想要的语言等来积极影响设计,当然,这也会受到您的目标受众的一点影响,但当我们实际使用这个提示时会发生什么,我们将说,嘿,我们将继续迭代和完善这个请求,直到它完成并准备好,所以这基本上将是我们与某种 AI 模型互动的东西,有趣的是,这将是我们不与 01 Pro 使用的提示,因为任何时候您在做一些非常回合制且轻量级的事情时,您都不想使用 01 Pro 的全部功能,它将非常慢,而且对于该任务来说有点大材小用,所以我们将使用 GPT 40,在 Chad GPT 的标准内,实际上是针对这个的,但一定要仔细阅读这个提示,稍微研究一下,当我们进入应用程序部分的步骤一的时候,这个会再次派上用场,所以让我们实际移动到我们工作流程中的下一个提示,一旦我们从 AI 模型那里获得了请求提示生成,我们就继续进行规格提示,所以规格提示只是文本规格的缩写,技术规格,这就是我们将根据我们的审查提示构建一个更健壮、更详细的规格的地方,所以暂停这个视频并快速阅读一下这个提示,您会注意到的一件事是,我们实际上将我们的项目请求直接输入到规格提示中,所以我提到这些提示中的每一个都会相互建立,它会使用我们使用的旧提示的答案和生成,这是第一个例子,所以我们实际上要做的是,我们将从请求提示中从 AI 模型那里获得的最终请求,我们将将其注入到我们的规格提示中,所以您会看到我们正在使用这些标签,这被称为 XML 提示,您可以提供给 AI 模型输入的一件事是,您可以将它们包含在这些括号中,进入 XML 标签,它只是帮助模型识别上下文片段,特别是如果它们很大,所以您会注意到这是我们在 01 Pro 系统中相当频繁使用的模式,所以您在这里要做的一件事是,您将再次在此处输入您的请求,我们将通过实际的实时示例来完成这个,而且会发生的是,您的审查提示或您的请求结果,有太多提示了,我必须确保我给你们提供正确的信息,所以您的请求结果将在这里,第二个提示将使用它来生成规格,这并不是这个模型或这个提示将用于生成规格的唯一信息,它还将接收项目规则和入门模板本身,所以让我们稍微谈谈项目规则,因为这是您必须学习的这个工作流程中一个非常关键的事情,这不仅对这个工作流程特别有用,对于您做的任何涉及 AI 和代码生成的事情都很有用,所以如果我们回到这个项目的 GitHub 存储库,您会看到的是,如果您能找到它,您会看到有一个 .cursor rules 文件,所以 Cursor 有一件事,它实际上正在被弃用,取而代之的是这个其他的 Cursor rules 格式,幸运的是,我们在该存储库中都涵盖了,所以无论哪种方式您都会没事的,但您可以使用 Cursor rules 文件的一件事是,您可以基本上将这些关于您的代码库的巨大规则文本文件提供给 AI,所以您可以看到这个 Cursor 文件,特别是 643 行,我们涵盖了一切,所以只是快速浏览一下,实际上有一件事您可能应该在这里做的是再次暂停视频,也许只是浏览一下这个文件,然后我们会回来,所以希望您实际上已经看了,所以您可以看到我们在规则文件中做了各种各样的事情,我们给 AI 一点介绍,我们提供了我们使用的技术栈的上下文,我们让它了解我们实际上喜欢如何构建我们的代码,所以这将派上用场,因为它基本上会告诉 01 Pro,嘿,这就是我喜欢我的代码结构的方式,而且事实证明,01 Pro 实际上将以您在此处定义的方式编写代码,您可以让它变得非常广泛,您不必过于具体,但定义一些项目结构是有帮助的,然后您可以看到我们正在进入一些通用规则,我们正在谈论,嘿,这里有一些通用规则,这是我希望我的环境变量如何管理,这是如何,这是基于 TypeScript 的,所以这是我希望类型如何处理,您可以看到我们甚至在做一些事情,比如给它代码示例,看看我们实际上希望代码如何编写,而且事实证明,当您给 AI 代码示例时,这是对一些少样本提示的运用,它实际上会遵循您希望代码编写的风格,您可以看到我们正在做前端代码,所以这是我们希望组件如何处理,这是我们希望事物如何组织,这是我们希望数据如何获取,您知道有客户端组件和服务器组件,我们正在给它两者都提供代码示例,我不会详细介绍整个内容,否则我只是在读这个文件给您听,这可能非常无聊,但您可以看到,我们正在为付款添加一些规则,为存储添加规则,当我们到达 Superbase 和存储时,这是我们用于存储的所有规则,而且当模型生成技术规范时,如果您提供该规则,它将对它需要生成的实际文本规范有更好的感觉,所以我们将如何做到这一点,我们将提供我们的请求,作为我们想要的上下文,我们将提供这些规则,所以它知道,好吧,这是我应该如何实际构建这个东西,这是创建者想要使用的技术栈,等等,然后我们还将通过存储库提示提供整个入门模板,所以整个存储库,我们将提供它,我想说大约 40,000 个 token 的入门应用程序,然后规格将能够查看我们的代码并知道如何进行,所以这就是我们将输入到规格提示的所有上下文,这很酷,然后您可以看到我们正在变得非常详细,我们给了它 11 件不同的事情,我们希望它来处理,您可以看到我们甚至要求它将它的思考过程包装在规格规划标签中,所以这是我们开始使用 01 Pro 时的一些有趣的事情,这是一个推理模型,所以它本身就已经会使用所谓的推理时间计算来实际思考答案,有些人不建议这样做,我完全不同意他们,我认为您应该两者都做,我认为这实际上会带来更好的答案,所以您在这里看到的一件事是,您可以看到所有这些提示都非常,你们都可以通过查看所有这些提示来学习很多关于提示的知识,顺便说一句,我对这些结果非常满意,所以您可以看到我们正在再次定义输出,我们正在说,嘿,这是我们想要的所有不同的东西,而且我们非常全面,我们正在说,嘿,确保它定义了数据库应该如何设置,您可以向下看,这是我们希望我们的身份验证如何设置,再次,它将从这些规则中提取,它将从起始代码中提取,它将从您刚刚通过请求提示生成的请求中提取,然后您可以看到在最后,我们基本上告诉 AI,嘿,我们希望规格非常详细,包括示例,我们希望它以规范规划开始,这就是我刚才谈到的关于这个规范规划标签以及迫使它思考它,我们正在做所有这些不同的事情,您将看到这些相同的技术也用于即将到来的提示,所以再次,这是我可以坐在这里喋喋不休一整天的事情之一,但如果我们开始使用它会更有帮助,但一定要花时间查看这些提示中的每一个,否则您可能会错过一些细节,所以让我们继续前进,这样我们就可以越来越接近实际构建我们的应用程序,在我们实际上进入代码生成提示之前,我们需要使用的最后一个提示是规划器提示,所以这是形成 AI 如何实际找出它需要传递给代码生成的所有步骤的三步,抱歉,三步,请求,规格,以及规划器,您将这三者的结果中的每一个都输入到代码生成提示中,所以让我们谈谈最后一个,规划器,所以规划器在这里要做的是,您可以看到在最开始,我们正在进行基于角色的提示,所以我们说您是一个 AI 任务规划师,负责将一个复杂的 Web 应用程序开发项目分解成可管理的步骤,所以再次,快速暂停视频并阅读其余的提示,现在您可以看到我们正在做的事情与我们在规格提示中做的事情非常相似,我们正在传递我们之前从 AI 那里获得的结果,所以 01 Pro 将给我们这些结果,我们将把它们传递到我们的新提示中,我们将继续迭代,所以您可以看到我们第一个请求提示中的项目请求正在被传递,项目规则,我们正在做与规格提示相同的事情,项目,在哪里,项目规则,我们还将传递入门模板,就像我们对规格提示一样,我们将要添加的新东西是技术规格,所以这将是您从规格提示中获得的结果,所以您基本上会将我们之前使用的所有四件事都用于形成规划器提示,而 AI 任务规划师在这里要做的是,它将创建一个详细的步骤计划,该计划将指导基于提供的文本规格的完全功能的 Web 应用程序的代码生成过程,所以我们在这里真的试图非常具体,我们想要什么,再次,您会看到如果我们向下滚动,您会看到我们继续定义模型作为此提示结果返回给我们的输出,在这种情况下,我们想要一个实现计划,对于实现计划,我们想要的是一系列步骤,所以希望您阅读了此提示,您可以看到我们的方向,但这里的想法是,我们将为 AI 模型,在这种情况下是 01 Pro,决定我们需要完成的任务分解的所有不同步骤形成此步骤格式,然后我们将要做的是,对于代码生成提示,下一个即将到来的提示是,我们将把这些步骤中的每一个都输入到代码生成过程中,而这基本上将是 AI 将要做的任务,一次一个步骤,我们将继续与 01 Pro 进行迭代,直到它构建出我们的应用程序,所以这基本上是规划器提示的要点,您基本上试图将您之前所做的一切都输入到这个规划器提示中,它将吐出一个实现计划,然后您将把所有这些数据,包括请求,包括规格,包括计划,最终将其输入到下一个提示,即代码生成系统,到目前为止,一切都基本上是为了我们的代码生成提示,所以让我们谈谈这个家伙,但在我们谈论它之前,让我们让您暂停视频并阅读它,所以您可以看到这里,我们再次在最开始使用基于角色的提示,我们在这里给 AI 一个角色,在这种情况下,我们说您就是一个 AI 代码生成器,负责构建一个 Web 应用程序,然后我们给它它的任务,即一次一个地系统地实现计划中的每个步骤,所以我们将比以前的提示更深入地研究这个提示,因为这是真正重要的提示,它将真正让您获得您想要的代码生成结果,所以在这里快速开始,您可以看到,再次,我们正在使用从以前的步骤获得的所有结果,我们正在回收它们以继续构建我们的上下文,基本上给 AI 尽可能多的上下文,关于我们真正想要什么,所以您可以看到项目请求仍然被输入,项目规则仍然被输入,文本规格,这次我们添加了我们刚刚从规划器提示获得的实现计划,这次不是入门模板,所以您会记得以前我们一直在输入入门模板,那么现在在代码生成步骤中发生的是,在这一点上,您应该已经拥有正在经历这个迭代步骤过程的现有代码库,所以对于第一步,它将是起始模板,因为您还没有让 AI 真正编写任何代码,但一旦您进入第二步,您想要确保您做的是,您想要确保现在您正在输入更新后的代码,当然,我们将在不久的将来向您展示如何做到这一点,所以我们要告诉 AI 的下一件事是,我们说嘿,您需要从计划中识别下一个未完成的步骤,所以会发生的是,我们将向 AI 输入我们的实现计划,这就是所有这些不同的实现步骤将是什么,并且当我们持续迭代这些步骤时,通过代码生成提示,会发生的是,我们将在每个步骤的末尾添加一个 X,并且您希望继续将整个计划,甚至已完成的步骤都提供给 AI,因为当您开始创建新的聊天时,它会让 AI 知道,哦,好的,这是我以前实际做的事情,所以它会更清晰地了解它从头到尾做了什么, whereas if you kind of get rid of those steps and just delete them as opposed to just adding an X here to mark that they were checked off, you're going to lose some of that really important context, 所以我们要求 AI 模型识别下一个未完成的步骤的原因是,如果我们做好了我们的工作,并且我们标记了哪些已完成,您可以看到我们说,嘿,标记为,这是 markdown 的待办事项上下文或格式,如果您不熟悉的话,所以这只是让 AI 知道它需要处理的步骤,然后我们将说为该步骤中的所有文件生成必要的代码,所以当您通过规划器提示分析时,您可能会读到,我们要求 AI 模型做的一件事是识别哪些文件实际上需要被编辑,而这只会给代码生成步骤提供一些关于它需要处理的实际文件的上下文,然后最后但同样重要的是,当然是返回生成的代码,所以我们在这里指定的一件事是,我们说嘿,实现计划是一个建议,通过说它是一个建议,我们正在阻止模型陷入不正确的思考,因为比如说,我们的规划器步骤错过了一个文件,或者说我们的代码生成提示在运行的时候,当它实际编写代码时,它意识到哦,事实证明我实际上需要另一个文件,通过说计划是一个建议,它基本上给了模型权限,可以超出计划的范围行事,所以它不觉得它必须只做计划所说的,您基本上是在说,嘿,它是一个指南,但如果您需要绕过它,请随时这样做,然后我们要做的是,对于您修改或创建的每个文件,您必须完成文件的全部内容,所以这非常重要,因为这个工作流程将如何运作,您基本上只会复制粘贴 01 Pro 为您所做的,然后您将其作为文件粘贴到您的代码库中,您将为它生成的或更新的每个文件执行此操作,我们之所以需要完整的文件代码,是因为这样您就不必每次编辑某事,每次创建某事时都要弄清楚一切都放在哪里,它将为您提供完整的文件代码,因此您可以直接复制粘贴,这使得过程非常顺畅,所以您可以看到每个文件都应该用代码块包装,并以其文件路径作为标题,所以这是我们将要做一些有点不寻常的事情的地方,我认为这非常有效,特别是如果您是初学者,如果您是更高级的人,您可能不想使用我在这里要教的注释技术,但我认为它实际上非常有帮助,因为它允许模型在您注入当前现有代码时,每一步它都能做到的是,它能够阅读一个文档非常好的代码库,以便它能够编写更好的代码并对代码库有更好的全面理解,所以我在谈论的是什么技术,所以您会看到在这里,在每段代码的开头,您都会看到您要求模型做几件事,所以基本上它必须生成文件的描述,它必须识别文件的关键功能,它必须识别文件的依赖项,然后有一个额外的记事本区域,它可以写更多的笔记,您还定义了一些文档要求,这将添加诸如注释之类的东西,您的所有代码,您希望它记录类型等等,您可以看到甚至文件级别的文档解释了目的和范围,这就是这个的作用,然后在这些注释下面,您说,好吧,用广泛的内联注释和文档编写其余代码,所以当我们实际上开始构建应用程序时,您就会明白我的意思,这取决于您是否喜欢这个,我建议,即使您不喜欢它生成的所有注释,并且您不想将它们保留在您的代码库中,我认为它至少在生成步骤中很有帮助,因为注释几乎就像额外的思考 token,它们将能够指导模型编写更好的代码,所以这就是关于那个的我的长篇大论,当我们实际上开始构建应用程序时,我们将更多地谈论它,所以您可以看到,然后我们基本上是给模型更多的指导,一次只处理一个步骤,包括所有代码,确保它遵循我们的规则,确保它遵循我们的文本规格,所有这些东西,然后我们基本上只是说,开始识别计划中下一个未完成的步骤,我之前已经提到过,但不断地向模型重申它必须做什么,永远不会有害,然后生成所需的代码,您可以看到再次,我们正在重申完整的文件内容和文档,我们还做的是,在每个文件之上,您将看到当我们实际上开始使用 01 Pro 时,为什么这如此有用,但我们说的是,我们还希望您说,这是我所做的,以及为什么,因为我们想确保我们在使用 01 Pro 进行此工作流程时,我们实际上保持对我们代码中实际发生的事情的某种程度的理解,会发生什么,您会知道,人们可能听说过“氛围编码”这个词,当您进行氛围编码并且只是接受所有这些 AI 生成时会发生什么,突然您的项目膨胀了,您最终会陷入一个您不知道发生了什么的地步,所以当您有“这是我所做的以及为什么”的解释,对于这些文件中的每一个,您可以阅读它,所以当您将这些东西复制粘贴到您的代码库中时,您实际上是在学习发生了什么,这对于实际构建这些应用程序非常有帮助,特别是如果您正在构建一个真实世界的项目,比如一个企业或初创公司,您有付费客户,您想了解您的代码库,所以强烈推荐传统的代码生成提示,这就是我们将在本次研讨会的其余部分中使用的,但如果您感觉有点疯狂,请务必查看 XML 版本的此提示,以及我提供的有关工作流程的视频,如果您想变得有点疯狂,最后但同样重要的是审查提示,这个实际上有点可选,我喜欢将这个提示视为一种清理步骤,您将在代码生成迭代的所有不同步骤完成后使用审查提示,所以基本上当 AI 完成构建您应用程序的初始版本的绝大部分时,您可以运行审查提示,看看是否可以获得一些清理建议的帮助,一些事情,也许在所有不同步骤的实现之后,模型基本上说,嘿,您可能可以清理一下,您可能可以优化一下,也许可以将这些东西移到一起,如果这有点重复,所以这就是这个提示的目标,所以您可以看到,与规划器提示不同,让我们快速看一下规划器提示,所以与规划器提示,我们正在生成这些实现步骤,所以审查提示将输出非常相似的东西,即优化计划步骤,看起来与您从规划器提示等获得的结果非常相似,而且这在直觉上是有意义的,因为当我们从 AI 模型那里获得响应时,一旦 01 Pro 完成了对您的东西的审查,并制定了计划,您就可以回到代码生成提示一次,这次不是使用实现计划,您实际上将审查计划而不是实现计划,您将做与实现计划相同的事情,除了您将在所有这些优化步骤上运行它,所以这是一个可选的步骤,我不确定我们实际上会做多少,我认为我们实际上可能会生成审查提示,然后我可以向您展示您会做什么,因为这是一种可以用来清理一些东西的奖励任务,优化一些东西,但它不是,它不是获得 MVP 版本应用程序的必要条件,它有点像一个伸展目标类型的东西,所以我们将在此结束,显然,再次暂停视频并实际阅读此提示,所有这些提示的优点在于它们是基于指令的,因为它们非常清晰,所以很容易弄清楚它们在做什么,所以让我们结束提示部分,让我们把它包装起来,让我们实际开始设置您开始构建应用程序所需的所有不同东西,我们现在将开始进行项目设置,所以现在我们终于在唠叨了很长时间之后,我们将开始构建东西,您需要去这个项目的 GitHub 存储库,我们将为您提供链接,取决于您在哪个平台,但一旦您进入这个页面,当然,您会看到它现在是锁定的,我会在视频上线后将其公开,但这就是我们将克隆代码并获取入门模板的地方,您会记住我们刚刚查看的所有不同提示,它们都有入门模板,这就是入门模板的来源,所以只是提醒一下,将来您可能想使用我的标准 McKay 的应用程序模板,我将随着时间的推移保持它的更新,我大约每周添加一两次,但为了本教程的目的,我们将继续在这个 01 Pro 模板系统存储库中工作,因为我可以将其冻结在时间里,以便观看此视频的每个人都将使用与我相同的版本,以及此视频的当前状态,所以您要做的就是点击这个绿色的代码按钮,您将复制此 URL,您可以选择将代码库下载为 zip 文件夹,我建议您开始熟悉 Git,它不像看起来那么棘手,所以一旦我们将其复制到剪贴板,我将在 Mac 上,所以我将滑动过来,我只是在我的 Mac 终端中,所以您只需要在您正在使用的任何操作系统上打开您的终端,当然,如果您愿意,您可以在 Cursor 中完成此操作,但我将要做的是,我将输入 git clone,然后粘贴我的 URL,我将称之为,我将称之为 01 Pro 工作流程教程,显然您可以称之为任何您想要的名字,这个最后的参数将定义您的文件夹名称,所以我将按回车键,您可能想称之为您的应用程序 ID 或您的应用程序名称或类似的东西,我将要做的是,我将输入 cd,代表更改目录,我将输入这个,所以如果我只输入 o1,我实际上只会按 Tab,因为我有自动完成功能,但您只需要输入您想要的文件夹名称,您将在您喜欢的 IDE 中打开该目录,我们将使用 Cursor,我有一个快捷方式,所以我将输入 cursor.,这实际上将打开我的 Cursor,您很可能在您的计算机上没有这个快捷方式,所以您只需要打开 Cursor 或 Wind Surf 或您使用的任何代码编辑器,我仍然推荐使用 Cursor,我认为 Wind Surf 真的很好,所以如果您使用 Wind Surf,我不会因此而生气,我认为只要您使用其中一个即可,但出于演示目的,我们将使用 Cursor,所以请确保您打开 Cursor 中的那个文件夹,我将使用我的快捷方式,您应该能够看到从这个链接下载的代码库,所以这就是我们所说的克隆存储库,您应该在 Cursor 中打开它,您应该能够看到存储库链接上主分支上当前状态的所有代码,所以我们在接下来的几节课中将要做的是,如果您点击 env.example 文件,您会注意到我们有很多环境变量,这是一个非常重要的学习内容,我将开始讨论环境变量,同时处理安全性,所以您需要确保的是,您看到的这里的所有值,您都想保密,您想将它们保密,您需要将它们视为密码,举个例子,如果您泄露了您的 OpenAI API 密钥,会发生什么,任何人拥有该密钥,所以比如说您不小心将其上传到您的代码库,或者您在社交媒体的截图中分享了它,那么会发生什么,坏人可以拿走您的密钥,他们可以耗尽您账户中的积分并将其用于自己的目的,所以我们如何解决这个问题,在代码库中,我们将创建一个称为 .gitignore 的东西,这已经为您处理好了,所以您不必担心,但您在这里看到的一件事是,在我们的 .gitignore 中,您实际上有这一行,它说 env.,这基本上意味着任何 env.local 文件,我们将忽略它,并且我们不会将其添加到我们的 git 存储库中,所以您需要做的是,我们将打开我们的终端,在 Cursor 中,您甚至可以打开底部的面板,然后我们将进入终端,我们将输入 cp,代表复制,然后我们将输入 gov.example,所以我们将复制我们的示例文件,并将其复制到 env.local 文件中,然后我们将按回车键,您将看到左边的文件浏览器,这将创建一个 env.local 文件,其中包含与示例文件相同的所有值,所以我们现在可以关闭示例文件,您会看到这里的文件浏览器中,它被灰显了,它被灰显是因为它在我们的 gitignore 中,这意味着这个文件永远不会被推送到我们的代码库,这意味着它永远不会被上传到 GitHub,假设您正确使用了 gitignore,我们已经为您处理好了,这是非常标准的,如果您使用入门模板,几乎总会保证其中包含这个,所以我们现在需要做的是,在这些即将到来的课程中的每一个中,我们实际上需要获取每个服务的相应密钥,所以在我们实际做之前,我们将再做几件事,我们将安装我们在这个包或这个代码库中使用的所有软件库,在这个 package.json 文件中,您可以滚动并查看所有这些,所以我们将要做的是,在我们的终端中,我们将运行 npm install,有些人可能需要运行 npm install --force,我将与您一起这样做,我们将运行这个,这将安装我们项目将要使用的所有开发依赖项和所有标准依赖项,您可以看到一旦完成,这个消息就会清除,您会重置,所以我可以输入 clear 并按回车键,然后清理一下,现在我们已经安装了我们需要的一切,您应该能够做的是,您应该能够运行 npm run dev,如果我实际上将 localhost:3000 拉进来,所以您应该看到,好的,看起来我实际上有一个正在运行的应用程序,忽略我现在正在做的事情,忽略这个,我将再次运行命令,让我实际清除一下,好的,所以忽略我刚才做的事情,npm run dev,这应该实际上在 localhost:3000 上运行它,太棒了,您应该希望看到的是,您应该希望在您的浏览器中看到这个 Receipt AI 应用程序在您的 localhost:3000 上运行,您会遇到一些问题,您可能会收到错误消息,可能是因为密钥没有被注入或其他什么,所以比如说如果您点击这个仪表板路由,它实际上会构建该路由,您会看到我们收到 404 错误,这是因为我们的代码库中还没有这个,所以会发生的是,这就是我们将要使用的这个工作流程将要构建我们的应用程序的地方,以构建这个 Receipt AI 应用程序,所以我们显然需要去获取这些环境变量并为每个服务注册,我将引导您完成所有这些,但这应该就是您需要做的所有事情了,所以我将继续,然后结束这一部分,我们将开始注册 Superbase,我意识到在我们实际讨论 Superbase 之前,我们应该让您注册 GitHub,所以让我们开始吧,您需要去 github.com 注册一个账户,您可以免费创建一个账户,所以创建您的 GitHub 账户后,您可以转到 github.com/new,这将带您到新的存储库区域,这就是您将创建自己的代码存储库的地方,这就是您的项目代码将存储的地方,您可以随意命名,所以我可以将其命名为 01 Pro tutorial video,就像我为文件夹做的那样,您绝对需要将其设为私有,它默认为公共,所以请确保您的设置为私有,当然,您可以稍后将其设为公开,如果您想做开源的事情,那很棒,强烈推荐这样做,特别是对于那些试图有所作为的创作者来说,通过开源可以为 AI 社区添加很多很棒的实用功能,所以如果您想做一些有趣的开源项目,并且真的

认识一些人,肯定会推荐做一些开源的东西,但我们要做一个私有项目,然后你会想点击“创建仓库”。这将启动你的仓库,然后你会看到一个看起来像这样的菜单。对于初学者来说,这看起来非常令人困惑,我保证它不是。我将向你展示你需要做什么。对于有经验的开发者来说,你们显然知道该怎么做。所以我们要在这里做的是,我们要回到我们的项目,然后我实际上会点击这个小加号按钮,只是为了在这里创建一个新的终端,这样我就可以让我的应用程序在本地主机 3000 上运行在一个终端窗口中,然后在另一个窗口中,我可以做一些 Git 的事情。所以我要做的是,因为我们从我的模板克隆了这个仓库,如果你输入 `git remote -v`,它会显示你的分支。所以你应该能看到“origin”,因为你克隆了。所以你要做的是,你要输入 `git remote rename origin upstream`。这将把你的 origin 分支重命名为 upstream。好的,我们不会在这里涵盖 Git 工作流程,因为我不想让你们感到困惑。这只会让你们更容易设置。所以如果你遇到一个有趣的事实,这实际上是一件很棒的事情,我意识到我已经有一个 upstream 了,因为我实际上正在使用一个与我刚刚克隆的不同的仓库。所以如果你实际上在光标这里,这里有一个快速的光标奖励技巧,如果你实际上在控制台中遇到这个错误消息,我能做的一件事就是把它添加到聊天中,然后说“请删除 upstream”,然后看看会发生什么。所以这是使用光标或如果你使用 Wind Surf 的伟大之处之一,你拥有这些嵌入在你代码仓库中的 AI 工具,你可以直接向它提问关于代码的问题,你可以得到答案。所以如果你是某人,特别是如果你是初学者,光标是一个很棒的工具,不仅仅是因为代码生成的原因,就像我这样的专业开发者一样,我显然想用它来写代码,但也是为了在聊天中理解代码,以及类似的东西,它可以非常有帮助。所以就像看这个,它基本上给了我需要的命令,我只需要点击运行。这将在我的终端中运行它,然后我在这里可以做的是,我可以继续运行我之前尝试做的命令,现在它奏效了。所以如果我按向上箭头键回到 `git remote -v`,你会看到我们现在有一个 upstream,它解决了问题。好的,一个快速的光标技巧给你们。但我们现在实际上可以做的是,正如你在这里看到的,你可以实际执行 `git remote add origin`。所以我们实际上可以做的是,我们可以粘贴这个,然后按回车键,这将把这个添加为我的 origin。然后你们将要做的是,你们将要复制这个。这将创建一个名为 main 的 Git 分支,然后它将把它推送到你的 origin 的 main 分支,这只是指向你的代码库的链接。然后会发生的是,你会看到这个。一切都完成了。现在如果我们刷新仓库,你可以看到所有的代码都在这里,你会看到你的代码在这里,这就是你的代码将要存在的地方。这一点非常重要,因为当我们进入提示系统中的代码步骤时,我们将把每个步骤提交,以保存我们的进度,你将要确保你为此使用 Git。所以确保你到达这一步,确保你把你的代码上传到 GitHub,你就可以准备好了。我们将一步一步地在这里进行,在我们的 `.env.local` 文件中。好的,所以如果你不在这里,请确保你打开这个文件。记住,这是我们从示例环境变量复制到这个本地文件的文件,这样我们的应用程序就可以实际注入这些。另一个提醒,记住这些是秘密。我们会经常重复这一点,因为我们一路走来,只是因为我真的想确保没有初学者被烧伤。另外请注意,相信我,我非常清楚环境变量是如何工作的。我将在这里向你们展示我的环境变量,尽管我告诉你们要将它们视为秘密,因为我经常这样做,我知道如何做这些教程。在我实际发布之前,我会删除我所有的密钥并重置它们。所以会有一些有经验的开发者会说“ McKay,不要发布你的环境”,这完全没问题,伙计们,在它上传之前我会删除这些,我们都很好。我感谢你关心我,但相信我,我知道我在做什么。但为了你的利益,请确保你不要与任何人分享这些,因为我们在这里经历的事情不同,所以总是默认将其保密。好的,那么让我们去获取我们的 Superbase 变量,所以那将是这个 DB 变量和我们的 Superbase 变量。所以我们要做的就是,我们要去创建一个 Superbase 账户。所以你需要做的是,你需要去 `superbase.com`。你将能够为这个项目使用他们的免费套餐。所以 Superbase 将是我们不仅用于我们的数据库,我们将使用一个 PostgreSQL 数据库,这是一种非常流行的 SQL 数据库。你们中许多熟悉 AI 编码工具的人可能已经熟悉 Superbase,因为你知道许多流行的 AI 工具,比如 Bolt,例如,使用 Superbase 和类似的东西。所以这是一个非常流行的工具,我们将使用 Superbase 的数据库,PostgreSQL 数据库,我们还将使用 Superbase 作为我们的存储。所以我们可以做像上传收据到 Superbase 存储这样的事情,这会非常好。所以请确保你注册一个免费账户,然后我马上回来。好的,一旦你设置好了你的账户,你在这里要做的是,你需要在你的一个组织中创建一个新项目。所以在这个例子中,我将创建一个新项目,我将称之为“01 Pro Tutorial”。我称之为“01 Pro Workflow Tutorial”,我认为我一直在用这个。你应该在这里使用微型尺寸。如果你使用的是免费账户,我认为你有两个这样的。我是一个专业用户,所以我的会显示额外的计算成本,因为我有许多不同的项目。然后你要做的是,你要点击“生成密码”,或者你可以自己创建一个。我建议生成一个,它更安全。然后你要复制这个值。这就是秘密开始的地方。所以请确保为了你自己,不要暴露这个。但我只是暂时把它粘贴到我的环境变量文件中。我们将在接下来的步骤中需要用它做一些事情。你要选择一个离你近的区域。所以我将默认使用西部美国,因为它离我比较近。然后你要点击“创建项目”。Superbase 将为你启动一个项目。他们将设置好你的数据库,他们将设置好你需要的一切。你可以看到有一个小旋转器说“正在设置项目”。你只需要稍等片刻,让它运行。通常需要 2 到 3 分钟,然后我们会回来。所以正如你所见,我的项目现在已经设置好了。你可以看到它是一个微型实例。看起来我的项目状态仍在解析中,但我们将继续。这应该很快就会完成。我们要确保我们获取我们的环境变量,以便我们能够工作。所以这是你需要去的地方。在最上面,你会看到我们有一个“连接”按钮。你要点击那个按钮。这将弹出一个小弹出窗口。我们实际上要做的是,我们正在使用一个 ORM。我们不会在这个视频中深入介绍 ORM,只是为了降低复杂性。但你会看到我们有一个 ORM。我们要点击它,然后从 Prisma 切换到 Drizzle。所以我们将在这个特定的模板中使用 Drizzle。你实际上要做的是,你要复制引号之间的这段文本。所以你要复制这个,然后你要把它粘贴到“数据库 URL”那里。你要像这样精确地粘贴它。你应该看到,我只是在这里换行。你可以看到这真的只有一行,它只是被换行以便能在这里显示。然后你要做的是,你要剪切这个。光标标签一直在试图预测我正在做什么。你要剪切你设置步骤中生成的密码。你要删除你的密码,连同那些括号。删除,然后你要粘贴你的密码。所以你应该有一个数据库 URL 字符串,看起来像这样。记住,不要放那些引号。确保你输入你的密码,然后你就可以准备好了。所以现在我们只需要获取。我们实际上只需要获取这两个值。我们实际上现在还不需要使用它。甚至有可能,取决于 AI 会做什么,我甚至可能会在你们看到它之前删除它。但我们肯定会获取这两个值,现在使用。所以你要做的是,你要点击“项目设置”。你要去“配置”,然后你要点击“数据 API”。所以一旦你进入数据 API,你会看到“项目 URL”。所以你要复制它,然后把它粘贴到这里的“项目 URL”。然后你要去“项目 API 密钥”,然后你要获取这个“服务角色密钥”。你可以看到他们再次强调这是一个秘密。确保所有这些值都保密。你要点击“显示”,复制那个值。这就是你的角色密钥。你要把它粘贴在那里。确保你保存文件。现在你应该有了你的数据库 URL、你的 Superbase URL 和你的 Superbase 服务角色密钥。我们应该一切就绪,能够设置我们的数据库内容,一旦我们开始处理应用程序。所以现在让我们继续处理 Clerk 进行身份验证。接下来,我们将使用 Clerk 进行身份验证。所以我要收到的一个问题可能是很多,为什么是 Clerk 进行身份验证而不是 Superbase?我们已经有一个 Superbase 账户了。我认为 Clerk 功能更全面。Clerk 本身就是一个身份验证产品,而 Superbase 是一个多合一的产品。所以我认为 Clerk 在很多方面都更深入。我将要注意的一点是,如果你有一个病毒式传播的应用程序,并且有免费用户,Superbase 在定价方面可能更好。在这种情况下,Clerk 的定价可能会有点贵。但如果你要做一个 B2B 工具,你是一个试图真正做一个 B2B 产品或类似的东西的人,Clerk 在这方面功能更全面。所以无论你的决定如何,我们显然会在这段视频中做 Clerk,但实际上这两种方法在实践中都很好。但请确保你注册一个免费的 Clerk 账户,然后我们就可以开始。好的,就像 Superbase 一样,Clerk 有一个非常慷慨的免费套餐,足够我们在这个教程中需要的一切。所以我们要在这里做的是,你应该有你的组织。你应该进入“创建应用程序”屏幕。我们将创建一个新的应用程序。我将继续将其命名为“01 Pro Workflow Tutorial”。你可以选择所有这些不同的身份验证方法。所以他们有内置的 Clerk 的所有这些不同的方法。我将只保留电子邮件和 Google 作为开始。这些显然是世界上最流行的身份验证方法。大多数你将在宇宙中看到的应用程序都将使用这两种。所以我们将继续创建我们的应用程序。这将启动一个身份验证实例。你实际上不需要担心这一步。我们已经为你安装好了。这是在我们进行代码设置步骤并进行 npm 安装时完成的。它已经处理好了。你需要做的是,你需要去第二步。你需要设置你的环境变量。所以你将点击这个复制按钮。我们将回到我们的代码。我们将突出显示这两个值,然后我们将直接覆盖它们。我们将拥有我们的 Clerk 可发布密钥和我们的 Clerk 密钥。我将继续烦人地重复这一点。确保你保密这些值。然后这些只是配置选项,它们将使你的注册体验更好。所以只是不要删除它们,因为它们与我们模板中的身份验证设置方式配合得很好。好的,一旦你有了这些,你应该一切就绪。我们的中间件实际上已经更新了。我们已经在我们的应用程序中有了 ClerkProvider。再次,这是,你知道,当我谈论模板有多方便的时候。如果我们进入我们的应用程序代码,进入这个布局,你会看到我们已经设置好了 ClerkProvider。所以当你使用模板并开始新项目时,不必一遍又一遍地做这些事情会非常方便。这就是为什么开始使用模板如此有帮助。我实际上认为非常有价值的一件事是,显然你非常欢迎使用我的模板。它是开源的,免费的,MIT 许可的,这意味着它非常宽松,你可以用它做任何你想做的事情。但制作你自己的模板可能很有帮助,因为你可能不喜欢某些结构的组织方式。也许你使用,也许以身份验证为例,你使用 Superbase OAuth 而不是 Clerk OAuth。所以你的模板会与我的不同。所以无论如何,这只是关于模板的力量的一个小小的题外话。但你应该能够做的是,如果我们实际上让我快速打开我的应用程序。本地主机 3000。提醒一下,如果你实际上需要构建你的应用程序,你可以运行 `npm run dev`。这将运行你的开发环境在本地主机 3000 上。你应该能看到应用程序。现在,有了 Clerk,你应该能够登录了。现在你已经输入了你的环境变量密钥并创建了你的 Clerk 应用程序,现在应该可以登录了。所以如果你实际上点击仪表板中的“用户”,你会看到没有用户。所以我要做的是,我要去登录。你可以看到我们现在正在为教程获取登录信息。所以我们可以创建一个电子邮件或使用 Google 进行身份验证。我将快速使用 Google 进行身份验证。好的,我通过了 Google 身份验证屏幕。我只需要验证我是一个人类。显然,这将带我们回到应用程序。你会看到右上角有一个小用户图标。所以你可以看到,这是我的 Takeoff 电子邮件。我已经登录了。我们去用户那里,点击刷新,我们应该看到一个用户。好了,我们现在有了身份验证。多酷啊。所以我们现在有了数据库设置,身份验证设置,让我们开始设置付款,这样你们就可以实际获得付费客户了。当我们谈论所有这些设置和技术栈时,有一点需要注意。在 Takeoff,我们有“使用 AI 构建全栈应用程序”课程。所以如果你感到有点迷茫,想深入了解其中一些内容,这是一个大约 8 小时的课程。你当然不需要上完整个课程,如果你想深入了解的话。但我们的第一部分,“技术栈”部分,是一个 41 分钟的部分。然后我们的“你的第一个应用程序”部分,更深入地介绍了我们正在谈论的所有内容。所以设置前端、GitHub 和环境变量、后端等等。我们在这里都涵盖了。许多人发现这非常有帮助,特别是初学者,他们会学习光标课程,然后学习“使用 AI 构建全栈应用程序”。我们显然在这里试图做这个免费版本,以帮助尽可能多的人。但对于那些说“哇,我真的想深入了解一下”的人来说,这确实是一个杀手级的资源。所以接下来,我们将跳到 Stripe。这就是我们将用于付款的。Stripe 的好处是你可以很快注册。所以快速注册一个账户,然后回来。好的,一旦你有了账户,Stripe 的好处是你不需要输入你所有的业务细节等等。所以如果你想,“我实际上不知道我是否想向人们收费”,你可以跳过这个。至少你可以只使用测试模式,这正是我们要做的。这非常好,因为你不需要注册一个企业,就像我说的,你可以直接开始使用你的 API,并在你的开发环境中进行本地测试,这非常棒。所以我将在这里创建一个新账户,并称之为“A1 Pro Workflow Tutorial”。很好。这将启动一个新账户。我们将直接进入仪表板。你可以看到最上面写着“你正在使用测试数据”。要接受付款,请完成你的业务资料。所以当然,如果你想真正获得现场付费客户,你将不得不进入 Stripe 的实时模式。这包括,你知道,你将不得不完成你的业务资料,并实际注册 Stripe,并遵循 KYC 法规等等,这取决于你住在哪里。我们不需要为这个特定的研讨会做任何这些。我们只使用测试数据。我将向你展示你需要的密钥。如果我们回到我们的应用程序,你会看到我们需要一个 Stripe 密钥,我们需要一个 Stripe Webhook 密钥,然后我们将获取这两个付款链接,我们将用于 Stripe 结账链接,以便轻松添加订阅。所以我们将有一个月度计划和一个年度计划。好的,设置很简单。但到最后,你应该能够将我们在这里所做的一切连接起来,包括你的 Superbase 数据库、你的 Clerk 身份验证和你的 Stripe 付款,拥有一个基本的 SaaS,这很酷。所以让我们开始处理这个问题。所以你要在上面的搜索栏里输入“Dev”,然后去“开发者”。所以这是 Stripe 的开发者区域,我们将在这里获取我们的密钥。如果你点击“API 密钥”,你会看到我们有一个密钥。所以这是一个秘密的测试密钥。显然,所有环境变量都很重要。特别是 Stripe 非常重要。你想确保你的环境变量保持秘密,因为你不想让人们访问你的付款信息。这可能会非常糟糕。所以再次提醒一下。所以让我们复制我们的密钥。我们要做的就是,我们要把它粘贴到 Stripe 密钥那里。然后对于 Webhook 密钥,我们要做一些不同的事情。所以我们要使用 Stripe CLI。CLI 代表命令行界面。你需要做的是,当然,我们会为你提供链接。你需要把它安装在你的机器上。所以根据你的操作系统,你会有很多不同的选择。Stripe 有一些最好的文档。他们有世界一流的文档。所以你将能够很容易地设置好。你只需要按照这里的说明操作。我会在这些步骤之间插入一些内容,因为有些事情会有点棘手。有时你可能会暴露环境变量等等。所以我想在这里做的是,我想在教育你如何尽可能安全的同时,引导你完成这个过程。所以安装 CLI,无论你在哪个操作系统上。然后回来。在开始使用 CLI 之前,值得注意的是,你不一定必须在 CLI 上开发。你实际上可以直接在一个已部署的开发实例中开发你的应用程序,或者类似的东西。我们不会在这个视频中涵盖这一点。这有点超出了我们想要做的范围。我们试图让设置尽可能直接和简单。所以我们要做的就是,我们要去我们的终端。我要输入 `stripe login`,因为我已经安装了 Stripe CLI。我要点击这个,然后我们会切换到下一步。所以你应该得到一个配对码和一个链接。所以你要做的是,你要遵循那个链接。所以让我,这实际上刚刚在屏幕外打开了。所以我要做的是,这实际上只是在屏幕外引导我完成流程。我只是通过我的 CLI 登录,或者通过我在这里获得的链接。你应该看到,让我把它拖进来。你应该看到配对码与你的账户匹配,在测试模式下,与那个代码匹配。你应该允许访问。你应该获得访问权限。你可以关闭这个窗口,回到 CLI。好了,我们有一个测试账户的账户 ID。现在我们应该能够做的是,我们实际上要运行这个。我们要输入 `stripe listen --forward-to`。所以这将把我们的 Stripe 请求转发到本地主机:3000。所以这将是同一个服务器,我们的应用程序正在运行。我稍后会解释原因。`/api/stripe/webhooks`。一旦你输入了所有内容,你就可以按回车键。这将把你的所有 Stripe 请求转发到你的本地主机 API。我们之所以这样做,是因为我们之前提到了这一点。但如果你去你的 API 路由,我们实际上有我们的 Stripe API 路由,它将处理我们所有与订阅相关的事件。这真的很酷。所以它将转发到我们本地机器上运行的本地实例。我们将通过这种方式进行 Webhook。所以如果这对你来说有点复杂,别担心。你不会是唯一一个。用 Stripe 设置付款有时可能是最难学的东西之一。再次提醒,任何时候你有关于事情的问题,去光标或 Wind Surf 中的聊天,或者 ChatGPT 或任何你喜欢问 AI 问题的地方。然后问这个东西无数的问题,复制粘贴你的代码,它可以回答你关于付款的任何问题。我们还将向你展示如何解决这个问题。所以如果你卡在这里,你说“哦,糟糕,我不知道发生了什么”,别担心。我将向你展示一个解决方法,你可以使用它来继续测试你的应用程序,而无需担心这个问题。但你会看到,你应该得到一个 Webhook 密钥。所以你看,它只是 Webhook,然后是 secret。你要复制这个值。回到 `.env.local`,把它粘贴到你的 Stripe Webhook 密钥中。所以现在这个 Webhook 密钥将与你在这里运行的版本相关联。这将非常好。所以我们可以做的是,我们可以继续让它运行。一定要让它运行,因为如果你关闭你的终端或什么,你将不得不重新启动它,这样这些事件才能转发到你的本地主机。我们应该能够做的是,我们应该能够现在去创建我们的付款链接,看看它是否真的在工作。所以你可以做的一件事来验证你的 Webhook 是否被转发到你的本地主机,就是点击“Webhook”。你应该看到“本地监听器”。你应该看到你的设备,本地主机 3000 API Stripe Webhooks。所以这正是我们刚才做的。你可以看到状态是“正在监听”。这意味着它是实时的,它正在运行。你应该一切就绪。所以你在 Stripe 中需要做的是,你实际上需要点击“产品目录”。这就是我们将创建第一个产品的地方。所以这很酷。我将创建一个新产品,我将称之为“Receipt AI”。我将称之为“Receipt AI Pro”。我们要为这个创建两个不同的价格。我将只做每月 10 美元。我将添加产品。我们将点击返回到我们的产品。我们实际上要添加一个价格。所以你看我们有这个定价部分。我将点击加号。我们将把每月改为每年。我们将只做每年 100 美元。我们将创建价格。所以现在我们有两个价格。最后但同样重要的是,这一点非常重要,有些人不可避免地会错过这一点。你必须确保你这样做。在元数据中,你要做的是,你要点击它。键将是“membership”,值将是“Pro”。你要保存它。所以我们为什么需要这个?所以会发生什么,我们将在几分钟内运行这一步。如果我们去我们的数据库文件夹,打开我们的 schema,然后打开我们的 profile schema。所以这个 profiles 表是我们保存 Stripe 客户信息和会员资格的地方。会发生什么呢?当用户注册并付款时,Stripe 会转发。你看到,我们正在收到事件。这很酷。所以会发生的是,Stripe 会向我们的 API 路由发送一个事件。所以这个路由我之前给你看过了。它将更新一个现有的配置文件,包含他们的 Stripe 客户 ID、他们的 Stripe 订阅 ID,然后会员资格将在这里添加。如果他们付款,这将从免费变为 Pro。而这样做的方式是通过这个元数据。所以如果你不这样做,并且用户付款了,会发生什么呢?这个将永远不会改变,他们将是一个免费用户,然后你将有很多支持票需要处理,而这就是原因。所以我们接下来需要做的是,我们实际上需要去付款。我们实际上要点击付款链接。所以我们要做的就是,我们现在要创建我们的付款链接。所以我们可以创建一个测试付款链接。我们将添加我们的月度产品。我们将创建链接。我们将复制这个。所以我们要复制这个链接。我们要回到我们的环境变量。我们要把它粘贴为我们的月度链接。我们要再做一次。付款链接,新的。我们将为我们的年度价格做这个。创建链接。复制它。然后粘贴为年度。现在我们有了所有这些值。所以我还要快速展示一下。如果你在 Stripe CLI 上遇到问题,你可以做的另一件事是,如果你实际上可以将它托管在 Vercel 上,我们将在本研讨会中继续讨论。如果你实际上回到 Dev。所以我们将在搜索栏中搜索开发者,Webhook。你实际上可以添加一个端点。我稍后会向你们展示如何做到这一点。但你实际上会在这里添加你的端点 URL。你将选择事件。我们将在稍后实际为实际的生产版本这样做。但这是获取那些 Webhook 密钥的另一种方法。希望你能够跟上。我非常清楚,这可能是初学者特别难以跟上的事情之一,考虑到我们正在运行一个命令行界面。所以你可能需要几次尝试才能让它运行。如果你觉得你只想暂时跳过付款,完全没问题。我们只是想增加额外的价值,因为你们中的许多人会想构建实际有付费用户的产品。所以我们想让你朝着正确的方向前进。但你应该注意到的是,如果我实际上点击回到我的另一个终端窗口。我们要做的就是,我们要生成我们的数据库迁移。因为会发生什么呢?你会看到你收到这个创建配置文件的错误。这是因为我们数据库中的表。所以现在我们只有这个 profiles schema。再次,这不是我们编写的代码。这是入门模板的一部分。如果你稍后去看 Superbase,你会注意到我们没有那些表。所以让我,让我快速打开 Superbase。我要去获取它。我有它。我有太多的显示器了,伙计们。我有四台显示器。所以让我把它从我的另一个屏幕上拿过来,然后获取它。因为我们现在需要做的是,我们实际上需要生成这里的表。所以你会注意到,如果我们去这个项目的 Superbase,然后去表编辑器,你会看到我们没有任何表。所以下一步将改变这一点。所以你需要做的是,你需要去一个空白的终端。所以我将点击加号按钮,打开另一个终端。我们要运行两个命令。我们去 `package.json`。你会看到我们有两个数据库脚本。我们有一个生成脚本和一个迁移脚本。所以生成将生成我们的数据库 schema。所以在这里,你会注意到我们现在没有 migrations 文件夹。看会发生什么。我们要做的就是,我们要运行 `npm run`。之前我们一直在运行 `dev`,因为它会启动这个本地开发环境。这次我们要运行生成命令。我们要输入 `db:generate`。这将生成我们的第一个迁移文件。所以你会看到我们得到了这个文件。你的名字会是随机的,就像我的名字一样。所以如果你得到一个不同的名字,那是完全正常的。你会看到我们得到了 SQL 代码。我们现在可以运行这个其他脚本,也就是 `npm run db migrate`。所以现在如果我们输入 `npm run db migrate`。这将把这个 SQL 迁移文件应用到我们的 Superbase 数据库。所以我们应该能够做的是,我们应该能够回到 Superbase。你现在应该看到,我们在我们的项目中有一个 profiles 表。你可以看到所有的列类型都与我们从这个迁移文件中生成的相对应。这个迁移文件是从我们的 profiles schema 生成的,它是在 Drizzle 中编写的。它只是一个不错的 ORM,我们用它来让创建表和管理它们在我们的项目中更容易。所以我们接下来可以做的是,我们可以去测试付款是否成功。我们可以去我们的本地主机 3000。应用程序正在运行。我将刷新一下。为了验证所有需要完成的事情才能让它工作,你的应用程序应该在本地主机 3000 上运行。你的 Stripe CLI 应该将这些 Webhook 指向本地主机 3000 API。Stripe Webhook 应该接收这些事件。如果你在这里登录了,应该会发生的是,你应该会得到一个配置文件,它应该被创建。所以你可以看到,这是我的用户 ID。这是来自 Clerk。所以现在我们的身份验证通过 Clerk。如果我实际上去用户那里,点击我的用户配置文件。你会看到这个用户 ID。这现在对应于这个配置文件。这实际上只是作为我们模板代码的一部分完成的。所以你甚至不需要写任何代码,这非常棒。你可以看到我们的会员资格是免费的,Stripe 客户 ID 是 null,Stripe 订阅 ID 是 null。让我们看看是否能改变它。这将测试我们的系统是否工作。所以如果你实际上去定价,你会注意到我们有一个月度计划和一个年度计划。这些链接直接对应于我们在 Stripe 中创建的两个付款链接。如果我们点击其中一个链接,你会注意到我们现在进入了一个 Stripe 结账页面。所以这真的很好。所以我在这里做的是,我填写了这个表格,里面有一些测试数据。有趣的事实是,如果你使用 Stripe 的测试模式,你可以一遍又一遍地输入 4242。这是一个假的信用卡,用于假的付款。所以如果我输入这个,里面有很多假数据,然后点击订阅。你应该看到“感谢订阅”。然后如果做得对,你会注意到我们这里有一个发票已支付。所以你可以看到一些事件正在触发到我们正在运行的本地 API。然后如果我们去我们的 Superbase 表,你应该看到会员资格被改为 Pro。你应该有一个 Stripe 客户 ID。你应该有一个 Stripe 订阅 ID。好了,我们现在有一个付费用户,这非常酷。显然,这是假钱。这是在 Stripe 的测试模式下,这不是真的。我们回到了应用程序。现在理论上这个用户是一个 Pro 用户。所以现在你可以根据他们是免费用户还是 Pro 用户来限制某些路由和功能。好的,这很酷,对吧?现在你的身份验证、你的付款、你的数据库,所有这些都在工作。所以作为一个快速的概览,我们做了什么。我们进入了 Superbase,创建了我们的 Superbase 项目。我们把所有的环境变量都粘贴到了我们的 `.env.local` 文件中。然后我们为 Clerk 做了同样的事情。创建了我们的 Clerk 账户,设置好了一切,把这两个环境变量粘贴到这里。然后我们完成了 Stripe 的整个过程。然后我们把所有东西都连接起来,就像我们刚才做的那样。现在我们有一个包含用户数据的实时表,这些数据来自 Clerk,付款来自 Stripe。所有这些都完美地协同工作。现在我们的应用程序几乎都设置好了。唯一我们需要做的就是,如果我们想实际部署到生产环境或实际云中的开发实例。所以把它变成一个实际的 URL,而不是本地主机 URL。然后把它放在一个实际的网站上。我们可以注册 Vercel。我们接下来还需要做的一件事是,我们将注册 OpenAI。所以让我们先做 OpenAI 步骤,然后我们再做 Vercel。获取 OpenAI API 密钥实际上非常简单。你只需要做的是,你需要去 `platform.openai.com/api-keys`。我们当然会提供链接。一旦你注册了 API,你需要在 API 界面中。所以在这个仪表板界面中,你会看到左边有 API 密钥。一旦你完成了注册流程,或者如果你已经有一个账户,你只会看到“创建新的密钥”。你将创建它。你将给它一个名字。我将称之为“Dev”。我们将创建一个密钥。提醒一下,保密。确保它像密码一样对待。我将复制它。我们将回到我们的光标。回到 `.env.local` 文件。我们将粘贴这个 OpenAI API 密钥。我们就准备好了。这就是你所需要做的所有事情。现在我们可以继续 Vercel。在设置方面,最后但绝不是最不重要的。我们要做的就是,我们要把我们的仓库部署到 Vercel。所以你要做的第一件事是,你至少需要注册 Vercel 的免费 Hobby 套餐。这应该包含你所需的一切。再次,如果你正在构建一个企业或类似的东西,你可能想升级到 Pro 套餐,当你准备好部署给实际用户时。但 Hobby 套餐现在足够了。所以去注册那个 Hobby 套餐,然后回来。好的,一旦你注册了,你应该在你的仪表板里。所以我要做的就是,你会看到我在这里的 Takeoff 项目团队。这是我的 Pro 套餐之一。但再次,如果你使用的是 Hobby 套餐,完全没问题。你要做的是,你要去“添加新”,然后点击“项目”。你可能需要做一些连接步骤。这将为你做的是,它将允许你直接从你的 Vercel 项目创建页面选择你的 Git 仓库。所以如果你有某种“连接到 GitHub”的区域,请完成它。一旦你完成了,你要连接到你正在推送代码的任何仓库。我实际上要去 A1 Pro Template System。我将导入我的仓库。我将验证这是否是正确的团队。项目名称是正确的。你会看到框架预设设置为 Next.js,这是从我的代码推断出来的,这很好。我现在可以做的是,你会看到我们有这个环境变量选项卡。我将打开这个小下拉菜单。我们要做的就是,我们要回到我们的 `.env.local` 文件。你只需要复制整个东西。所以我将复制整个东西。我将把它粘贴到我的环境变量中。你会看到它填充了所有内容。很流畅。关于这一点有几点说明。所以我们要做的就是,我们将创建一个这个的开发实例。通常在一个生产工作流程中,你会有一个开发服务器和一个生产服务器。所以基本上,你将为你需要的特定实例部署你的密钥。例如,如果你要部署给实际用户,你显然不想使用你的 Stripe 测试密钥。你实际上会去创建一个实际的业务 Stripe 账户,而不是测试模式。你不想测试模式。你将不得不去获取你的生产密钥并更改它们。所以任何时候,无论你是在开发实例还是生产实例上工作,你都要确保你拥有适当的密钥。一旦你有了环境变量,你要做的就是,你要打开构建目录。在我们的安装命令中,我们要改变它。你要点击这个切换按钮。然后你需要用 `npm install -f` 来做。对于这个特定的模板,原因是,我们正在使用 Next.js 15 和 React 19。在依赖项的更新方面有一些小问题。你需要覆盖这个安装命令。暂时是这样。然后你将

您将想要点击部署,这将启动您的应用程序的新部署。如果我们向下看,您会看到它正在排队部署,它正在构建我们的应用程序。这需要一两分钟,然后我们将在此处获得一个部署摘要,然后它将为我们分配一个实时域,以便我们可以实际看到我们托管的应用程序。我将让它构建,然后回来。

好的,正如您所见,我已成功部署。好的,这很棒。我将继续前往仪表板,我将向您展示一些需要注意的事项。您会看到我们有一个域。显然,这是我们将要测试我们开发环境的东西。所以这是您需要小心的事情之一,因为如果您泄露了您的开发环境或类似的东西,那么可能会发生的事情是,例如,我在这里使用我的 OpenAI API 密钥。所以如果我们有一个 AI 聊天应用程序或类似的东西,我们不希望互联网上的随机人能够找到它。所以 Vercel 确实有方法可以隐藏这一点,这样您的团队成员就必须实际登录他们的 Vercel 帐户之类的。这远远超出了本教程的范围。我们将在这里保持相对简单。但这确实是您需要注意的事情。但我可以点击此 URL,我可以看到我已部署的应用程序,这很酷。我将能够登录。事实上,让我们继续这样做。我现在就去登录。我将继续使用 Google。我将继续完成这个过程。瞧,就像这样,您可以看到我现在已登录。所以我们所有的东西都在工作。如果您愿意,您甚至可以测试付款。我现在就假设它有效,然后继续前进。但您会注意到的一件事是,如果我们实际上转到 Vercel 仪表板,如果您转到设置,您可以更改您的域,这很酷。任何时候您需要调整您的环境变量,您都可以转到此环境变量选项卡。您可以向下滚动并实际编辑它们。值得注意的是,任何时候您更改环境变量,为了让它们更新到您的实际应用程序中,您都需要触发新的部署,因为如果您只是在这里更改它们,您的已构建应用程序实际上不会包含它们。所以您需要做的是,您需要转到这里的部署。您需要点击这里的下拉菜单,然后您需要创建一个新的部署来获取您更改的环境变量。这是我看到初学者尤其会遇到困难的事情,因为他们会转到设置,调整环境变量,却不知道他们需要再次部署。所以这是需要记住的事情,我们可能会在本视频的某个时候看到这个工作流程。

所以这就是部署您的应用程序到 Vercel。此时,您拥有一个正常工作的数据库,您拥有正常工作的身份验证,正常工作的付款,您已将您的网站部署到互联网上的真实 URL。所以现在我们可以终于开始使用我们的 01 Pro 模板系统和我们之前看到的六个提示来构建应用程序了。所以让我们开始构建这个东西。我正在添加这个,我意识到这是一个测试付款的绝佳机会,因为您知道会发生什么,它实际上会失败。所以这确实是一件好事,我抓住了这一点,否则你们中的许多人都会因为您的 Stripe 仪表板出了什么问题而头痛。所以当您实际想要测试已部署版本时,您需要回到您的 Stripe Webhooks。这是您需要做的。所以我们现在需要做的就是,首先去开发者页面,去 Webhooks。您实际上需要添加一个端点。所以之前当我们处理本地开发环境时,我们只是将我们的 Webhooks 指向 localhost,对吧?事情就是这样运作的。所以当事物已部署时,如果 Webhook 触发到 localhost,它对您不会有太大帮助,对吧?因为您正在尝试使用已部署的实例。所以您需要做的是点击添加端点。我们将要做的是,我们将获取已部署的 Vercel URL,然后我们将粘贴到这里,然后我们将执行 /api/stripe/webhooks,就像我们对 localhost 版本所做的那样。您需要做的一件事是,您需要选择三个事件。您需要选择 subscription.created,您需要选择 subscription.updated,然后您需要选择 checkout.session.completed。您需要这三个事件。这些实际上对应于,如果我们打开我们的代码,让我们去 app/api/route,您会看到我们实际上有这三个事件正在被监听。哦,我们实际上需要做 subscription.deleted。我撒谎。让我们快速更改这些事件并添加 subscription。我们将取消勾选 created,然后我们将选择 deleted。看,即使我有时也会犯错。所以您应该有 updated subscription,deleted subscription,以及 session completed,以匹配我们 API 中 route.ts 文件中的相关事件。当您准备好所有这些后,您将点击添加端点,您还需要做另一件事。我们将快速点击 Webhooks 返回这里。所以您现在需要做的一件事是,而不是仅仅使用 localhost 的 webhook 密钥,我们实际上需要为我们的新 webhook 生成一个密钥。所以我们将要做的是,我们将点击 webhook。然后您将需要点击签名密钥。您将显示它,这就是我们这个特定路由的新 webhook 密钥。所以请记住我刚才在 Vercel 中关于环境变量的谈话,这就是它的用武之地。我们将回到我们的 Vercel 项目,我们将进入设置,我们将进入环境变量。现在我们要找到 Stripe webhook 密钥。我们将点击这三个点,我们将编辑此值,使其成为这个新值。我们将保存它。好的,我们现在有了更新的环境,Vercel 有这个很棒的小提示。我们将点击重新部署。我们想重新部署。我们将选择预览环境,这很好。我们甚至可以选择生产环境,然后将其部署到我们的生产实例。这将启动新的构建,我提到的新部署。您甚至可以点击查看部署来查看该过程。我们实际上将转到我们项目的首页。您可以看到这里正在构建和部署。所以我将在这里等待一秒钟,直到它构建完成,然后我就会回来。所以您可以看到这花了 1 分 15 秒来部署。好的,所以我们可以点击这个部署。您可以看到这应该会重新部署我们的应用程序。所以我们可以回到 Superbase。我实际上已经完成了这个,但是您可以做到。Superbase 的表编辑器非常好,因为您可以实际编辑这些值。之前我是一个 Pro 用户,对吧?所以我所做的就是进入这个列,将其更改为 free,然后我将这个值设置为空,然后将这个值设置为空,这样我就可以在这里测试已部署版本的付款系统。所以让我们继续这样做。我将点击 pricing。我将再次选择月度订阅。这应该会打开我的付款链接,对吧?我们可以用我们的假数据填写这个表格。我现在就去填写。填写完假数据后,我将点击 subscribe。理论上,如果我们正确设置了我们的 webhook,这应该会起作用。所以让我们验证一下这是否确实有效。所以如果我回到我们的 Superbase 表,点击刷新,瞧,您可以看到 Pro,带有客户 ID,带有 Stripe 订阅 ID。所以为什么现在它起作用了?它起作用了,因为我们在 Stripe 仪表板中创建了这个新的 webhook。所以它现在正在监听我们已部署的 API。它不再是 localhost,而是直接匹配我们已部署的 Vercel URL。这在直觉上是合理的。我们确保获得了新的签名密钥,以便我们必须将 webhook 密钥从先前版本切换到新版本。我们做到这一点的方式是,我们进入了我们的项目,进入了设置,进入了环境变量,进行了调整,重新部署了我们的构建。所以现在我们所有的 webhook 都正在触发到我们应用程序的这个已部署实例,并带有适当的密钥。这一切都已连接到我们的数据库,因为我们的数据库环境变量已经存在于我们的 Vercel 项目中。所以现在我们的付款都已连接。很高兴我解决了这个问题,因为有些人会遇到这个问题。所以当您在 localhost 上工作时,您希望将 webhook 指向您的 localhost API。您可以看到我的现在已断开连接。我将不得不再次运行该 CLI。所以如果我回到 Stripe,我将不得不关闭这个。再次转发 webhook。我们应该再次看到监听。所以当我们在这里本地测试 localhost 时,您需要确保它已连接、正在监听并且处于活动状态。如果您在实际的生产实例或开发实例中进行测试,您将需要确保您拥有适当的 webhook 端点,并设置了正确的密钥。这就是您需要做的。

所以此时,我们已准备好开始构建我们的应用程序。让我们开始吧。所以只是为了确认,您希望确保您的应用程序正在 localhost:3000 上运行。所以如果我回到 Cursor,您可以看到,果然,我们的应用程序正在运行。再次,运行它的方法是 npm run dev,如果您需要启动它。好的,太棒了,它启动了。您需要确保您的 Stripe 正在运行。所以请确保运行 Stripe 监听转发到 localhost 参数。我们将确保在自述文件中包含这些内容,以便您知道如何操作。然后我们将打开另一个终端,以便我们可以处理。我甚至会把它缩小一点。给我们一点空间来实际编写我们的代码。所以我们将要做的第一件事,在我们的实际工作流程中,这将是第一步,我们需要最终使用请求提示。我们将要这样做的方式,这也是我通常的工作方式,我将拥有我的代码编辑器,我将拥有一个运行着我的 localhost 应用程序的浏览器,以及我所有的服务都已打开。然后我将有另一个标签页,我将一边是 A1 Pro,另一边是 Repo Prompt。这是我们第一次看到这两样东西。所以左边,我仍然在 ChatGPT 中,我选择了 A1 Pro。我实际上将选择 GPT-4o 来处理请求提示,因为这是一个更具迭代性的步骤,对于这个特定任务来说通常更好。我们将要做的是,正如我所说的,我们打开了 Repo Prompt 在右边。所以请确保您打开了 Repo Prompt,因为我们将开始更多地讨论它。再次,如果您是 Windows 或 Linux 用户,让我们尝试在社区中找到一些解决方案。我们将使用 Repo Prompt 的原因是,我们有大量的代码库上下文需要管理。软件开发人员的工作方式之一正在改变,您的任务正从编写代码转向成为一个上下文管理器。所以 Repo Prompt 就是为此而生的。您会看到我有一个最近的工作区打开了。我将打开我的工作区。您需要做的是点击这个打开文件夹按钮,然后您只需要打开与您在 Cursor 中打开的文件夹相同的文件夹,相同的存储库。所以您应该能够在文件资源管理器中找到它,然后打开它。您会看到当我打开这个工作区时,这里有一个完整的关于我所有代码的部分。我们有所有不同的目录,我们有所有这些不同的文件。您可以看到我们可以展开所有这些文件并查看所有不同的文件。所以这就是 Repo Prompt 如此酷的原因,因为假设我想做一些使用我的组件的事情,也许我检查了除组件之外的所有内容。您会看到我的上下文正在下降,以 token 计数衡量。所以看看当我取消勾选这个组件框时会发生什么。这个组件框,仅仅因为这里有整个 Shadcn 库,就包含了大约 50,000 个 token。您显然可以取消勾选整个内容,重新勾选它,一切都会被选中。所以您将掌握如何有效地使用它的技能。我们可以折叠所有内容。我推荐使用的一个设置是,我喜欢折叠我所有的文件夹,然后我将按 token 从高到低排序,因为通常当您管理代码库的上下文时,您会遇到这样的情况。这里的目标是将 token 总数保持在 100,000 左右,这是获得良好响应的理想选择。所以如果您开始超过这个数字,如果从高到低排序的好处是,您可以看到应该从哪里开始删除内容。显然,您不应该为了删除 token 而删除上下文,您需要明智地这样做。您必须确保包含 AI 执行任务所需的相关上下文。所以我们将进一步探讨这一点。您还需要确保您在这里添加了 CodeMap。我们实际上还需要选择文件以进行文件树。所以您的设置应该与此完全匹配。对于文件树,您希望包含文件,对于 CodeMap 的使用,您希望它是完整的。我们将在接下来的课程中更多地讨论这一点。所以正如我所说的,我们需要实际使用请求提示。所以让我们继续,我将转到我只是在 Obsidian 中工作,所以您可以使用任何您喜欢的文本编辑器来管理您的提示。显然,我们有 Takeoff 上的提示。我将确保链接到每个提示,以便您可以获取该提示。事实上,我现在就去这样做。获取提示的方法是,您需要转到我们的提示库。我们将从这里的这六个提示开始,用于 O1 Pro 模板系统,我们将随着时间的推移继续添加更多。但我们需要请求提示。所以我们将点击这个复制按钮。这将将其复制到您的剪贴板。我将创建一个主示例下的一个。我只是喜欢在文本编辑器中进行此操作,因为我们将从不同的步骤复制粘贴时调整一些参数,正如我们之前讨论过的。所以我将粘贴我的提示。现在我们有了提示,我们可以处理了。所以我们要做的第一件事是,我们实际上必须写出我们的想法。我做的一些事情是为了加快速度,我想到了一些示例输入。所以我要做的就是粘贴这个段落。所以您基本上需要给请求提示,你知道,三四句话,一个典型的段落,关于您的初步概念。在这种情况下,我们显然将构建这个收据 AI Web 应用程序。但如果您有其他想法,您想跟进,请随时这样做。关键是,在这个模板变量,这个 idea 模板变量中,您只需要放入您的想法。所以我发现一个段落通常很好。您不必过于详细。我们现在将与 AI 模型进行的迭代将进一步完善这一点。所以现在我有了完整的提示,我将回到 ChatGPT,我将粘贴它,我们应该能够与模型对话。

所以我们终于进入了实际的工作流程。让我们看看 GPT-4o 会说什么。您可以看到我们是如何请求输出看起来像这样的。您可以看到它正在以那种格式提供。这很酷。我们现在得到了第一个草稿。我们应该如何看待它呢?我们实际上想要思考它提出的所有问题,我们想要在聊天中回应,然后我们应该得到另一个草稿。所以它说了一些澄清。我将输入 1,然后我会快速回答每一个问题。所以我们将只说,现在只处理图像。我们将跳过 PDF。我需要电子邮件解析,从电子邮件自动获取收据吗?否,电子邮件解析。对于 OCR 功能,我们将使用 GPT-4o 和 OpenAI API 来实现 OCR 功能。所以这是我们需要澄清的第一个部分。数据提取和处理。我们想要哪些关键数据点?所以我们肯定想要商家名称。我们肯定想要日期。我们肯定想要金额。让我们就从这三个开始,让我们保持相对简单。是否需要 AI 自动分类费用?我们将手动分类。我们将手动创建类别,是的,我们将对它们进行分类。所以让我们看看第三个。用户如何验证提取的数据?内联编辑?批量验证?我们将有一个验证页面,我们可以通过未验证的收据。我甚至懒得修复我的拼写错误。用户需要导出选项吗?是的,我们想要导出 CSV。请提供 CSV。所以您可以看到我只是通过 AI 模型提出的所有不同的澄清。我们将这样做几次。所以如果您觉得您想加快速度,请随时这样做。但这基本上就是实际工作流程的样子。收据按用户存储?是的。搜索和过滤?看起来我意外地把这个放错了地方。所以第五个。集成。我们现在就保持无集成。用户管理。我们假设只有 solo 用户,没有团队。我们将保持相对简单。我们将从我们的入门模板中准备好身份验证。好的,第七个。平台和可访问性。我们就说它是一个 Web 应用程序,但要使其响应式,这样人们就可以在移动设备上使用它。保持 UI 干净现代。然后第八个,最后但并非最不重要的,我们有内置的月度和年度定价作为基本的 SaaS。好的,让我们发送它,看看我们得到了什么。我们之所以要使用像 GPT-4o 这样的模型,是因为如果这是 O1 Pro,它会思考 5 分钟,这对于我们所需要的来说有点过头了。所以让我们看看我们需要什么。所以我们可以阅读第二版的草稿。目标受众看起来不错。收据上传,肯定需要。我们不需要移动摄像头支持。我们将跳过它,以缩小范围。我不想在这里待上整整八个小时的视频。如果您想做这样的功能,请随时这样做。我强烈建议您尽情发挥。但我们想在这里保持相对直接。组织。我只是在阅读这个。所以再次,如果您需要加速,请随时这样做。到目前为止一切看起来都不错。我们只是不想要摄像头。我们就说一切都很好,除了我们不需要摄像头支持。这应该是我们得到的最后一次迭代。这可能足够开始。您显然可以做得更复杂。从模型那里获得这样的提示或结果的好处之一是,我们可以复制它。我将把它粘贴到示例输入下。这样我们就可以持续使用它。如果我们想编辑不同的待办事项,我们可以手动添加。您需要做的是,您只需要确保这个请求提示的输出符合您的期望。所以确保您添加了您需要添加的任何内容,然后我们将继续下一步。我认为我可能刚刚说过我们将继续进行规划器提示。提醒一下,流程是请求、规范、规划、编码、审查。所以我们实际上正在进行规范提示示例。所以让我们从 Takeoff 中获取它。您需要确保您转到提示库。转到规范提示。我们将复制该提示。我们将回到我们的文本编辑器,我们将粘贴它,以便我们可以处理它。我将在此下方进行草稿,并保留第一个提示,以防我想撤销某些内容。但您会注意到,对于我们的规范提示,第一个输入是,正如我们在六个提示部分中讨论过的,我们实际上想要获取我们刚刚从请求提示中获得的输出。所以这就是提示更改机制的用武之地。我将复制我刚刚从 GPT-4o 获得的响应。我们将需要将其粘贴到项目请求的 XML 标签内。这就是这个模板变量的作用。所以我们将粘贴我们完整的请求提示。所以这个规范提示现在将如何工作?您将有一个典型的开始,角色和任务。然后我们将传递请求的上下文。现在我们需要获取我们的项目规则,我们需要获取我们入门模板的代码。项目规则很容易获取。我们可以滚动回 Cursor。您需要获取这个 Cursor 规则文件。我将获取整个文件。我们将直接复制粘贴到我们的规则中。关于这些规则的说明,这是我的规则如何基于我的模板设置的。如果您以不同的方式编写代码,您只需要确保更新您的规则以匹配您喜欢的工作方式。我们将在这里为研讨会保持与模板一致。所以我将复制它。我们将回到这里。您可以看到我在这里有四个窗口。我们将在此 XML 标签中插入这批规则,用于我们的项目规则。所以我将粘贴它。所以这个东西真的开始增长了。所以我们接下来需要做的就是,我们实际上想要获取入门模板并提供所有入门代码,以便我们可以让 O1 Pro 对我们的代码库结构有一个大致的了解。这就是 Repo Prompt 将要发挥作用的地方。所以此时,我们想要做的是,我们将所有代码馈送到那些 XML 标签中。所以我们将要做的是,这是一个很好的技巧。本质上,AI 模型已经对我们使用的 UI 库(称为 Shadcn)有了很好的了解。所以如果我们展开我们的组件文件夹,然后展开其中的 UI 文件夹,您可以看到我们有所有这些组件,模型可以使用,这些组件已经预装在我们的代码库中。我这样做的原因是因为它消除了您手动安装所有这些组件的需要,基本上它只是给了 AI 一个开箱即用的庞大的组件库,这通常很有帮助。但它有很多 token。所以您可以看到,现在我们有所有这些文件大约 61,000 个 token。您可以看到,当您包含文件系统之类的其他内容时,这会达到 62,000 个 token。如果我们取消勾选它,我们将丢失大约 50,000 个 token。所以现在这下降到 32,000 个 token。您可以看到我们的文件 token 下降了,我们的 CodeMap 文件上升了。所以如果我点击这个复制按钮,让我向您展示它的设置。点击设置图标。您希望包含保存的提示,包含文件,包含用户说明。如果我复制它并粘贴到,我将粘贴它,我们将选择 O1 Pro,因为我们将从现在开始使用它。如果我粘贴它,这实际上并没有像我想象的那么大。但您可以看到,这是一个巨大的文件,或者一个巨大的输入,里面有我们所有的代码。您可以看到我们有文件映射,我们将有 CodeMap,我们将有我们所有的文件。所以这基本上就是我们巨大的代码库字符串。这很有趣。所以我们可以做的是,为了向您展示它有多少 token,OpenAI 有这个很好的 tokenizer 工具,它是一个很好的近似器。所以如果我粘贴到 tokenizer 中,您可以看到这大约是 28,000 个 token。这很有趣。所以我们将要做的是,我们将把所有代码粘贴到这里。所以这基本上就是我们整个入门模板,只是没有 UI 组件。所以如果我们粘贴到这里,我们现在拥有了我们所需的一切。所以只是回到顶部看看提示,提醒您一下。我们有项目请求,所以有所有这些 token。我们有项目规则,所有这些 token。然后我们有所有入门模板代码。所以现在我们将要做的是,我们将复制整个输入提示,然后我们将将其粘贴到 O1 Pro。我将删除旧的。我们将粘贴到 O1 Pro。我将发送它。将要发生的是,O1 Pro 可能需要三到五分钟来思考。这只是我们必须做的事情。您可以看到它正在思考。如果我们点击详细信息,出于某种原因,它决定现在用法语思考。谁知道。但我将剪辑到响应回来的时候。所以请再次确保您获取了规范提示,然后您必须粘贴上一步中的项目请求。您必须粘贴在中间,并且您必须确保保留这些 XML 标签。它确实有助于响应。然后您必须将 Cursor 规则粘贴到其中。然后您必须使用 Repo Prompt 来获取不包含 UI 组件的入门模板,以节省大量 token。我们将看看我是否粘贴了整个结果。所以我们刚刚给了模型大约 34,000 个 token。我将剪辑到完成的时候,然后我们会讨论。

所以我们刚刚收到了 O1 Pro 的响应。您可以看到,出于某种原因,有时 O1 Pro 会返回它思考的时间,有时不会。这大约是三分钟左右。所以让我们全屏查看并分析一下。您会记得当我们第一次谈论规范提示时,我们提到我们让它使用这些规范规划标签来思考,然后再进行。所以您可以看到这个标签和如果我们滚动到底部,让我们看看它在哪里停止思考。所以它实际上思考了相当长的时间。这就是它提出它应该做的事情。所以这就是采用一些思考技巧的优势。尽管这是一个推理模型,但我们仍然试图让它双倍利用。我发现这确实会产生更好的响应。所以您可以,它正在遍历。我注意到的一点是,我将分享所有这些聊天记录,这样您就可以阅读它们并了解发生了什么。我将使它们公开。如果出于某种原因我无法做到,我相信我可以分享它们并使它们公开。我会告诉您,但我应该有所有这些不同聊天的链接,这样您就可以阅读它们。我们不会浪费太多时间阅读它们。但您可以看到结果是,我们得到了这个输出。为什么我们会得到这个输出?让我们回到我们的规范提示。让我们看看它。在 Takeoff 中,没有所有额外的变量。这是因为我们基本上要求项目名称技术规范采用这种格式。所以如果我们回到我们的聊天,您会看到我们得到了收据 AI 技术规范。然后它逐条列出了我们想要的所有内容。您可以看到格式在 ChatGPT 中的渲染方式上有点破损,但这没关系。所以我们可以做的是,如果我突出显示所有内容,然后我们实际上去文本编辑器中查看。我实际上创建了一些输出示例页面。这是使用 Obsidian 的好处之一,这是我使用的另一个免费软件。这是我用来做个人笔记的。它内置了 Markdown 渲染。所以如果我粘贴到这里,您会看到一个非常漂亮的渲染输出,我们从模型那里请求的,我们可以查看。所以您会看到系统概述,项目结构,功能规范。您甚至可以看到它正在进行子项目符号,例如用户故事。我们得到了数据库模式。您可以看到它甚至在构建 Markdown 表来突出显示该模式。它正在进行服务器操作。它正在学习做所有事情,它正在描述所有事情,基于那些项目规则和我们现有的代码库。这就是这样做的优势。所以您可以看到 O1 Pro 能够生成这个极其复杂的规范。它完全按照我们要求的输出来输出。这就是为什么这个模型如此强大。因为将会发生的是,如果您尝试与其他模型一起使用它,您可能会遇到输入上下文窗口限制。您将无法获得连贯的响应。让我们快速通过 tokenizer 看看有多少 token。所以如果我们回到 OpenAI 的 tokenizer,粘贴进去,这是一个不错的估计。这是 5,100 个 token 的极其连贯的工作。所以让我们运行文本规范。我想要平衡查看它和不让它变得无聊。所以您可能想加速。但我们将要做的是,我们将浏览整个文本规范,看看是否需要编辑任何内容。所以如果您正在做自己的应用程序想法,这就是您需要手动编辑文本规范的地方。您可能需要删除内容并根据您想要实现的确切方式进行调整。但通常 AI 会提供一个很好的起点。您可以看到系统概述。这是我们应用程序的描述以及我们要求的通用内容。您可以看到关键工作流程。它正在拉入请求提示中的所有关键工作流程。所以当我们从第一个提示获得输出时,这就是它如何决定文本规范中需要做的每一件事。它正在从那个提示结果中拉入所有上下文。所以您可以看到我们有上传、验证、组织和搜索、导出以及用户管理。一个不错的系统架构。所有这些看起来都不错。这是通用的文件结构。您可以看到格式有点破损,这没关系。我们假设它很好。所以进入第三个,功能规范。所以您可以看到,这通常很好。您可以看到它正在提出一些实现步骤,处理边缘情况。验证系统。所以这基本上就是遍历所有这些关键工作流程,并使其更好。我只是粗略地看一下。再次,我们将为您提供完整的聊天记录。您可以看到它正在拉入我们模板代码库中变量的确切名称。这很酷。所以您可以看到为什么这很重要。RBAC 是可管理的。我猜这是某种合规性问题。我真的不知道这是什么意思。所以我可能会删除它,以便我能更好地理解它。我们实际上不需要。我们就说只处理浅色模式。我现在不想要深色模式。货币化是正确的。您可以看到它实际上正确地假设我们的会员是 Pro,基于我们的代码。您可以看到这是通用的模式。所以这看起来不错。对于收据,我们想要存储商家、金额,就像我们要求的那样。然后我们可以对其进行分类和验证。您可以看到服务器操作。这是我们的数据库查询以及我们如何与数据库交互。所有这些看起来都不错。其他操作。这很重要,因为我们将在这里讨论 GPT-4o。所有这些看起来都不错。设计系统。我可以手动检查那些颜色,看看。这基本上是从我们的全局 CSS 中拉取的。所以您会看到深色模式。所以我将删除深色模式,这样它就不会混淆我上面说不想要深色模式,而下面说想要深色模式。我们将保持一致。这就是我们审查它的原因。您可以看到它实际上正在从 Shadcn 库中拉入组件。这就是我们包含它的原因。所以有很多很好的技巧来让它输出一些不错的东西。因为我们在这里调整的每一件事都很小。所以这很好。然后我将做的最后一件事是,这个存储库我保持简单。我们实际上不会进行测试分析。所以我将删除 11 和 12。以稍微缩小范围。现在我们基本上有了来自规范提示的完整输出提示。所以我们基本上,让我们再回顾一遍。所以我们得到了规范提示。它要求我们输入三件事。它要求我们输入项目请求,这就是我们在上一步中做的。然后我们必须获取项目规则,那是 Cursor 规则文件。然后我们必须获取入门模板。我们用 Repo Prompt 做到了。如果我再次将其设为侧视图,现在我们已经完成了审查。然后我们将其发送到 O1 Pro。所以我们确实切换了模型,从 GPT-4o 切换到 O1 Pro,这是我们将在其余部分使用的。它输出了这个详细的规范。然后我们只是审查了它,确保一切都符合我们的喜好。进行了一些小的调整。现在一切都准备就绪。所以让我们继续下一个提示,这将是规划器提示。

所以现在我们有了规范提示的输出,我们可以继续进行规划器提示。所以让我们获取我们的规划器提示。我们将回到 Takeoff,回到提示。我们需要规划器提示。我们将复制它。我们将回到 Obsidian。我将粘贴它,我们将开始插入所有需要的模板变量。所以请记住,当我们谈论规划器提示时。我们正在构建在请求提示之上。我们正在构建在规范提示之上。所以让我们获取两者的输出。因为我们需要四种输出。我们需要再次项目请求,我们需要再次项目规则,我们需要刚刚获得的文本规范,然后我们需要再次获取我们的入门模板。所以让我们获取请求输出。这是我们最初的请求。我们将复制它。回到我们的规划器提示输入。在这两个项目请求的 XML 标签之间,我们将粘贴项目请求。然后我们将再次获取我们的 Cursor 规则。所以让我们回到 Cursor。再次,我们将复制它们。我们将回到顶部。我们将在此处粘贴它们。接下来我们需要的是文本规范。所以我们将获取我们审查过的文本规范,并进行了一些小的调整。所以让我们复制整个文件。这将是所有 10 个项目符号或 10 个编号点。我们将粘贴它。现在,瞧,它也是我们规划器提示的一部分。最后,我们将回到 Repo Prompt。我们将再次点击复制按钮。我们需要整个代码库,只是没有 Shadcn 组件,因为有很多 token。我们将复制它。进入模板变量所在的 XML 标签之间。然后粘贴它。现在我们拥有了我们所需的一切。所以让我们复制整个东西。让我快速粘贴到 tokenizer 中,这样我们就可以了解我们正在处理多少 token。这几乎是 38,000 个 token。可能更多,因为这个 tokenizer 与 O1 Pro 使用的并不完全相同。所以这再次说明了为什么 O1 Pro 如此强大,因为这里的每一个 token 都将被充分利用。O1 Pro 的上下文窗口利用率非常高。所以我们将能够真正地输入它并获得一个很好的结果。所以让我们创建一个新的聊天。我将粘贴整个内容,然后发送它。所以如果我们让它开始思考,我们将要做的就是,我们将在这里等待。如果有人来自 OpenAI,顺便说一句。

如果我们能做到这一点不回到顶部,那将是极好的。如果你想看一个总结性的思维链式交易,你甚至可以点击详情。所以,让我让它运行,然后我们会回来看看。好的,这个花了大约 4 分钟,如果你向下滚动,你会看到我们有一个非常详细的实施计划。所以,我们要做的是,我们将做一些与上一段视频非常相似的事情,那就是我们将在这里看看分析。所以,再次,我们有那些头脑风暴标签,你可以看到它正在思考它正在做什么。我确实知道有些人会说,嗯,这是一个推理模型,你不需要真的告诉它这样做。我发现它确实有帮助,所以我将继续这样做。我们将要做的是复制输出。所以,再次,这个输出的格式是我们实际提示中要求的格式。好的,这就是为什么 01 Pro 如此出色,因为它能非常精确地遵循你给它的指示。所以,我们在这里要做的就是,我们要去我的 Obsidian 应用中的规划器提示输出示例。我将把它粘贴进去,以便我们可以分析一下。所以,再次,看起来我们得到了大约 15 个步骤,我相信我在这里看到的。好的,15 个步骤。所以,我们在这里可以做的是,我们可以非常相似地通过这个,就像我们用规范提示一样,只是确保所有这些步骤看起来都不错。我们可以根据这里输出的内容来调整事物。所以,这只是一个提醒。当我们最初处理规划器提示时,我们显然已经讨论过这个问题了。但是,这些步骤中的每一个返回的方式都是一个命名的步骤,带有一个任务。我们得到它通常会编辑的文件列表。我们得到步骤依赖关系,所以你可以看到,如果我们在这里向下滚动,就像第 10 步依赖于第 3 步和第 7 步一样,这就是我们做步骤依赖关系的原因。它只是帮助模型了解这里发生了什么。你可以看到一切都格式化为待办事项。所以,我们将逐一检查这些步骤,在 Cen 提示中迭代每个步骤。当然,我们还有用户说明。你可以看到,例如,在这个步骤中,用户说明是你必须确保你的. loal 文件命名正确,诸如此类的事情。所以,看起来它将从设置数据库开始。再次,如果你想加快速度,完全可以。但我只是会阅读。可能会有一些短暂的沉默,那只是我在阅读的时候。好的,所以 Superbase 存储操作。这看起来相当不错。看起来我们甚至添加了 10MB 文件限制,这是一个很好的做法。我喜欢看到这一点。你可以看到用户说明,它甚至指示我们构建正确的行级别服务,行级别安全规则。所以,这是一个策略,以确保用户只能看到他们自己的存储收据,对吧?这显然非常重要。然后,你可以看到它正在转向收据数据库操作。这很有意义,从后端开始,然后转向前端。你可以看到它甚至指示我们运行我们的迁移。所以,再次,这非常重要,尤其是对于初学者来说,因为我们构建提示的方式是,AI 或 01 Pro 可以告诉我们我们需要做什么。因为对于一个从未构建过这个的人来说,他们可能不知道他们必须手动运行迁移。所以,这是很酷的事情,这也是为每个步骤包含这些用户说明的原因。好的,看起来是 AI 提取。所以,让我们来看看。看起来,使用 GPT 40 和 OpenAI。返回提取的字段。这看起来不错。创建一个用于上传的单个操作。按下提取。这看起来不错。仪表板和收据布局。你现在正在转向前端的东西。你可以看到它甚至在设置受保护的路由组,这很好,以确保用户必须经过身份验证才能访问仪表板。所以,它真的在考虑我们需要的一切。这坦率地说是一个相当令人印象深刻的计划。提醒一下,我们之所以这样构建提示,是因为这些步骤中的每一个都需要足够易于管理,以便 01 Pro 可以在一步中完成所有事情,因为你不想合并,对吧?你不想合并像这五个步骤,让整个事情变成三个步骤,因为否则你会得到更差的结果。这可能有点过度了。这些步骤可能可以合并成两步。基本上,这些步骤中的每一个可能甚至可以是一步。我不知道,这有意义吗,我说的 guys?你可能可以要求它同时运行第一步和第二步,然后第三步和第四步。但我们将保持简单。我认为这可能是基于模型当前能力正确范围的。好的,让我们看看。收据页面列表搜索和过滤。所有这些看起来都不错。收据上传 UI。我们肯定需要那个。验证页面。所以,你可以看到它正确地为这些页面中的每一个构建了路由。这看起来很棒。删除收据。我们也肯定想能够删除东西。导出 CSV。我们确实要求导出 CSV,所以这很棒。然后,你可以看到确保受保护的路由。好的,它只是在确保我们的身份验证做得正确。UI 增强。我实际上要在这里编辑的一件事是,我们不想要主题切换器,对吧?我们只想要浅色模式。所以我实际上要快速删除那个。我们将删除那个深色模式切换按钮,我们不想要深色模式。所以,只是在这里快速调整一下。再次删除那个深色模式。然后测试和验证。我们实际上将跳过测试,所以我们可以删除这个步骤。有一个步骤我们不必做。最后但并非最不重要的一点是,这实际上根本不是代码生成步骤。它基本上只是要求我们确保事物已部署。所以我实际上将删除它,因为它实际上不需要在那里做任何事情。这看起来像一个计划。所以,看起来我们最终的计划将是一个 13 步计划。你可以看到这些计划中的每一个都非常详细。我们有 AI 需要处理的文件。我们有大致的任务,步骤依赖关系,我们甚至有用户说明。所以,我们现在将要做的是,我们将采用这个计划,我们将采用技术规范,我们将采用请求输出。我们将把它输入到 Cen 提示中,我们将迭代每个步骤。所以,让我们开始构建这个东西。所以,现在我们需要一步一步地构建我们的 Coden 提示。所以,让我们开始获取我们的 Coden 提示。提醒一下,我们不会做这个的 XML 版本。如果你有兴趣用 XML 做 Coden 提示,请查看我们之前做的课程,大概是 90 分钟前。所以,你可以查看一下。我们将做标准的版本,因为它更容易理解。所以,让我们查看这个提示。我们将把它复制到我们的 Obsidian 中。让我们看看我们需要哪些输入变量。所以,这个需要五个。好的,我们将需要项目请求,项目规则,文本规范,实施计划,然后提醒一下,这次不是起始模板代码。你实际上需要每次运行新步骤时,你都需要用最新的代码更新现有代码。对吧?在第六步时,你给它第一步的代码,这没有多大意义。所以,我们需要确保在迭代这些步骤时,我们都在更新现有代码。所以,让我们来填写所有这些。这显然是无聊的部分。首先,我们将获取请求提示输出。我们将回到 Coden。我们将把它输入到这些 XML 标签之间。我将把它粘贴进去。接下来我们需要的是项目规则。所以,我们将最后一次在光标中获取它们。好的,我将复制这些光标规则。我们将回到这里并粘贴它们。所以,现在我们需要获取我们从规范提示中获得的技​​术规范输出。所以,我将复制整个东西。跳回我们的 Cen 提示并粘贴到技术规范 XML 标签之间。然后,我们将获取我们刚刚获得的实施计划。好的,这将是这 13 个步骤。我们将复制它,然后将其粘贴到这里的实施计划模板变量中。现在,我们将使用现有代码标签。这里有几点提示,因为这会一步一步地变化。首先,你需要确保 AI 完成每个步骤后,你必须进入并添加一个 X。所以,在我们完成第一步之后,我们将在这里添加一个 X。这将表明它已完成。这样,下次我们向 A1 Pro 模型提供提示时,它就会意识到,好的,我们完成了这一步。现在我们将运行第二步。我们希望继续包含每个步骤作为上下文,这样它就有了一个很好的运行历史,记录了它实际处理过的内容。好的,这显然是第一步,所以我们现在不需要这样做。但这只是一个指针,当我们实际处理这些步骤时。然后,对于现有代码,你当然需要用 repo 提示更新你的代码并粘贴更新后的代码。这将在下一课,第二课中向你展示。但对于第一个,它实际上将与我们一直在做的一样。所以,我们将进入 repo 提示,我们将复制它,因为基本上,我们从头开始。我们从那个模板开始。我们将把它粘贴进去。所以,现在我将复制整个文件。好的,这是我们的整个提示。再次,让我们看看分词器是什么样的。好的,这大约是 40,000 个令牌。我们将创建一个新的聊天,使用 01 Pro。我们将把它粘贴进去,然后让它为我们工作。所以,A1 Pro 现在正在做的事情,这就是我一开始提到的,你基本上想把 01 Pro 想象成一个你雇佣的实际开发者,因为现在它正在做的事情是,如果我们进入规划器提示,它现在正在尝试实现我们第一步所需的整个代码。所以,将会发生的是,一旦它完成工作,我们稍后会讨论,它将为我们提供完整的每个文件,我们需要粘贴到我们的代码中。我们将做的是,我们将基本上遍历这些文件中的每一个,以及它给我们的任何用户说明。我们将在我们的代码库中进行更改。我们将直接在光标中进行。我现在可以关闭这个光标规则文件,因为我们暂时不需要它。我们将一步一步地继续下去。所以,让我们让 01 Pro 工作。这可能需要大约 4 到 6 分钟。所以我将让它运行,然后我们将讨论如何做到这一点。好的,所以你可以看到 01 Pro 在第一步上工作了 3 分钟 1 秒。所以,接下来我们要做的就是逐个文件地进行,并做我们需要做的一切。所以,你会看到,对于这些文件中的每一个,我们都有被编辑或添加的文件。我们有,这是我所做的以及为什么。这解释了 01 Pro 实际做了什么。它提供了文件路径,这样你就知道把文件放在哪里。然后,你可以看到它提供了整个文件,以及所有文档。所以,只是一个说明,如果你是一个不喜欢文档的人,我们之前提到过,你可以随时更改提示来删除它。我认为至少在与 ow 和 pro 迭代每个步骤时,它非常有帮助。然后,我认为之后,如果你有一个应用程序的状态是你想要的,然后你想删除所有额外的文档,我认为那是时候了。但我确实认为,当你迭代这些步骤时,如果你保留每个文件的注释,所有这些文档等等,我认为你会得到更好的结果。我对此进行了广泛的测试,发现情况确实如此。所以,只是一个需要注意的事项。好的,这是我们需要做的。我们将逐个文件地复制并粘贴代码。第一个文件路径是 DB schema receipts schema。所以,我们将把它添加到我们的代码库中。我将打开 DB,打开 schema。看起来我们需要命名文件 receipts schema. TS。所以我将这样做。所以,让我们 receipts D schema TTS。我们将把它粘贴进去,保存它。瞧,你现在可以看到我们有一个收据表模式,它有详尽的文档,并且符合我们在光标规则文件中指示的代码标准。所以,相当酷。所以,这是第一个路径。让我们向下滚动到下一个文件。好的,现在我们实际上需要编辑我们 schema 中的索引文件。这将导出东西。所以,这是一个已经存在的文件。所以,我们可以再次覆盖。这就是为什么我们要求 ow 和 pro 每次都返回完整的文件内容。因为而不是我们必须弄清楚,好的,这两个文件之间有什么变化。我们可以做一个非常简单的复制粘贴工作流程,这非常棒。好的,让我们去第三个。所以,现在我们将更新 dbdb dots 文件。它可能就在这里。就像上次一样,我们将粘贴新文件。你将看到我们现在在模式中有那个收据表。我们有一些新注释,一些好的文档,这很棒。好的,让我们向下滚动。看起来我们现在需要调整 env. example 文件。所以,我们将这样做。值得注意的是,它会要求我更新示例文件。但我们当然也需要更新我们的. env. loal 文件,因为那是我们实际的 envs。还值得注意的是,因为我们调整了一个 env,我们需要做什么?我们需要进入 verell。我们需要进入我们的设置。我们需要进入我们的环境变量。所以,看起来我们还没有添加那个变量。所以,我们可以做的是,我们可以直接粘贴它,点击保存。记住,我们必须重新部署以确保它被添加。所以,我们将点击重新部署,再次点击重新部署。这将注入新的环境变量。所以,这非常重要。然后,你可以看到我们完成了第一步。我们得到了一些概述,关于 AI 做了什么。然后,你可以看到我们得到了用户说明。所以,你可以看到,检查你的. .lo。你可以看到,确保添加它。然后,它说,可选地,我们将需要生成我们的 drizzle 迁移,以便将此上传到我们的数据库。因为我们更新了模式的代码,如果你刷新 superbase,你会看到我们没有那个表。所以,这实际上将如何在我们的代码中工作是,我们需要去我们的终端。做 npm run DB generate。这将生成新的迁移文件。所以,如果我们点击 migrations,你会看到我们现在有一个 SQL 迁移文件,用于我们的收据表。然后,当然,我们需要迁移它。我们将做 npm run DB migrate。它将运行迁移。然后,如果我们回到 super base,我们应该能够刷新它,看到我们的收据表,以及 AI 为我们编写的所有那些漂亮的列。所以,这是第一步的结束。你在这里需要做的一件事是,你实际上需要删除你所有现有的代码。所以,通常我会向你展示,在下一步中,当我们迭代这个的时候,因为这可能相当糟糕。每次都要找到那个开头的标签。所以我将继续向上滚动,向上滚动,向上滚动。看起来我们还在代码地图里。让我们再往前一点。这是文件系统。我们必须删除所有现有代码。所以,我们删除了代码。现在我们需要去实施计划中的第一步,只需标记它已完成。所以,我们只需在这里添加一个 X。现在,这一切都准备好了,可以进行第二步了。我们要做的其中一件事是,在我们继续第二步之前,我们将快速回到光标。我们将实际提交我们的代码。所以,我推荐你做的一件事是,在你完全完成每个步骤后,你实际上想为你的 GitHub 存储库创建一个新的提交。我将直接称之为第一步。我将提交它。顺便说一句,我正在使用光标内的 git 标签。你当然可以使用终端,如果你只是喜欢使用 git CLI。然后,我们将同步它。非常容易初学者使用。这里的 git UI 相当不错。我将在 Mac 上按 Shift Command W。这将关闭我现有的文件。如果你回到我们的 git 存储库,你会看到,在教程中,你会看到我有一步。我刚刚提交了这个。所以,这个黄色的待定是什么?所以,真正很棒的一件事是将你的 GitHub 存储库连接到你的 cell 项目。每次你提交到你的目标分支时,基本上会发生的是,它将构建你的应用程序,这很酷。所以,这实际上将完成并构建第一步。它将实际将你更新后的代码部署到你现有的域。所以,发生的是,在每个步骤结束时,你确保一切都完成。你提交你的代码,然后它将实际构建并部署到你托管在 verell 上的现有 URL。这很酷。所以,让我们开始处理下一步。好的,所以只是一个提醒。你需要确保你勾选了第一步。然后,我们将滚动回现有代码部分。现在,我们需要使用 repo 提示来包含现有代码。所以,让我们看一眼 repo 提示,因为这里有几件事你需要做。所以,你注意到的一件事是,如果我们实际上展开,我们将点击展开。你会注意到,我们创建的一些新文件。让我们实际关闭那个 UI 文件夹,这样它就不会太长。但你会看到 receipt schema,特别是,这是我们添加的新文件,实际上并没有添加到我们的上下文中。所以,你必须确保你做的是,每当你创建一个新文件时,这很重要,因为如果你不这样做,你就会包含过时的代码。01 Pro 所做的工作实际上会很糟糕或过时。所以,非常重要的是,你要充当项目经理和上下文管理器,以确保你始终将正确的最新代码包含到 01 Pro 中。因为将会发生的一件事是,我敢肯定,在完成大约十几个步骤的过程中,你会忘记做一次这件事。你会得到一个糟糕的结果,你会对模型生气,而实际上是你的错,因为你没有更新上下文。所以,我们将确保我们添加这个文件到上下文。你会看到它会增加我的令牌计数。太好了。这是我所认为的唯一文件,对吧?因为其他文件只是编辑。所以,一切都将是最新的。你甚至可以点击这个小刷新按钮,只是为了确保一切都是最新的。这通常是我喜欢做的。你可以看到,一切都准备好了。如果我们打开 DB 文件夹,打开 schema 文件夹,它就准备好了。所以,我们将复制我们的新代码,我们的现有代码。你可以看到我的 versel 构建现在已准备就绪。所以,它已成功部署,这很棒。现在我们可以进入现有代码标签,我们已经从上一步清除了。粘贴进去。我们将复制整个东西。我们将回到 chat gbt。开始一个新的聊天,使用 01 Pro。我们将粘贴这个,然后让它开始工作。所以,01 Pro 现在正在做的事情,这就是我一开始提到的。你基本上想把 01 Pro 想象成一个你雇佣的实际开发者。因为现在它正在做的事情是,如果我们进入规划器提示,它现在正在尝试实现我们第一步所需的整个代码。所以,将会发生的是,一旦它完成工作,我们稍后会讨论,它将为我们提供完整的每个文件,我们需要粘贴到我们的代码中。我们将做的是,我们将基本上遍历这些文件中的每一个,以及它给我们的任何用户说明。我们将在我们的代码库中进行更改。我们将直接在光标中进行。我现在可以关闭这个光标规则文件,因为我们暂时不需要它。我们将一步一步地继续下去。所以,让我们让 01 Pro 工作。这可能需要大约 4 到 6 分钟。所以我将让它运行,然后我们将讨论如何做到这一点。好的,所以你可以看到 01 Pro 在第一步上工作了 3 分钟 1 秒。所以,接下来我们要做的就是逐个文件地进行,并做我们需要做的一切。所以,你会看到,对于这些文件中的每一个,我们都有被编辑或添加的文件。我们有,这是我所做的以及为什么。这解释了 01 Pro 实际做了什么。它提供了文件路径,这样你就知道把文件放在哪里。然后,你可以看到它提供了整个文件,以及所有文档。所以,只是一个说明,如果你是一个不喜欢文档的人,我们之前提到过,你可以随时更改提示来删除它。我认为至少在与 ow 和 pro 迭代每个步骤时,它非常有帮助。然后,我认为之后,如果你有一个应用程序的状态是你想要的,然后你想删除所有额外的文档,我认为那是时候了。但我确实认为,当你迭代这些步骤时,如果你保留每个文件的注释,所有这些文档等等,我认为你会得到更好的结果。我对此进行了广泛的测试,发现情况确实如此。所以,只是一个需要注意的事项。好的,这是我们需要做的。我们将逐个文件地复制并粘贴代码。第一个文件路径是 DB schema receipts schema。所以,我们将把它添加到我们的代码库中。我将打开 DB,打开 schema。看起来我们需要命名文件 receipts schema. TS。所以我将这样做。所以,让我们 receipts D schema TTS。我们将把它粘贴进去,保存它。瞧,你现在可以看到我们有一个收据表模式,它有详尽的文档,并且符合我们在光标规则文件中指示的代码标准。所以,相当酷。所以,这是第一个路径。让我们向下滚动到下一个文件。好的,现在我们实际上需要编辑我们 schema 中的索引文件。这将导出东西。所以,这是一个已经存在的文件。所以,我们可以再次覆盖。这就是为什么我们要求 ow 和 pro 每次都返回完整的文件内容。因为而不是我们必须弄清楚,好的,这两个文件之间有什么变化。我们可以做一个非常简单的复制粘贴工作流程,这非常棒。好的,让我们去第三个。所以,现在我们将更新 dbdb dots 文件。它可能就在这里。就像上次一样,我们将粘贴新文件。你将看到我们现在在模式中有那个收据表。我们有一些新注释,一些好的文档,这很棒。好的,让我们向下滚动。看起来我们现在需要调整 env. example 文件。所以,我们将这样做。值得注意的是,它会要求我更新示例文件。但我们当然也需要更新我们的. env. loal 文件,因为那是我们实际的 envs。还值得注意的是,因为我们调整了一个 env,我们需要做什么?我们需要进入 verell。我们需要进入我们的设置。我们需要进入我们的环境变量。所以,看起来我们还没有添加那个变量。所以,我们可以做的是,我们可以直接粘贴它,点击保存。记住,我们必须重新部署以确保它被添加。所以,我们将点击重新部署,再次点击重新部署。这将注入新的环境变量。所以,这非常重要。然后,你可以看到我们完成了第一步。我们得到了一些概述,关于 AI 做了什么。然后,你可以看到我们得到了用户说明。所以,你可以看到,检查你的. .lo。你可以看到,确保添加它。然后,它说,可选地,我们将需要生成我们的 drizzle 迁移,以便将此上传到我们的数据库。因为我们更新了模式的代码,如果你刷新 superbase,你会看到我们没有那个表。所以,这实际上将如何在我们的代码中工作是,我们需要去我们的终端。做 npm run DB generate。这将生成新的迁移文件。所以,如果我们点击 migrations,你会看到我们现在有一个 SQL 迁移文件,用于我们的收据表。然后,当然,我们需要迁移它。我们将做 npm run DB migrate。它将运行迁移。然后,如果我们回到 super base,我们应该能够刷新它,看到我们的收据表,以及 AI 为我们编写的所有那些漂亮的列。所以,这是第一步的结束。你在这里需要做的一件事是,你实际上需要删除你所有现有的代码。所以,通常我会向你展示,在下一步中,当我们迭代这个的时候,因为这可能相当糟糕。每次都要找到那个开头的标签。所以我将继续向上滚动,向上滚动,向上滚动。看起来我们还在代码地图里。让我们再往前一点。这是文件系统。我们必须删除所有现有代码。所以,我们删除了代码。现在我们需要去实施计划中的第一步,只需标记它已完成。所以,我们只需在这里添加一个 X。现在,这一切都准备好了,可以进行第二步了。我们要做的其中一件事是,在我们继续第二步之前,我们将快速回到光标。我们将实际提交我们的代码。所以,我推荐你做的一件事是,在你完全完成每个步骤后,你实际上想为你的 GitHub 存储库创建一个新的提交。我将直接称之为第一步。我将提交它。顺便说一句,我正在使用光标内的 git 标签。你当然可以使用终端,如果你只是喜欢使用 git CLI。然后,我们将同步它。非常容易初学者使用。这里的 git UI 相当不错。我将在 Mac 上按 Shift Command W。这将关闭我现有的文件。如果你回到我们的 git 存储库,你会看到,在教程中,你会看到我有一步。我刚刚提交了这个。所以,这个黄色的待定是什么?所以,真正很棒的一件事是将你的 GitHub 存储库连接到你的 cell 项目。每次你提交到你的目标分支时,基本上会发生的是,它将构建你的应用程序,这很酷。所以,这实际上将完成并构建第一步。它将实际将你更新后的代码部署到你现有的域。所以,发生的是,在每个步骤结束时,你确保一切都完成。你提交你的代码,然后它将实际构建并部署到你托管在 verell 上的现有 URL。这很酷。所以,让我们开始处理下一步。好的,所以只是一个提醒。你需要确保你勾选了第一步。然后,我们将滚动回现有代码部分。现在,我们需要使用 repo 提示来包含现有代码。所以,让我们看一眼 repo 提示,因为这里有几件事你需要做。所以,你注意到的一件事是,如果我们实际上展开,我们将点击展开。你会注意到,我们创建的一些新文件。让我们实际关闭那个 UI 文件夹,这样它就不会太长。但你会看到 receipt schema,特别是,这是我们添加的新文件,实际上并没有添加到我们的上下文中。所以,你必须确保你做的是,每当你创建一个新文件时,这很重要,因为如果你不这样做,你就会包含过时的代码。01 Pro 所做的工作实际上会很糟糕或过时。所以,非常重要的是,你要充当项目经理和上下文管理器,以确保你始终将正确的最新代码包含到 01 Pro 中。因为将会发生的一件事是,我敢肯定,在完成大约十几个步骤的过程中,你会忘记做一次这件事。你会得到一个糟糕的结果,你会对模型生气,而实际上是你的错,因为你没有更新上下文。所以,我们将确保我们添加这个文件到上下文。你会看到它会增加我的令牌计数。太好了。这是我所认为的唯一文件,对吧?因为其他文件只是编辑。所以,一切都将是最新的。你甚至可以点击这个小刷新按钮,只是为了确保一切都是最新的。这通常是我喜欢做的。你可以看到,一切都准备好了。如果我们打开 DB 文件夹,打开 schema 文件夹,它就准备好了。所以,我们将复制我们的新代码,我们的现有代码。你可以看到我的 versel 构建现在已准备就绪。所以,它已成功部署,这很棒。现在我们可以进入现有代码标签,我们已经从上一步清除了。粘贴进去。我们将复制整个东西。我们将回到 chat gbt。开始一个新的聊天,使用 01 Pro。我们将粘贴这个,然后让它开始工作。所以,01 Pro 现在正在做的事情,这就是我一开始提到的。你基本上想把 01 Pro 想象成一个你雇佣的实际开发者。因为现在它正在做的事情是,如果我们进入规划器提示,它现在正在尝试实现我们第一步所需的整个代码。所以,将会发生的是,一旦它完成工作,我们稍后会讨论,它将为我们提供完整的每个文件,我们需要粘贴到我们的代码中。我们将做的是,我们将基本上遍历这些文件中的每一个,以及它给我们的任何用户说明。我们将在我们的代码库中进行更改。我们将直接在光标中进行。我现在可以关闭这个光标规则文件,因为我们暂时不需要它。我们将一步一步地继续下去。所以,让我们让 01 Pro 工作。这可能需要大约 4 到 6 分钟。所以我将让它运行,然后我们将讨论如何做到这一点。好的,所以你可以看到 01 Pro 在第一步上工作了 3 分钟 1 秒。所以,接下来我们要做的就是逐个文件地进行,并做我们需要做的一切。所以,你会看到,对于这些文件中的每一个,我们都有被编辑或添加的文件。我们有,这是我所做的以及为什么。这解释了 01 Pro 实际做了什么。它提供了文件路径,这样你就知道把文件放在哪里。然后,你可以看到它提供了整个文件,以及所有文档。所以,只是一个说明,如果你是一个不喜欢文档的人,我们之前提到过,你可以随时更改提示来删除它。我认为至少在与 ow 和 pro 迭代每个步骤时,它非常有帮助。然后,我认为之后,如果你有一个应用程序的状态是你想要的,然后你想删除所有额外的文档,我认为那是时候了。但我确实认为,当你迭代这些步骤时,如果你保留每个文件的注释,所有这些文档等等,我认为你会得到更好的结果。我对此进行了广泛的测试,发现情况确实如此。所以,只是一个需要注意的事项。好的,这是我们需要做的。我们将逐个文件地复制并粘贴代码。第一个文件路径是 DB schema receipts schema。所以,我们将把它添加到我们的代码库中。我将打开 DB,打开 schema。看起来我们需要命名文件 receipts schema. TS。所以我将这样做。所以,让我们 receipts D schema TTS。我们将把它粘贴进去,保存它。瞧,你现在可以看到我们有一个收据表模式,它有详尽的文档,并且符合我们在光标规则文件中指示的代码标准。所以,相当酷。所以,这是第一个路径。让我们向下滚动到下一个文件。好的,现在我们实际上需要编辑我们 schema 中的索引文件。这将导出东西。所以,这是一个已经存在的文件。所以,我们可以再次覆盖。这就是为什么我们要求 ow 和 pro 每次都返回完整的文件内容。因为而不是我们必须弄清楚,好的,这两个文件之间有什么变化。我们可以做一个非常简单的复制粘贴工作流程,这非常棒。好的,让我们去第三个。所以,现在我们将更新 dbdb dots 文件。它可能就在这里。就像上次一样,我们将粘贴新文件。你将看到我们现在在模式中有那个收据表。我们有一些新注释,一些好的文档,这很棒。好的,让我们向下滚动。看起来我们现在需要调整 env. example 文件。所以,我们将这样做。值得注意的是,它会要求我更新示例文件。但我们当然也需要更新我们的. env. loal 文件,因为那是我们实际的 envs。还值得注意的是,因为我们调整了一个 env,我们需要做什么?我们需要进入 verell。我们需要进入我们的设置。我们需要进入我们的环境变量。所以,看起来我们还没有添加那个变量。所以,我们可以做的是,我们可以直接粘贴它,点击保存。记住,我们必须重新部署以确保它被添加。所以,我们将点击重新部署,再次点击重新部署。这将注入新的环境变量。所以,这非常重要。然后,你可以看到我们完成了第一步。我们得到了一些概述,关于 AI 做了什么。然后,你可以看到我们得到了用户说明。所以,你可以看到,检查你的. .lo。你可以看到,确保添加它。然后,它说,可选地,我们将需要生成我们的 drizzle 迁移,以便将此上传到我们的数据库。因为我们更新了模式的代码,如果你刷新 superbase,你会看到我们没有那个表。所以,这实际上将如何在我们的代码中工作是,我们需要去我们的终端。做 npm run DB generate。这将生成新的迁移文件。所以,如果我们点击 migrations,你会看到我们现在有一个 SQL 迁移文件,用于我们的收据表。然后,当然,我们需要迁移它。我们将做 npm run DB migrate。它将运行迁移。然后,如果我们回到 super base,我们应该能够刷新它,看到我们的收据表,以及 AI 为我们编写的所有那些漂亮的列。所以,这是第一步的结束。你在这里需要做的一件事是,你实际上需要删除你所有现有的代码。所以,通常我会向你展示,在下一步中,当我们迭代这个的时候,因为这可能相当糟糕。每次都要找到那个开头的标签。所以我将继续向上滚动,向上滚动,向上滚动。看起来我们还在代码地图里。让我们再往前一点。这是文件系统。我们必须删除所有现有代码。所以,我们删除了代码。现在我们需要去实施计划中的第一步,只需标记它已完成。所以,我们只需在这里添加一个 X。现在,这一切都准备好了,可以进行第二步了。我们要做的其中一件事是,在我们继续第二步之前,我们将快速回到光标。我们将实际提交我们的代码。所以,我推荐你做的一件事是,在你完全完成每个步骤后,你实际上想为你的 GitHub 存储库创建一个新的提交。我将直接称之为第一步。我将提交它。顺便说一句,我正在使用光标内的 git 标签。你当然可以使用终端,如果你只是喜欢使用 git CLI。然后,我们将同步它。非常容易初学者使用。这里的 git UI 相当不错。我将在 Mac 上按 Shift Command W。这将关闭我现有的文件。如果你回到我们的 git 存储库,你会看到,在教程中,你会看到我有一步。我刚刚提交了这个。所以,这个黄色的待定是什么?所以,真正很棒的一件事是将你的 GitHub 存储库连接到你的 cell 项目。每次你提交到你的目标分支时,基本上会发生的是,它将构建你的应用程序,这很酷。所以,这实际上将完成并构建第一步。它将实际将你更新后的代码部署到你现有的域。所以,发生的是,在每个步骤结束时,你确保一切都完成。你提交你的代码,然后它将实际构建并部署到你托管在 verell 上的现有 URL。这很酷。所以,让我们开始处理下一步。好的,所以只是一个提醒。你需要确保你勾选了第一步。然后,我们将滚动回现有代码部分。现在,我们需要使用 repo 提示来包含现有代码。所以,让我们看一眼 repo 提示,因为这里有几件事你需要做。所以,你注意到的一件事是,如果我们实际上展开,我们将点击展开。你会注意到,我们创建的一些新文件。让我们实际关闭那个 UI 文件夹,这样它就不会太长。但你会看到 receipt schema,特别是,这是我们添加的新文件,实际上并没有添加到我们的上下文中。所以,你必须确保你做的是,每当你创建一个新文件时,这很重要,因为如果你不这样做,你就会包含过时的代码。01 Pro 所做的工作实际上会很糟糕或过时。所以,非常重要的是,你要充当项目经理和上下文管理器,以确保你始终将正确的最新代码包含到 01 Pro 中。因为将会发生的一件事是,我敢肯定,在完成大约十几个步骤的过程中,你会忘记做一次这件事。你会得到一个糟糕的结果,你会对模型生气,而实际上是你的错,因为你没有更新上下文。所以,我们将确保我们添加这个文件到上下文。你会看到它会增加我的令牌计数。太好了。这是我所认为的唯一文件,对吧?因为其他文件只是编辑。所以,一切都将是最新的。你甚至可以点击这个小刷新按钮,只是为了确保一切都是最新的。这通常是我喜欢做的。你可以看到,一切都准备好了。如果我们打开 DB 文件夹,打开 schema 文件夹,它就准备好了。所以,我们将复制我们的新代码,我们的现有代码。你可以看到我的 versel 构建现在已准备就绪。所以,它已成功部署,这很棒。现在我们可以进入现有代码标签,我们已经从上一步清除了。粘贴进去。我们将复制整个东西。我们将回到 chat gbt。开始一个新的聊天,使用 01 Pro。我们将粘贴这个,然后让它开始工作。所以,01 Pro 现在正在做的事情,这就是我一开始提到的。你基本上想把 01 Pro 想象成一个你雇佣的实际开发者。因为现在它正在做的事情是,如果我们进入规划器提示,它现在正在尝试实现我们第一步所需的整个代码。所以,将会发生的是,一旦它完成工作,我们稍后会讨论,它将为我们提供完整的每个文件,我们需要粘贴到我们的代码中。我们将做的是,我们将基本上遍历这些文件中的每一个,以及它给我们的任何用户说明。我们将在我们的代码库中进行更改。我们将直接在光标中进行。我现在可以关闭这个光标规则文件,因为我们暂时不需要它。我们将一步一步地继续下去。所以,让我们让 01 Pro 工作。这可能需要大约 4 到 6 分钟。所以我将让它运行,然后我们将讨论如何做到这一点。好的,所以你可以看到 01 Pro 在第一步上工作了 3 分钟 1 秒。所以,接下来我们要做的就是逐个文件地进行,并做我们需要做的一切。所以,你会看到,对于这些文件中的每一个,我们都有被编辑或添加的文件。我们有,这是我所做的以及为什么。这解释了 01 Pro 实际做了什么。它提供了文件路径,这样你就知道把文件放在哪里。然后,你可以看到它提供了整个文件,以及所有文档。所以,只是一个说明,如果你是一个不喜欢文档的人,我们之前提到过,你可以随时更改提示来删除它。我认为至少在与 ow 和 pro 迭代每个步骤时,它非常有帮助。然后,我认为之后,如果你有一个应用程序的状态是你想要的,然后你想删除所有额外的文档,我认为那是时候了。但我确实认为,当你迭代这些步骤时,如果你保留每个文件的注释,所有这些文档等等,我认为你会得到更好的结果。我对此进行了广泛的测试,发现情况确实如此。所以,只是一个需要注意的事项。好的,这是我们需要做的。我们将逐个文件地复制并粘贴代码。第一个文件路径是 DB schema receipts schema。所以,我们将把它添加到我们的代码库中。我将打开 DB,打开 schema。看起来我们需要命名文件 receipts schema. TS。所以我将这样做。所以,让我们 receipts D schema TTS。我们将把它粘贴进去,保存它。瞧,你现在可以看到我们有一个收据表模式,它有详尽的文档,并且符合我们在光标规则文件中指示的代码标准。所以,相当酷。所以,这是第一个路径。让我们向下滚动到下一个文件。好的,现在我们实际上需要编辑我们 schema 中的索引文件。这将导出东西。所以,这是一个已经存在的文件。所以,我们可以再次覆盖。这就是为什么我们要求 ow 和 pro 每次都返回完整的文件内容。因为而不是我们必须弄清楚,好的,这两个文件之间有什么变化。我们可以做一个非常简单的复制粘贴工作流程,这非常棒。好的,让我们去第三个。所以,现在我们将更新 dbdb dots 文件。它可能就在这里。就像上次一样,我们将粘贴新文件。你将看到我们现在在模式中有那个收据表。我们有一些新注释,一些好的文档,这很棒。好的,让我们向下滚动。看起来我们现在需要调整 env. example 文件。所以,我们将这样做。值得注意的是,它会要求我更新示例文件。但我们当然也需要更新我们的. env. loal 文件,因为那是我们实际的 envs。还值得注意的是,因为我们调整了一个 env,我们需要做什么?我们需要进入 verell。我们需要进入我们的设置。我们需要进入我们的环境变量。所以,看起来我们还没有添加那个变量。所以,我们可以做的是,我们可以直接粘贴它,点击保存。记住,我们必须重新部署以确保它被添加。所以,我们将点击重新部署,再次点击重新部署。这将注入新的环境变量。所以,这非常重要。然后,你可以看到我们完成了第一步。我们得到了一些概述,关于 AI 做了什么。然后,你可以看到我们得到了用户说明。所以,你可以看到,检查你的. .lo。你可以看到,确保添加它。然后,它说,可选地,我们将需要生成我们的 drizzle 迁移,以便将此上传到我们的数据库。因为我们更新了模式的代码,如果你刷新 superbase,你会看到我们没有那个表。所以,这实际上将如何在我们的代码中工作是,我们需要去我们的终端。做 npm run DB generate。这将生成新的迁移文件。所以,如果我们点击 migrations,你会看到我们现在有一个 SQL 迁移文件,用于我们的收据表。然后,当然,我们需要迁移它。我们将做 npm run DB migrate。它将运行迁移。然后,如果我们回到 super base,我们应该能够刷新它,看到我们的收据表,以及 AI 为我们编写的所有那些漂亮的列。所以,这是第一步的结束。你在这里需要做的一件事是,你实际上需要删除你所有现有的代码。所以,通常我会向你展示,在下一步中,当我们迭代这个的时候,因为这可能相当糟糕。每次都要找到那个开头的标签。所以我将继续向上滚动,向上滚动,向上滚动。看起来我们还在代码地图里。让我们再往前一点。这是文件系统。我们必须删除所有现有代码。所以,我们删除了代码。现在我们需要去实施计划中的第一步,只需标记它已完成。所以,我们只需在这里添加一个 X。现在,这一切都准备好了,可以进行第二步了。我们要做的其中一件事是,在我們繼續第二步之前,我們將快速回到光標。我們將實際提交我們的代碼。所以,我推薦你做的一件事是,在你完全完成每個步驟後,你實際上想為你的 GitHub 存儲庫創建一個新的提交。我將直接稱之為第一步。我將提交它。順便說一句,我正在使用光標內的 git 標籤。你當然可以使用終端,如果你只是喜歡使用 git CLI。然後,我們將同步它。非常容易初學者使用。這裡的 git UI 相當不錯。我將在 Mac 上按 Shift Command W。這將關閉我現有的文件。如果你回到我們的 git 存儲庫,你會看到,在教程中,你會看到我有一步。我剛剛提交了這個。所以,這個黃色的待定是什麼?所以,真正很棒的一件事是將你的 GitHub 存儲庫連接到你的 cell 項目。每次你提交到你的目標分支時,基本上會發生的是,它將構建你的應用程序,這很酷。所以,這實際上將完成並構建第一步。它將實際將你更新後的代碼部署到你現有的域。所以,發生的是,在每個步驟結束時,你確保一切都完成。你提交你的代碼,然後它將實際構建並部署到你託管在 verell 上的現有 URL。這很酷。所以,讓我們開始處理下一步。好的,所以只是一個提醒。你需要確保你勾選了第一步。然後,我們將滾動回現有代碼部分。現在,我們需要使用 repo 提示來包含現有代碼。所以,讓我們看一眼 repo 提示,因為這裡有幾件事你需要做。所以,你注意到的一件事是,如果我們實際上展開,我們將點擊展開。你會注意到,我們創建的一些新文件。讓我們實際關閉那個 UI 文件夾,這樣它就不會太長。但你會看到 receipt schema,特別是,這是我們添加的新文件,實際上並沒有添加到我們的上下文中。所以,你必須確保你做的是,每當你創建一個新文件時,這很重要,因為如果你不這樣做,你就會包含過時的代碼。01 Pro 所做的工作實際上會很糟糕或過時。所以,非常重要的是,你要充當項目經理和上下文管理器,以確保你始終將正確的最新代碼包含到 01 Pro 中。因為將會發生的一件事是,我敢肯定,在完成大約十幾個步驟的過程中,你會忘記做一次這件事。你會得到一個糟糕的結果,你會對模型生氣,而實際上是你的錯,因為你沒有更新上下文。所以,我們將確保我們添加這個文件到上下文。你會看到它會增加我的令牌計數。太好了。這是我想像的唯一文件,對吧?因為其他文件只是編輯。所以,一切都將是最新的。你甚至可以點擊這個小刷新按鈕,只是為了確保一切都是最新的。這通常是我喜歡做的。你可以看到,一切都準備好了。如果我們打開 DB 文件夾,打開 schema 文件夾,它就準備好了。所以,我們將複製我們的新代碼,我們的現有代碼。你可以看到我的 versel 構建現在已準備就緒。所以,它已成功部署,這很棒。現在我們可以進入現有代碼標籤,我們已經從上一步清除了。粘貼進去。我們將複製整個東西。我們將回到 chat gbt。開始一個新的聊天,使用 01 Pro。我們將粘貼這個,然後讓它開始工作。所以,01 Pro 現在正在做的事情,這就是我一開始提到的。你基本上想把 01 Pro 想像成一個你僱傭的實際開發者。因為現在它正在做的事情是,如果我們進入規劃器提示,它現在正在嘗試實現我們第一步所需的整個代碼。所以,將會發生的是,一旦它完成工作,我們稍後會討論,它將為我們提供完整的每個文件,我們需要粘貼到我們的代碼中。我們將做的是,我們將基本上遍歷這些文件中的每一個,以及它給我們的任何用戶說明。我們將在我們的代碼庫中進行更改。我們將直接在光標中進行。我現在可以關閉這個光標規則文件,因為我們暫時不需要它。我們將一步一步地繼續下去。所以,讓我們讓 01 Pro 工作。這可能需要大約 4 到 6 分鐘。所以我將讓它運行,然後我們將討論如何做到這一點。好的,所以你可以看到 01 Pro 在第一步上工作了 3 分鐘 1 秒。所以,接下來我們要做的就是逐個文件地進行,並做我們需要做的一切。所以,你會看到,對於這些文件中的每一個,我們都有被編輯或添加的文件。我們有,這是我所做的以及為什麼。這解釋了 01 Pro 實際做了什麼。它提供了文件路徑,這樣你就知道把文件放在哪裡。然後,你可以看到它提供了整個文件,以及所有文檔。所以,只是一個說明,如果你是一個不喜歡文檔的人,我們之前提到過,你可以隨時更改提示來刪除它。我認為至少在與 ow 和 pro 迭代每個步驟時,它非常有幫助。然後,我認為之後,如果你有一個應用程序狀態是你想要的,然後你想刪除所有額外的文檔,我認為那是時候了。但我確實認為,當你迭代這些步驟時,如果你保留每個文件的註釋,所有這些文檔等等,我認為你會得到更好的結果。我對此進行了廣泛的測試,發現情況確實如此。所以,只是一個需要注意的事項。好的,這是我們需要做的。我們將逐個文件地複製並粘貼代碼。第一個文件路徑是 DB schema receipts schema。所以,我們將把它添加到我們的代碼庫中。我將打開 DB,打開 schema。看起來我們需要命名文件 receipts schema. TS。所以我將這樣做。所以,讓我們 receipts D schema TTS。我們將把它粘貼進去,保存它。瞧,你現在可以看到我們有一個收據表模式,它有詳盡的文檔,並且符合我們在光標規則文件中指示的代碼標準。所以,相當酷。所以,這是第一個路徑。讓我們向下滾動到下一個文件。好的,現在我們實際上需要編輯我們 schema 中的索引文件。這將導出東西。所以,這是一個已經存在的文件。所以,我們可以再次覆蓋。這就是為什麼我們要求 ow 和 pro 每次都返回完整的文件內容。因為而不是我們必須弄清楚,好的,這兩個文件之間有什麼變化。我們可以做一個非常簡單的複製粘貼工作流程,這非常棒。好的,讓我們去第三個。所以,現在我們將更新 dbdb dots 文件。它可能就在這裡。就像上次一樣,我們將粘貼新文件。你將看到我們現在在模式中有那個收據表。我們有一些新註釋,一些好的文檔,這很棒。好的,讓我們向下滾動。看起來我們現在需要調整 env. example 文件。所以,我們將這樣做。值得注意的是,它會要求我更新示例文件。但我們當然也需要更新我們的. env. loal 文件,因為那是我們實際的 envs。還值得注意的是,因為我們調整了一個 env,我們需要做什麼?我們需要進入 verell。我們需要進入我們的設置。我們需要進入我們的環境變量。所以,看起來我們還沒有添加那個變量。所以,我們可以做的是,我們可以直接粘貼它,點擊保存。記住,我們必須重新部署以確保它被添加。所以,我們將點擊重新部署,再次點擊重新部署。這將注入新的環境變量。所以,這非常重要。然後,你可以看到我們完成了第一步。我們得到了一些概述,關於 AI 做了什麼。然後,你可以看到我們得到了用戶說明。所以,你可以看到,檢查你的. .lo。你可以看到,確保添加它。然後,它說,可選地,我們將需要生成我們的 drizzle 遷移,以便將此上傳到我們的數據庫。因為我們更新了模式的代碼,如果你刷新 superbase,你會看到我們沒有那個表。所以,這實際上將如何在我們的代碼中工作是,我們需要去我們的終端。做 npm run DB generate。這將生成新的遷移文件。所以,如果我們點擊 migrations,你會看到我們現在有一個 SQL 遷移文件,用於我們的收據表。然後,當然,我們需要遷移它。我們將做 npm run DB migrate。它將運行遷移。然後,如果我們回到 super base,我們應該能夠刷新它,看到我們的收據表,以及 AI 為我們編寫的所有那些漂亮的列。所以,這是第一步的結束。你在這裡需要做的一件事是,你實際上需要刪除你所有現有的代碼。所以,通常我會向你展示,在下一步中,當我們迭代這個的時候,因為這可能相當糟糕。每次都要找到那個開頭的標籤。所以我將繼續向上滾動,滾動,滾動。看起來我們還在代碼地圖裡。讓我們再往前一點。這是文件系統。我們必須刪除所有現有代碼。所以,我們刪除了代碼。現在我們需要去實施計劃中的第一步,只需標記它已完成。所以,我們只需在這裡添加一個 X。現在,這一切都準備好了,可以進行第二步了。我們要做的其中一件事是,在我們繼續第二步之前,我們將快速回到光標。我們將實際提交我們的代碼。所以,我推薦你做的一件事是,在你完全完成每個步驟後,你實際上想為你的 GitHub 存儲庫創建一個新的提交。我將直接稱之為第一步。我將提交它。順便說一句,我正在使用光標內的 git 標籤。你當然可以使用終端,如果你只是喜歡使用 git CLI。然後,我們將同步它。非常容易初學者使用。這裡的 git UI 相當不錯。我將在 Mac 上按 Shift Command W。這將關閉我現有的文件。如果你回到我們的 git 存儲庫,你會看到,在教程中,你會看到我有一步。我剛剛提交了這個。所以,這個黃色的待定是什麼?所以,真正很棒的一件事是將你的 GitHub 存儲庫連接到你的 cell 項目。每次你提交到你的目標分支時,基本上會發生的是,它將構建你的應用程序,這很酷。所以,這實際上將完成並構建第一步。它將實際將你更新後的代碼部署到你現有的域。所以,發生的是,在每個步驟結束時,你確保一切都完成。你提交你的代碼,然後它將實際構建並部署到你託管在 verell 上的現有 URL。這很酷。所以,讓我們開始處理下一步。好的,所以只是一個提醒。你需要確保你勾選了第一步。然後,我們將滾動回現有代碼部分。現在,我們需要使用 repo 提示來包含現有代碼。所以,讓我們看一眼 repo 提示,因為這裡有幾件事你需要做。所以,你注意到的一件事是,如果我們實際上展開,我們將點擊展開。你會注意到,我們創建的一些新文件。讓我們實際關閉那個 UI 文件夾,這樣它就不會太長。但你會看到 receipt schema,特別是,這是我們添加的新文件,實際上並沒有添加到我們的上下文中。所以,你必須確保你做的是,每當你創建一個新文件時,這很重要,因為如果你不這樣做,你就會包含過時的代碼。01 Pro 所做的工作實際上會很糟糕或過時。所以,非常重要的是,你要充當項目經理和上下文管理器,以確保你始終將正確的最新代碼包含到 01 Pro 中。因為將會發生的一件事是,我敢肯定,在完成大約十幾個步驟的過程中,你會忘記做一次這件事。你會得到一個糟糕的結果,你會對模型生氣,而實際上是你的錯,因為你沒有更新上下文。所以,我們將確保我們添加這個文件到上下文。你會看到它會增加我的令牌計數。太好了。這是我想像的唯一文件,對吧?因為其他文件只是編輯。所以,一切都將是最新的。你甚至可以點擊這個小刷新按鈕,只是為了確保一切都是最新的。這通常是我喜歡做的。你可以看到,一切都準備好了。如果我們打開 DB 文件夾,打開 schema 文件夾,它就準備好了。所以,我們將複製我們的新的代碼,我們的現有代碼。你可以看到我的 versel 構建現在已準備就緒。所以,它已成功部署,這很棒。現在我們可以進入現有代碼標籤,我們已經從上一步清除了。粘貼進去。我們將複製整個東西。我們將回到 chat gbt。開始一個新的聊天,使用 01 Pro。我們將粘貼這個,然後讓它開始工作。所以,01 Pro 現在正在做的事情,這就是我一開始提到的。你基本上想把 01 Pro 想像成一個你僱傭的實際開發者。因為現在它正在做的事情是,如果我們進入規劃器提示,它現在正在嘗試實現我們第一步所需的整個代碼。所以,將會發生的是,一旦它完成工作,我們稍後會討論,它將為我們提供完整的每個文件,我們需要粘貼到我們的代碼中。我們將做的是,我們將基本上遍歷這些文件中的每一個,以及它給我們的任何用戶說明。我們將在我們的代碼庫中進行更改。我們將直接在光標中進行。我現在可以關閉這個光標規則文件,因為我們暫時不需要它。我們將一步一步地繼續下去。所以,讓我們讓 01 Pro 工作。這可能需要大約 4 到 6 分鐘。所以我將讓它運行,然後我們將討論如何做到這一點。好的,所以你可以看到 01 Pro 在第一步上工作了 3 分鐘 1 秒。所以,接下來我們要做的就是逐個文件地進行,並做我們需要做的一切。所以,你會看到,對於這些文件中的每一個,我們都有被編輯或添加的文件。我們有,這是我的所作所為以及原因。這解釋了 01 Pro 實際做了什麼。它提供了文件路徑,這樣你就知道把文件放在哪裡。然後,你可以看到它提供了整個文件,以及所有文檔。所以,只是一個說明,如果你是一個不喜歡文檔的人,我們之前提到過,你可以隨時更改提示來刪除它。我認為至少在與 ow 和 pro 迭代每個步驟時,它非常有幫助。然後,我認為之後,如果你有一個應用程序狀態是你想要的,然後你想刪除所有額外的文檔,我認為那是時候了。但我確實認為,當你迭代這些步驟時,如果你保留每個文件的註釋,所有這些文檔等等,我認為你會得到更好的結果。我對此進行了廣泛的測試,發現情況確實如此。所以,只是一個需要注意的事項。好的,這是我們需要做的。我們將逐個文件地複製並粘貼代碼。第一個文件路徑是 DB schema receipts schema。所以,我們將把它添加到我們的代碼庫中。我將打開 DB,打開 schema。看起來我們需要命名文件 receipts schema. TS。所以我將這樣做。所以,讓我們 receipts D schema TTS。我們將把它粘貼進去,保存它。瞧,你現在可以看到我們有一個收據表模式,它有詳盡的文檔,並且符合我們在光標規則文件中指示的代碼標準。所以,相當酷。所以,這是第一個路徑。讓我們向下滾動到下一個文件。好的,現在我們實際上需要編輯我們 schema 中的索引文件。這將導出東西。所以,這是一個已經存在的文件。所以,我們可以再次覆蓋。這就是為什麼我們要求 ow 和 pro 每次都返回完整的文件內容。因為而不是我們必須弄清楚,好的,這兩個文件之間有什麼變化。我們可以做一個非常簡單的複製粘貼工作流程,這非常棒。好的,讓我們去第三個。所以,現在我們將更新 dbdb dots 文件。它可能就在這裡。就像上次一樣,我們將粘貼新文件。你將看到我們現在在模式中有那個收據表。我們有一些新註釋,一些好的文檔,這很棒。好的,讓我們向下滾動。看起來我們現在需要調整 env. example 文件。所以,我們將這樣做。值得注意的是,它會要求我更新示例文件。但我們當然也需要更新我們的. env. loal 文件,因為那是我們實際的 envs。還值得注意的是,因為我們調整了一個 env,我們需要做什麼?我們需要進入 verell。我們需要進入我們的設置。我們需要進入我們的環境變量。所以,看起來我們還沒有添加那個變量。所以,我們可以做的是,我們可以直接粘貼它,點擊保存。記住,我們必須重新部署以確保它被添加。所以,我們將點擊重新部署,再次點擊重新部署。這將注入新的環境變量。所以,這非常重要。然後,你可以看到我們完成了第一步。我們得到了一些概述,關於 AI 做了什麼。然後,你可以看到我們得到了用戶說明。所以,你可以看到,檢查你的. .lo。你可以看到,確保添加它。然後,它說,可選地,我們將需要生成我們的 drizzle 遷移,以便將此上傳到我們的數據庫。因為我們更新了模式的代碼,如果你刷新 superbase,你會看到我們沒有那個表。所以,這實際上將如何在我們的代碼中工作是,我們需要去我們的終端。做 npm run DB generate。這將生成新的遷移文件。所以,如果我們點擊 migrations,你會看到我們現在有一個 SQL 遷移文件,用於我們的收據表。然後,當然,我們需要遷移它。我們將做 npm run DB migrate。它將運行遷移。然後,如果我們回到 super base,我們應該能夠刷新它,看到我們的收據表,以及 AI 為我們編寫的所有那些漂亮的列。所以,這是第一步的結束。你在這裡需要做的一件事是,你實際上需要刪除你所有現有的代碼。所以,通常我會向你展示,在下一步中,當我們迭代這個的時候,因為這可能相當糟糕。每次都要找到那個開頭的標籤。所以我將繼續向上滾動,滾動,滾動。看起來我們還在代碼地圖裡。讓我們再往前一點。這是文件系統。我們必須刪除所有現有代碼。所以,我們刪除了代碼。現在我們需要去實施計劃中的第一步,只需標記它已完成。所以,我們只需在這裡添加一個 X。現在,這一切都準備好了,可以進行第二步了。我們要做的其中一件事是,在我們繼續第二步之前,我們將快速回到光標。我們將實際提交我們的代碼。所以,我推薦你做的一件事是,在你完全完成每個步驟後,你實際上想為你的 GitHub 存儲庫創建一個新的提交。我將直接稱之為第一步。我將提交它。順便說一句,我正在使用光標內的 git 標籤。你當然可以使用終端,如果你只是喜歡使用 git CLI。然後,我們將同步它。非常容易初學者使用。這裡的 git UI 相當不錯。我將在 Mac 上按 Shift Command W。這將關閉我現有的文件。如果你回到我們的 git 存儲庫,你會看到,在教程中,你會看到我有一步。我剛剛提交了這個。所以,這個黃色的待定是什麼?所以,真正很棒的一件事是將你的 GitHub 存儲庫連接到你的 cell 項目。每次你提交到你的目標分支時,基本上會發生的是,它將構建你的應用程序,這很酷。所以,這實際上將完成並構建第一步。它將實際將你更新後的代碼部署到你現有的域。所以,發生的是,在每個步驟結束時,你確保一切都完成。你提交你的代碼,然後它將實際構建並部署到你託管在 verell 上的現有 URL。這很酷。所以,讓我們開始處理下一步。好的,所以只是一個提醒。你需要確保你勾選了第一步。然後,我們將滾動回現有代碼部分。現在,我們需要使用 repo 提示來包含現有代碼。所以,讓我們看一眼 repo 提示,因為這裡有幾件事你需要做。所以,你注意到的一件事是,如果我們實際上展開,我們將點擊展開。你會注意到,我們創建的一些新文件。讓我們實際關閉那個 UI 文件夾,這樣它就不會太長。但你會看到 receipt schema,特別是,這是我們添加的新文件,實際上並沒有添加到我們的上下文中。所以,你必須確保你做的是,每當你創建一個新文件時,這很重要,因為如果你不這樣做,你就會包含過時的代碼。01 Pro 所做的工作實際上會很糟糕或過時。所以,非常重要的是,你要充當項目經理和上下文管理器,以確保你始終將正確的最新代碼包含到 01 Pro 中。因為將會發生的一件事是,我敢肯定,在完成大約十幾個步驟的過程中,你會忘記做一次這件事。你會得到一個糟糕的結果,你會對模型生氣,而實際上是你的錯,因為你沒有更新上下文。所以,我們將確保我們添加這個文件到上下文。你會看到它會增加我的令牌計數。太好了。這是我想像的唯一文件,對吧?因為其他文件只是編輯。所以,一切都將是最新的。你甚至可以點擊這個小刷新按鈕,只是為了確保一切都是最新的。這通常是我喜歡做的。你可以看到,一切都準備好了。如果我們打開 DB 文件夾,打開 schema 文件夾,它就準備好了。所以,我們將複製我們的新的代碼,我們的現有代碼。你可以看到我的 versel 構建現在已準備就緒。所以,它已成功部署,這很棒。現在我們可以進入現有代碼標籤,我們已經從上一步清除了。粘貼進去。我們將複製整個東西。我們將回到 chat gbt。開始一個新的聊天,使用 01 Pro。我們將粘貼這個,然後讓它開始工作。所以,01 Pro 現在正在做的事情,這就是我一開始提到的。你基本上想把 01 Pro 想像成一個你僱傭的實際開發者。因為現在它正在做的事情是,如果我們進入規劃器提示,它現在正在嘗試實現我們第一步所需的整個代碼。所以,將會發生的是,一旦它完成工作,我們稍後會討論,它將為我們提供完整的每個文件,我們需要粘貼到我們的代碼中。我們將做的是,我們將基本上遍歷這些文件中的每一個,以及它給我們的任何用戶說明。我們將在我們的代碼庫中進行更改。我們將直接在光標中進行。我現在可以關閉這個光標規則文件,因為我們暫時不需要它。我們將一步一步地繼續下去。所以,讓我們讓 01 Pro 工作。這可能需要大約 4 到 6 分鐘。所以我將讓它運行,然後我們將討論如何做到這一點。好的,所以你可以看到 01 Pro 在第一步上工作了 3 分鐘 1 秒。所以,接下來我們要做的就是逐個文件地進行,並做我們需要做的一切。所以,你會看到,對於這些文件中的每一個,我們都有被編輯或添加的文件。我們有,這是我的所作所為以及原因。這解釋了 01 Pro 實際做了什麼。它提供了文件路徑,這樣你就知道把文件放在哪裡。然後,你可以看到它提供了整個文件,以及所有文檔。所以,只是一個說明,如果你是一個不喜歡文檔的人,我們之前提到過,你可以隨時更改提示來刪除它。我認為至少在與 ow 和 pro 迭代每個步驟時,它非常有幫助。然後,我認為之後,如果你有一個應用程序狀態是你想要的,然後你想刪除所有額外的文檔,我認為那是時候了。但我確實認為,當你迭代這些步驟時,如果你保留每個文件的註釋,所有這些文檔等等,我認為你會得到更好的結果。我對此進行了廣泛的測試,發現情況確實如此。所以,只是一個需要注意的事項。好的,這是我們需要做的。我們將逐個文件地複製並粘貼代碼。第一個文件路徑是 DB schema receipts schema。所以,我們將把它添加到我們的代碼庫中。我將打開 DB,打開 schema。看起來我們需要命名文件 receipts schema. TS。所以我將這樣做。所以,讓我們 receipts D schema TTS。我們將把它粘貼進去,保存它。瞧,你現在可以看到我們有一個收據表模式,它有詳盡的文檔,並且符合我們在光標規則文件中指示的代碼標準。所以,相當酷。所以,這是第一個路徑。讓我們向下滾動到下一個文件。好的,現在我們實際上需要編輯我們 schema 中的索引文件。這將導出東西。所以,這是一個已經存在的文件。所以,我們可以再次覆蓋。這就是為什麼我們要求 ow 和 pro 每次都返回完整的文件內容。因為而不是我們必須弄清楚,好的,這兩個文件之間有什麼變化。我們可以做一個非常簡單的複製粘貼工作流程,這非常棒。好的,讓我們去第三個。所以,現在我們將更新 dbdb dots 文件。它可能就在這裡。就像上次一樣,我們將粘貼新文件。你將看到我們現在在模式中有那個收據表。我們有一些新註釋,一些好的文檔,這很棒。好的,讓我們向下滾動。看起來我們現在需要調整 env. example 文件。所以,我們將這樣做。值得注意的是,它會要求我更新示例文件。但我們當然也需要更新我們的. env. loal 文件,因為那是我們實際的 envs。還值得注意的是,因為我們調整了一個 env,我們需要做什麼?我們需要進入 verell。我們需要進入我們的設置。我們需要進入我們的環境變量。所以,看起來我們還沒有添加那個變量。所以,我們可以做的是,我們可以直接粘貼它,點擊保存。記住,我們必須重新部署以確保它被添加。所以,我們將點擊重新部署,再次點擊重新部署。這將注入新的環境變量。所以,這非常重要。然後,你可以看到我們完成了第一步。我們得到了一些概述,關於 AI 做了什麼。然後,你可以看到我們得到了用戶說明。所以,你可以看到,檢查你的. .lo。你可以看到,確保添加它。然後,它說,可選地,我們將需要生成我們的 drizzle 遷移,以便將此上傳到我們的數據庫。因為我們更新了模式的代碼,如果你刷新 superbase,你會看到我們沒有那個表。所以,這實際上將如何在我們的代碼中工作是,我們需要去我們的終端。做 npm run DB generate。這將生成新的遷移文件。所以,如果我們點擊 migrations,你會看到我們現在有一個 SQL 遷移文件,用於我們的收據表。然後,當然,我們需要遷移它。我們將做 npm run DB migrate。它將運行遷移。然後,如果我們回到 super base,我們應該能夠刷新它,看到我們的收據表,以及 AI 為我們編寫的所有那些漂亮的列。所以,這是第一步的結束。你在這裡需要做的一件事是,你實際上需要刪除你所有現有的代碼。所以,通常我會向你展示,在下一步中,當我們迭代這個的時候,因為這可能相當糟糕。每次都要找到那個開頭的標籤。所以我將繼續向上滾動,滾動,滾動。看起來我們還在代碼地圖裡。讓我們再往前一點。這是文件系統。我們必須刪除所有現有代碼。所以,我們刪除了代碼。現在我們需要去實施計劃中的第一步,只需標記它已完成。所以,我們只需在這裡添加一個 X。現在,這一切都準備好了,可以進行第二步了。我們要做的其中一件事是,在我們繼續第二步之前,我們將快速回到光標。我們將實際提交我們的代碼。所以,我推薦你做的一件事是,在你完全完成每個步驟後,你實際上想為你的 GitHub 存儲庫創建一個新的提交。我將直接稱之為第一步。我將提交它。順便說一句,我正在使用光標內的 git 標籤。你當然可以使用終端,如果你只是喜歡使用 git CLI。然後,我們將同步它。非常容易初學者使用。這裡的 git UI 相當不錯。我將在 Mac 上按 Shift Command W。這將關閉我現有的文件。如果你回到我們的 git 存儲庫,你會看到,在教程中,你會看到我有一步。我剛剛提交了這個。所以,這個黃色的待定是什麼?所以,真正很棒的一件事是將你的 GitHub 存儲庫連接到你的 cell 項目。每次你提交到你的目標分支時,基本上會發生的是,它將構建你的應用程序,這很酷。所以,這實際上將完成並構建第一步。它將實際將你更新後的代碼部署到你現有的域。所以,發生的是,在每個步驟結束時,你確保一切都完成。你提交你的代碼,然後它將實際構建並部署到你託管在 verell 上的現有 URL。這很酷。所以,讓我們開始處理下一步。好的,所以只是一個提醒。你需要確保你勾選了第一步。然後,我們將滾動回現有代碼部分。現在,我們需要使用 repo 提示來包含現有代碼。所以,讓我們看一眼 repo 提示,因為這裡有幾件事你需要做。所以,你注意到的一件事是,如果我們實際上展開,我們將點擊展開。你會注意到,我們創建的一些新文件。讓我們實際關閉那個 UI 文件夾,這樣它就不會太長。但你會看到 receipt schema,特別是,這是我們添加的新文件,實際上並沒有添加到我們的上下文中。所以,你必須確保你做的是,每當你創建一個新文件時,這很重要,因為如果你不這樣做,你就會包含過時的代碼。01 Pro 所做的工作實際上會很糟糕或過時。所以,非常重要的是,你要充當項目經理和上下文管理器,以確保你始終將正確的最新代碼包含到 01 Pro 中。因為將會發生的一件事是,我敢肯定,在完成大約十幾個步驟的過程中,你會忘記做一次這件事。你會得到一個糟糕的結果,你會對模型生氣,而實際上是你的錯,因為你沒有更新上下文。所以,我們將確保我們添加這個文件到上下文。你會看到它會增加我的令牌計數。太好了。這是我想像的唯一文件,對吧?因為其他文件只是編輯。所以,一切都將是最新的。你甚至可以點擊這個小刷新按鈕,只是為了確保一切都是最新的。這通常是我喜歡做的。你可以看到,一切都準備好了。如果我們打開 DB 文件夾,打開 schema 文件夾,它就準備好了。所以,我們將複製我們的新的代碼,我們的現有代碼。你可以看到我的 versel 構建現在已準備就緒。所以,它已成功部署,這很棒。現在我們可以進入現有代碼標籤,我們已經從上一步清除了。粘貼進去。我們將複製整個東西。我們將回到 chat gbt。開始一個新的聊天,使用 01 Pro。我們將粘貼這個,然後讓它開始工作。所以,01 Pro 現在正在做的事情,這就是我一開始提到的。你基本上想把 01 Pro 想像成一個你僱傭的實際開發者。因為現在它正在做的事情是,如果我們進入規劃器提示,它現在正在嘗試實現我們第一步所需的整個代碼。所以,將會發生的是,一旦它完成工作,我們稍後會討論,它將為我們提供完整的每個文件,我們需要粘貼到我們的代碼中。我們將做的是,我們將基本上遍歷這些文件中的每一個,以及它給我們的任何用戶說明。我們將在我們的代碼庫中進行更改。我們將直接在光標中進行。我現在可以關閉這個光標規則文件,因為我們暫時不需要它。我們將一步一步地繼續下去。所以,讓我們讓 01 Pro 工作。這可能需要大約 4 到 6 分鐘。所以我將讓它運行,然後我們將討論如何做到這一點。好的,所以你可以看到 01 Pro 在第一步上工作了 3 分鐘 1 秒。所以,接下來我們要做的就是逐個文件地進行,並做我們需要做的一切。所以,你會看到,對於這些文件中的每一個,我們都有被編輯或添加的文件。我們有,這是我的所作所為以及原因。這解釋了 01 Pro 實際做了什麼。它提供了文件路徑,這樣你就知道把文件放在哪裡。然後,你可以看到它提供了整個文件,以及所有文檔。所以,只是一個說明,如果你是一個不喜歡文檔的人,我們之前提到過,你可以隨時更改提示來刪除它。我認為至少在與 ow 和 pro 迭代每個步驟時,它非常有幫助。然後,我認為之後,如果你有一個應用程序狀態是你想要的,然後你想刪除所有額外的文檔,我認為那是時候了。但我確實認為,當你迭代這些步驟時,如果你保留每個文件的註釋,所有這些文檔等等,我認為你會得到更好的結果。我對此進行了廣泛的測試,發現情況確實如此。所以,只是一個需要注意的事項。好的,這是我們需要做的。我們將逐個文件地複製並粘貼代碼。第一個文件路徑是 DB schema receipts schema。所以,我們將把它添加到我們的代碼庫中。我將打開 DB,打開 schema。看起來我們需要命名文件 receipts schema. TS。所以我將這樣做。所以,讓我們 receipts D schema TTS。我們將把它粘貼進去,保存它。瞧,你現在可以看到我們有一個收據表模式,它有詳盡的文檔,並且符合我們在光標規則文件中指示的代碼標準。所以,相當酷。所以,這是第一個路徑。讓我們向下滾動到下一個文件。好的,現在我們實際上需要編輯我們 schema 中的索引文件。這將導出東西。所以,這是一個已經存在的文件。所以,我們可以再次覆蓋。這就是為什麼我們要求 ow 和 pro 每次都返回完整的文件內容。因為而不是我們必須弄清楚,好的,這兩個文件之間有什麼變化。我們可以做一個非常簡單的複製粘貼工作流程,這非常棒。好的,讓我們去第三個。所以,現在我們將更新 dbdb dots 文件。它可能就在這裡。就像上次一樣,我們將粘貼新文件。你將看到我們現在在模式中有那個收據表。我們有一些新註釋,一些好的文檔,這很棒。好的,讓我們向下滾動。看起來我們現在需要調整 env. example 文件。所以,我們將這樣做。值得注意的是,它會要求我更新示例文件。但我們當然也需要更新我們的. env. loal 文件,因為那是我們實際的 envs。還值得注意的是,因為我們調整了一個 env,我們需要做什麼?我們需要進入 verell。我們需要進入我們的設置。我們需要進入我們的環境變量。所以,看起來我們還沒有添加那個變量。所以,我們可以做的是,我們可以直接粘貼它,點擊保存。記住,我們必須重新部署以確保它被添加。所以,我們將點擊重新部署,再次點擊重新部署。這將注入新的環境變量。所以,這非常重要。然後,你可以看到我們完成了第一步。我們得到了一些概述,關於 AI 做了什麼。然後,你可以看到我們得到了用戶說明。所以,你可以看到,檢查你的. .lo。你可以看到,確保添加它。然後,它說,可選地,我們將需要生成我們的 drizzle 遷移,以便將此上傳到我們的數據庫。因為我們更新了模式的代碼,如果你刷新 superbase,你會看到我們沒有那個表。所以,這實際上將如何在我們的代碼中工作是,我們需要去我們的終端。做 npm run DB generate。這將生成新的遷移文件。所以,如果我們點擊 migrations,你會看到我們現在有一個 SQL 遷移文件,用於我們的收據表。然後,當然,我們需要遷移它。我們將做 npm run DB migrate。它將運行遷移。然後,如果我們回到 super base,我們應該能夠刷新它,看到我們的收據表,以及 AI 為我們編寫的所有那些漂亮的列。所以,這是第一步的結束。你在這裡需要做的一件事是,你實際上需要刪除你所有現有的代碼。所以,通常我會向你展示,在下一步中,當我們迭代這個的時候,因為這可能相當糟糕。每次都要找到那個開頭的標籤。所以我將繼續向上滾動,滾動,滾動。看起來我們還在代碼地圖裡。讓我們再往前一點。這是文件系統。我們必須刪除所有現有代碼。所以,我們刪除了代碼。現在我們需要去實施計劃中的第一步,只需標記它已完成。所以,我們只需在這裡添加一個 X。現在,這一切都準備好了,可以進行第二步了。我們要做的其中一件事是,在我們繼續第二步之前,我們將快速回到光標。我們將實際提交我們的代碼。所以,我推薦你做的一件事是,在你完全完成每個步驟後,你實際上想為你的 GitHub 存儲庫創建一個新的提交。我將直接稱之為第一步。我將提交它。順便說一句,我正在使用光標內的 git 標籤。你當然可以使用終端,如果你只是喜歡使用 git CLI。然後,我們將同步它。非常容易初學者使用。這裡的 git UI 相當不錯。我將在 Mac 上按 Shift Command W。這將關閉我現有的文件。如果你回到我們的 git 存儲庫,你會看到,在教程中,你會看到我有一步。我剛剛提交了這個。所以,這個黃色的待定是什麼?所以,真正很棒的一件事是將你的 GitHub 存儲庫連接到你的 cell 項目。每次你提交到你的目標分支時,基本上會發生的是,它將構建你的應用程序,這很酷。所以,這實際上將完成並構建第一步。它將實際將你更新後的代碼部署到你現有的域。所以,發生的是,在每個步驟結束時,你確保一切都完成。你提交你的代碼,然後它將實際構建並部署到你託管在 verell 上的現有 URL。這很酷。所以,讓我們開始處理下一步。好的,所以只是一個提醒。你需要確保你勾選了第一步。然後,我們將滾動回現有代碼部分。現在,我們需要使用 repo 提示來包含現有代碼。所以,讓我們看一眼 repo 提示,因為這裡有幾件事你需要做。所以,你注意到的一件事是,如果我們實際上展開,我們將點擊展開。你會注意到,我們創建的一些新文件。讓我們實際關閉那個 UI 文件夾,這樣它就不會太長。但你會看到 receipt schema,特別是,這是我們添加的新文件,實際上並沒有添加到我們的上下文中。所以,你必須確保你做的是,每當你創建一個新文件時,這很重要,因為如果你不這樣做,你就會包含過時的代碼。01 Pro 所做的工作實際上會很糟糕或過時。所以,非常重要的是,你要充當項目經理和上下文管理器,以確保你始終將正確的最新代碼包含到 01 Pro 中。因為將會發生的一件事是,我敢肯定,在完成大約十幾個步驟的過程中,你會忘記做一次這件事。你會得到一個糟糕的結果,你會對模型生氣,而實際上是你的錯,因為你沒有更新上下文。所以,我們將確保我們添加這個文件到上下文。你會看到它會增加我的令牌計數。太好了。這是我想像的唯一文件,對吧?因為其他文件只是編輯。所以,一切都將是最新的。你甚至可以點擊這個小刷新按鈕,只是為了確保一切都是最新的。這通常是我喜歡做的。你可以看到,一切都準備好了。如果我們打開 DB 文件夾,打開 schema 文件夾,它就準備好了。所以,我們將複製我們的新的代碼,我們的現有代碼。你可以看到我的 versel 構建現在已準備就緒。所以,它已成功部署,這很棒。現在我們可以進入現有代碼標籤,我們已經從上一步清除了。粘貼進去。我們將複製整個東西。我們將回到 chat gbt。開始一個新的聊天,使用 01 Pro。我們將粘貼這個,然後讓它開始工作。所以,01 Pro 現在正在做的事情,這就是我一開始提到的。你基本上想把 01 Pro 想像成一個你僱傭的實際開發者。因為現在它正在做的事情是,如果我們進入規劃器提示,它現在正在嘗試實現我們第一步所需的整個代碼。所以,將會發生的是,一旦它完成工作,我們稍後會討論,它將為我們提供完整的每個文件,我們需要粘貼到我們的代碼中。我們將做的是,我們將基本上遍歷這些文件中的每一個,以及它給我們的任何用戶說明。我們將在我們的代碼庫中進行更改。我們將直接在光標中進行。我現在可以關閉這個光標規則文件,因為我們暫時不需要它。我們將一步一步地繼續下去。所以,讓我們讓 01 Pro 工作。這可能需要大約 4 到 6 分鐘。所以我將讓它運行,然後我們將討論如何做到這一點。好的,所以你可以看到 01 Pro 在第一步上工作了 3 分鐘 1 秒。所以,接下來我們要做的就是逐個文件地進行,並做我們需要做的一切。所以,你會看到,對於這些文件中的每一個,我們都有被編輯或添加的文件。我們有,這是我的所作所為以及原因。這解釋了 01 Pro 實際做了什麼。它提供了文件路徑,這樣你就知道把文件放在哪裡。然後,你可以看到它提供了整個文件,以及所有文檔。所以,只是一個說明,如果你是一個不喜歡文檔的人,我們之前提到過,你可以隨時更改提示來刪除它。我認為至少在與 ow 和 pro 迭代每個步驟時,它非常有幫助。然後,我認為之後,如果你有一個應用程序狀態是你想要的,然後你想刪除所有額外的文檔,我認為那是時候了。但我確實認為,當你迭代這些步驟時,如果你保留每個文件的註釋,所有這些文檔等等,我認為你會得到更好的結果。我對此進行了廣泛的測試,發現情況確實如此。所以,只是一個需要注意的事項。好的,這是我們需要做的。我們將逐個文件地複製並粘貼代碼。第一個文件路徑是 DB schema receipts schema。所以,我們將把它添加到我們的代碼庫中。我將打開 DB,打開 schema。看起來我們需要命名文件 receipts schema. TS。所以我將這樣做。所以,讓我們 receipts D schema TTS。我們將把它粘貼進去,保存它。瞧,你現在可以看到我們有一個收據表模式,它有詳盡的文檔,並且符合我們在光標規則文件中指示的代碼標準。所以,相當酷。所以,這是第一個路徑。讓我們向下滾動到下一個文件。好的,現在我們實際上需要編輯我們 schema 中的索引文件。這將導出東西。所以,這是一個已經存在的文件。所以,我們可以再次覆蓋。這就是為什麼我們要求 ow 和 pro 每次都返回完整的文件內容。因為而不是我們必須弄清楚,好的,這兩個文件之間有什麼變化。我們可以做一個非常簡單的複製粘貼工作流程,這非常棒。好的,讓我們去第三個。所以,現在我們將更新 dbdb dots 文件。它可能就在這裡。就像上次一樣,我們將粘貼新文件。你將看到我們現在在模式中有那個收據表。我們有一些新註釋,一些好的文檔,這很棒。好的,讓我們向下滾動。看起來我們現在需要調整 env. example 文件。所以,我們將這樣做。值得注意的是,它會要求我更新示例文件。但我們當然也需要更新我們的. env. loal 文件,因為那是我們實際的 envs。還值得注意的是,因為我們調整了一個 env,我們需要做什麼?我們需要進入 verell。我們需要進入我們的設置。我們需要進入我們的環境變量。所以,看起來我們還沒有添加那個變量。所以,我們可以做的是,我們可以直接粘貼它,點擊保存。記住,我們必須重新部署以確保它被添加。所以,我們將點擊重新部署,再次點擊重新部署。這將注入新的環境變量。所以,這非常重要。然後,你可以看到我們完成了第一步。我們得到了一些概述,關於 AI 做了什麼。然後,你可以看到我們得到了用戶說明。所以,你可以看到,檢查你的. .lo。你可以看到,確保添加它。然後,它說,可選地,我們將需要生成我們的 drizzle 遷移,以便將此上傳到我們的數據庫。因為我們更新了模式的代碼,如果你刷新 superbase,你會看到我們沒有那個表。所以,這實際上將如何在我們的代碼中工作是,我們需要去我們的終端。做 npm run DB generate。這將生成新的遷移文件。所以,如果我們點擊 migrations,你會看到我們現在有一個 SQL 遷移文件,用於我們的收據表。然後,當然,我們需要遷移它。我們將做 npm run DB migrate。它將運行遷移。然後,如果我們回到 super base,我們應該能夠刷新它,看到我們的收據表,以及 AI 為我們編寫的所有那些漂亮的列。所以,這是第一步的結束。你在這裡需要做的一件事是,你實際上需要刪除你所有現有的代碼。所以,通常我會向你展示,在下一步中,當我們迭代這個的時候,因為這可能相當糟糕。每次都要找到那個開頭的標籤。所以我將繼續向上滾動,滾動,滾動。看起來我們還在代碼地圖裡。讓我們再往前一點。這是文件系統。我們必須刪除所有現有代碼。所以,我們刪除了代碼。現在我們需要去實施計劃中的第一步,只需標記它已完成。所以,我們只需在這裡添加一個 X。現在,這一切都準備好了,可以進行第二步了。我們要做的其中一件事是,在我們繼續第二步之前,我們將快速回到光標。我們將實際提交我們的代碼。所以,我推薦你做的一件事是,在你完全完成每個步驟後,你實際上想為你的 GitHub 存儲庫創建一個新的提交。我將直接稱之為第一步。我將提交它。順便說一句,我正在使用光標內的 git 標籤。你當然可以使用終端,如果你只是喜歡使用 git CLI。然後,我們將同步它。非常容易初學者使用。這裡的 git UI 相當不錯。我將在 Mac 上按 Shift Command W。這將關閉我現有的文件。如果你回到我們的 git 存儲庫,你會看到,在教程中,你會看到我有一步。我剛剛提交了這個。所以,這個黃色的待定是什麼?所以,真正很棒的一件事是將你的 GitHub 存儲庫連接到你的 cell 項目。每次你提交到你的目標分支時,基本上會發生的是,它將構建你的應用程序,這很酷。所以,這實際上將完成並構建第一步。它將實際將你更新後的代碼部署到你現有的域。所以,發生的是,在每個步驟結束時,你確保一切都完成。你提交你的代碼,然後它將實際構建並部署到你託管在 verell 上的現有 URL。這很酷。所以,讓我們開始處理下一步。好的,所以只是一個提醒。你需要確保你勾選了第一步。然後,我們將滾動回現有代碼部分。現在,我們需要使用 repo 提示來包含現有代碼。所以,讓我們看一眼 repo 提示,因為這裡有幾件事你需要做。所以,你注意到的一件事是,如果我們實際上展開,我們將點擊展開。你會注意到,我們創建的一些新文件。讓我們實際關閉那個 UI 文件夾,這樣它就不會太長。但你會看到 receipt schema,特別是,這是我們添加的新文件,實際上並沒有添加到我們的上下文中。所以,你必須確保你做的是,每當你創建一個新文件時,這很重要,因為如果你不這樣做,你就會包含過時的代碼。01 Pro 所做的工作實際上會很糟糕或過時。所以,非常重要的是,你要充當項目經理和上下文管理器,以確保你始終將正確的最新代碼包含到 01 Pro 中。因為將會發生的一件事是,我敢肯定,在完成大約十幾個步驟的過程中,你會忘記做一次這件事。你會得到一個糟糕的結果,你會對模型生氣,而實際上是你的錯,因為你沒有更新上下文。所以,我們將確保我們添加這個文件到上下文。你會看到它會增加我的令牌計數。太好了。這是我想像的唯一文件,對吧?因為其他文件只是編輯。所以,一切都將是最新的。你甚至可以點擊這個小刷新按鈕,只是為了確保一切都是最新的。這通常是我喜歡做的。你可以看到,一切都準備好了。如果我們打開 DB 文件夾,打開 schema 文件夾,它就準備好了。所以,我們將複製我們的新的代碼,我們的現有代碼。你可以看到我的 versel 構建現在已準備就緒。所以,它已成功部署,這很棒。現在我們可以進入現有代碼標籤,我們已經從上一步清除了。粘貼進去。我們將複製整個東西。我們將回到 chat gbt。開始一個新的聊天,使用 01 Pro。我們將粘貼這個,然後讓它開始工作。所以,01 Pro 現在正在做的事情,這就是我一開始提到的。你基本上想把 01 Pro 想像成一個你僱傭的實際開發者。因為現在它正在做的事情是,如果我們進入規劃器提示,它現在正在嘗試實現我們第一步所需的整個代碼。所以,將會發生的是,一旦它完成工作,我們稍後會討論,它將為我們提供完整的每個文件,我們需要粘貼到我們的代碼中。我們將做的是,我們將基本上遍歷這些文件中的每一個,以及它給我們的任何用戶說明。我們將在我們的代碼庫中進行更改。我們將直接在光標中進行。我現在可以關閉這個光標規則文件,因為我們暫時不需要它。我們將一步一步地繼續下去。所以,讓我們讓 01 Pro 工作。這可能需要大約 4 到 6 分鐘。所以我將讓它運行,然後我們將討論如何做到這一點。好的,所以你可以看到 01 Pro 在第一步上工作了 3 分鐘 1 秒。所以,接下來我們要做的就是逐個文件地進行,並做我們需要做的一切。所以,你會看到,對於這些文件中的每一個,我們都有被編輯或添加的文件。我們有,這是我的所作所為以及原因。這解釋了 01 Pro 實際做了什麼。它提供了文件路徑,這樣你就知道把文件放在哪裡。然後,你可以看到它提供了整個文件,以及所有文檔。所以,只是一個說明,如果你是一個不喜歡文檔的人,我們之前提到過,你可以隨時更改提示來刪除它。我認為至少在與 ow 和 pro 迭代每個步驟時,它非常有幫助。然後,我認為之後,如果你有一個應用程序狀態是你想要的,然後你想刪除所有額外的文檔,我認為那是時候了。但我確實認為,當你迭代這些步驟時,如果你保留每個文件的註釋,所有這些文檔等等,我認為你會得到更好的結果。我對此進行了廣泛的測試,發現情況確實如此。所以,只是一個需要注意的事項。好的,這是我們需要做的。我們將逐個文件地複製並粘貼代碼。第一個文件路徑是 DB schema receipts schema。所以,我們將把它添加到我們的代碼庫中。我將打開 DB,打開 schema。看起來我們需要命名文件 receipts schema. TS。所以我將這樣做。所以,讓我們 receipts D schema TTS。我們將把它粘貼進去,保存它。瞧,你現在可以看到我們有一個收據表模式,它有詳盡的文檔,並且符合我們在光標規則文件中指示的代碼標準。所以,相當酷。所以,這是第一個路徑。讓我們向下滾動到下一個文件。好的,現在我們實際上需要編輯我們 schema 中的索引文件。這將導出東西。所以,這是一個已經存在的文件。所以,我們可以再次覆蓋。這就是為什麼我們要求 ow 和 pro 每次都返回完整的文件內容。因為而不是我們必須弄清楚,好的,這兩個文件之間有什麼變化。我們可以做一個非常簡單的複製粘貼工作流程,這非常棒。好的,讓我們去第三個。所以,現在我們將更新 dbdb dots 文件。它可能就在這裡。就像上次一樣,我們將粘貼新文件。你將看到我們現在在模式中有那個收據表。我們有一些新註釋,一些好的文檔,這很棒。好的,讓我們向下滾動。看起來我們現在需要調整 env. example 文件。所以,我們將這樣做。值得注意的是,它會要求我更新示例文件。但我們當然也需要更新我們的. env. loal 文件,因為那是我們實際的 envs。還值得注意的是,因為我們調整了一個 env,我們需要做什麼?我們需要進入 verell。我們需要進入我們的設置。我們需要進入我們的環境變量。所以,看起來我們還沒有添加那個變量。所以,我們可以做的是,我們可以直接粘貼它,點擊保存。記住,我們必須重新部署以確保它被添加。所以,我們將點擊重新部署,再次點擊重新部署。這將注入新的環境變量。所以,這非常重要。然後,你可以看到我們完成了第一步。我們得到了一些概述,關於 AI 做了什麼。然後,你可以看到我們得到了用戶說明。所以,你可以看到,檢查你的. .lo。你可以看到,確保添加它。然後,它說,可選地,我們將需要生成我們的 drizzle 遷移,以便將此上傳到我們的數據庫。因為我們更新了模式的代碼,如果你刷新 superbase,你會看到我們沒有那個表。所以,這實際上將如何在我們的代碼中工作是,我們需要去我們的終端。做 npm run DB generate。這將生成新的遷移文件。所以,如果我們點擊 migrations,你會看到我們現在有一個 SQL 遷移文件,用於我們的收據表。然後,當然,我們需要遷移它。我們將做 npm run DB migrate。它將運行遷移。然後,如果我們回到 super base,我們應該能夠刷新它,看到我們的收據表,以及 AI 為我們編寫的所有那些漂亮的列。所以,這是第一步的結束。你在這裡需要做的一件事是,你實際上需要刪除你所有現有的代碼。所以,通常我會向你展示,在下一步中,當我們迭代這個的時候,因為這可能相當糟糕。每次都要找到那個開頭的標籤。所以我將繼續向上滾動,滾動,滾動。看起來我們還在代碼地圖裡。讓我們再往前一點。這是文件系統。我們必須刪除所有現有代碼。所以,我們刪除了代碼。現在我們需要去實施計劃中的第一步,只需標記它已完成。所以,我們只需在這裡添加一個 X。現在,這一切都準備好了,可以進行第二步了。我們要做的其中一件事是,在我們繼續第二步之前,我們將快速回到光標。我們將實際提交我們的代碼。所以,我推薦你做的一件事是,在你完全完成每個步驟後,你實際上想為你的 GitHub 存儲庫創建一個新的提交。我將直接稱之為第一步。我將提交它。順便說一句,我正在使用光標內的 git 標籤。你當然可以使用終端,如果你只是喜歡使用 git CLI。然後,我們將同步它。非常容易初學者使用。這裡的 git UI 相當不錯。我將在 Mac 上按 Shift Command W。這將關閉我現有的文件。如果你回到我們的 git 存儲庫,你會看到,在教程中,你會看到我有一步。我剛剛提交了這個。所以,這個黃色的待定是什麼?所以,真正很棒的一件事是將你的 GitHub 存儲庫連接到你的 cell 項目。每次你提交到你的目標分支時,基本上會發生的是,它將構建你的應用程序,這很酷。所以,這實際上將完成並構建第一步。它將實際將你更新後的代碼部署到你現有的域。所以,發生的是,在每個步驟結束時,你確保一切都完成。你提交你的代碼,然後它將實際構建並部署到你託管在 verell 上的現有 URL。這很酷。所以,讓我們開始處理下一步。好的,所以只是一個提醒。你需要確保你勾選了第一步。然後,我們將滾動回現有代碼部分。現在,我們需要使用 repo 提示來包含現有代碼。所以,讓我們看一眼 repo 提示,因為這裡有幾件事你需要做。所以,你注意到的一件事是,如果我們實際上展開,我們將點擊展開。你會注意到,我們創建的一些新文件。讓我們實際關閉那個 UI 文件夾,這樣它就不會太長。但你會看到 receipt schema,特別是,這是我們添加的新文件,實際上並沒有添加到我們的上下文中。所以,你必須確保你做的是,每當你創建一個新文件時,這很重要,因為如果你不這樣做,你就會包含過時的代碼。01 Pro 所做的工作實際上會很糟糕或過時。所以,非常重要的是,你要充當項目經理和上下文管理器,以確保你始終將正確的最新代碼包含到 01 Pro 中。因為將會發生的一件事是,我敢肯定,在完成大約十幾個步驟的過程中,你會忘記做一次這件事。你會得到一個糟糕的結果,你會對模型生氣,而實際上是你的錯,因為你沒有更新上下文。所以,我們將確保我們添加這個文件到上下文。你會看到它會增加我的令牌計數。太好了。這是我想像的唯一文件,對吧?因為其他文件只是編輯。所以,一切都將是最新的。你甚至可以點擊這個小刷新按鈕,只是為了確保一切都是最新的。這通常是我喜歡做的。你可以看到,一切都準備好了。如果我們打開 DB 文件夾,打開 schema 文件夾,它就準備好了。所以,我們將複製我們的新的代碼,我們的現有代碼。你可以看到我的 versel 構建現在已準備就緒。所以,它已成功部署,這很棒。現在我們可以進入現有代碼標籤,我們已經從上一步清除了。粘貼進去。我們將複製整個東西。我們將回到 chat gbt。開始一個新的聊天,使用 01 Pro。我們將粘貼這個,然後讓它開始工作。所以,01 Pro 現在正在做的事情,這就是我一開始提到的。你基本上想把 01 Pro 想像成一個你僱傭的實際開發者。因為現在它正在做的事情是,如果我們進入規劃器提示,它現在正在嘗試實現我們第一步所需的整個代碼。所以,將會發生的是,一旦它完成工作,我們稍後會討論,它將為我們提供完整的每個文件,我們需要粘貼到我們的代碼中。我們將做的是,我們將基本上遍歷這些文件中的每一個,以及它給我們的任何用戶說明。我們將在我們的代碼庫中進行更改。我們將直接在光標中進行。我現在可以關閉這個光標規則文件,因為我們暫時不需要它。我們將一步一步地繼續下去。所以,讓我們讓 01 Pro 工作。這可能需要大約 4 到 6 分鐘。所以我將讓它運行,然後我們將討論如何做到這一點。好的,所以你可以看到 01 Pro 在第一步上工作了 3 分鐘 1 秒。所以,接下來我們要做的就是逐個文件地進行,並做我們需要做的一切。所以,你會看到,對於這些文件中的每一個,我們都有被編輯或添加的文件。我們有,這是我的所作所為以及原因。這解釋了 01 Pro 實際做了什麼。它提供了文件路徑,這樣你就知道把文件放在哪裡。然後,你可以看到它提供了整個文件,以及所有文檔。所以,只是一個說明,如果你是一個不喜歡文檔的人,我們之前提到過,你可以隨時更改提示來刪除它。我認為至少在與 ow 和 pro 迭代每個步驟時,它非常有幫助。然後,我認為之後,如果你有一個應用程序狀態是你想要的,然後你想刪除所有額外的文檔,我認為那是時候了。但我確實認為,當你迭代這些步驟時,如果你保留每個文件的註釋,所有這些文檔等等,我認為你會得到更好的結果。我對此進行了廣泛的測試,發現情況確實如此。所以,只是一個需要注意的事項。好的,這是我們需要做的。我們將逐個文件地複製並粘貼代碼。第一個文件路徑是 DB schema receipts schema。所以,我們將把它添加到我們的代碼庫中。我將打開 DB,打開 schema。看起來我們需要命名文件 receipts schema. TS。所以我將這樣做。所以,讓我們 receipts D schema TTS。我們將把它粘貼進去,保存它。瞧,你現在可以看到我們有一個收據表模式,它有詳盡的文檔,並且符合我們在光標規則文件中指示的代碼標準。所以,相當酷。所以,這是第一個路徑。讓我們向下滾動到下一個文件。好的,現在我們實際上需要編輯我們 schema 中的索引文件。這將導出東西。所以,這是一個已經存在的文件。所以,我們可以再次覆蓋。這就是為什麼我們要求 ow 和 pro 每次都返回完整的文件內容。因為而不是我們必須弄清楚,好的,這兩個文件之間有什麼變化。我們可以做一個非常簡單的複製粘貼工作流程,這非常棒。好的,讓我們去第三個。所以,現在我們將更新 dbdb dots 文件。它可能就在這裡。就像上次一樣,我們將粘貼新文件。你將看到我們現在在模式中有那個收據表。我們有一些新註釋,一些好的文檔,這很棒。好的,讓我們向下滾動。看起來我們現在需要調整 env. example 文件。所以,我們將這樣做。值得注意的是,它會要求我更新示例文件。但我們當然也需要更新我們的. env. loal 文件,因為那是我們實際的 envs。還值得注意的是,因為我們調整了一個 env,我們需要做什麼?我們需要進入 verell。我們需要進入我們的設置。我們需要進入我們的環境變量。所以,看起來我們還沒有添加那個變量。所以,我們可以做的是,我們可以直接粘貼它,點擊保存。記住,我們必須重新部署以確保它被添加。所以,我們將點擊重新部署,再次點擊重新部署。這將注入新的環境變量。所以,這非常重要。然後,你可以看到我們完成了第一步。我們得到了一些概述,關於 AI 做了什麼。然後,你可以看到我們得到了用戶說明。所以,你可以看到,檢查你的. .lo。你可以看到,確保添加它。然後,它說,可選地,我們將需要生成我們的 drizzle 遷移,以便將此上傳到我們的數據庫。因為我們更新了模式的代碼,如果你刷新 superbase,你會看到我們沒有那個表。所以,這實際上將如何在我們的代碼中工作是,我們需要去我們的終端。做 npm run DB generate。這將生成新的遷移文件。所以,如果我們點擊 migrations,你會看到我們現在有一個 SQL 遷移文件,用於我們的收據表。然後,當然,我們需要遷移它。我們將做 npm run DB migrate。它將運行遷移。然後,如果我們回到 super base,我們應該能夠刷新它,看到我們的收據表,以及 AI 為我們編寫的所有那些漂亮的列。所以,這是第一步的結束。你在這裡需要做的一件事是,你實際上需要刪除你所有現有的代碼。所以,通常我會向你展示,在下一步中,當我們迭代這個的時候,因為這可能相當糟糕。每次都要找到那個開頭的標籤。所以我將繼續向上滾動,滾動,滾動。看起來我們還在代碼地圖裡。讓我們再往前一點。這是文件系統。我們必須刪除所有現有代碼。所以,我們刪除了代碼。現在我們需要去實施計劃中的第一步,只需標記它已完成。所以,我們只需在這裡添加一個 X。現在,這一切都準備好了,可以進行第二步了。我們要做的其中一件事是,在我們繼續第二步之前,我們將快速回到光標。我們將實際提交我們的代碼。所以,我推薦你做的一件事是,在你完全完成每個步驟後,你實際上想為你的 GitHub 存儲庫創建一個新的提交。我將直接稱之為第一步。我將提交它。順便說一句,我正在使用光標內的 git 標籤。你當然可以使用終端,如果你只是喜歡使用 git CLI。然後,我們將同步它。非常容易初學者使用。這裡的 git UI 相當不錯。我將在 Mac 上按 Shift Command W。這將關閉我現有的文件。如果你回到我們的 git 存儲庫,你會看到,在教程中,你會看到我有一步。我剛剛提交了這個。所以,這個黃色的待定是什麼?所以,真正很棒的一件事是將你的 GitHub 存儲庫連接到你的 cell 項目。每次你提交到你的目標分支時,基本上會發生的是,它將構建你的應用程序,這很酷。所以,這實際上將完成並構建第一步。它將實際將你更新後的代碼部署到你現有的域。所以,發生的是,在每個步驟結束時,你確保一切都完成。你提交你的代碼,然後它將實際構建並部署到你託管在 verell 上的現有 URL。這很酷。所以,讓我們開始處理下一步。好的,所以只是一個提醒。你需要確保你勾選了第一步。然後,我們將滾動回現有代碼部分。現在,我們需要使用 repo 提示來包含現有代碼。所以,讓我們看一眼 repo 提示,因為這裡有幾件事你需要做。所以,你注意到的一件事是,如果我們實際上展開,我們將點擊展開。你會注意到,我們創建的一些新文件。讓我們實際關閉那個 UI 文件夾,這樣它就不會太長。但你會看到 receipt schema,特別是,這是我們添加的新文件,實際上並沒有添加到我們的上下文中。所以,你必須確保你做的是,每當你創建一個新文件時,這很重要,因為如果你不這樣做,你就會包含過時的代碼。01 Pro 所做的工作實際上會很糟糕或過時。所以,非常重要的是,你要充當項目經理和上下文管理器,以確保你始終將正確的最新代碼包含到 01 Pro 中。因為將會發生的一件事是,我敢肯定,在完成大約十幾個步驟的過程中,你會忘記做一次這件事。你會得到一個糟糕的結果,你會對模型生氣,而實際上是你的錯,因為你沒有更新上下文。所以,我們將確保我們添加這個文件到上下文。你會看到它會增加我的令牌計數。太好了。這是我想像的唯一文件,對吧?因為其他文件只是編輯。所以,一切都將是最新的。你甚至可以點擊這個小刷新按鈕,只是為了確保一切都是最新的。這通常是我喜歡做的。你可以看到,一切都準備好了。如果我們打開 DB 文件夾,打開 schema 文件夾,它就準備好了。所以,我們將複製我們的新的代碼,我們的現有代碼。你可以看到我的 versel 構建現在已準備就緒。所以,它已成功部署,這很棒。現在我們可以進入現有代碼標籤,我們已經從上一步清除了。粘貼進去。我們將複製整個東西。我們將回到 chat gbt。開始一個新的聊天,使用 01 Pro。我們將粘貼這個,然後讓它開始工作。所以,01 Pro 現在正在做的事情,這就是我一開始提到的。你基本上想把 01 Pro 想像成一個你僱傭的實際開發者。因為現在它正在做的事情是,如果我們進入規劃器提示,它現在正在嘗試實現我們第一步所需的整個代碼。所以,將會發生的是,一旦它完成工作,我們稍後會討論,它將為我們提供完整的每個文件,我們需要粘貼到我們的代碼中。我們將做的是,我們將基本上遍歷這些文件中的每一個,以及它給我們的任何用戶說明。我們將在我們的代碼庫中進行更改。我們將直接在光標中進行。我現在可以關閉這個光標規則文件,因為我們暫時不需要它。我們將一步一步地繼續下去。所以,讓我們讓 01 Pro 工作。這可能需要大約 4 到 6 分鐘。所以我將讓它運行,然後我們將討論如何做到這一點。好的,所以你可以看到 01 Pro 在第一步上工作了 3 分鐘 1 秒。所以,接下來我們要做的就是逐個文件地進行,並做我們需要做的一切。所以,你會看到,對於這些文件中的每一個,我們都有被編輯或添加的文件。我們有,這是我的所作所為以及原因。這解釋了 01 Pro 實際做了什麼。它提供了文件路徑,這樣你就知道把文件放在哪裡。然後,你可以看到它提供了整個文件,以及所有文檔。所以,只是一個說明,如果你是一個不喜歡文檔的人,我們之前提到過,你可以隨時更改提示來刪除它。我認為至少在與 ow 和 pro 迭代每個步驟時,它非常有幫助。然後,我認為之後,如果你有一個應用程序狀態是你想要的,然後你想刪除所有額外的文檔,我認為那是時候了。但我確實認為,當你迭代這些步驟時,如果你保留每個文件的註釋,所有這些文檔等等,我認為你會得到更好的結果。我對此進行了廣泛的測試,發現情況確實如此。所以,只是一個需要注意的事項。好的,這是我們需要做的。我們將逐個文件地複製並粘貼代碼。第一個文件路徑是 DB schema receipts schema。所以,我們將把它添加到我們的代碼庫中。我將打開 DB,打開 schema。看起來我們需要命名文件 receipts schema. TS。所以我將這樣做。所以,讓我們 receipts D schema TTS。我們將把它粘貼進去,保存它。瞧,你現在可以看到我們有一個收據表模式,它有詳盡的文檔,並且符合我們在光標規則文件中指示的代碼標準。所以,相當酷。所以,這是第一個路徑。讓我們向下滾動到下一個文件。好的,現在我們實際上需要編輯我們 schema 中的索引文件。這將導出東西。所以,這是一個已經存在的文件。所以,我們可以再次覆蓋。這就是為什麼我們要求 ow 和 pro 每次都返回完整的文件內容。因為而不是我們必須弄清楚,好的,這兩個文件之間有什麼變化。我們可以做一個非常簡單的複製粘貼工作流程,這非常棒。好的,讓我們去第三個。所以,現在我們將更新 dbdb dots 文件。它可能就在這裡。就像上次一樣,我們將粘貼新文件。你將看到我們現在在模式中有那個收據表。我們有一些新註釋,一些好的文檔,這很棒。好的,讓我們向下滾動。看起來我們現在需要調整 env. example 文件。所以,我們將這樣做。值得注意的是,它會要求我更新示例文件。但我們當然也需要更新我們的. env. loal 文件,因為那是我們實際的 envs。還值得注意的是,因為我們調整了一個 env,我們需要做什麼?我們需要進入 verell。我們需要進入我們的設置。我們需要進入我們的環境變量。所以,看起來我們還沒有添加那個變量。所以,我們可以做的是,我們可以直接粘貼它,點擊保存。記住,我們必須重新部署以確保它被添加。所以,我們將點擊重新部署,再次點擊重新部署。這將注入新的環境變量。所以,這非常重要。然後,你可以看到我們完成了第一步。我們得到了一些概述,關於 AI 做了什麼。然後,你可以看到我們得到了用戶說明。所以,你可以看到,檢查你的. .lo。你可以看到,確保添加它。然後,它說,可選地,我們將需要生成我們的 drizzle 遷移,以便將此上傳到我們的數據庫。因為我們更新了模式的代碼,如果你刷新 superbase,你會看到我們沒有那個表。所以,這實際上將如何在我們的代碼中工作是,我們需要去我們的終端。做 npm run DB generate。這將生成新的遷移文件。所以,如果我們點擊 migrations,你會看到我們現在有一個 SQL 遷移文件,用於我們的收據表。然後,當然,我們需要遷移它。我們將做 npm run DB migrate。它將運行遷移。然後,如果我們回到 super base,我們應該能夠刷新它,看到我們的收據表,以及 AI 為我們編寫的所有那些漂亮的列。所以,這是第一步的結束。你在這裡需要做的一件事是,你實際上需要刪除你所有現有的代碼。所以,通常我會向你展示,在下一步中,當我們迭代這個的時候,因為這可能相當糟糕。每次都要找到那個開頭的標籤。所以我將繼續向上滾動,滾動,滾動。看起來我們還在代碼地圖裡。讓我們再往前一點。這是文件系統。我們必須刪除所有現有代碼。所以,我們刪除了代碼。現在我們需要去實施計劃中的第一步,只需標記它已完成。所以,我們只需在這裡添加一個 X。現在,這一切都準備好了,可以進行第二步了。我們要做的其中一件事是,在我們繼續第二步之前,我們將快速回到光標。我們將實際提交我們的代碼。所以,我推薦你做的一件事是,在你完全完成每個步驟後,你實際上想為你的 GitHub 存儲庫創建一個新的提交。我將直接稱之為第一步。我將提交它。順便說一句,我正在使用光標內的 git 標籤。你當然可以使用終端,如果你只是喜歡使用 git CLI。然後,我們將同步它。非常容易初學者使用。這裡的 git UI 相當不錯。我將在 Mac 上按 Shift Command W。這將關閉我現有的文件。如果你回到我們的 git 存儲庫,你會看到,在教程中,你會看到我有一步。我剛剛提交了這個。所以,這個黃色的待定是什麼?所以,真正很棒的一件事是將你的 GitHub 存儲庫連接到你的 cell 項目。每次你提交到你的目標分支時,基本上會發生的是,它將構建你的應用程序,這很酷。所以,這實際上將完成並構建第一步。它將實際將你更新後的代碼部署到你現有的域。所以,發生的是,在每個步驟結束時,你確保一切都完成。你提交你的代碼,然後它將實際構建並部署到你託管在 verell 上的現有 URL。這很酷。所以,讓我們開始處理下一步。好的,所以只是一個提醒。你需要確保你勾選了第一步。然後,我們將滾動回現有代碼部分。現在,我們需要使用 repo 提示來包含現有代碼。所以,讓我們看一眼 repo 提示,因為這裡有幾件事你需要做。所以,你注意到的一件事是,如果我們實際上展開,我們將點擊展開。你會注意到,我們創建的一些新文件。讓我們實際關閉那個 UI 文件夾,這樣它就不會太長。但你會看到 receipt schema,特別是,這是我們添加的新文件,實際上並沒有添加到我們的上下文中。所以,你必須確保你做的是,每當你創建一個新文件時,這很重要,因為如果你不這樣做,你就會包含過時的代碼。01 Pro 所做的工作實際上會很糟糕或過時。所以,非常重要的是,你要充當項目經理和上下文管理器,以確保你始終將正確的最新代碼包含到 01 Pro 中。因為將會發生的一件事是,我敢肯定,在完成大約十幾個步驟的過程中,你會忘記做一次這件事。你會得到一個糟糕的結果,你會對模型生氣,而實際上是你的錯,因為你沒有更新上下文。所以,我們將確保我們添加這個文件到上下文。你會看到它會增加我的令牌計數。太好了。這是我想像的唯一文件,對吧?因為其他文件只是編輯。所以,一切都將是最新的。你甚至可以點擊這個小刷新按鈕,只是為了確保一切都是最新的。這通常是我喜歡做的。你可以看到,一切都準備好了。如果我們打開 DB 文件夾,打開 schema 文件夾,它就準備好了。所以,我們將複製我們的新的代碼,我們的現有代碼。你可以看到我的 versel 構建現在已準備就緒。所以,它已成功部署,這很棒。現在我們可以進入現有代碼標籤,我們已經從上一步清除了。粘貼進去。我們將複製整個東西。我們將回到 chat gbt。開始一個新的聊天,使用 01 Pro。我們將粘貼這個,然後讓它開始工作。所以,01 Pro 現在正在做的事情,這就是我一開始提到的。你基本上想把 01 Pro 想像成一個你僱傭的實際開發者。因為現在它正在做的事情是,如果我們進入規劃器提示,它現在正在嘗試實現我們第一步所需的整個代碼。所以,將會發生的是,一旦它完成工作,我們稍後會討論,它將為我們提供完整的每個文件,我們需要粘貼到我們的代碼中。我們將做的是,我們將基本上遍歷這些文件中的每一個,以及它給我們的任何用戶說明。我們將在我們的代碼庫中進行更改。我們將直接在光標中進行。我現在可以關閉這個光標規則文件,因為我們暫時不需要它。我們將一步一步地繼續下去。所以,讓我們讓 01 Pro 工作。這可能需要大約 4 到 6 分鐘。所以我將讓它運行,然後我們將討論如何做到這一點。好的,所以你可以看到 01 Pro 在第一步上工作了 3 分鐘 1 秒。所以,接下來我們要做的就是逐個文件地進行,並做我們需要做的一切。所以,你會看到,對於這些文件中的每一個,我們都有被編輯或添加的文件。我們有,這是我的所作所為以及原因。這解釋了 01 Pro 實際做了什麼。它提供了文件路徑,這樣你就知道把文件放在哪裡。然後,你可以看到它提供了整個文件,以及所有文檔。所以,只是一個說明,如果你是一個不喜歡文檔的人,我們之前提到過,你可以隨時更改提示來刪除它。我認為至少在與 ow 和 pro 迭代每個步驟時,它非常有幫助。然後,我認為之後,如果你有一個應用程序狀態是你想要的,然後你想刪除所有額外的文檔,我認為那是時候了。但我確實認為,當你迭代這些步驟時,如果你保留每個文件的註釋,所有這些文檔等等,我認為你會得到更好的結果。我對此進行了廣泛的測試,發現情況確實如此。所以,只是一個需要注意的事項。好的,這是我們需要做的。我們將逐個文件地複製並粘貼代碼。第一個文件路徑是 DB schema receipts schema。所以,我們將把它添加到我們的代碼庫中。我將打開 DB,打開 schema。看起來我們需要命名文件 receipts schema. TS。所以我將這樣做。所以,讓我們 receipts D schema TTS。我們將把它粘貼進去,保存它。瞧,你現在可以看到我們有一個收據表模式,它有詳盡的文檔,並且符合我們在光標規則文件中指示的代碼標準。所以,相當酷。所以,這是第一個路徑。讓我們向下滾動到下一個文件。好的,現在我們實際上需要編輯我們 schema 中的索引文件。這將導出東西。所以,這是一個已經存在的文件。所以,我們可以再次覆蓋。這就是為什麼我們要求 ow 和 pro 每次都返回完整的文件內容。因為而不是我們必須弄清楚,好的,這兩個文件之間有什麼變化。我們可以做一個非常簡單的複製粘貼工作流程,這非常棒。好的,讓我們去第三個。所以,現在我們將更新 dbdb dots 文件。它可能就在這裡。就像上次一樣,我們將粘貼新文件。你將看到我們現在在模式中有那個收據表。我們有一些新註釋,一些好的文檔,這很棒。好的,讓我們向下滾動。看起來我們現在需要調整 env. example 文件。所以,我們將這樣做。值得注意的是,它會要求我更新示例文件。但我們當然也需要更新我們的. env. loal 文件,因為那是我們實際的 envs。還值得注意的是,因為我們調整了一個 env,我們需要做什麼?我們需要進入 verell。我們需要進入我們的設置。我們需要進入我們的環境變量。所以,看起來我們還沒有添加那個變量。所以,我們可以做的是,我們可以直接粘貼它,點擊保存。記住,我們必須重新部署以確保它被添加。所以,我們將點擊重新部署,再次點擊重新部署。這將注入新的環境變量。所以,這非常重要。然後,你可以看到我們完成了第一步。我們得到了一些概述,關於 AI 做了什麼。然後,你可以看到我們得到了用戶說明。所以,你可以看到,檢查你的. .lo。你可以看到,確保添加它。然後,它說,可選地,我們將需要生成我們的 drizzle 遷移,以便將此上傳到我們的數據庫。因為我們更新了模式的代碼,如果你刷新 superbase,你會看到我們沒有那個表。所以,這實際上將如何在我們的代碼中工作是,我們需要去我們的終端。做 npm run DB generate。這將生成新的遷移文件。所以,如果我們點擊 migrations,你會看到我們現在有一個 SQL 遷移文件,用於我們的收據表。然後,當然,我們需要遷移它。我們將做 npm run DB migrate。它將運行遷移。然後,如果我們回到 super base,我們應該能夠刷新它,看到我們的收據表,以及 AI 為我們編寫的所有那些漂亮的列。所以,這是第一步的結束。你在這裡需要做的一件事是,你實際上需要刪除你所有現有的代碼。所以,通常我會向你展示,在下一步中,當我們迭代這個的時候,因為這可能相當糟糕。每次都要找到那個開頭的標籤。所以我將繼續向上滾動,滾動,滾動。看起來我們還在代碼地圖裡。讓我們再往前一點。這是文件系統。我們必須刪除所有現有代碼。所以,我們刪除了代碼。現在我們需要去實施計劃中的第一步,只需標記它已完成。所以,我們只需在這裡添加一個 X。現在,這一切都準備好了,可以進行第二步了。我們要做的其中一件事是,在我們繼續第二步之前,我們將快速回到光標。我們將實際提交我們的代碼。所以,我推薦你做的一件事是,在你完全完成每個步驟後,你實際上想為你的 GitHub 存儲庫創建一個新的提交。我將直接稱之為第一步。我將提交它。順便說一句,我正在使用光標內的 git 標籤。你當然可以使用終端,如果你只是喜歡使用 git CLI。然後,我們將同步它。非常容易初學者使用。這裡的 git UI 相當不錯。我將在 Mac 上按 Shift Command W。這將關閉我現有的文件。如果你回到我們的 git 存儲庫,你會看到,在教程中,你會看到我有一步。我剛剛提交了這個。所以,這個黃色的待定是什麼?所以,真正很棒的一件事是將你的 GitHub 存儲庫連接到你的 cell 項目。每次你提交到你的目標分支時,基本上會發生的是,它將構建你的應用程序,這很酷。所以,這實際上將完成並構建第一步。它將實際將你更新後的代碼部署到你現有的域。所以,發生的是,在每個步驟結束時,你確保一切都完成。你提交你的代碼,然後它將實際構建並部署到你託管在 verell 上的現有 URL。這很酷。所以,讓我們開始處理下一步。好的,所以只是一個提醒。你需要確保你勾選了第一步。然後,我們將滾動回現有代碼部分。現在,我們需要使用 repo 提示來包含現有代碼。所以,讓我們看一眼 repo 提示,因為這裡有幾件事你需要做。所以,你注意到的一件事是,如果我們實際上展開,我們將點擊展開。你會注意到,我們創建的一些新文件。讓我們實際關閉那個 UI 文件夾,這樣它就不會太長。但你會看到 receipt schema,特別是,這是我們添加的新文件,實際上並沒有添加到我們的上下文中。所以,你必須確保你做的是,每當你創建一個新文件時,這很重要,因為如果你不這樣做,你就會包含過時的代碼。01 Pro 所做的工作實際上會很糟糕或過時。所以,非常重要的是,你要充當項目經理和上下文管理器,以確保你始終將正確的最新代碼包含到 01 Pro 中。因為將會發生的一件事是,我敢肯定,在完成大約十幾個步驟的過程中,你會忘記做一次這件事。你會得到一個糟糕的結果,你會對模型生氣,而實際上是你的錯,因為你沒有更新上下文。所以,我們將確保我們添加這個文件到上下文。你會看到它會增加我的令牌計數。太好了。這是我想像的唯一文件,對吧?因為其他文件只是編輯。所以,一切都將是最新的。你甚至可以點擊這個小刷新按鈕,只是為了確保一切都是最新的。這通常是我喜歡做的。你可以看到,一切都準備好了。如果我們打開 DB 文件夾,打開 schema 文件夾,它就準備好了。所以,我們將複製我們的新的代碼,我們的現有代碼。你可以看到我的 versel 構建現在已準備就緒。所以,它已成功部署,這很棒。現在我們可以進入現有代碼標籤,我們已經從上一步清除了。粘貼進去。我們將複製整個東西。我們將回到 chat gbt。開始一個新的聊天,使用 01 Pro。我們將粘貼這個,然後讓它開始工作。所以,01 Pro 現在正在做的事情,這就是我一開始提到的。你基本上想把 01 Pro 想像成一個你僱傭的實際開發者。因為現在它正在做的事情是,如果我們進入規劃器提示,它現在正在嘗試實現我們第一步所需的整個代碼。所以,將會發生的是,一旦它完成工作,我們稍後會討論,它將為我們提供完整的每個文件,我們需要粘貼到我們的代碼中。我們將做的是,我們將基本上遍歷這些文件中的每一個,以及它給我們的任何用戶說明。我們將在我們的代碼庫中進行更改。我們將直接在光標中進行。我現在可以關閉這個光標規則文件,因為我們暫時不需要它。我們將一步一步地繼續下去。所以,讓我們讓 01 Pro 工作。這可能需要大約 4 到 6 分鐘。所以我將讓它運行,然後我們將討論如何做到這一點。好的,所以你可以看到 01 Pro 在第一步上工作了 3 分鐘 1 秒。所以,接下來我們要做的就是逐個文件地進行,並做我們需要做的一切。所以,你會看到,對於這些文件中的每一個,我們都有被編輯或添加的文件。我們有,這是我的所作所為以及原因。這解釋了 01 Pro 實際做了什麼。它提供了文件路徑,這樣你就知道把文件放在哪裡。然後,你可以看到它提供了整個文件,以及所有文檔。所以,只是一個說明,如果你是一個不喜歡文檔的人,我們之前提到過,你可以隨時更改提示來刪除它。我認為至少在與 ow 和 pro 迭代每個步驟時,它非常有幫助。然後,我認為之後,如果你有一個應用程序狀態是你想要的,然後你想刪除所有額外的文檔,我認為那是時候了。但我確實認為,當你迭代這些步驟時,如果你保留每個文件的註釋,所有這些文檔等等,我認為你會得到更好的結果。我對此進行了廣泛的測試,發現情況確實如此。所以,只是一個需要注意的事項。好的,這是我們需要做的。我們將逐個文件地複製並粘貼代碼。第一個文件路徑是 DB schema receipts schema。所以,我們將把它添加到我們的代碼庫中。我將打開 DB,打開 schema。看起來我們需要命名文件 receipts schema. TS。所以我將這樣做。所以,讓我們 receipts D schema TTS。我們將把它粘貼進去,保存它。瞧,你現在可以看到我們有一個收據表模式,它有詳盡的文檔,並且符合我們在光標規則文件中指示的代碼標準。所以,相當酷。所以,這是第一個路徑。讓我們向下滾動到下一個文件。好的,現在我們實際上需要編輯我們 schema 中的索引文件。這將導出東西。所以,這是一個已經存在的文件。所以,我們可以再次覆蓋。這就是為什麼我們要求 ow 和 pro 每次都返回完整的文件內容。因為而不是我們必須弄清楚,好的,這兩個文件之間有什麼變化。我們可以做一個非常簡單的複製粘貼工作流程,這非常棒。好的,讓我們去第三個。所以,現在我們將更新 dbdb dots 文件。它可能就在這裡。就像上次一樣,我們將粘貼新文件。你將看到我們現在在模式中有那個收據表。我們有一些新註釋,一些好的文檔,這很棒。好的,讓我們向下滾動。看起來我們現在需要調整 env. example 文件。所以,我們將這樣做。值得注意的是,它會要求我更新示例文件。但我們當然也需要更新我們的. env. loal 文件,因為那是我們實際的 envs。還值得注意的是,因為我們調整了一個 env,我們需要做什麼?我們需要進入 verell。我們需要進入我們的設置。我們需要進入我們的環境變量。所以,看起來我們還沒有添加那個變量。所以,我們可以做的是,我們可以直接粘貼它,點擊保存。記住,我們必須重新部署以確保它被添加。所以,我們將點擊重新部署,再次點擊重新部署。這將注入新的環境變量。所以,這非常重要。然後,你可以看到我們完成了第一步。我們得到了一些概述,關於 AI 做了什麼。然後,你可以看到我們得到了用戶說明。所以,你可以看到,檢查你的. .lo。你可以看到,確保添加它。然後,它說,可選地,我們將需要生成我們的 drizzle 遷移,以便將此上傳到我們的數據庫。因為我們更新了模式的代碼,如果你刷新 superbase,你會看到我們沒有那個表。所以,這實際上將如何在我們的代碼中工作是,我們需要去我們的終端。做 npm run DB generate。這將生成新的遷移文件。所以,如果我們點擊 migrations,你會看到我們現在有一個 SQL 遷移文件,用於我們的收據表。然後,當然,我們需要遷移它。我們將做 npm run DB migrate。它將運行遷移。然後,如果我們回到 super base,我們應該能夠刷新它,看到我們的收據表,以及 AI 為我們編寫的所有那些漂亮的列。所以,這是第一步的結束。你在這裡需要做的一件事是,你實際上需要刪除你所有現有的代碼。所以,通常我會向你展示,在下一步中,當我們迭代這個的時候,因為這可能相當糟糕。每次都要找到那個開頭的標籤。所以我將繼續向上滾動,滾動,滾動。看起來我們還在代碼地圖裡。讓我們再往前一點。這是文件系統。我們必須刪除所有現有代碼。所以,我們刪除了代碼。現在我們需要去實施計劃中的第一步,只需標記它已完成。所以,我們只需在這裡添加一個 X。現在,這一切都準備好了,可以進行第二步了。我們要做的其中一件事是,在我們繼續第二步之前,我們將快速回到光標。我們將實際提交我們的代碼。所以,我推薦你做的一件事是,在你完全完成每個步驟後,你實際上想為你的 GitHub 存儲庫創建一個新的提交。我將直接稱之為第一步。我將提交它。順便說一句,我正在使用光標內的 git 標籤。你當然可以使用終端,如果你只是喜歡使用 git CLI。然後,我們將同步它。非常容易初學者使用。這裡的 git UI 相當不錯。我將在 Mac 上按 Shift Command W。這將關閉我現有的文件。如果你回到我們的 git 存儲庫,你會看到,在教程中,你會看到我有一步。我剛剛提交了這個。所以,這個黃色的待定是什麼?所以,真正很棒的一件事是將你的 GitHub 存儲庫連接到你的 cell 項目。每次你提交到你的目標分支時,基本上會發生的是,它將構建你的應用程序,這很酷。所以,這實際上將完成並構建第一步。它將實際將你更新後的代碼部署到你現有的域。所以,發生的是,在每個步驟結束時,你確保一切都完成。你提交你的代碼,然後它將實際構建並部署到你託管在 verell 上的現有 URL。這很酷。所以,讓我們開始處理下一步。好的,所以只是一個提醒。你需要確保你勾選了第一步。然後,我們將滾動回現有代碼部分。現在,我們需要使用 repo 提示來包含現有代碼。所以,讓我們看一眼 repo 提示,因為這裡有幾件事你需要做。所以,你注意到的一件事是,如果我們實際上展開,我們將點擊展開。你會注意到,我們創建的一些新文件。讓我們實際關閉那個 UI 文件夾,這樣它就不會太長。但你會看到 receipt schema,特別是,這是我們添加的新文件,實際上並沒有添加到我們的上下文中。所以,你必須確保你做的是,每當你創建一個新文件時,這很重要,因為如果你不這樣做,你就會包含過時的代碼。01 Pro 所做的工作實際上會很糟糕或過時。所以,非常重要的是,你要充當項目經理和上下文管理器,以確保你始終將正確的最新代碼包含到 01 Pro 中。因為將會發生的一件事是,我敢肯定,在完成大約十幾個步驟的過程中,你會忘記做一次這件事。你會得到一個糟糕的結果,你會對模型生氣,而實際上是你的錯,因為你沒有更新上下文。所以,我們將確保我們添加這個文件到上下文。你會看到它會增加我的令牌計數。太好了。這是我想像的唯一文件,對吧?因為其他文件只是編輯。所以,一切都將是最新的。你甚至可以點擊這個小刷新按鈕,只是為了確保一切都是最新的。這通常是我喜歡做的。你可以看到,一切都準備好了。如果我們打開 DB 文件夾,打開 schema 文件夾,它就準備好了。所以,我們將複製我們的新的代碼,我們的現有代碼。你可以看到我的 versel 構建現在已準備就緒。所以,它已成功部署,這很棒。現在我們可以進入現有代碼標籤,我們已經從上一步清除了。粘貼進去。我們將複製整個東西。我們將回到 chat gbt。開始一個新的聊天,使用 01 Pro。我們將粘貼這個,然後讓它開始工作。所以,01 Pro 現在正在做的事情,這就是我一開始提到的。你基本上想把 01 Pro 想像成一個你僱傭的實際開發者。因為現在它正在做的事情是,如果我們進入規劃器提示,它現在正在嘗試實現我們第一步所需的整個代碼。所以,將會發生的是,一旦它完成工作,我們稍後會討論,它將為我們提供完整的每個文件,我們需要粘貼到我們的代碼中。我們將做的是,我們將基本上遍歷這些文件中的每一個,以及它給我們的任何用戶說明。我們將在我們的代碼庫中進行更改。我們將直接在光標中進行。我現在可以關閉這個光標規則文件,因為我們暫時不需要它。我們將一步一步地繼續下去。所以,讓我們讓 01 Pro 工作。這可能需要大約 4 到 6 分鐘。所以我將讓它運行,然後我們將討論如何做到這一點。好的,所以你可以看到 01 Pro 在第一步上工作了 3 分鐘 1 秒。所以,接下來我們要做的就是逐個文件地進行,並做我們需要做的一切。所以,你會看到,對於這些文件中的每一個,我們都有被編輯或添加的文件。我們有,這是我的所作所為以及原因。這解釋了 01 Pro 實際做了什麼。它提供了文件路徑,這樣你就知道把文件放在哪裡。然後,你可以看到它提供了整個文件,以及所有文檔。所以,只是一個說明,如果你是一個不喜歡文檔的人,我們之前提到過,你可以隨時更改提示來刪除它。我認為至少在與 ow 和 pro 迭代每個步驟時,它非常有幫助。然後,我認為之後,如果你有一個應用程序狀態是你想要的,然後你想刪除所有額外的文檔,我認為那是時候了。但我確實認為,當你迭代這些步驟時,如果你保留每個文件的註釋,所有這些文檔等等,我認為你會得到更好的結果。我對此進行了廣泛的測試,發現情況確實如此。所以,只是一個需要注意的事項。好的,這是我們需要做的。我們將逐個文件地複製並粘貼代碼。第一個文件路徑是 DB schema receipts schema。所以,我們將把它添加到我們的代碼庫中。我將打開 DB,打開 schema。看起來我們需要命名文件 receipts schema. TS。所以我將這樣做。所以,讓我們 receipts D schema TTS。我們將把它粘貼進去,保存它。瞧,你現在可以看到我們有一個收據表模式,它有詳盡的文檔,並且符合我們在光標規則文件中指示的代碼標準。所以,相當酷。所以,這是第一個路徑。讓我們向下滾動到下一個文件。好的,現在我們實際上需要編輯我們 schema 中的索引文件。這將導出東西。所以,這是一個已經存在的文件。所以,我們可以再次覆蓋。這就是為什麼我們要求 ow 和 pro 每次都返回完整的文件內容。因為而不是我們必須弄清楚,好的,這兩個文件之間有什麼變化。我們可以做一個非常簡單的複製粘貼工作流程,這非常棒。好的,讓我們去第三個。所以,現在我們將更新 dbdb dots 文件。它可能就在這裡。就像上次一樣,我們將粘貼新文件。你將看到我們現在在模式中有那個收據表。我們有一些新註釋,一些好的文檔,這很棒。好的,讓我們向下滾動。看起來我們現在需要調整 env. example 文件。所以,我們將這樣做。值得注意的是,它會要求我更新示例文件。但我們當然也需要更新我們的. env. loal 文件,因為那是我們實際的 envs。還值得注意的是,因為我們調整了一個 env,我們需要做什麼?我們需要進入 verell。我們需要進入我們的設置。我們需要進入我們的環境變量。所以,看起來我們還沒有添加那個變量。所以,我們可以做的是,我們可以直接粘貼它,點擊保存。記住,我們必須重新部署以確保它被添加。所以,我們將點擊重新部署,再次點擊重新部署。這將注入新的環境變量。所以,這非常重要。然後,你可以看到我們完成了第一步。我們得到了一些概述,關於 AI 做了什麼。然後,你可以看到我們得到了用戶說明。所以,你可以看到,檢查你的. .lo。你可以看到,確保添加它。然後,它說,可選地,我們將需要生成我們的 drizzle 遷移,以便將此上傳到我們的數據庫。因為我們更新了模式的代碼,如果你刷新 superbase,你會看到我們沒有那個表。所以,這實際上將如何在我們的代碼中工作是,我們需要去我們的終端。做 npm run DB generate。這將生成新的遷移文件。所以,如果我們點擊 migrations,你會看到我們現在有一個 SQL 遷移文件,用於我們的收據表。然後,當然,我們需要遷移它。我們將做 npm run DB migrate。它將運行遷移。然後,如果我們回到 super base,我們應該能夠刷新它,看到我們的收據表,以及 AI 為我們編寫的所有那些漂亮的列。所以,這是第一步的結束。你在這裡需要做的一件事是,你實際上需要刪除你所有現有的代碼。所以,通常我會向你展示,在下一步中,當我們迭代這個的時候,因為這可能相當糟糕。每次都要找到那個開頭的標籤。所以我將繼續向上滾動,滾動,滾動。看起來我們還在代碼地圖裡。讓我們再往前一點。這是文件系統。我們必須刪除所有現有代碼。所以,我們刪除了代碼。現在我們需要去實施計劃中的第一步,只需標記它已完成。所以,我們只需在這裡添加一個 X。現在,這一切都準備好了,可以進行第二步了。我們要做的其中一件事是,在我們繼續第二步之前,我們將快速回到光標。我們將實際提交我們的代碼。所以,我推薦你做的一件事是,在你完全完成每個步驟後,你實際上想為你的 GitHub 存儲庫創建一個新的提交。我將直接稱之為第一步。我將提交它。順便說一句,我正在使用光標內的 git 標籤。你當然可以使用終端,如果你只是喜歡使用 git CLI。然後,我們將同步它。非常容易初學者使用。這裡的 git UI 相當不錯。我將在 Mac 上按 Shift Command W。這將關閉我現有的文件。如果你回到我們的 git 存儲庫,你會看到,在教程中,你會看到我有一步。我剛剛提交了這個。所以,這個黃色的待定是什麼?所以,真正很棒的一件事是將你的 GitHub 存儲庫連接到你的 cell 項目。每次你提交到你的目標分支時,基本上會發生的是,它將構建你的應用程序,這很酷。所以,這實際上將完成並構建第一步。它將實際將你更新後的代碼部署到你現有的域。所以,發生的是,在每個步驟結束時,你確保一切都完成。你提交你的代碼,然後它將實際構建並部署到你託管在 verell 上的現有 URL。這很酷。所以,讓我們開始處理下一步。好的,所以只是一個提醒。你需要確保你勾選了第一步。然後,我們將滾動回現有代碼部分。現在,我們需要使用 repo 提示來包含現有代碼。所以,讓我們看一眼 repo 提示,因為這裡有幾件事你需要做。所以,你注意到的一件事是,如果我們實際上展開,我們將點擊展開。你會注意到,我們創建的一些新文件。讓我們實際關閉那個 UI 文件夾,這樣它就不會太長。但你會看到 receipt schema,特別是,這是我們添加的新文件,實際上並沒有添加到我們的上下文中。所以,你必須確保你做的是,每當你創建一個新文件時,這很重要,因為如果你不這樣做,你就會包含過時的代碼。01 Pro 所做的工作實際上會很糟糕或過時。所以,非常重要的是,你要充當項目經理和上下文管理器,以確保你始終將正確的最新代碼包含到 01 Pro 中。因為將會發生的一件事是,我敢肯定,在完成大約十幾個步驟的過程中,你會忘記做一次這件事。你會得到一個糟糕的結果,你會對模型生氣,而實際上是你的錯,因為你沒有更新上下文。所以,我們將確保我們添加這個文件到上下文。你會看到它會增加我的令牌計數。太好了。這是我想像的唯一文件,對吧?因為其他文件只是編輯。所以,一切都將是最新的。你甚至可以點擊這個小刷新按鈕,只是為了確保一切都是最新的。這通常是我喜歡做的。你可以看到,一切都準備好了。如果我們打開 DB 文件夾,打開 schema 文件夾,它就準備好了。所以,我們將複製我們的新的代碼,我們的現有代碼。你可以看到我的 versel 構建現在已準備就緒。所以,它已成功部署,這很棒。現在我們可以進入現有代碼標籤,我們已經從上一步清除了。粘貼進去。我們將複製整個東西。我們將回到 chat gbt。開始一個新的聊天,使用 01 Pro。我們將粘貼這個,然後讓它開始工作。所以,01 Pro 現在正在做的事情,這就是我一開始提到的。你基本上想把 01 Pro 想像成一個你僱傭的實際開發者。因為現在它正在做的事情是,如果我們進入規劃器提示,它現在正在嘗試實現我們第一步所需的整個代碼。所以,將會發生的是,一旦它完成工作,我們稍後會討論,它將為我們提供完整的每個文件,我們需要粘貼到我們的代碼中。我們將做的是,我們將基本上遍歷這些文件中的每一個,以及它給我們的任何用戶說明。我們將在我們的代碼庫中進行更改。我們將直接在光標中進行。我現在可以關閉這個光標規則文件,因為我們暫時不需要它。我們將一步一步地繼續下去。所以,讓我們讓 01 Pro 工作。這可能需要大約 4 到 6 分鐘。所以我將讓它運行,然後我們將討論如何做到這一點。好的,所以你可以看到 01 Pro 在第一步上工作了 3 分鐘 1 秒。所以,接下來我們要做的就是逐個文件地進行,並做我們需要做的一切。所以,你會看到,對於這些文件中的每一個,我們都有被編輯或添加的文件。我們有,這是我的所作所為以及原因。這解釋了 01 Pro 實際做了什麼。它提供了文件路徑,這樣你就知道把文件放在哪裡。然後,你可以看到它提供了整個文件,以及所有文檔。所以,只是一個說明,如果你是一個不喜歡文檔的人,我們之前提到過,你可以隨時更改提示來刪除它。我認為至少在與 ow 和 pro 迭代每個步驟時,它非常有幫助。然後,我認為之後,如果你有一個應用程序狀態是你想要的,然後你想刪除所有額外的文檔,我認為那是時候了。但我確實認為,當你迭代這些步驟時,如果你保留每個文件的註釋,所有這些文檔等等,我認為你會得到更好的結果。我對此進行了廣泛的測試,發現情況確實如此。所以,只是一個需要注意的事項。好的,這是我們需要做的。我們將逐個文件地複製並粘貼代碼。第一個文件路徑是 DB schema receipts schema。所以,我們將把它添加到我們的代碼庫中。我將打開 DB,打開 schema。看起來我們需要命名文件 receipts schema. TS。所以我將這樣做。所以,讓我們 receipts D schema TTS。我們將把它粘貼進去,保存它。瞧,你現在可以看到我們有一個收據表模式,它有詳盡的文檔,並且符合我們在光標規則文件中指示的代碼標準。所以,相當酷。所以,這是第一個路徑。讓我們向下滾動到下一個文件。好的,現在我們實際上需要編輯我們 schema 中的索引文件。這將導出東西。所以,這是一個已經存在的文件。所以,我們可以再次覆蓋。這就是為什麼我們要求 ow 和 pro 每次都返回完整的文件內容。因為而不是我們必須弄清楚,好的,這兩個文件之間有什麼變化。我們可以做一個非常簡單的複製粘貼工作流程,這非常棒。好的,讓我們去第三個。所以,現在我們將更新 dbdb dots 文件。它可能就在這裡。就像上次一樣,我們將粘貼新文件。你將看到我們現在在模式中有那個收據表。我們有一些新註釋,一些好的文檔,這很棒。好的,讓我們向下滾動。看起來我們現在需要調整 env. example 文件。所以,我們將這樣做。值得注意的是,它會要求我更新示例文件。但我們當然也需要更新我們的. env. loal 文件,因為那是我們實際的 envs。還值得注意的是,因為我們調整了一個 env,我們需要做什麼?我們需要進入 verell。我們需要進入我們的設置。我們需要進入我們的環境變量。所以,看起來我們還沒有添加那個變量。所以,我們可以做的是,我們可以直接粘貼它,點擊保存。記住,我們必須重新部署以確保它被添加。所以,我們將點擊重新部署,再次點擊重新部署。這將注入新的環境變量。所以,這非常重要。然後,你可以看到我們完成了第一步。我們得到了一些概述,關於 AI 做了什麼。然後,你可以看到我們得到了用戶說明。所以,你可以看到,檢查你的. .lo。你可以看到,確保添加它。然後,它說,可選地,我們將需要生成我們的 drizzle 遷移,以便將此上傳到我們的數據庫。因為我們更新了模式的代碼,如果你刷新 superbase,你會看到我們沒有那個表。所以,這實際上將如何在我們的代碼中工作是,我們需要去我們的終端。做 npm run DB generate。這將生成新的遷移文件。所以,如果我們點擊 migrations,你會看到我們現在有一個 SQL 遷移文件,用於我們的收據表。然後,當然,我們需要遷移它。我們將做 npm run DB migrate。它將運行遷移。然後,如果我們回到 super base,我們應該能夠刷新它,看到我們的收據表,以及 AI 為我們編寫的所有那些漂亮的列。所以,這是第一步的結束。你在這裡需要做的一件事是,你實際上需要刪除你所有現有的代碼。所以,通常我會向你展示,在下一步中,當我們迭代這個的時候,因為這可能相當糟糕。每次都要找到那個開頭的標籤。所以我將繼續向上滾動,滾動,滾動。看起來我們還在代碼地圖裡。讓我們再往前一點。這是文件系統。我們必須刪除所有現有代碼。所以,我們刪除了代碼。現在我們需要去實施計劃中的第一步,只需標記它已完成。所以,我們只需在這裡添加一個 X。現在,這一切都準備好了,可以進行第二步了。我們要做的其中一件事是,在我們繼續第二步之前,我們將快速回到光標。我們將實際提交我們的代碼。所以,我推薦你做的一件事是,在你完全完成每個步驟後,你實際上想為你的 GitHub 存儲庫創建一個新的提交。我將直接稱之為第一步。我將提交它。順便說一句,我正在使用光標內的 git 標籤。你當然可以使用終端,如果你只是喜歡使用 git CLI。然後,我們將同步它。非常容易初學者使用。這裡的 git UI 相當不錯。我將在 Mac 上按 Shift Command W。這將關閉我現有的文件。如果你回到我們的 git 存儲庫,你會看到,在教程中,你會看到我有一步。我剛剛提交了這個。所以,這個黃色的待定是什麼?所以,真正很棒的一件事是將你的 GitHub 存儲庫連接到你的 cell 項目。每次你提交到你的目標分支時,基本上會發生的是,它將構建你的應用程序,這很酷。所以,這實際上將完成並構建第一步。它將實際將你更新後的代碼部署到你現有的域。所以,發生的是,在每個步驟結束時,你確保一切都完成。你提交你的代碼,然後它將實際構建並部署到你託管在 verell 上的現有 URL。這很酷。所以,讓我們開始處理下一步。好的,所以只是一個提醒。你需要確保你勾選了第一步。然後,我們將滾動回現有代碼部分。現在,我們需要使用 repo 提示來包含現有代碼。所以,讓我們看一眼 repo 提示,因為這裡有幾件事你需要做。所以,你注意到的一件事是,如果我們實際上展開,我們將點擊展開。你會注意到,我們創建的一些新文件。讓我們實際關閉那個 UI 文件夾,這樣它就不會太長。但你會看到 receipt schema,特別是,這是我們添加的新文件,實際上並沒有添加到我們的上下文中。所以,你必須確保你做的是,每當你創建一個新文件時,這很重要,因為如果你不這樣做,你就會包含過時的代碼。01 Pro 所做的工作實際上會很糟糕或過時。所以,非常重要的是,你要充當項目經理和上下文管理器,以確保你始終將正確的最新代碼包含到 01 Pro 中。因為將會發生的一件事是,我敢肯定,在完成大約十幾個步驟的過程中,你會忘記做一次這件事。你會得到一個糟糕的結果,你會對模型生氣,而實際上是你的錯,因為你沒有更新上下文。所以,我們將確保我們添加這個文件到上下文。你會看到它會增加我的令牌計數。太好了。這是我想像的唯一文件,對吧?因為其他文件只是編輯。所以,一切都將是最新的。你甚至可以點擊這個小刷新按鈕,只是為了確保一切都是最新的。這通常是我喜歡做的。你可以看到,一切都準備好了。如果我們打開 DB 文件夾,打開 schema 文件夾,它就準備好了。所以,我們將複製我們的新的代碼,我們的現有代碼。你可以看到我的 versel 構建現在已準備就緒。所以,它已成功部署,這很棒。現在我們可以進入現有代碼標籤,我們已經從上一步清除了。粘貼進去。我們將複製整個東西。我們將回到 chat gbt。開始一個新的聊天,使用 01 Pro。我們將粘貼這個,然後讓它開始工作。所以,01 Pro 現在正在做的事情,這就是我一開始提到的。你基本上想把 01 Pro 想像成一個你僱傭的實際開發者。因為現在它正在做的事情是,如果我們進入規劃器提示,它現在正在嘗試實現我們第一步所需的整個代碼。所以,將會發生的是,一旦它完成工作,我們稍後會討論,它將為我們提供完整的每個文件,我們需要粘貼到我們的代碼中。我們將做的是,我們將基本上遍歷這些文件中的每一個,以及它給我們的任何用戶說明。我們將在我們的代碼庫中進行更改。我們將直接在光標中進行。我現在可以關閉這個光標規則文件,因為我們暫時不需要它。我們將一步一步地繼續下去。所以,讓我們讓 01 Pro 工作。這可能需要大約 4 到 6 分鐘。所以我將讓它運行,然後我們將討論如何做到這一點。好的,所以你可以看到 01 Pro 在第一步上工作了 3 分鐘 1 秒。所以,接下來我們要做的就是逐個文件地進行,並做我們需要做的一切。所以,你會看到,對於這些文件中的每一個,我們都有被編輯或添加的文件。我們有,這是我的所作所為以及原因。這解釋了 01 Pro 實際做了什麼。它提供了文件路徑,這樣你就知道把文件放在哪裡。然後,你可以看到它提供了整個文件,以及所有文檔。所以,只是一個說明,如果你是一個不喜歡文檔的人,我們之前提到過,你可以隨時更改提示來刪除它。我認為至少在與 ow 和 pro 迭代每個步驟時,它非常有幫助。然後,我認為之後,如果你有一個應用程序狀態是你想要的,然後你想刪除所有額外的文檔,我認為那是時候了。但我確實認為,當你迭代這些步驟時,如果你保留每個文件的註釋,所有這些文檔等等,我認為你會得到更好的結果。我對此進行了廣泛的測試,發現情況確實如此。所以,只是一個需要注意的事項。好的,這是我們需要做的。我們將逐個文件地複製並粘貼代碼。第一個文件路徑是 DB schema receipts schema。所以,我們將把它添加到我們的代碼庫中。我將打開 DB,打開 schema。看起來我們需要命名文件 receipts schema. TS。所以我將這樣做。所以,讓我們 receipts D schema TTS。我們將把它粘貼進去,保存它。瞧,你現在可以看到我們有一個收據表模式,它有詳盡的文檔,並且符合我們在光標規則文件中指示的代碼標準。所以,相當酷。所以,這是第一個路徑。讓我們向下滾動到下一個文件。好的,現在我們實際上需要編輯我們 schema 中的索引文件。這將導出東西。所以,這是一個已經存在的文件。所以,我們可以再次覆蓋。這就是為什麼我們要求 ow 和 pro 每次都返回完整的文件內容。因為而不是我們必須弄清楚,好的,這兩個文件之間有什麼變化。我們可以做一個非常簡單的複製粘貼工作流程,這非常棒。好的,讓我們去第三個。所以,現在我們將更新 dbdb dots 文件。它可能就在這裡。就像上次一樣,我們將粘貼新文件。你將看到我們現在在模式中有那個收據表。我們有一些新註釋,一些好的文檔,這很棒。好的,讓我們向下滾動。看起來我們現在需要調整 env. example 文件。所以,我們將這樣做。值得注意的是,它會要求我更新示例文件。但我們當然也需要更新我們的. env. loal 文件,因為那是我們實際的 envs。還值得注意的是,因為我們調整了一個 env,我們需要做什麼?我們需要進入 verell。我們需要進入我們的設置。我們需要進入我們的環境變量。所以,看起來我們還沒有添加那個變量。所以,我們可以做的是,我們可以直接粘貼它,點擊保存。記住,我們必須重新部署以確保它被添加。所以,我們將點擊重新部署,再次點擊重新部署。這將注入新的環境變量。所以,這非常重要。然後,你可以看到我們完成了第一步。我們得到了一些概述,關於 AI 做了什麼。然後,你可以看到我們得到了用戶說明。所以,你可以看到,檢查你的. .lo。你可以看到,確保添加它。然後,它說,可選地,我們將需要生成我們的 drizzle 遷移,以便將此上傳到我們的數據庫。因為我們更新了模式的代碼,如果你刷新 superbase,你會看到我們沒有那個表。所以,這實際上將如何在我們的代碼中工作是,我們需要去我們的終端。做 npm run DB generate。這將生成新的遷移文件。所以,如果我們點擊 migrations,你會看到我們現在有一個 SQL 遷移文件,用於我們的收據表。然後,當然,我們需要遷移它。我們將做 npm run DB migrate。它將運行遷移。然後,如果我們回到 super base,我們應該能夠刷新它,看到我們的收據表,以及 AI 為我們編寫的所有那些漂亮的列。所以,這是第一步的結束。你在這裡需要做的一件事是,你實際上需要刪除你所有現有的代碼。所以,通常我會向你展示,在下一步中,當我們迭代這個的時候,因為這可能相當糟糕。每次都要找到那個開頭的標籤。所以我將繼續向上滾動,滾動,滾動。看起來我們還在代碼地圖裡。讓我們再往前一點。這是文件系統。我們必須刪除所有現有代碼。所以,我們刪除了代碼。現在我們需要去實施計劃中的第一步,只需標記它已完成。所以,我們只需在這裡添加一個 X。現在,這一切都準備好了,可以進行第二步了。我們要做的其中一件事是,在我們繼續第二步之前,我們將快速回到光標。我們將實際提交我們的代碼。所以,我推薦你做的一件事是,在你完全完成每個步驟後,你實際上想為你的 GitHub 存儲庫創建一個新的提交。我將直接稱之為第一步。我將提交它。順便說一句,我正在使用光標內的 git 標籤。你當然可以使用終端,如果你只是喜歡使用 git CLI。然後,我們將同步它。非常容易初學者使用。這裡的 git UI 相當不錯。我將在 Mac 上按 Shift Command W。這將關閉我現有的文件。如果你回到我們的 git 存儲庫,你會看到,在教程中,你會看到我有一步。我剛剛提交了這個。所以,這個黃色的待定是什麼?所以,真正很棒的一件事是將你的 GitHub 存儲庫連接到你的 cell 項目。每次你提交到你的目標分支時,基本上會發生的是,它將構建你的應用程序,這很酷。所以,這實際上將完成並構建第一步。它將實際將你更新後的代碼部署到你現有的域。所以,發生的是,在每個步驟結束時,你確保一切都完成。你提交你的代碼,然後它將實際構建並部署到你託管在 verell 上的現有 URL。這很酷。所以,讓我們開始處理下一步。好的,所以只是一個提醒。你需要確保你勾選了第一步。然後,我們將滾動回現有代碼部分。現在,我們需要使用 repo 提示來包含現有代碼。所以,讓我們看一眼 repo 提示,因為這裡有幾件事你需要做。所以,你注意到的一件事是,如果我們實際上展開,我們將點擊展開。你會注意到,我們創建的一些新文件。讓我們實際關閉那個 UI 文件夾,這樣它就不會太長。但你會看到 receipt schema,特別是,這是我們添加的新文件,實際上並沒有添加到我們的上下文中。所以,你必須確保你做的是,每當你創建一個新文件時,這很重要,因為如果你不這樣做,你就會包含過時的代碼。01 Pro 所做的工作實際上會很糟糕或過時。所以,非常重要的是,你要充當項目經理和上下文管理器,以確保你始終將正確的最新代碼包含到 01 Pro 中。因為將會發生的一件事是,我敢肯定,在完成大約十幾個步驟的過程中,你會忘記做一次這件事。你會得到一個糟糕的結果,你會對模型生氣,而實際上是你的錯,因為你沒有更新上下文。所以,我們將確保我們添加這個文件到上下文。你會看到它會增加我的令牌計數。太好了。這是我想像的唯一文件,對吧?因為其他文件只是編輯。所以,一切都將是最新的。你甚至可以點擊這個小刷新按鈕,只是為了確保一切都是最新的。這通常是我喜歡做的。你可以看到,一切都準備好了。如果我們打開 DB 文件夾,打開 schema 文件夾,它就準備好了。所以,我們將複製我們的新的代碼,我們的現有代碼。你可以看到我的 versel 構建現在已準備就緒。所以,它已成功部署,這很棒。現在我們可以進入現有代碼標籤,我們已經從上一步清除了。粘貼進去。我們將複製整個東西。我們將回到 chat gbt。開始一個新的聊天,使用 01 Pro。我們將粘貼這個,然後讓它開始工作。所以,01 Pro 現在正在做的事情,這就是我一開始提到的。你基本上想把 01 Pro 想像成一個你僱傭的實際開發者。因為現在它正在做的事情是,如果我們進入規劃器提示,它現在正在嘗試實現我們第一步所需的整個代碼。所以,將會發生的是,一旦它完成工作,我們稍後會討論,它將為我們提供完整的每個文件,我們需要粘貼到我們的代碼中。我們將做的是,我們將基本上遍歷這些文件中的每一個,以及它給我們的任何用戶說明。我們將在我們的代碼庫中進行更改。我們將直接在光標中進行。我現在可以關閉這個光標規則文件,因為我們暫時不需要它。我們將一步一步地繼續下去。所以,讓我們讓 01 Pro 工作。這可能需要大約 4 到 6 分鐘。所以我將讓它運行,然後我們將討論如何做到這一點。好的,所以你可以看到 01 Pro 在第一步上工作了 3 分鐘 1 秒。所以,接下來我們要做的就是逐個文件地進行,並做我們需要做的一切。所以,你會看到,對於這些文件中的每一個,我們都有被編輯或添加的文件。我們有,這是我的所作所為以及原因。這解釋了 01 Pro 實際做了什麼。它提供了文件路徑,這樣你就知道把文件放在哪裡。然後,你可以看到它提供了整個文件,以及所有文檔。所以,只是一個說明,如果你是一個不喜歡文檔的人,我們之前提到過,你可以隨時更改提示來刪除它。我認為至少在與 ow 和 pro 迭代每個步驟時,它非常有幫助。然後,我認為之後,如果你有一個應用程序狀態是你想要的,然後你想刪除所有額外的文檔,我認為那是時候了。但我確實認為,當你迭代這些步驟時,如果你保留每個文件的註釋,所有這些文檔等等,我認為你會得到更好的結果。我對此進行了廣泛的測試,發現情況確實如此。所以,只是一個需要注意的事項。好的,這是我們需要做的。我們將逐個文件地複製並粘貼代碼。第一個文件路徑是 DB schema receipts schema。所以,我們將把它添加到我們的代碼庫中。我將打開 DB,打開 schema。看起來我們需要命名文件 receipts schema. TS。所以我將這樣做。所以,讓我們 receipts D schema TTS。我們將把它粘貼進去,保存它。瞧,你現在可以看到我們有一個收據表模式,它有詳盡的文檔,並且符合我們在光標規則文件中指示的代碼標準。所以,相當酷。所以,這是第一個路徑。讓我們向下滾動到下一個文件。好的,現在我們實際上需要編輯我們 schema 中的索引文件。這將導出東西。所以,這是一個已經存在的文件。所以,我們可以再次覆蓋。這就是為什麼我們要求 ow 和 pro 每次都返回完整的文件內容。因為而不是我們必須弄清楚,好的,這兩個文件之間有什麼變化。我們可以做一個非常簡單的複製粘貼工作流程,這非常棒。好的,讓我們去第三個。所以,現在我們將更新 dbdb dots 文件。它可能就在這裡。就像上次一樣,我們將粘貼新文件。你將看到我們現在在模式中有那個收據表。我們有一些新註釋,一些好的文檔,這很棒。好的,讓我們向下滾動。看起來我們現在需要調整 env. example 文件。所以,我們將這樣做。值得注意的是,它會要求我更新示例文件。但我們當然也需要更新我們的. env. loal 文件,因為那是我們實際的 envs。還值得注意的是,因為我們調整了一個 env,我們需要做什麼?我們需要進入 verell。我們需要進入我們的設置。我們需要進入我們的環境變量。所以,看起來我們還沒有添加那個變量。所以,我們可以做的是,我們可以直接粘貼它,點擊保存。記住,我們必須重新部署以確保它被添加。所以,我們將點擊重新部署,再次點擊重新部署。這將注入新的環境變量。所以,這非常重要。然後,你可以看到我們完成了第一步。我們得到了一些概述,關於 AI 做了什麼。然後,你可以看到我們得到了用戶說明。所以,你可以看到,檢查你的. .lo。你可以看到,確保添加它。然後,它說,可選地,我們將需要生成我們的 drizzle 遷移,以便將此上傳到我們的數據庫。因為我們更新了模式的代碼,如果你刷新 superbase,你會看到我們沒有那個表。所以,這實際上將如何在我們的代碼中工作是,我們需要去我們的終端。做 npm run DB generate。這將生成新的遷移文件。所以,如果我們點擊 migrations,你會看到我們現在有一個 SQL 遷移文件,用於我們的收據表。然後,當然,我們需要遷移它。我們將做 npm run DB migrate。它將運行遷移。然後,如果我們回到 super base,我們應該能夠刷新它,看到我們的收據表,以及 AI 為我們編寫的所有那些漂亮的列。所以,這是第一步的結束。你在這裡需要做的一件事是,你實際上需要刪除你所有現有的代碼。所以,通常我會向你展示,在下一步中,當我們迭代這個的時候,因為這可能相當糟糕。每次都要找到那個開頭的標籤。所以我將繼續向上滾動,滾動,滾動。看起來我們還在代碼地圖裡。讓我們再往前一點。這是文件系統。我們必須刪除所有現有代碼。所以,我們刪除了代碼。現在我們需要去實施計劃中的第一步,只需標記它已完成。所以,我們只需在這裡添加一個 X。現在,這一切都準備好了,可以進行第二步了。我們要做的其中一件事是,在我們繼續第二步之前,我們將快速回到光標。我們將實際提交我們的代碼。所以,我推薦你做的一件事是,在你完全完成每個步驟後,你實際上想為你的 GitHub 存儲庫創建一個新的提交。我將直接稱之為第一步。我將提交它。順便說一句,我正在使用光標內的 git 標籤。你當然可以使用終端,如果你只是喜歡使用 git CLI。然後,我們將同步它。非常容易初學者使用。這裡的 git UI 相當不錯。我將在 Mac 上按 Shift Command W。這將關閉我現有的文件。如果你回到我們的 git 存儲庫,你會看到,在教程中,你會看到我有一步。我剛剛提交了這個。所以,這個黃色的待定是什麼?所以,真正很棒的一件事是將你的 GitHub 存儲庫連接到你的 cell 項目。每次你提交到你的目標分支時,基本上會發生的是,它將構建你的應用程序,這很酷。所以,這實際上將完成並構建第一步。它將實際將你更新後的代碼部署到你現有的域。所以,發生的是,在每個步驟結束時,你確保一切都完成。你提交你的代碼,然後它將實際構建並部署到你託管在 verell 上的現有 URL。這很酷。所以,讓我們開始處理下一步。好的,所以只是一個提醒。你需要確保你勾選了第一步。然後,我們將滾動回現有代碼部分。現在,我們需要使用 repo 提示來包含現有代碼。所以,讓我們看一眼 repo 提示,因為這裡有幾件事你需要做。所以,你注意到的一件事是,如果我們實際上展開,我們將點擊展開。你會注意到,我們創建的一些新文件。讓我們實際關閉那個 UI 文件夾,這樣它就不會太長。但你會看到 receipt schema,特別是,這是我們添加的新文件,實際上並沒有添加到我們的上下文中。所以,你必須確保你做的是,每當你創建一個新文件時,這很重要,因為如果你不這樣做,你就會包含過時的代碼。01 Pro 所做的工作實際上會很糟糕或過時。所以,非常重要的是,你要充當項目經理和上下文管理器,以確保你始終將正確的最新代碼包含到 01 Pro 中。因為將會發生的一件事是,我敢肯定,在完成大約十幾個步驟的過程中,你會忘記做一次這件事。你會得到一個糟糕的結果,你會對模型生氣,而實際上是你的錯,因為你沒有更新上下文。所以,我們將確保我們添加這個文件到上下文。你會看到它會增加我的令牌計數。太好了。這是我想像的唯一文件,對吧?因為其他文件只是編輯。所以,一切都將是最新的。你甚至可以點擊這個小刷新按鈕,只是為了確保一切都是最新的。這通常是我喜歡做的。你可以看到,一切都準備好了。如果我們打開 DB 文件夾,打開 schema 文件夾,它就準備好了。所以,我們將複製我們的新的代碼,我們的現有代碼。你可以看到我的 versel 構建現在已準備就緒。所以,它已成功部署,這很棒。現在我們可以進入現有代碼標籤,我們已經從上一步清除了。粘貼進去。我們將複製整個東西。我們將回到 chat gbt。開始一個新的聊天,使用 01 Pro。我們將粘貼這個,然後讓它開始工作。所以,01 Pro 現在正在做的事情,這就是我一開始提到的。你基本上想把 01 Pro 想像成一個你僱傭的實際開發者。因為現在它正在做的事情是,如果我們進入規劃器提示,它現在正在嘗試實現我們第一步所需的整個代碼。所以,將會發生的是,一旦它完成工作,我們稍後會討論,它將為我們提供完整的每個文件,我們需要粘貼到我們的代碼中。我們將做的是,我們將基本上遍歷這些文件中的每一個,以及它給我們的任何用戶說明。我們將在我們的代碼庫中進行更改。我們將直接在光標中進行。我現在可以關閉這個光標規則文件,因為我們暫時不需要它。我們將一步一步地繼續下去。所以,讓我們讓 01 Pro 工作。這可能需要大約 4 到 6 分鐘。所以我將讓它運行,然後我們將討論如何做到這一點。好的,所以你可以看到 01 Pro 在第一步上工作了 3 分鐘 1 秒。所以,接下來我們要做的就是逐個文件地進行,並做我們需要做的一切。所以,你會看到,對於這些文件中的每一個,我們都有被編輯或添加的文件。我們有,這是我的所作所為以及原因。這解釋了 01 Pro 實際做了什麼。它提供了文件路徑,這樣你就知道把文件放在哪裡。然後,你可以看到它提供了整個文件,以及所有文檔。所以,只是一個說明,如果你是一個不喜歡文檔的人,我們之前提到過,你可以隨時更改提示來刪除它。我認為至少在與 ow 和 pro 迭代每個步驟時,它非常有幫助。然後,我認為之後,如果你有一個應用程序狀態是你想要的,然後你想刪除所有額外的文檔,我認為那是時候了。但我確實認為,當你迭代這些步驟時,如果你保留每個文件的註釋,所有這些文檔等等,我認為你會得到更好的結果。我對此進行了廣泛的測試,發現情況確實如此。所以,只是一個需要注意的事項。好的,這是我們需要做的。我們將逐個文件地複製並粘貼代碼。第一個文件路徑是 DB schema receipts schema。所以,我們將把它添加到我們的代碼庫中。我將打開 DB,打開 schema。看起來我們需要命名文件 receipts schema. TS。所以我將這樣做。所以,讓我們 receipts D schema TTS。我們將把它粘貼進去,保存它。瞧,你現在可以看到我們有一個收據表模式,它有詳盡的文檔,並且符合我們在光標規則文件中指示的代碼標準。所以,相當酷。所以,這是第一個路徑。讓我們向下滾動到下一個文件。好的,現在我們實際上需要編輯我們 schema 中的索引文件。這將導出東西。所以,這是一個已經存在的文件。所以,我們可以再次覆蓋。這就是為什麼我們要求 ow 和 pro 每次都返回完整的文件內容。因為而不是我們必須弄清楚,好的,這兩個文件之間有什麼變化。我們可以做一個非常簡單的複製粘貼工作流程,這非常棒。好的,讓我們去第三個。所以,現在我們將更新 dbdb dots 文件。它可能就在這裡。就像上次一樣,我們將粘貼新文件。你將看到我們現在在模式中有那個收據表。我們有一些新註釋,一些好的文檔,這很棒。好的,讓我們向下滾動。看起來我們現在需要調整 env. example 文件。所以,我們將這樣做。值得注意的是,它會要求我更新示例文件。但我們當然也需要更新我們的. env. loal 文件,因為那是我們實際的 envs。還值得注意的是,因為我們調整了一個 env,我們需要做什麼?我們需要進入 verell。我們需要進入我們的設置。我們需要進入我們的環境變量。所以,看起來我們還沒有添加那個變量。所以,我們可以做的是,我們可以直接粘貼它,點擊保存。記住,我們必須重新部署以確保它被添加。所以,我們將點擊重新部署,再次點擊重新部署。這將注入新的環境變量。所以,這非常重要。然後,你可以看到我們完成了第一步。我們得到了一些概述,關於 AI 做了什麼。然後,你可以看到我們得到了用戶說明。所以,你可以看到,檢查你的. .lo。你可以看到,確保添加它。然後,它說,可選地,我們將需要生成我們的 drizzle 遷移,以便將此上傳到我們的數據庫。因為我們更新了模式的代碼,如果你刷新 superbase,你會看到我們沒有那個表。所以,這實際上將如何在我們的代碼中工作是,我們需要去我們的終端。做 npm run DB generate。這將生成新的遷移文件。所以,如果我們點擊 migrations,你會看到我們現在有一個 SQL 遷移文件,用於我們的收據表。然後,當然,我們需要遷移它。我們將做 npm run DB migrate。它將運行遷移。然後,如果我們回到 super base,我們應該能夠刷新它,看到我們的收據表,以及 AI 為我們編寫的所有那些漂亮的列。所以,這是第一步的結束。你在這裡需要做的一件事是,你實際上需要刪除你所有現有的代碼。所以,通常我會向你展示,在下一步中,當我們迭代這個的時候,因為這可能相當糟糕。每次都要找到那個開頭的標籤。所以我將繼續向上滾動,滾動,滾動。看起來我們還在代碼地圖裡。讓我們再往前一點。這是文件系統。我們必須刪除所有現有代碼。所以,我們刪除了代碼。現在我們需要去實施計劃中的第一步,只需標記它已完成。所以,我們只需在這裡添加一個 X。現在,這一切都準備好了,可以進行第二步了。我們要做的其中一件事是,在我們繼續第二步之前,我們將快速回到光標。我們將實際提交我們的代碼。所以,我推薦你做的一件事是,在你完全完成每個步驟後,你實際上想為你的 GitHub 存儲庫創建一個新的提交。我將直接稱之為第一步。我將提交它。順便說一句,我正在使用光標內的 git 標籤。你當然可以使用終端,如果你只是喜歡使用 git CLI。然後,我們將同步它。非常容易初學者使用。這裡的 git UI 相當不錯。我將在 Mac 上按 Shift Command W。這將關閉我現有的文件。如果你回到我們的 git 存儲庫,你會看到,在教程中,你會看到我有一步。我剛剛提交了這個。所以,這個黃色的待定是什麼?所以,真正很棒的一件事是將你的 GitHub 存儲庫連接到你的 cell 項目。每次你提交到你的目標分支時,基本上會發生的是,它將構建你的應用程序,這很酷。所以,這實際上將完成並構建第一步。它將實際將你更新後的代碼部署到你現有的域。所以,發生的是,在每個步驟結束時,你確保一切都完成。你提交你的代碼,然後它將實際構建並部署到你託管在 verell 上的現有 URL。這很酷。所以,讓我們開始處理下一步。好的,所以只是一個提醒。你需要確保你勾選了第一步。然後,我們將滾動回現有代碼部分。現在,我們需要使用 repo 提示來包含現有代碼。所以,讓我們看一眼 repo 提示,因為這裡有幾件事你需要做。所以,你注意到的一件事是,如果我們實際上展開,我們將點擊展開。你會注意到,我們創建的一些新文件。讓我們實際關閉那個 UI 文件夾,這樣它就不會太長。但你會看到 receipt schema,特別是,這是我們添加的新文件,實際上並沒有添加到我們的上下文中。所以,你必須確保你做的是,每當你創建一個新文件時,這很重要,因為如果你不這樣做,你就會包含過時的代碼。01 Pro 所做的工作實際上會很糟糕或過時。所以,非常重要的是,你要充當項目經理和上下文管理器,以確保你始終將正確的最新代碼包含到 01 Pro 中。因為將會發生的一件事是,我敢肯定,在完成大約十幾個步驟的過程中,你會忘記做一次這件事。你會得到一個糟糕的結果,你會對模型生氣,而實際上是你的錯,因為你沒有更新上下文。所以,我們將確保我們添加這個文件到上下文。你會看到它會增加我的令牌計數。太好了。這是我想像的唯一文件,對吧?因為其他文件只是編輯。所以,一切都將是最新的。你甚至可以點擊這個小刷新按鈕,只是為了確保一切都是最新的。這通常是我喜歡做的。你可以看到,一切都準備好了。如果我們打開 DB 文件夾,打開 schema 文件夾,它就準備好了。所以,我們將複製我們的新的代碼,我們的現有代碼。你可以看到我的 versel 構建現在已準備就緒。所以,它已成功部署,這很棒。現在我們可以進入現有代碼標籤,我們已經從上一步清除了。粘貼進去。我們將複製整個東西。我們將回到 chat gbt。開始一個新的聊天,使用 01 Pro。我們將粘貼這個,然後讓它開始工作。所以,01 Pro 現在正在做的事情,這就是我一開始提到的。你基本上想把 01 Pro 想像成一個你僱傭的實際開發者。因為現在它正在做的事情是,如果我們進入規劃器提示,它現在正在嘗試實現我們第一步所需的整個代碼。所以,將會發生的是,一旦它完成工作,我們稍後會討論,它將為我們提供完整的每個文件,我們需要粘貼到我們的代碼中。我們將做的是,我們將基本上遍歷這些文件中的每一個,以及它給我們的任何用戶說明。我們將在我們的代碼庫中進行更改。我們將直接在光標中進行。我現在可以關閉這個光標規則文件,因為我們暫時不需要它。我們將一步一步地繼續下去。所以,讓我們讓 01 Pro 工作。這可能需要大約 4 到 6 分鐘。所以我將讓它運行,然後我們將討論如何做到這一點。好的,所以你可以看到 01 Pro 在第一步上工作了 3 分鐘 1 秒。所以,接下來我們要做的就是逐個文件地進行,並做我們需要做的一切。所以,你會看到,對於這些文件中的每一個,我們都有被編輯或添加的文件。我們有,這是我的所作所為以及原因。這解釋了 01 Pro 實際做了什麼。它提供了文件路徑,這樣你就知道把文件放在哪裡。然後,你可以看到它提供了整個文件,以及所有文檔。所以,只是一個說明,如果你是一個不喜歡文檔的人,我們之前提到過,你可以隨時更改提示來刪除它。我認為至少在與 ow 和 pro 迭代每個步驟時,它非常有幫助。然後,我認為之後,如果你有一個應用程序狀態是你想要的,然後你想刪除所有額外的文檔,我認為那是時候了。但我確實認為,當你迭代這些步驟時,如果你保留每個文件的註釋,所有這些文檔等等,我認為你會得到更好的結果。我對此進行了廣泛的測試,發現情況確實如此。所以,只是一個需要注意的事項。好的,這是我們需要做的。我們將逐個文件地複製並粘貼代碼。第一個文件路徑是 DB schema receipts schema。所以,我們將把它添加到我們的代碼庫中。我將打開 DB,打開 schema。看起來我們需要命名文件 receipts schema. TS。所以我將這樣做。所以,讓我們 receipts D schema TTS。我們將把它粘貼進去,保存它。瞧,你現在可以看到我們有一個收據表模式,它有詳盡的文檔,並且符合我們在光標規則文件中指示的代碼標準。所以,相當酷。所以,這是第一個路徑。讓我們向下滾動到下一個文件。好的,現在我們實際上需要編輯我們 schema 中的索引文件。這將導出東西。所以,這是一個已經存在的文件。所以,我們可以再次覆蓋。這就是為什麼我們要求 ow 和 pro 每次都返回完整的文件內容。因為而不是我們必須弄清楚,好的,這兩個文件之間有什麼變化。我們可以做一個非常簡單的複製粘貼工作流程,這非常棒。好的,讓我們去第三個。所以,現在我們將更新 dbdb dots 文件。它可能就在這裡。就像上次一樣,我們將粘貼新文件。你將看到我們現在在模式中有那個收据表。我們有一些新註釋,一些好的文檔,這很棒。好的,讓我們向下滾動。看起來我們現在需要調整 env. example 文件。所以,我們將這樣做。值得注意的是,它會要求我更新示例文件。但我們當然也需要更新我們的. env. loal 文件,因為那是我們實際的 envs。還值得注意的是,因為我們調整了一個 env,我們需要做什麼?我們需要進入 verell。我們需要進入我們的設置。我們需要進入我們的環境變量。所以,看起來我們還沒有添加那個變量。所以,我們可以做的是,我們可以直接粘貼它,點擊保存。記住,我們必須重新部署以確保它被添加。所以,我們將點擊重新部署,再次點擊重新部署。這將注入新的環境變量。所以,這非常重要。然後,你可以看到我們完成了第一步。我們得到了一些概述,關於 AI 做了什麼。然後,你可以看到我們得到了用戶說明。所以,你可以看到,檢查你的. .lo。你可以看到,確保添加它。然後,它說,可選地,我們將需要生成我們的 drizzle 遷移,以便將此上傳到我們的數據庫。因為我們更新了模式的代碼,如果你刷新 superbase,你會看到我們沒有那個表。所以,這實際上將如何在我們的代碼中工作是,我們需要去我們的終端。做 npm run DB generate。這將生成新的遷移文件。所以,如果我們點擊 migrations,你會看到我們現在有一個 SQL 遷移文件,用於我們的收據表。然後,當然,我們需要遷移它。我們將做 npm run DB migrate。它將運行遷移。然後,如果我們回到 super base,我們應該能夠刷新它,看到我們的收據表,以及 AI 為我們編寫的所有那些漂亮的列。所以,這是第一步的結束。你在這裡需要做的一件事是,你實際上需要刪除你所有現有的代碼。所以,通常我會向你展示,在下一步中,當我們迭代這個的時候,因為這可能相當糟糕。每次都要找到那個開頭的標籤。所以我將繼續向上滾動,滾動,滾動。看起來我們還在代碼地圖裡。讓我們再往前一點。這是文件系統。我們必須刪除所有現有代碼。所以,我們刪除了代碼。現在我們需要去實施計劃中的第一步,只需標記它已完成。所以,我們只需在這裡添加一個 X。現在,這一切都準備好了,可以進行第二步了。我們要做的其中一件事是,在我們繼續第二步之前,我們將快速回到光標。我們將實際提交我們的代碼。所以,我推薦你做的一件事是,在你完全完成每個步驟後,你實際上想為你的 GitHub 存儲庫創建一個新的提交。我將直接稱之為第一步。我將提交它。順便說一句,我正在使用光標內的 git 標籤。你當然可以使用終端,如果你只是喜歡使用 git CLI。然後,我們將同步它。非常容易初學者使用。這裡的 git UI 相當不錯。我將在 Mac 上按 Shift Command W。這將關閉我現有的文件。如果你回到我們的 git 存儲庫,你會看到,在教程中,你會看到我有一步。我剛剛提交了這個。所以,這個黃色的待定是什麼?所以,真正很棒的一件事是將你的 GitHub 存儲庫連接到你的 cell 項目。每次你提交到你的目標分支時,基本上會發生的是,它將構建你的應用程序,這很酷。所以,這實際上將完成並構建第一步。它將實際將你更新後的代碼部署到你現有的域。所以,發生的是,在每個步驟結束時,你確保一切都完成。你提交你的代碼,然後它將實際構建並部署到你託管在 verell 上的現有 URL。這很酷。所以,讓我們開始處理下一步。好的,所以只是一個提醒。你需要確保你勾選了第一步。然後,我們將滾動回現有代碼部分。現在,我們需要使用 repo 提示來包含現有代碼。所以,讓我們看一眼 repo 提示,因為這裡有幾件事你需要做。所以,你注意到的一件事是,如果我們實際上展開,我們將點擊展開。你會注意到,我們創建的一些新文件。讓我們實際關閉那個 UI 文件夾,這樣它就不會太長。但你會看到 receipt schema,特別是,這是我們添加的新文件,實際上並沒有添加到我們的上下文中。所以,你必須確保你做的是,每當你創建一個新文件時,這很重要,因為如果你不這樣做,你就會包含過時的代碼。01 Pro 所做的工作實際上會很糟糕或過時。所以,非常重要的是,你要充當項目經理和上下文管理器,以確保你始終將正確的最新代碼包含到 01 Pro 中。因為將會發生的一件事是,我敢肯定,在完成大約十幾個步驟的過程中,你會忘記做一次這件事。你會得到一個糟糕的結果,你會對模型生氣,而實際上是你的錯,因為你沒有更新上下文。所以,我們將確保我們添加這個文件到上下文。你會看到它會增加我的令牌計數。太好了。這是我想像的唯一文件,對吧?因為其他文件只是編輯。所以,一切都將是最新的。你甚至可以點擊這個小刷新按鈕,只是為了確保一切都是最新的。這通常是我喜歡做的。你可以看到,一切都準備好了。如果我們打開 DB 文件夾,打開 schema 文件夾,它就準備好了。所以,我們將複製我們的新的代碼,我們的現有代碼。你可以看到我的 versel 構建現在已準備就緒。所以,它已成功部署,這很棒。現在我們可以進入現有代碼標籤,我們已經從上一步清除了。粘貼進去。我們將複製整個東西。我們將回到 chat gbt。開始一個新的聊天,使用 01 Pro。我們將粘貼這個,然後讓它開始工作。所以,01 Pro 現在正在做的事情,這就是我一開始提到的。你基本上想把 01 Pro 想像成一個你僱傭的實際開發者。因為現在它正在做的事情是,如果我們進入規劃器提示,它現在正在嘗試實現我們第一步所需的整個代碼。所以,將會發生的是,一旦它完成工作,我們稍後會討論,它將為我們提供完整的每個文件,我們需要粘貼到我們的代碼中。我們將做的是,我們將基本上遍歷這些文件中的每一個,以及它給我們的任何用戶說明。我們將在我們的代碼庫中進行更改。我們將直接在光標中進行。我現在可以關閉這個光標規則文件,因為我們暫時不需要它。我們將一步一步地繼續下去。所以,讓我們讓 01 Pro 工作。這可能需要大約 4 到 6 分鐘。所以我將讓它運行,然後我們將討論如何做到這一點。好的,所以你可以看到 01 Pro 在第一步上工作了 3 分鐘 1 秒。所以,接下來我們要做的就是逐個文件地進行,並做我們需要做的一切。所以,你會看到,對於這些文件中的每一個,我們都有被編輯或添加的文件。我們有,這是我的所作所為以及原因。這解釋了 01 Pro 實際做了什麼。它提供了文件路徑,這樣你就知道把文件放在哪裡。然後,你可以看到它提供了整個文件,以及所有文檔。所以,只是一個說明,如果你是一個不喜歡文檔的人,我們之前提到過,你可以隨時更改提示來刪除它。我認為至少在與 ow 和 pro 迭代每個步驟時,它非常有幫助。然後,我認為之後,如果你有一個應用程序狀態是你想要的,然後你想刪除所有額外的文檔,我認為那是時候了。但我確實認為,當你迭代這些步驟時,如果你保留每個文件的註釋,所有這些文檔等等,我認為你會得到更好的結果。我對此進行了廣泛的測試,發現情況確實如此。所以,只是一個需要注意的事項。好的,這是我們需要做的。我們將逐個文件地複製並粘貼代碼。第一個文件路徑是 DB schema receipts schema。所以,我們將把它添加到我們的代碼庫中。我將打開 DB,打開 schema。看起來我們需要命名文件 receipts schema. TS。所以我將這樣做。所以,讓我們 receipts D schema TTS。我們將把它粘貼進去,保存它。瞧,你現在可以看到我們有一個收據表模式,它有詳盡的文檔,並且符合我們在光標規則文件中指示的代碼標準。所以,相當酷。所以,這是第一個路徑。讓我們向下滾動到下一個文件。好的,現在我們實際上需要編輯我們 schema 中的索引文件。這將導出東西。所以,這是一個已經存在的文件。所以,我們可以再次覆蓋。這就是為什麼我們要求 ow 和 pro 每次都返回完整的文件內容。因為而不是我們必須弄清楚,好的,這兩個文件之間有什麼變化。我們可以做一個非常簡單的複製粘貼工作流程,這非常棒。好的,讓我們去第三個。所以,現在我們將更新 dbdb dots 文件。它可能就在這裡。就像上次一樣,我們將粘貼新文件。你將看到我們現在在模式中有那個收據表。我們有一些新註釋,一些好的文檔,這很棒。好的,讓我們向下滾動。看起來我們現在需要調整 env. example 文件。所以,我們將這樣做。值得注意的是,它會要求我更新示例文件。但我們當然也需要更新我們的. env. loal 文件,因為那是我們實際的 envs。還值得注意的是,因為我們調整了一個 env,我們需要做什麼?我們需要進入 verell。我們需要進入我們的設置。我們需要進入我們的環境變量。所以,看起來我們還沒有添加那個變量。所以,我們可以做的是,我們可以直接粘貼它,點擊保存。記住,我們必須重新部署以確保它被添加。所以,我們將點擊重新部署,再次點擊重新部署。這將注入新的環境變量。所以,這非常重要。然後,你可以看到我們完成了第一步。我們得到了一些概述,關於 AI 做了什麼。然後,你可以看到我們得到了用戶說明。所以,你可以看到,檢查你的. .lo。你可以看到,確保添加它。然後,它說,可選地,我們將需要生成我們的 drizzle 遷移,以便將此上傳到我們的數據庫。因為我們更新了模式的代碼,如果你刷新 superbase,你會看到我們沒有那個表。所以,這實際上將如何在我們的代碼中工作是,我們需要去我們的終端。做 npm run DB generate。這將生成新的遷移文件。所以,如果我們點擊 migrations,你會看到我們現在有一個 SQL 遷移文件,用於我們的收據表。然後,當然,我們需要遷移它。我們將做 npm run DB migrate。它將運行遷移。然後,如果我們回到 super base,我們應該能夠刷新它,看到我們的收據表,以及 AI 為我們編寫的所有那些漂亮的列。所以,這是第一步的結束。你在這裡需要做的一件事是,你實際上需要刪除你所有現有的代碼。所以,通常我會向你展示,在下一步中,當我們迭代這個的時候,因為這可能相當糟糕。每次都要找到那個開頭的標籤。所以我將繼續向上滾動,滾動,滾動。看起來我們還在代碼地圖裡。讓我們再往前一點。這是文件系統。我們必須刪除所有現有代碼。所以,我們刪除了代碼。現在我們需要去實施計劃中的第一步,只需標記它已完成。所以,我們只需在這裡添加一個 X。現在,這一切都準備好了,可以進行第二步了。我們要做的其中一件事是,在我們繼續第二步之前,我們將快速回到光標。我們將實際提交我們的代碼。所以,我推薦你做的一件事是,在你完全完成每個步驟後,你實際上想為你的 GitHub 存儲庫創建一個新的提交。我將直接稱之為第一步。我將提交它。順便說一句,我正在使用光標內的 git 標籤。你當然可以使用終端,如果你只是喜歡使用 git CLI。然後,我們將同步它。非常容易初學者使用。這裡的 git UI 相當不錯。我將在 Mac 上按 Shift Command W。這將關閉我現有的文件。如果你回到我們的 git 存儲庫,你會看到,在教程中,你會看到我有一步。我剛剛提交了這個。所以,這個黃色的待定是什麼?所以,真正很棒的一件事是將你的 GitHub 存儲庫連接到你的 cell 項目。每次你提交到你的目標分支時,基本上會發生的是,它將構建你的應用程序,這很酷。所以,這實際上將完成並構建第一步。它將實際將你更新後的代碼部署到你現有的域。所以,發生的是,在每個步驟結束時,你確保一切都完成。你提交你的代碼,然後它將實際構建並部署到你託管在 verell 上的現有 URL。這很酷。所以,讓我們開始處理下一步。好的,所以只是一個提醒。你需要確保你勾選了第一步。然後,我們將滾動回現有代碼部分。現在,我們需要使用 repo 提示來包含現有代碼。所以,讓我們看一眼 repo 提示,因為這裡有幾件事你需要做。所以,你注意到的一件事是,如果我們實際上展開,我們將點擊展開。你會注意到,我們創建的一些新文件。讓我們實際關閉那個 UI 文件夾,這樣它就不會太長。但你會看到 receipt schema,特別是,這是我們添加的新文件,實際上並沒有添加到我們的上下文中。所以,你必須確保你做的是,每當你創建一個新文件時,這很重要,因為如果你不這樣做,你就會包含過時的代碼。01 Pro 所做的工作實際上會很糟糕或過時。所以,非常重要的是,你要充當項目經理和上下文管理器,以確保你始終將正確的最新代碼包含到 01 Pro 中。因為將會發生的一件事是,我敢肯定,在完成大約十幾個步驟的過程中,你會忘記做一次這件事。你會得到一個糟糕的結果,你會對模型生氣,而實際上是你的錯,因為你沒有更新上下文。所以,我們將確保我們添加這個文件到上下文。你會看到它會增加我的令牌計數。太好了。這是我想像的唯一文件,對吧?因為其他文件只是編輯。所以,一切都將是最新的。你甚至可以點擊這個小刷新按鈕,只是為了確保一切都是最新的。這通常是我喜歡做的。你可以看到,一切都準備好了。如果我們打開 DB 文件夾,打開 schema 文件夾,它就準備好了。所以,我們將複製我們的新的代碼,我們的現有代碼。你可以看到我的 versel 構建現在已準備就緒。所以,它已成功部署,這很棒。現在我們可以進入現有代碼標籤,我們已經從上一步清除了。粘貼進去。我們將複製整個東西。我們將回到 chat gbt。開始一個新的聊天,使用 01 Pro。我們將粘貼這個,然後讓它開始工作。所以,01 Pro 現在正在做的事情,這就是我一開始提到的。你基本上想把 01 Pro 想像成一個你僱傭的實際開發者。因為現在它正在做的事情是,如果我們進入規劃器提示,它現在正在嘗試實現我們第一步所需的整個代碼。所以,將會發生的是,一旦它完成工作,我們稍後會討論,它將為我們提供完整的每個文件,我們需要粘貼到我們的代碼中。我們將做的是,我們將基本上遍歷這些文件中的每一個,以及它給我們的任何用户說明。我們將在我們的代碼庫中進行更改。我們將直接在光標中進行。我現在可以關閉這個光標規則文件,因為我們暫時不需要它。我們將一步一步地繼續下去。所以,讓我們讓 01 Pro 工作。這可能需要大約 4 到 6 分鐘。所以我將讓它運行,然後我們將討論如何做到這一點。好的,所以你可以看到 01 Pro 在第一步上工作了 3 分鐘 1 秒。所以,接下來我們要做的就是逐個文件地進行,並做我們需要做的一切。所以,你會看到,對於這些文件中的每一個,我們都有被編輯或添加的文件。我們有,這是我的所作所為以及原因。這解釋了 01 Pro 實際做了什麼。它提供了文件路徑,這樣你就知道把文件放在哪裡。然後,你可以看到它提供了整個文件,以及所有文檔。所以,只是一個說明,如果你是一個不喜歡文檔的人,我們之前提到過,你可以隨時更改提示來刪除它。我認為至少在與 ow 和 pro 迭代每個步驟時,它非常有幫助。然後,我認為之後,如果你有一個應用程序狀態是你想要的,然後你想刪除所有額外的文檔,我認為那是時候了。但我確實認為,當你迭代這些步驟時,如果你保留每個文件的註釋,所有這些文檔等等,我認為你會得到更好的結果。我對此進行了廣泛的測試,發現情況確實如此。所以,只是一個需要注意的事項。好的,這是我們需要做的。我們將逐個文件地複製並粘貼代碼。第一個文件路徑是 DB schema receipts schema。所以,我們將把它添加到我們的代碼庫中。我將打開 DB,打開 schema。看起來我們需要命名文件 receipts schema. TS。所以我將這樣做。所以,讓我們 receipts D schema TTS。我們將把它粘貼進去,保存它。瞧,你現在可以看到我們有一個收據表模式,它有詳盡的文檔,並且符合我們在光標規則文件中指示的代碼標準。所以,相當酷。所以,這是第一個路徑。讓我們向下滾動到下一個文件。好的,現在我們實際上需要編輯我們 schema 中的索引文件。這將導出東西。所以,這是一個已經存在的文件。所以,我們可以再次覆蓋。這就是為什麼我們要求 ow 和 pro 每次都返回完整的文件內容。因為而不是我們必須弄清楚,好的,這兩個文件之間有什麼變化。我們可以做一個非常簡單的複製粘貼工作流程,這非常棒。好的,讓我們去第三個。所以,現在我們將更新 dbdb dots 文件。它可能就在這裡。就像上次一樣,我們將粘貼新文件。你將看到我們現在在模式中有那個收據表。我們有一些新註釋,一些好的文檔,這很棒。好的,讓我們向下滾動。看起來我們現在需要調整 env. example 文件。所以,我們將這樣做。值得注意的是,它會要求我更新示例文件。但我們當然也需要更新我們的. env. loal 文件,因為那是我們實際的 envs。還值得注意的是,因為我們調整了一個 env,我們需要做什麼?我們需要進入 verell。我們需要進入我們的設置。我們需要進入我們的環境變量。所以,看起來我們還沒有添加那個變量。所以,我們可以做的是,我們可以直接粘貼它,點擊保存。記住,我們必須重新部署以確保它被添加。所以,我們將點擊重新部署,再次點擊重新部署。這將注入新的環境變量。所以,這非常重要。然後,你可以看到我們完成了第一步。我們得到了一些概述,關於 AI 做了什麼。然後,你可以看到我們得到了用戶說明。所以,你可以看到,檢查你的. .lo。你可以看到,確保添加它。然後,它說,可選地,我們將需要生成我們的 drizzle 遷移,以便將此上傳到我們的數據庫。因為我們更新了模式的代碼,如果你刷新 superbase,你會看到我們沒有那個表。所以,這實際上將如何在我們的代碼中工作是,我們需要去我們的終端。做 npm run DB generate。這將生成新的遷移文件。所以,如果我們點擊 migrations,你會看到我們現在有一個 SQL 遷移文件,用於我們的收據表。然後,當然,我們需要遷移它。我們將做 npm run DB migrate。它將運行遷移。然後,如果我們回到 super base,我們應該能夠刷新它,看到我們的收據表,以及 AI 為我們編寫的所有那些漂亮的列。所以,這是第一步的結束。你在這裡需要做的一件事是,你實際上需要刪除你所有現有的代碼。所以,通常我會向你展示,在下一步中,當我們迭代這個的時候,因為這可能相當糟糕。每次都要找到那個開頭的標籤。所以我將繼續向上滾動,滾動,滾動。看起來我們還在代碼地圖裡。讓我們再往前一點。這是文件系統。我們必須刪除所有現有代碼。所以,我們刪除了代碼。現在我們需要去實施計劃中的第一步,只需標記它已完成。所以,我們只需在這裡添加一個 X。現在,這一切都準備好了,可以進行第二步了。我們要做的其中一件事是,在我們繼續第二步之前,我們將快速回到光標。我們將實際提交我們的代碼。所以,我推薦你做的一件事是,在你完全完成每個步驟後,你實際上想為你的 GitHub 存儲庫創建一個新的提交。我將直接稱之為第一步。我將提交它。順便說一句,我正在使用光標內的 git 標籤。你當然可以使用終端,如果你只是喜歡使用 git CLI。然後,我們將同步它。非常容易初學者使用。這裡的 git UI 相當不錯。我將在 Mac 上按 Shift Command W。這將關閉我現有的文件。如果你回到我們的 git 存儲庫,你會看到,在教程中,你會看到我有一步。我剛剛提交了這個。所以,這個黃色的待定是什麼?所以,真正很棒的一件事是將你的 GitHub 存儲庫連接到你的 cell 項目。每次你提交到你的目標分支時,基本上會發生的是,它將構建你的應用程序,這很酷。所以,這實際上將完成並構建第一步。它將實際將你更新後的代碼部署到你現有的域。所以,發生的是,在每個步驟結束時,你確保一切都完成。你提交你的代碼,然後它將實際構建並部署到你託管在 verell 上的現有 URL。這很酷。所以,讓我們開始處理下一步。好的,所以只是一個提醒。你需要確保你勾選了第一步。然後,我們將滾動回現有代碼部分。現在,我們需要使用 repo 提示來包含現有代碼。所以,讓我們看一眼 repo 提示,因為這裡有幾件事你需要做。所以,你注意到的一件事是,如果我們實際上展開,我們將點擊展開。你會注意到,我們創建的一些新文件。讓我們實際關閉那個 UI 文件夾,這樣它就不會太長。但你會看到 receipt schema,特別是,這是我們添加的新文件,實際上並沒有添加到我們的上下文中。所以,你必須確保你做的是,每當你創建一個新文件時,這很重要,因為如果你不這樣做,你就會包含過時的代碼。01 Pro 所做的工作實際上會很糟糕或過時。所以,非常重要的是,你要充當項目經理和上下文管理器,以確保你始終將正確的最新代碼包含到 01 Pro 中。因為將會發生的一件事是,我敢肯定,在完成大約十幾個步驟的過程中,你會忘記做一次這件事。你會得到一個糟糕的結果,你會對模型生氣,而實際上是你的錯,因為你沒有更新上下文。所以,我們將確保我們添加這個文件到上下文。你會看到它會增加我的令牌計數。太好了。這是我想像的唯一文件,對吧?因為其他文件只是編輯。所以,一切都將是最新的。你甚至可以點擊這個小刷新按鈕,只是為了確保一切都是最新的。這通常是我喜歡做的。你可以看到,一切都準備好了。如果我們打開 DB 文件夾,打開 schema 文件夾,它就準備好了。所以,我們將複製我們的新的代碼,我們的現有代碼。你可以看到我的 versel 構建現在已準備就緒。所以,它已成功部署,這很棒。現在我們可以進入現有代碼標籤,我們已經從上一步清除了。粘貼進去。我們將複製整個東西。我們將回到 chat gbt。開始一個新的聊天,使用 01 Pro。我們將粘貼這個,然後讓它開始工作。所以,01 Pro 現在正在做的事情,這就是我一開始提到的。你基本上想把 01 Pro 想像成一個你僱傭的實際開發者。因為現在它正在做的事情是,如果我們進入規劃器提示,它現在正在嘗試實現我們第一步所需的整個代碼。所以,將會發生的是,一旦它完成工作,我們稍後會討論,它將為我們提供完整的每個文件,我們需要粘貼到我們的代碼中。我們將做的是,我們將基本上遍歷這些文件中的每一個,以及它給我們的任何用戶說明。我們將在我們的代碼庫中進行更改。我們將直接在光標中進行。我現在可以關閉這個光標規則文件,因為我們暫時不需要它。我們將一步一步地繼續下去。所以,讓我們讓 01 Pro 工作。這可能需要大約 4 到 6 分鐘。所以我將讓它運行,然後我們將討論如何做到這一點。好的,所以你可以看到 01 Pro 在第一步上工作了 3 分鐘 1 秒。所以,接下來我們要做的就是逐個文件地進行,並做我們需要做的一切。所以,你會看到,對於這些文件中的每一個,我們都有被編輯或添加的文件。我們有,這是我的所作所為以及原因。這解釋了 01 Pro 實際做了什麼。它提供了文件路徑,這樣你就知道把文件放在哪裡。然後,你可以看到它提供了整個文件,以及所有文檔。所以,只是一個說明,如果你是一個不喜歡文檔的人,我們之前提到過,你可以隨時更改提示來刪除它。我認為至少在與 ow 和 pro 迭代每個步驟時,它非常有幫助。然後,我認為之後,如果你有一個應用程序狀態是你想要的,然後你想刪除所有額外的文檔,我認為那是時候了。但我確實認為,當你迭代這些步驟時,如果你保留每個文件的註釋,所有這些文檔等等,我認為你會得到更好的結果。我對此進行了廣泛的測試,發現情況確實如此。所以,只是一個需要注意的事項。好的,這是我們需要做的。我們將逐個文件地複製並粘貼代碼。第一個文件路徑是 DB schema receipts schema。所以,我們將把它添加到我們的代碼庫中。我將打開 DB,打開 schema。看起來我們需要命名文件 receipts schema. TS。所以我將這樣做。所以,讓我們 receipts D schema TTS。我們將把它粘貼進去,保存它。瞧,你現在可以看到我們有一個收據表模式,它有詳盡的文檔,並且符合我們在光標規則文件中指示的代碼標準。所以,相當酷。所以,這是第一個路徑。讓我們向下滾動到下一個文件。好的,現在我們實際上需要編輯我們 schema 中的索引文件。這將導出東西。所以,這是一個已經存在的文件。所以,我們可以再次覆蓋。這就是為什麼我們要求 ow 和 pro 每次都返回完整的文件內容。因為而不是我們必須弄清楚,好的,這兩個文件之間有什麼變化。我們可以做一個非常簡單的複製粘貼工作流程,這非常棒。好的,讓我們去第三個。所以,現在我們將更新 dbdb dots 文件。它可能就在這裡。就像上次一樣,我們將粘貼新文件。你將看到我們現在在模式中有那個收據表。我們有一些新註釋,一些好的文檔,這很棒。好的,讓我們向下滾動。看起來我們現在需要調整 env. example 文件。所以,我們將這樣做。值得注意的是,它會要求我更新示例文件。但我們當然也需要更新我們的. env. loal 文件,因為那是我們實際的 envs。還值得注意的是,因為我們調整了一個 env,我們需要做什麼?我們需要進入 verell。我們需要進入我們的設置。我們需要進入我們的環境變量。所以,看起來我們還沒有添加那個變量。所以,我們可以做的是,我們可以直接粘貼它,點擊保存。記住,我們必須重新部署以確保它被添加。所以,我們將點擊重新部署,再次點擊重新部署。這將注入新的環境變量。所以,這非常重要。然後,你可以看到我們完成了第一步。我們得到了一些概述,關於 AI 做了什麼。然後,你可以看到我們得到了用戶說明。所以,你可以看到,檢查你的. .lo。你可以看到,確保添加它。然後,它說,可選地,我們將需要生成我們的 drizzle 遷移,以便將此上傳到我們的數據庫。因為我們更新了模式的代碼,如果你刷新 superbase,你會看到我們沒有那個表。所以,這實際上將如何在我們的代碼中工作是,我們需要去我們的終端。做 npm run DB generate。這將生成新的遷移文件。所以,如果我們點擊 migrations,你會看到我們現在有一個 SQL 遷移文件,用於我們的收據表。然後,當然,我們需要遷移它。我們將做 npm run DB migrate。它將運行遷移。然後,如果我們回到 super base,我們應該能夠刷新它,看到我們的收據表,以及 AI 為我們編寫的所有那些漂亮的列。所以,這是第一步的結束。你在這裡需要做的一件事是,你實際上需要刪除你所有現有的代碼。所以,通常我會向你展示,在下一步中,當我們迭代這個的時候,因為這可能相當糟糕。每次都要找到那個開頭的標籤。所以我將繼續向上滾動,滾動,滾動。看起來我們還在代碼地圖裡。讓我們再往前一點。這是文件系統。我們必須刪除所有現有代碼。所以,我們刪除了代碼。現在我們需要去實施計劃中的第一步,只需標記它已完成。所以,我們只需在這裡添加一個 X。現在,這一切都準備好了,可以進行第二步了。我們要做的其中一件事是,在我們繼續第二步之前,我們將快速回到光標。我們將實際提交我們的代碼。所以,我推薦你做的一件事是,在你完全完成每個步驟後,你實際上想為你的 GitHub 存儲庫創建一個新的提交。我將直接稱之為第一步。我將提交它。順便說一句,我正在使用光標內的 git 標籤。你當然可以使用終端,如果你只是喜歡使用 git CLI。然後,我們將同步它。非常容易初學者使用。這裡的 git UI 相當不錯。我將在 Mac 上按 Shift Command W。這將關閉我現有的文件。如果你回到我們的 git 存儲庫,你會看到,在教程中,你會看到我有一步。我剛剛提交了這個。所以,這個黃色的待定是什麼?所以,真正很棒的一件事是將你的 GitHub 存儲庫連接到你的 cell 項目。每次你提交到你的目標分支時,基本上會發生的是,它將構建你的應用程序,這很酷。所以,這實際上將完成並構建第一步。它將實際將你更新後的代碼部署到你現有的域。所以,發生的是,在每個步驟結束時,你確保一切都完成。你提交你的代碼,然後它將實際構建並部署到你託管在 verell 上的現有 URL。這很酷。所以,讓我們開始處理下一步。好的,所以只是一個提醒。你需要確保你勾選了第一步。然後,我們將滾動回現有代碼部分。現在,我們需要使用 repo 提示來包含現有代碼。所以,讓我們看一眼 repo 提示,因為這裡有幾件事你需要做。所以,你注意到的一件事是,如果我們實際上展開,我們將點擊展開。你會注意到,我們創建的一些新文件。讓我們實際關閉那個 UI 文件夾,這樣它就不會太長。但你會看到 receipt schema,特別是,這是我們添加的新文件,實際上並沒有添加到我們的上下文中。所以,你必須確保你做的是,每當你創建一個新文件時,這很重要,因為如果你不這樣做,你就會包含過時的代碼。01 Pro 所做的工作實際上會很糟糕或過時。所以,非常重要的是,你要充當項目經理和上下文管理器,以確保你始終將正確的最新代碼包含到 01 Pro 中。因為將會發生的一件事是,我敢肯定,在完成大約十幾個步驟的過程中,你會忘記做一次這件事。你會得到一個糟糕的結果,你會對模型生氣,而實際上是你的錯,因為你沒有更新上下文。所以,我們將確保我們添加這個文件到上下文。你會看到它會增加我的令牌計數。太好了。這是我想像的唯一文件,對吧?因為其他文件只是編輯。所以,一切都將是最新的。你甚至可以點擊這個小刷新按鈕,只是為了確保一切都是最新的。這通常是我喜歡做的。你可以看到,一切都準備好了。如果我們打開 DB 文件夾,打開 schema 文件夾,它就準備好了。所以,我們將複製我們的新的代碼,我們的現有代碼。你可以看到我的 versel 構建現在已準備就緒。所以,它已成功部署,這很棒。現在我們可以進入現有代碼標籤,我們已經從上一步清除了。粘貼進去。我們將複製整個東西。我們將回到 chat gbt。開始一個新的聊天,使用 01 Pro。我們將粘貼這個,然後讓它開始工作。所以,01 Pro 現在正在做的事情,這就是我一開始提到的。你基本上想把 01 Pro 想像成一個你僱傭的實際開發者。因為現在它正在做的事情是,如果我們進入規劃器提示,它現在正在嘗試實現我們第一步所需的整個代碼。所以,將會發生的是,一旦它完成工作,我們稍後會討論,它將為我們提供完整的每個文件,我們需要粘貼到我們的代碼中。我們將做的是,我們將基本上遍歷這些文件中的每一個,以及它給我們的任何用戶說明。我們將在我們的代碼庫中進行更改。我們將直接在光標中進行。我現在可以關閉這個光標規則文件,因為我們暫時不需要它。我們將一步一步地繼續下去。所以,讓我們讓 01 Pro 工作。這可能需要大約 4 到 6 分鐘。所以我將讓它運行,然後我們將討論如何做到這一點。好的,所以你可以看到 01 Pro 在第一步上工作了 3 分鐘 1 秒。所以,接下來我們要做的就是逐個文件地進行,並做我們需要做的一切。所以,你會看到,對於這些文件中的每一個,我們都有被編輯或添加的文件。我們有,這是我的所作所為以及原因。這解釋了 01 Pro 實際做了什麼。它提供了文件路徑,這樣你就知道把文件放在哪裡。然後,你可以看到它提供了整個文件,以及所有文檔。所以,只是一個說明,如果你是一個不喜歡文檔的人,我們之前提到過,你可以隨時更改提示來刪除它。我認為至少在與 ow 和 pro 迭代每個步驟時,它非常有幫助。然後,我認為之後,如果你有一個應用程序狀態是你想要的,然後你想刪除所有額外的文檔,我認為那是時候了。但我確實認為,當你迭代這些步驟時,如果你保留每個文件的註釋,所有這些文檔等等,我認為你會得到更好的結果。我對此進行了廣泛的測試,發現情況確實如此。所以,只是一個需要注意的事項。好的,這是我們需要做的。我們將逐個文件地複製並粘貼代碼。第一個文件路徑是 DB schema receipts schema。所以,我們將把它添加到我們的代碼庫中。我將打開 DB,打開 schema。看起來我們需要命名文件 receipts schema. TS。所以我將這樣做。所以,讓我們 receipts D schema TTS。我們將把它粘貼進去,保存它。瞧,你現在可以看到我們有一個收據表模式,它有詳盡的文檔,並且符合我們在光標規則文件中指示的代碼標準。所以,相當酷。所以,這是第一個路徑。讓我們向下滾動到下一個文件。好的,現在我們實際上需要編輯我們 schema 中的索引文件。這將導出東西。所以,這是一個已經存在的文件。所以,我們可以再次覆蓋。這就是為什麼我們要求 ow 和 pro 每次都返回完整的文件內容。因為而不是我們必須弄清楚,好的,這兩個文件之間有什麼變化。我們可以做一個非常簡單的複製粘貼工作流程,這非常棒。好的,讓我們去第三個。所以,現在我們將更新 dbdb dots 文件。它可能就在這裡。就像上次一樣,我們將粘貼新文件。你將看到我們現在在模式中有那個收據表。我們有一些新註釋,一些好的文檔,這很棒。好的,讓我們向下滾動。看起來我們現在需要調整 env. example 文件。所以,我們將這樣做。值得注意的是,它會要求我更新示例文件。但我們當然也需要更新我們的. env. loal 文件,因為那是我們實際的 envs。還值得注意的是,因為我們調整了一個 env,我們需要做什麼?我們需要進入 verell。我們需要進入我們的設置。我們需要進入我們的環境變量。所以,看起來我們還沒有添加那個變量。所以,我們可以做的是,我們可以直接粘貼它,點擊保存。記住,我們必須重新部署以確保它被添加。所以,我們將點擊重新部署,再次點擊重新部署。這將注入新的環境變量。所以,這非常重要。然後,你可以看到我們完成了第一步。我們得到了一些概述,關於 AI 做了什麼。然後,你可以看到我們得到了用戶說明。所以,你可以看到,檢查你的. .lo。你可以看到,確保添加它。然後,它說,可選地,我們將需要生成我們的 drizzle 遷移,以便將此上傳到我們的數據庫。因為我們更新了模式的代碼,如果你刷新 superbase,你會看到我們沒有那個表。所以,這實際上將如何在我們的代碼中工作是,我們需要去我們的終端。做 npm run DB generate。這將生成新的遷移文件。所以,如果我們點擊 migrations,你會看到我們現在有一個 SQL 遷移文件,用於我們的收據表。然後,當然,我們需要遷移它。我們將做 npm run DB migrate。它將運行遷移。然後,如果我們回到 super base,我們應該能夠刷新它,看到我們的收據表,以及 AI 為我們編寫的所有那些漂亮的列。所以,這是第一步的結束。你在這裡需要做的一件事是,你實際上需要刪除你所有現有的代碼。所以,通常我會向你展示,在下一步中,當我們迭代這個的時候,因為這可能相當糟糕。每次都要找到那個開頭的標籤。所以我將繼續向上滾動,滾動,滾動。看起來我們還在代碼地圖裡。讓我們再往前一點。這是文件系統。我們必須刪除所有現有代碼。所以,我們刪除了代碼。現在我們需要去實施計劃中的第一步,只需標記它已完成。所以,我們只需在這裡添加一個 X。現在,這一切都準備好了,可以進行第二步了。我們要做的其中一件事是,在我們繼續第二步之前,我們將快速回到光標。我們將實際提交我們的代碼。所以,我推薦你做的一件事是,在你完全完成每個步驟後,你實際上想為你的 GitHub 存儲庫創建一個新的提交。我將直接稱之為第一步。我將提交它。順便說一句,我正在使用光標內的 git 標籤。你當然可以使用終端,如果你只是喜歡使用 git CLI。然後,我們將同步它。非常容易初學者使用。這裡的 git UI 相當不錯。我將在 Mac 上按 Shift Command W。這將關閉我現有的文件。如果你回到我們的 git 存儲庫,你會看到,在教程中,你會看到我有一步。我剛剛提交了這個。所以,這個黃色的待定是什麼?所以,真正很棒的一件事是將你的 GitHub 存儲庫連接到你的 cell 項目。每次你提交到你的目標分支時,基本上會發生的是,它將構建你的應用程序,這很酷。所以,這實際上將完成並構建第一步。它將實際將你更新後的代碼部署到你現有的域。所以,發生的是,在每個步驟結束時,你確保一切都完成。你提交你的代碼,然後它將實際構建並部署到你託管在 verell 上的現有 URL。這很酷。所以,讓我們開始處理下一步。好的,所以只是一個提醒。你需要確保你勾選了第一步。然後,我們將滾動回現有代碼部分。現在,我們需要使用 repo 提示來包含現有代碼。所以,讓我們看一眼 repo 提示,因為這裡有幾件事你需要做。所以,你注意到的一件事是,如果我們實際上展開,我們將點擊展開。你會注意到,我們創建的一些新文件。讓我們實際關閉那個 UI 文件夾,這樣它就不會太長。但你會看到 receipt schema,特別是,這是我們添加的新文件,實際上並沒有添加到我們的上下文中。所以,你必須確保你做的是,每當你創建一個新文件時,這很重要,因為如果你不這樣做,你就會包含過時的代碼。01 Pro 所做的工作實際上會很糟糕或過時。所以,非常重要的是,你要充當項目經理和上下文管理器,以確保你始終將正確的最新代碼包含到 01 Pro 中。因為將會發生的一件事是,我敢肯定,在完成大約十幾個步驟的過程中,你會忘記做一次這件事。你會得到一個糟糕的結果,你會對模型生氣,而實際上是你的錯,因為你沒有更新上下文。所以,我們將確保我們添加這個文件到上下文。你會看到它會增加我的令牌計數。太好了。這是我想像的唯一文件,對吧?因為其他文件只是編輯。所以,一切都將是最新的。你甚至可以點擊這個小刷新按鈕,只是為了確保一切都是最新的。這通常是我喜歡做的。你可以看到,一切都準備好了。如果我們打開 DB 文件夾,打開 schema 文件夾,它就準備好了。所以,我們將複製我們的新的代碼,我們的現有代碼。你可以看到我的 versel 構建現在已準備就緒。所以,它已成功部署,這很棒。現在我們可以進入現有代碼標籤,我們已經從上一步清除了。粘貼進去。我們將複製整個東西。我們將回到 chat gbt。開始一個新的聊天,使用 01 Pro。我們將粘貼這個,然後讓它開始工作。所以,01 Pro 現在正在做的事情,這就是我一開始提到的。你基本上想把 01 Pro 想像成一個你僱傭的實際開發者。因為現在它正在做的事情是,如果我們進入規劃器提示,它現在正在嘗試實現我們第一步所需的整個代碼。所以,將會發生的是,一旦它完成工作,我們稍後會討論,它將為我們提供完整的每個文件,我們需要粘貼到我們的代碼中。我們將做的是,我們將基本上遍歷這些文件中的每一個,以及它給我們的任何用戶說明。我們將在我們的代碼庫中進行更改。我們將直接在光標中進行。我現在可以關閉這個光標規則文件,因為我們暫時不需要它。我們將一步一步地繼續下去。所以,讓我們讓 01 Pro 工作。這可能需要大約 4 到 6 分鐘。所以我將讓它運行,然後我們將討論如何做到這一點。好的,所以你可以看到 01 Pro 在第一步上工作了 3 分鐘 1 秒。所以,接下來我們要做的就是逐個文件地進行,並做我們需要做的一切。所以,你會看到,對於這些文件中的每一個,我們都有被編輯或添加的文件。我們有,這是我的所作所為以及原因。這解釋了 01 Pro 實際做了什麼。它提供了文件路徑,這樣你就知道把文件放在哪裡。然後,你可以看到它提供了整個文件,以及所有文檔。所以,只是一個說明,如果你是一個不喜歡文檔的人,我們之前提到過,你可以隨時更改提示來刪除它。我認為至少在與 ow 和 pro 迭代每個步驟時,它非常有幫助。然後,我認為之後,如果你有一個應用程序狀態是你想要的,然後你想刪除所有額外的文檔,我認為那是時候了。但我確實認為,當你迭代這些步驟時,如果你保留每個文件的註釋,所有這些文檔等等,我認為你會得到更好的結果。我對此進行了廣泛的測試,發現情況確實如此。所以,只是一個需要注意的事項。好的,這是我們需要做的。我們將逐個文件地複製並粘貼代碼。第一個文件路徑是 DB schema receipts schema。所以,我們將把它添加到我們的代碼庫中。我將打開 DB,打開 schema。看起來我們需要命名文件 receipts schema. TS。所以我將這樣做。所以,讓我們 receipts D schema TTS。我們將把它粘貼進去,保存它。瞧,你現在可以看到我們有一個收據表模式,它有詳盡的文檔,並且符合我們在光標規則文件中指示的代碼標準。所以,相當酷。所以,這是第一個路徑。讓我們向下滾動到下一個文件。好的,現在我們實際上需要編輯我們 schema 中的索引文件。這將導出東西。所以,這是一個已經存在的文件。所以,我們可以再次覆蓋。這就是為什麼我們要求 ow 和 pro 每次都返回完整的文件內容。因為而不是我們必須弄清楚,好的,這兩個文件之間有什麼變化。我們可以做一個非常簡單的複製粘貼工作流程,這非常棒。好的,讓我們去第三個。所以,現在我們將更新 dbdb dots 文件。它可能就在這裡。就像上次一樣,我們將粘貼新文件。你將看到我們現在在模式中有那個收據表。我們有一些新註釋,一些好的文檔,這很棒。好的,讓我們向下滾動。看起來我們現在需要調整 env. example 文件。所以,我們將這樣做。值得注意的是,它會要求我更新示例文件。但我們當然也需要更新我們的. env. loal 文件,因為那是我們實際的 envs。還值得注意的是,因為我們調整了一個 env,我們需要做什麼?我們需要進入 verell。我們需要進入我們的設置。我們需要進入我們的環境變量。所以,看起來我們還沒有添加那個變量。所以,我們可以做的是,我們可以直接粘貼它,點擊保存。記住,我們必須重新部署以確保它被添加。所以,我們將點擊重新部署,再次點擊重新部署。這將注入新的環境變量。所以,這非常重要。然後,你可以看到我們完成了第一步。我們得到了一些概述,關於 AI 做了什麼。然後,你可以看到我們得到了用戶說明。所以,你可以看到,檢查你的. .lo。你可以看到,確保添加它。然後,它說,可選地,我們將需要生成我們的 drizzle 遷移,以便將此上傳到我們的數據庫。因為我們更新了模式的代碼,如果你刷新 superbase,你會看到我們沒有那個表。所以,這實際上將如何在我們的代碼中工作是,我們需要去我們的終端。做 npm run DB generate。這將生成新的遷移文件。所以,如果我們點擊 migrations,你會看到我們現在有一個 SQL 遷移文件,用於我們的收據表。然後,當然,我們需要遷移它。我們將做 npm run DB migrate。它將運行遷移。然後,如果我們回到 super base,我們應該能夠刷新它,看到我們的收據表,以及 AI 為我們編寫的所有那些漂亮的列。所以,這是第一步的結束。你在這裡需要做的一件事是,你實際上需要刪除你所有現有的代碼。所以,通常我會向你展示,在下一步中,當我們迭代這個的時候,因為這可能相當糟糕。每次都要找到那個開頭的標籤。所以我將繼續向上滾動,滾動,滾動。看起來我們還在代碼地圖裡。讓我們再往前一點。這是文件系統。我們必須刪除所有現有代碼。所以,我們刪除了代碼。現在我們需要去實施計劃中的第一步,只需標記它已完成。所以,我們只需在這裡添加一個 X。現在,這一切都準備好了,可以進行第二步了。我們要做的其中一件事是,在我們繼續第二步之前,我們將快速回到光標。我們將實際提交我們的代碼。所以,我推薦你做的一件事是,在你完全完成每個步驟後,你實際上想為你的 GitHub 存儲庫創建一個新的提交。我將直接稱之為第一步。我將提交它。順便說一句,我正在使用光標內的 git 標籤。你當然可以使用終端,如果你只是喜歡使用 git CLI。然後,我們將同步它。非常容易初學者使用。這裡的 git UI 相當不錯。我將在 Mac 上按 Shift Command W。這將關閉我現有的文件。如果你回到我們的 git 存儲庫,你會看到,在教程中,你會看到我有一步。我剛剛提交了這個。所以,這個黃色的待定是什麼?所以,真正很棒的一件事是將你的 GitHub 存儲庫連接到你的 cell 項目。每次你提交到你的目標分支時,基本上會發生的是,它將構建你的應用程序,這很酷。所以,這實際上將完成並構建第一步。它將實際將你更新後的代碼部署到你現有的域。所以,發生的是,在每個步驟結束時,你確保一切都完成。你提交你的代碼,然後它將實際構建並部署到你託管在 verell 上的現有 URL。這很酷。所以,讓我們開始處理下一步。好的,所以只是一個提醒。你需要確保你勾選了第一步。然後,我們將滾動回現有代碼部分。現在,我們需要使用 repo 提示來包含現有代碼。所以,讓我們看一眼 repo 提示,因為這裡有幾件事你需要做。所以,你注意到的一件事是,如果我們實際上展開,我們將點擊展開。你會注意到,我們創建的一些新文件。讓我們實際關閉那個 UI 文件夾,這樣它就不會太長。但你會看到 receipt schema,特別是,這是我們添加的新文件,實際上並沒有添加到我們的上下文中。所以,你必須確保你做的是,每當你創建一個新文件時,這很重要,因為如果你不這樣做,你就會包含過時的代碼。01 Pro 所做的工作實際上會很糟糕或過時。所以,非常重要的是,你要充當項目經理和上下文管理器,以確保你始終將正確的最新代碼包含到 01 Pro 中。因為將會發生的一件事是,我敢肯定,在完成大約十幾個步驟的過程中,你會忘記做一次這件事。你會得到一個糟糕的結果,你會對模型生氣,而實際上是你的錯,因為你沒有更新上下文。所以,我們將確保我們添加這個文件到上下文。你會看到它會增加我的令牌計數。太好了。這是我想像的唯一文件,對吧?因為其他文件只是編輯。所以,一切都將是最新的。你甚至可以點擊這個小刷新按鈕,只是為了確保一切都是最新的。這通常是我喜歡做的。你可以看到,一切都準備好了。如果我們打開 DB 文件夾,打開 schema 文件夾,它就準備好了。所以,我們將複製我們的新的代碼,我們的現有代碼。你可以看到我的 versel 構建現在已準備就緒。所以,它已成功部署,這很棒。現在我們可以進入現有代碼標籤,我們已經從上一步清除了。粘貼進去。我們將複製整個東西。我們將回到 chat gbt。開始一個新的聊天,使用 01 Pro。我們將粘貼這個,然後讓它開始工作。所以,01 Pro 現在正在做的事情,這就是我一開始提到的。你基本上想把 01 Pro 想像成一個你僱傭的實際開發者。因為現在它正在做的事情是,如果我們進入規劃器提示,它現在正在嘗試實現我們第一步所需的整個代碼。所以,將會發生的是,一旦它完成工作,我們稍後會討論,它將為我們提供完整的每個文件,我們需要粘貼到我們的代碼中。我們將做的是,我們將基本上遍歷這些文件中的每一個,以及它給我們的任何用戶說明。我們將在我們的代碼庫中進行更改。我們將直接在光標中進行。我現在可以關閉這個光標規則文件,因為我們暫時不需要它。我們將一步一步地繼續下去。所以,讓我們讓 01 Pro 工作。這可能需要大約 4 到 6 分鐘。所以我將讓它運行,然後我們將討論如何做到這一點。好的,所以你可以看到 01 Pro 在第一步上工作了 3 分鐘 1 秒。所以,接下來我們要做的就是逐個文件地進行,並做我們需要做的一切。所以,你會看到,對於這些文件中的每一個,我們都有被編輯或添加的文件。我們有,這是我的所作所為以及原因。這解釋了 01 Pro 實際做了什麼。它提供了文件路徑,這樣你就知道把文件放在哪裡。然後,你可以看到它提供了整個文件,以及所有文檔。所以,只是一個說明,如果你是一個不喜歡文檔的人,我們之前提到過,你可以隨時更改提示來刪除它。我認為至少在與 ow 和 pro 迭代每個步驟時,它非常有幫助。然後,我認為之後,如果你有一個應用程序狀態是你想要的,然後你想刪除所有額外的文檔,我認為那是時候了。但我確實認為,當你迭代這些步驟時,如果你保留每個文件的註釋,所有這些文檔等等,我認為你會得到更好的結果。我對此進行了廣泛的測試,發現情況確實如此。所以,只是一個需要注意的事項。好的,這是我們需要做的。我們將逐個文件地複製並粘貼代碼。第一個文件路徑是 DB schema receipts schema。所以,我們將把它添加到我們的代碼庫中。我將打開 DB,打開 schema。看起來我們需要命名文件 receipts schema. TS。所以我將這樣做。所以,讓我們 receipts D schema TTS。我們將把它粘貼進去,保存它。瞧,你現在可以看到我們有一個收據表模式,它有詳盡的文檔,並且符合我們在光標規則文件中指示的代碼標準。所以,相當酷。所以,這是第一個路徑。讓我們向下滾動到下一個文件。好的,現在我們實際上需要編輯我們 schema 中的索引文件。這將導出東西。所以,這是一個已經存在的文件。所以,我們可以再次覆蓋。這就是為什麼我們要求 ow 和 pro 每次都返回完整的文件內容。因為而不是我們必須弄清楚,好的,這兩個文件之間有什麼變化。我們可以做一個非常簡單的複製粘貼工作流程,這非常棒。好的,讓我們去第三個。所以,現在我們將更新 dbdb dots 文件。它可能就在這裡。就像上次一樣,我們將粘貼新文件。你將看到我們現在在模式中有那個收據表。我們有一些新註釋,一些好的文檔,這很棒。好的,讓我們向下滾動。看起來我們現在需要調整 env. example 文件。所以,我們將這樣做。值得注意的是,它會要求我更新示例文件。但我們當然也需要更新我們的. env. loal 文件,因為那是我們實際的 envs。還值得注意的是,因為我們調整了一個 env,我們需要做什麼?我們需要進入 verell。我們需要進入我們的設置。我們需要進入我們的環境變量。所以,看起來我們還沒有添加那個變量。所以,我們可以做的是,我們可以直接粘貼它,點擊保存。記住,我們必須重新部署以確保它被添加。所以,我們將點擊重新部署,再次點擊重新部署。這將注入新的環境變量。所以,這非常重要。然後,你可以看到我們完成了第一步。我們得到了一些概述,關於 AI 做了什麼。然後,你可以看到我們得到了用戶說明。所以,你可以看到,檢查你的. .lo。你可以看到,確保添加它。然後,它說,可選地,我們將需要生成我們的 drizzle 遷移,以便將此上傳到我們的數據庫。因為我們更新了模式的代碼,如果你刷新 superbase,你會看到我們沒有那個表。所以,這實際上將如何在我們的代碼中工作是,我們需要去我們的終端。做 npm run DB generate。這將生成新的遷移文件。所以,如果我們點擊 migrations,你會看到我們現在有一個 SQL 遷移文件,用於我們的收據表。然後,當然,我們需要遷移它。我們將做 npm run DB migrate。它將運行遷移。然後,如果我們回到 super base,我們應該能夠刷新它,看到我們的收據表,以及 AI 為我們編寫的所有那些漂亮的列。所以,這是第一步的結束。你在這裡需要做的一件事是,你實際上需要刪除你所有現有的代碼。所以,通常我會向你展示,在下一步中,當我們迭代這個的時候,因為這可能相當糟糕。每次都要找到那個開頭的標籤。所以我將繼續向上滾動,滾動,滾動。看起來我們還在代碼地圖裡。讓我們再往前一點。這是文件系統。我們必須刪除所有現有代碼。所以,我們刪除了代碼。現在我們需要去實施計劃中的第一步,只需標記它已完成。所以,我們只需在這裡添加一個 X。現在,這一切都準備好了,可以進行第二步了。我們要做的其中一件事是,在我們繼續第二步之前,我們將快速回到光標。我們將實際提交我們的代碼。所以,我推薦你做的一件事是,在你完全完成每個步驟後,你實際上想為你的 GitHub 存儲庫創建一個新的提交。我將直接稱之為第一步。我將提交它。順便說一句,我正在使用光標內的 git 標籤。你當然可以使用終端,如果你只是喜歡使用 git CLI。然後,我們將同步它。非常容易初學者使用。這裡的 git UI 相當不錯。我將在 Mac 上按 Shift Command W。這將關閉我現有的文件。如果你回到我們的 git 存儲庫,你會看到,在教程中,你會看到我有一步。我剛剛提交了這個。所以,這個黃色的待定是什麼?所以,真正很棒的一件事是將你的 GitHub 存儲庫連接到你的 cell 項目。每次你提交到你的目標分支時,基本上會發生的是,它將構建你的應用程序,這很酷。所以,這實際上將完成並構建第一步。它將實際將你更新後的代碼部署到你現有的域。所以,發生的是,在每個步驟結束時,你確保一切都完成。你提交你的代碼,然後它將實際構建並部署到你託管在 verell 上的現有 URL。這很酷。所以,讓我們開始處理下一步。好的,所以只是一個提醒。你需要確保你勾選了第一步。然後,我們將滾動回現有代碼部分。現在,我們需要使用 repo 提示來包含現有代碼。所以,讓我們看一眼 repo 提示,因為這裡有幾件事你需要做。所以,你注意到的一件事是,如果我們實際上展開,我們將點擊展開。你會注意到,我們創建的一些新文件。讓我們實際關閉那個 UI 文件夾,這樣它就不會太長。但你會看到 receipt schema,特別是,這是我們添加的新文件,實際上並沒有添加到我們的上下文中。所以,你必須確保你做的是,每當你創建一個新文件時,這很重要,因為如果你不這樣做,你就會包含過時的代碼。01 Pro 所做的工作實際上會很糟糕或過時。所以,非常重要的是,你要充當項目經理和上下文管理器,以確保你始終將正確的最新代碼包含到 01 Pro 中。因為將會發生的一件事是,我敢肯定,在完成大約十幾個步驟的過程中,你會忘記做一次這件事。你會得到一個糟糕的結果,你會對模型生氣,而實際上是你的錯,因為你沒有更新上下文。所以,我們將確保我們添加這個文件到上下文。你會看到它會增加我的令牌計數。太好了。這是我想像的唯一文件,對吧?因為其他文件只是編輯。所以,一切都將是最新的。你甚至可以點擊這個小刷新按鈕,只是為了確保一切都是最新的。這通常是我喜歡做的。你可以看到,一切都準備好了。如果我們打開 DB 文件夾,打開 schema 文件夾,它就準備好了。所以,我們將複製我們的新的代碼,我們的現有代碼。你可以看到我的 versel 構建現在已準備就緒。所以,它已成功部署,這很棒。現在我們可以進入現有代碼標籤,我們已經從上一步清除了。粘貼進去。我們將複製整個東西。我們將回到 chat gbt。開始一個新的聊天,使用 01 Pro。我們將粘貼這個,然後讓它開始工作。所以,01 Pro 現在正在做的事情,這就是我一開始提到的。你基本上想把 01 Pro 想像成一個你僱傭的實際開發者。因為現在它正在做的事情是,如果我們進入規劃器提示,它現在正在嘗試實現我們第一步所需的整個代碼。所以,將會發生的是,一旦它完成工作,我們稍後會討論,它將為我們提供完整的每個文件,我們需要粘貼到我們的代碼中。我們將做的是,我們將基本上遍歷這些文件中的每一個,以及它給我們的任何用戶說明。我們將在我們的代碼庫中進行更改。我們將直接在光標中進行。我現在可以關閉這個光標規則文件,因為我們暫時不需要它。我們將一步一步地繼續下去。所以,讓我們讓 01 Pro 工作。這可能需要大約 4 到 6 分鐘。所以我將讓它運行,然後我們將討論如何做到這一點。好的,所以你可以看到 01 Pro 在第一步上工作了 3 分钟 1 秒。所以,接下來我們要做的就是逐個文件地進行,並做我們需要做的一切。所以,你會看到,對於這些文件中的每一個,我們都有被編輯或添加的文件。我們有,這是我的所作所為以及原因。這解釋了 01 Pro 實際做了什麼。它提供了文件路徑,這樣你就知道把文件放在哪裡。然後,你可以看到它提供了整個文件,以及所有文檔。所以,只是一個說明,如果你是一個不喜歡文檔的人,我們之前提到過,你可以隨時更改提示來刪除它。我認為至少在與 ow 和 pro 迭代每個步驟時,它非常有幫助。然後,我認為之後,如果你有一個應用程序狀態是你想要的,然後你想刪除所有額外的文檔,我認為那是時候了。但我確實認為,當你迭代這些步驟時,如果你保留每個文件的註釋,所有這些文檔等等,我認為你會得到更好的結果。我對此進行了廣泛的測試,發現情況確實如此。所以,只是一個需要注意的事項。好的,這是我們需要做的。我們將逐個文件地複製並粘貼代碼。第一個文件路徑是 DB schema receipts schema。所以,我們將把它添加到我們的代碼庫中。我將打開 DB,打開 schema。看起來我們需要命名文件 receipts schema. TS。所以我將這樣做。所以,讓我們 receipts D schema TTS。我們將把它粘貼進去,保存它。瞧,你現在可以看到我們有一個收據表模式,它有詳盡的文檔,並且符合我們在光標規則文件中指示的代碼標準。所以,相當酷。所以,這是第一個路徑。讓我們向下滾動到下一個文件。好的,現在我們實際上需要編輯我們 schema 中的索引文件。這將導出東西。所以,這是一個已經存在的文件。所以,我們可以再次覆蓋。這就是為什麼我們要求 ow 和 pro 每次都返回完整的文件內容。因為而不是我們必須弄清楚,好的,這兩個文件之間有什麼變化。我們可以做一個非常簡單的複製粘貼工作流程,這非常棒。好的,讓我們去第三個。所以,現在我們將更新 dbdb dots 文件。它可能就在這裡。就像上次一樣,我們將粘貼新文件。你將看到我們現在在模式中有那個收據表。我們有一些新註釋,一些好的文檔,這很棒。好的,讓我們向下滾動。看起來我們現在需要調整 env. example 文件。所以,我們將這樣做。值得注意的是,它會要求我更新示例文件。但我們當然也需要更新我們的. env. loal 文件,因為那是我們實際的 envs。還值得注意的是,因為我們調整了一個 env,我們需要做什麼?我們需要進入 verell。我們需要進入我們的設置。我們需要進入我們的環境變量。所以,看起來我們還沒有添加那個變量。所以,我們可以做的是,我們可以直接粘貼它,點擊保存。記住,我們必須重新部署以確保它被添加。所以,我們將點擊重新部署,再次點擊重新部署。這將注入新的環境變量。所以,這非常重要。然後,你可以看到我們完成了第一步。我們得到了一些概述,關於 AI 做了什麼。然後,你可以看到我們得到了用戶說明。所以,你可以看到,檢查你的. .lo。你可以看到,確保添加它。然後,它說,可選地,我們將需要生成我們的 drizzle 遷移,以便將此上傳到我們的數據庫。因為我們更新了模式的代碼,如果你刷新 superbase,你會看到我們沒有那個表。所以,這實際上將如何在我們的代碼中工作是,我們需要去我們的終端。做 npm run DB generate。這將生成新的遷移文件。所以,如果我們點擊 migrations,你會看到我們現在有一個 SQL 遷移文件,用於我們的收據表。然後,當然,我們需要遷移它。我們將做 npm run DB migrate。它將運行遷移。然後,如果我們回到 super base,我們應該能夠刷新它,看到我們的收據表,以及 AI 為我們編寫的所有那些漂亮的列。所以,這是第一步的結束。你在這裡需要做的一件事是,你實際上需要刪除你所有現有的代碼。所以,通常我會向你展示,在下一步中,當我們迭代這個的時候,因為這可能相當糟糕。每次都要找到那個開頭的標籤。所以我將繼續向上滾動,滾動,滾動。看起來我們還在代碼地圖裡。讓我們再往前一點。這是文件系統。我們必須刪除所有現有代碼。所以,我們刪除了代碼。現在我們需要去實施計劃中的第一步,只需標記它已完成。所以,我們只需在這裡添加一個 X。現在,這一切都準備好了,可以進行第二步了。我們要做的其中一件事是,在我們繼續第二步之前,我們將快速回到光標。我們將實際提交我們的代碼。所以,我推薦你做的一件事是,在你完全完成每個步驟後,你實際上想為你的 GitHub 存儲庫創建一個新的提交。我將直接稱之為第一步。我將提交它。順便說一句,我正在使用光標內的 git 標籤。你當然可以使用終端,如果你只是喜歡使用 git CLI。然後,我們將同步它。非常容易初學者使用。這裡的 git UI 相當不錯。我將在 Mac 上按 Shift Command W。這將關閉我現有的文件。如果你回到我們的 git 存儲庫,你會看到,在教程中,你會看到我有一步。我剛剛提交了這個。所以,這個黃色的待定是什麼?所以,真正很棒的一件事是將你的 GitHub 存儲庫連接到你的 cell 項目。每次你提交到你的目標分支時,基本上會發生的是,它將構建你的應用程序,這很酷。所以,這實際上將完成並構建第一步。它將實際將你更新後的代碼部署到你現有的域。所以,發生的是,在每個步驟結束時,你確保一切都完成。你提交你的代碼,然後它將實際構建並部署到你託管在 verell 上的現有 URL。這很酷。所以,讓我們開始處理下一步。好的,所以只是一個提醒。你需要確保你勾選了第一步。然後,我們將滾動回現有代碼部分。現在,我們需要使用 repo 提示來包含現有代碼。所以,讓我們看一眼 repo 提示,因為這裡有幾件事你需要做。所以,你注意到的一件事是,如果我們實際上展開,我們將點擊展開。你會注意到,我們創建的一些新文件。讓我們實際關閉那個 UI 文件夾,這樣它就不會太長。但你會看到 receipt schema,特別是,這是我們添加的新文件,實際上並沒有添加到我們的上下文中。所以,你必須確保你做的是,每當你創建一個新文件時,這很重要,因為如果你不這樣做,你就會包含過時的代碼。01 Pro 所做的工作實際上會很糟糕或過時。所以,非常重要的是,你要充當項目經理和上下文管理器,以確保你始終將正確的最新代碼包含到 01 Pro 中。因為將會發生的一件事是,我敢肯定,在完成大約十幾個步驟的過程中,你會忘記做一次這件事。你會得到一個糟糕的結果,你會對模型生氣,而實際上是你的錯,因為你沒有更新上下文。所以,我們將確保我們添加這個文件到上下文。你會看到它會增加我的令牌計數。太好了。這是我想像的唯一文件,對吧?因為其他文件只是編輯。所以,一切都將是最新的。你甚至可以點擊這個小刷新按鈕,只是為了確保一切都是最新的。這通常是我喜歡做的。你可以看到,一切都準備好了。如果我們打開 DB 文件夾,打開 schema 文件夾,它就準備好了。所以,我們將複製我們的新的代碼,我們的現有代碼。你可以看到我的 versel 構建現在已準備就緒。所以,它已成功部署,這很棒。現在我們可以進入現有代碼標籤,我們已經從上一步清除了。粘貼進去。我們將複製整個東西。我們將回到 chat gbt。開始一個新的聊天,使用 01 Pro。我們將粘貼這個,然後讓它開始工作。所以,01 Pro 現在正在做的事情,這就是我一開始提到的。你基本上想把 01 Pro 想像成一個你僱傭的實際開發者。因為現在它正在做的事情是,如果我們進入規劃器提示,它現在正在嘗試實現我們第一步所需的整個代碼。所以,將會發生的是,一旦它完成工作,我們稍後會討論,它將為我們提供完整的每個文件,我們需要粘貼到我們的代碼中。我們將做的是,我們將基本上遍歷這些文件中的每一個,以及它給我們的任何用戶說明。我們將在我們的代碼庫中進行更改。我們將直接在光標中進行。我現在可以關閉這個光標規則文件,因為我們暫時不需要它。我們將一步一步地繼續下去。所以,讓我們讓 01 Pro 工作。這可能需要大約 4 到 6 分鐘。所以我將讓它運行,然後我們將討論如何做到這一點。好的,所以你可以看到 01 Pro 在第一步上工作了 3 分鐘 1 秒。所以,接下來我們要做的就是逐個文件地進行,並做我們需要做的一切。所以,你會看到,對於這些文件中的每一個,我們都有被編輯或添加的文件。我們有,這是我的所作所為以及原因。這解釋了 01 Pro 實際做了什麼。它提供了文件路徑,這樣你就知道把文件放在哪裡。然後,你可以看到它提供了整個文件,以及所有文檔。所以,只是一個說明,如果你是一個不喜歡文檔的人,我們之前提到過,你可以隨時更改提示來刪除它。我認為至少在與 ow 和 pro 迭代每個步驟時,它非常有幫助。然後,我認為之後,如果你有一個應用程序狀態是你想要的,然後你想刪除所有額外的文檔,我認為那是時候了。但我確實認為,當你迭代這些步驟時,如果你保留每個文件的註釋,所有這些文檔等等,我認為你會得到更好的結果。我對此進行了廣泛的測試,發現情況確實如此。所以,只是一個需要注意的事項。好的,這是我們需要做的。我們將逐個文件地複製並粘貼代碼。第一個文件路徑是 DB schema receipts schema。所以,我們將把它添加到我們的代碼庫中。我將打開 DB,打開 schema。看起來我們需要命名文件 receipts schema. TS。所以我將這樣做。所以,讓我們 receipts D schema TTS。我們將把它粘貼進去,保存它。瞧,你現在可以看到我們有一個收據表模式,它有詳盡的文檔,並且符合我們在光標規則文件中指示的代碼標準。所以,相當酷。所以,這是第一個路徑。讓我們向下滾動到下一個文件。好的,現在我們實際上需要編輯我們 schema 中的索引文件。這將導出東西。所以,這是一個已經存在的文件。所以,我們可以再次覆蓋。這就是為什麼我們要求 ow 和 pro 每次都返回完整的文件內容。因為而不是我們必須弄清楚,好的,這兩個文件之間有什麼變化。我們可以做一個非常簡單的複製粘貼工作流程,這非常棒。好的,讓我們去第三個。所以,現在我們將更新 dbdb dots 文件。它可能就在這裡。就像上次一樣,我們將粘貼新文件。你將看到我們現在在模式中有那個收據表。我們有一些新註釋,一些好的文檔,這很棒。好的,讓我們向下滾動。看起來我們現在需要調整 env. example 文件。所以,我們將這樣做。值得注意的是,它會要求我更新示例文件。但我們當然也需要更新我們的. env. loal 文件,因為那是我們實際的 envs。還值得注意的是,因為我們調整了一個 env,我們需要做什麼?我們需要進入 verell。我們需要進入我們的設置。我們需要進入我們的環境變量。所以,看起來我們還沒有添加那個變量。所以,我們可以做的是,我們可以直接粘貼它,點擊保存。記住,我們必須重新部署以確保它被添加。所以,我們將點擊重新部署,再次點擊重新部署。這將注入新的環境變量。所以,這非常重要。然後,你可以看到我們完成了第一步。我們得到了一些概述,關於 AI 做了什麼。然後,你可以看到我們得到了用戶說明。所以,你可以看到,檢查你的. .lo。你可以看到,確保添加它。然後,它說,可選地,我們將需要生成我們的 drizzle 遷移,以便將此上傳到我們的數據庫。因為我們更新了模式的代碼,如果你刷新 superbase,你會看到我們沒有那個表。所以,這實際上將如何在我們的代碼中工作是,我們需要去我們的終端。做 npm run DB generate。這將生成新的遷移文件。所以,如果我們點擊 migrations,你會看到我們現在有一個 SQL 遷移文件,用於我們的收據表。然後,當然,我們需要遷移它。我們將做 npm run DB migrate。它將運行遷移。然後,如果我們回到 super base,我們應該能夠刷新它,看到我們的收據表,以及 AI 為我們編寫的所有那些漂亮的列。所以,這是第一步的結束。你在這裡需要做的一件事是,你實際上需要刪除你所有現有的代碼。所以,通常我會向你展示,在下一步中,當我們迭代這個的時候,因為這可能相當糟糕。每次都要找到那個開頭的標籤。所以我將繼續向上滾動,滾動,滾動。看起來我們還在代碼地圖裡。讓我們再往前一點。這是文件系統。我們必須刪除所有現有代碼。所以,我們刪除了代碼。現在我們需要去實施計劃中的第一步,只需標記它已完成。所以,我們只需在這裡添加一個 X。現在,這一切都準備好了,可以進行第二步了。我們要做的其中一件事是,在我們繼續第二步之前,我們將快速回到光標。我們將實際提交我們的代碼。所以,我推薦你做的一件事是,在你完全完成每個步驟後,你實際上想為你的 GitHub 存儲庫創建一個新的提交。我將直接稱之為第一步。我將提交它。順便說一句,我正在使用光標內的 git 標籤。你當然可以使用終端,如果你只是喜歡使用 git CLI。然後,我們將同步它。非常容易初學者使用。這裡的 git UI 相當不錯。我將在 Mac 上按 Shift Command W。這將關閉我現有的文件。如果你回到我們的 git 存儲庫,你會看到,在教程中,你會看到我有一步。我剛剛提交了這個。所以,這個黃色的待定是什麼?所以,真正很棒的一件事是將你的 GitHub 存儲庫連接到你的 cell 項目。每次你提交到你的目標分支時,基本上會發生的是,它將構建你的應用程序,這很酷。所以,這實際上將完成並構建第一步。它將實際將你更新後的代碼部署到你現有的域。所以,發生的是,在每個步驟結束時,你確保一切都完成。你提交你的代碼,然後它將實際構建並部署到你託管在 verell 上的現有 URL。這很酷。所以,讓我們開始處理下一步。好的,所以只是一個提醒。你需要確保你勾選了第一步。然後,我們將滾動回現有代碼部分。現在,我們需要使用 repo 提示來包含現有代碼。所以,讓我們看一眼 repo 提示,因為這裡有幾件事你需要做。所以,你注意到的一件事是,如果我們實際上展開,我們將點擊展開。你會注意到,我們創建的一些新文件。讓我們實際關閉那個 UI 文件夾,這樣它就不會太長。但你會看到 receipt schema,特別是,這是我們添加的新文件,實際上並沒有添加到我們的上下文中。所以,你必須確保你做的是,每當你創建一個新文件時,這很重要,因為如果你不這樣做,你就會包含過時的代碼。01 Pro 所做的工作實際上會很糟糕或過時。所以,非常重要的是,你要充當項目經理和上下文管理器,以確保你始終將正確的最新代碼包含到 01 Pro 中。因為將會發生的一件事是,我敢肯定,在完成大約十幾個步驟的過程中,你會忘記做一次這件事。你會得到一個糟糕的結果,你會對模型生氣,而實際上是你的錯,因為你沒有更新上下文。所以,我們將確保我們添加這個文件到上下文。你會看到它會增加我的令牌計數。太好了。這是我想像的唯一文件,對吧?因為其他文件只是編輯。所以,一切都將是最新的。你甚至可以點擊這個小刷新按鈕,只是為了確保一切都是最新的。這通常是我喜歡做的。你可以看到,一切都準備好了。如果我們打開 DB 文件夾,打開 schema 文件夾,它就準備好了。所以,我們將複製我們的新的代碼,我們的現有代碼。你可以看到我的 versel 構建現在已準備就緒。所以,它已成功部署,這很棒。現在我們可以進入現有代碼標籤,我們已經從上一步清除了。粘貼進去。我們將複製整個東西。我們將回到 chat gbt。開始一個新的聊天,使用 01 Pro。我們將粘貼這個,然後讓它開始工作。所以,01 Pro 現在正在做的事情,這就是我一開始提到的。你基本上想把 01 Pro 想像成一個你僱傭的實際開發者。因為現在它正在做的事情是,如果我們進入規劃器提示,它現在正在嘗試實現我們第一步所需的整個代碼。所以,將會發生的是,一旦它完成工作,我們稍後會討論,它將為我們提供完整的每個文件,我們需要粘貼到我們的代碼中。我們將做的是,我們將基本上遍歷這些文件中的每一個,以及它給我們的任何用戶說明。我們將在我們的代碼庫中進行更改。我們將直接在光標中進行。我現在可以關閉這個光標規則文件,因為我們暫時不需要它。我們將一步一步地繼續下去。所以,讓我們讓 01 Pro 工作。這可能需要大約 4 到 6 分鐘。所以我將讓它運行,然後我們將討論如何做到這一點。好的,所以你可以看到 01 Pro 在第一步上工作了 3 分鐘 1 秒。所以,接下來我們要做的就是逐個文件地進行,並做我們需要做的一切。所以,你會看到,對於這些文件中的每一個,我們都有被編輯或添加的文件。我們有,這是我的所作所為以及原因。這解釋了 01 Pro 實際做了什麼。它提供了文件路徑,這樣你就知道把文件放在哪裡。然後,你可以看到它提供了整個文件,以及所有文檔。所以,只是一個說明,如果你是一個不喜歡文檔的人,我們之前提到過,你可以隨時更改提示來刪除它。我認為至少在與 ow 和 pro 迭代每個步驟時,它非常有幫助。然後,我認為之後,如果你有一個應用程序狀態是你想要的,然後你想刪除所有額外的文檔,我認為那是時候了。但我確實認為,當你迭代這些步驟時,如果你保留每個文件的註釋,所有這些文檔等等,我認為你會得到更好的結果。我對此進行了廣泛的測試,發現情況確實如此。所以,只是一個需要注意的事項。好的,這是我們需要做的。我們將逐個文件地複製並粘貼代碼。第一個文件路徑是 DB schema receipts schema。所以,我們將把它添加到我們的代碼庫中。我將打開 DB,打開 schema。看起來我們需要命名文件 receipts schema. TS。所以我將這樣做。所以,讓我們 receipts D schema TTS。我們將把它粘貼進去,保存它。瞧,你現在可以看到我們有一個收據表模式,它有詳盡的文檔,並且符合我們在光標規則文件中指示的代碼標準。所以,相當酷。所以,這是第一個路徑。讓我們向下滾動到下一個文件。好的,現在我們實際上需要編輯我們 schema 中的索引文件。這將導出東西。所以,這是一個已經存在的文件。所以,我們可以再次覆蓋。這就是為什麼我們要求 ow 和 pro 每次都返回完整的文件內容。因為而不是我們必須弄清楚,好的,這兩個文件之間有什麼變化。我們可以做一個非常簡單的複製粘貼工作流程,這非常棒。好的,讓我們去第三個。所以,現在我們將更新 dbdb dots 文件。它可能就在這裡。就像上次一樣,我們將粘貼新文件。你將看到我們現在在模式中有那個收據表。我們有一些新註釋,一些好的文檔,這很棒。好的,讓我們向下滾動。看起來我們現在需要調整 env. example 文件。所以,我們將這樣做。值得注意的是,它會要求我更新示例文件。但我們當然也需要更新我們的. env. loal 文件,因為那是我們實際的 envs。還值得注意的是,因為我們調整了一個 env,我們需要做什麼?我們需要進入 verell。我們需要進入我們的設置。我們需要進入我們的環境變量。所以,看起來我們還沒有添加那個變量。所以,我們可以做的是,我們可以直接粘貼它,點擊保存。記住,我們必須重新部署以確保它被添加。所以,我們將點擊重新部署,再次點擊重新部署。這將注入新的環境變量。所以,這非常重要。然後,你可以看到我們完成了第一步。我們得到了一些概述,關於 AI 做了什麼。然後,你可以看到我們得到了用戶說明。所以,你可以看到,檢查你的. .lo。你可以看到,確保添加它。然後,它說,可選地,我們將需要生成我們的 drizzle 遷移,以便將此上傳到我們的數據庫。因為我們更新了模式的代碼,如果你刷新 superbase,你會看到我們沒有那個表。所以,這實際上將如何在我們的代碼中工作是,我們需要去我們的終端。做 npm run DB generate。這將生成新的遷移文件。所以,如果我們點擊 migrations,你會看到我們現在有一個 SQL 遷移文件,用於我們的收據表。然後,當然,我們需要遷移它。我們將做 npm run DB migrate。它將運行遷移。然後,如果我們回到 super base,我們應該能夠刷新它,看到我們的收據表,以及 AI 為我們編寫的所有那些漂亮的列。所以,這是第一步的結束。你在這裡需要做的一件事是,你實際上需要刪除你所有現有的代碼。所以,通常我會向你展示,在下一步中,當我們迭代這個的時候,因為這可能相當糟糕。每次都要找到那個開頭的標籤。所以我將繼續向上滾動,滾動,滾動。看起來我們還在代碼地圖裡。讓我們再往前一點。這是文件系統。我們必須刪除所有現有代碼。所以,我們刪除了代碼。現在我們需要去實施計劃中的第一步,只需標記它已完成。所以,我們只需在這裡添加一個 X。現在,這一切都準備好了,可以進行第二步了。我們要做的其中一件事是,在我們繼續第二步之前,我們將快速回到光標。我們將實際提交我們的代碼。所以,我推薦你做的一件事是,在你完全完成每個步驟後,你實際上想為你的 GitHub 存儲庫創建一個新的提交。我將直接稱之為第一步。我將提交它。順便說一句,我正在使用光標內的 git 標籤。你當然可以使用終端,如果你只是喜歡使用 git CLI。然後,我們將同步它。非常容易初學者使用。這裡的 git UI 相當不錯。我將在 Mac 上按 Shift Command W。這將關閉我現有的文件。如果你回到我們的 git 存儲庫,你會看到,在教程中,你會看到我有一步。我剛剛提交了這個。所以,這個黃色的待定是什麼?所以,真正很棒的一件事是將你的 GitHub 存儲庫連接到你的 cell 項目。每次你提交到你的目標分支時,基本上會發生的是,它將構建你的應用程序,這很酷。所以,這實際上將完成並構建第一步。它將實際將你更新後的代碼部署到你現有的域。所以,發生的是,在每個步驟結束時,你確保一切都完成。你提交你的代碼,然後它將實際構建並部署到你託管在 verell 上的現有 URL。這很酷。所以,讓我們開始處理下一步。好的,所以只是一個提醒。你需要確保你勾選了第一步。然後,我們將滾動回現有代碼部分。現在,我們需要使用 repo 提示來包含現有代碼。所以,讓我們看一眼 repo 提示,因為這裡有幾件事你需要做。所以,你注意到的一件事是,如果我們實際上展開,我們將點擊展開。你會注意到,我們創建的一些新文件。讓我們實際關閉那個 UI 文件夾,這樣它就不會太長。但你會看到 receipt schema,特別是,這是我們添加的新文件,實際上並沒有添加到我們的上下文中。所以,你必須確保你做的是,每當你創建一個新文件時,這很重要,因為如果你不這樣做,你就會包含過時的代碼。01 Pro 所做的工作實際上會很糟糕或過時。所以,非常重要的是,你要充當項目經理和上下文管理器,以確保你始終將正確的最新代碼包含到 01 Pro 中。因為將會發生的一件事是,我敢肯定,在完成大約十幾個步驟的過程中,你會忘記做一次這件事。你會得到一個糟糕的結果,你會對模型生氣,而實際上是你的錯,因為你沒有更新上下文。所以,我們將確保我們添加這個文件到上下文。你會看到它會增加我的令牌計數。太好了。這是我想像的唯一文件,對吧?因為其他文件只是編輯。所以,一切都將是最新的。你甚至可以點擊這個小刷新按鈕,只是為了確保一切都是最新的。這通常是我喜歡做的。你可以看到,一切都準備好了。如果我們打開 DB 文件夾,打開 schema 文件夾,它就準備好了。所以,我們將複製我們的新的代碼,我們的現有代碼。你可以看到我的 versel 構建現在已準備就緒。所以,它已成功部署,這很棒。現在我們可以進入現有代碼標籤,我們已經從上一步清除了。粘貼進去。我們將複製整個東西。我們將回到 chat gbt。開始一個新的聊天,使用 01 Pro。我們將粘貼這個,然後讓它開始工作。所以,01 Pro 現在正在做的事情,這就是我一開始提到的。你基本上想把 01 Pro 想像成一個你僱傭的實際開發者。因為現在它正在做的事情是,如果我們進入規劃器提示,它現在正在嘗試實現我們第一步所需的整個代碼。所以,將會發生的是,一旦它完成工作,我們稍後會討論,它將為我們提供完整的每個文件,我們需要粘貼到我們的代碼中。我們將做的是,我們將基本上遍歷這些文件中的每一個,以及它給我們的任何用戶說明。我們將在我們的代碼庫中進行更改。我們將直接在光標中進行。我現在可以關閉這個光標規則文件,因為我們暫時不需要它。我們將一步一步地繼續下去。所以,讓我們讓 01 Pro 工作。這可能需要大約 4 到 6 分鐘。所以我將讓它運行,然後我們將討論如何做到這一點。好的,所以你可以看到 01 Pro 在第一步上工作了 3 分鐘 1 秒。所以,接下來我們要做的就是逐個文件地進行,並做我們需要做的一切。所以,你會看到,對於這些文件中的每一個,我們都有被編輯或添加的文件。我們有,這是我的所作所為以及原因。這解釋了 01 Pro 實際做了什麼。它提供了文件路徑,這樣你就知道把文件放在哪裡。然後,你可以看到它提供了整個文件,以及所有文檔。所以,只是一個說明,如果你是一個不喜歡文檔的人,我們之前提到過,你可以隨時更改提示來刪除它。我認為至少在與 ow 和 pro 迭代每個步驟時,它非常有幫助。然後,我認為之後,如果你有一個應用程序狀態是你想要的,然後你想刪除所有額外的文檔,我認為那是時候了。但我確實認為,當你迭代這些步驟時,如果你保留每個文件的註釋,所有這些文檔等等,我認為你會得到更好的結果。我對此進行了廣泛的測試,發現情況確實如此。所以,只是一個需要注意的事項。好的,這是我們需要做的。我們將逐個文件地複製並粘貼代碼。第一個文件路徑是 DB schema receipts schema。所以,我們將把它添加到我們的代碼庫中。我將打開 DB,打開 schema。看起來我們需要命名文件 receipts schema. TS。所以我將這樣做。所以,讓我們 receipts D schema TTS。我們將把它粘貼進去,保存它。瞧,你現在可以看到我們有一個收據表模式,它有詳盡的文檔,並且符合我們在光標規則文件中指示的代碼標準。所以,相當酷。所以,這是第一個路徑。讓我們向下滾動到下一個文件。好的,現在我們實際上需要編輯我們 schema 中的索引文件。這將導出東西。所以,這是一個已經存在的文件。所以,我們可以再次覆蓋。這就是為什麼我們要求 ow 和 pro 每次都返回完整的文件內容。因為而不是我們必須弄清楚,好的,這兩個文件之間有什麼變化。我們可以做一個非常簡單的複製粘貼工作流程,這非常棒。好的,讓我們去第三個。所以,現在我們將更新 dbdb dots 文件。它可能就在這裡。就像上次一樣,我們將粘貼新文件。你將看到我們現在在模式中有那個收據表。我們有一些新註釋,一些好的文檔,這很棒。好的,讓我們向下滾動。看起來我們現在需要調整 env. example 文件。所以,我們將這樣做。值得注意的是,它會要求我更新示例文件。但我們當然也需要更新我們的. env. loal 文件,因為那是我們實際的 envs。還值得注意的是,因為我們調整了一個 env,我們需要做什麼?我們需要進入 verell。我們需要進入我們的設置。我們需要進入我們的環境變量。所以,看起來我們還沒有添加那個變量。所以,我們可以做的是,我們可以直接粘貼它,點擊保存。記住,我們必須重新部署以確保它被添加。所以,我們將點擊重新部署,再次點擊重新部署。這將注入新的環境變量。所以,這非常重要。然後,你可以看到我們完成了第一步。我們得到了一些概述,關於 AI 做了什麼。然後,你可以看到我們得到了用戶說明。所以,你可以看到,檢查你的. .lo。你可以看到,確保添加它。然後,它說,可選地,我們將需要生成我們的 drizzle 遷移,以便將此上傳到我們的數據庫。因為我們更新了模式的代碼,如果你刷新 superbase,你會看到我們沒有那個表。所以,這實際上將如何在我們的代碼中工作是,我們需要去我們的終端。做 npm run DB generate。這將生成新的遷移文件。所以,如果我們點擊 migrations,你會看到我們現在有一個 SQL 遷移文件,用於我們的收據表。然後,當然,我們需要遷移它。我們將做 npm run DB migrate。它將運行遷移。然後,如果我們回到 super base,我們應該能夠刷新它,看到我們的收據表,以及 AI 為我們編寫的所有那些漂亮的列。所以,這是第一步的結束。你在這裡需要做的一件事是,你實際上需要刪除你所有現有的代碼。所以,通常我會向你展示,在下一步中,當我們迭代這個的時候,因為這可能相當糟糕。每次都要找到那個開頭的標籤。所以我將繼續向上滾動,滾動,滾動。看起來我們還在代碼地圖裡。讓我們再往前一點。這是文件系統。我們必須刪除所有現有代碼。所以,我們刪除了代碼。現在我們需要去實施計劃中的第一步,只需標記它已完成。所以,我們只需在這裡添加一個 X。現在,這一切都準備好了,可以進行第二步了。我們要做的其中一件事是,在我們繼續第二步之前,我們將快速回到光標。我們將實際提交我們的代碼。所以,我推薦你做的一件事是,在你完全完成每個步驟後,你實際上想為你的 GitHub 存儲庫創建一個新的提交。我將直接稱之為第一步。我將提交它。順便說一句,我正在使用光標內的 git 標籤。你當然可以使用終端,如果你只是喜歡使用 git CLI。然後,我們將同步它。非常容易初學者使用。這裡的 git UI 相當不錯。我將在 Mac 上按 Shift Command W。這將關閉我現有的文件。如果你回到我們的 git 存儲庫,你會看到,在教程中,你會看到我有一步。我剛剛提交了這個。所以,這個黃色的待定是什麼?所以,真正很棒的一件事是將你的 GitHub 存儲庫連接到你的 cell 項目。每次你提交到你的目標分支時,基本上會發生的是,它將構建你的應用程序,這很酷。所以,這實際上將完成並構建第一步。它將實際將你更新後的代碼部署到你現有的域。所以,發生的是,在每個步驟結束時,你確保一切都完成。你提交你的代碼,然後它將實際構建並部署到你託管在 verell 上的現有 URL。這很酷。所以,讓我們開始處理下一步。好的,所以只是一個提醒。你需要確保你勾選了第一步。然後,我們將滾動回現有代碼部分。現在,我們需要使用 repo 提示來包含現有代碼。所以,讓我們看一眼 repo 提示,因為這裡有幾件事你需要做。所以,你注意到的一件事是,如果我們實際上展開,我們將點擊展開。你會注意到,我們創建的一些新文件。讓我們實際關閉那個 UI 文件夾,這樣它就不會太長。但你會看到 receipt schema,特別是,這是我們添加的新文件,實際上並沒有添加到我們的上下文中。所以,你必須確保你做的是,每當你創建一個新文件時,這很重要,因為如果你不這樣做,你就會包含過時的代碼。01 Pro 所做的工作實際上會很糟糕或過時。所以,非常重要的是,你要充當項目經理和上下文管理器,以確保你始終將正確的最新代碼包含到 01 Pro 中。因為將會發生的一件事是,我敢肯定,在完成大約十幾個步驟的過程中,你會忘記做一次這件事。你會得到一個糟糕的結果,你會對模型生氣,而實際上是你的錯,因為你沒有更新上下文。所以,我們將確保我們添加這個文件到上下文。你會看到它會增加我的令牌計數。太好了。這是我想像的唯一文件,對吧?因為其他文件只是編輯。所以,一切都將是最新的。你甚至可以點擊這個小刷新按鈕,只是為了確保一切都是最新的。這通常是我喜歡做的。你可以看到,一切都準備好了。如果我們打開 DB 文件夾,打開 schema 文件夾,它就準備好了。所以,我們將複製我們的新的代碼,我們的現有代碼。你可以看到我的 versel 構建現在已準備就緒。所以,它已成功部署,這很棒。現在我們可以進入現有代碼標籤,我們已經從上一步清除了。粘貼進去。我們將複製整個東西。我們將回到 chat gbt。開始一個新的聊天,使用 01 Pro。我們將粘貼這個,然後讓它開始工作。所以,01 Pro 現在正在做的事情,這就是我一開始提到的。你基本上想把 01 Pro 想像成一個你僱傭的實際開發者。因為現在它正在做的事情是,如果我們進入規劃器提示,它現在正在嘗試實現我們第一步所需的整個代碼。所以,將會發生的是,一旦它完成工作,我們稍後會討論,它將為我們提供完整的每個文件,我們需要粘貼到我們的代碼中。我們將做的是,我們將基本上遍歷這些文件中的每一個,以及它給我們的任何用戶說明。我們將在我們的代碼庫中進行更改。我們將直接在光標中進行。我現在可以關閉這個光標規則文件,因為我們暫時不需要它。我們將一步一步地繼續下去。所以,讓我們讓 01 Pro 工作。這可能需要大約 4 到 6 分鐘。所以我將讓它運行,然後我們將討論如何做到這一點。好的,所以你可以看到 01 Pro 在第一步上工作了 3 分鐘 1 秒。所以,接下來我們要做的就是逐個文件地進行,並做我們需要做的一切。所以,你會看到,對於這些文件中的每一個,我們都有被編輯或添加的文件。我們有,這是我的所作所為以及原因。這解釋了 01 Pro 實際做了什麼。它提供了文件路徑,這樣你就知道把文件放在哪裡。然後,你可以看到它提供了整個文件,以及所有文檔。所以,只是一個說明,如果你是一個不喜歡文檔的人,我們之前提到過,你可以隨時更改提示來刪除它。我認為至少在與 ow 和 pro 迭代每個步驟時,它非常有幫助。然後,我認為之後,如果你有一個應用程序狀態是你想要的,然後你想刪除所有額外的文檔,我認為那是時候了。但我確實認為,當你迭代這些步驟時,如果你保留每個文件的註釋,所有這些文檔等等,我認為你會得到更好的結果。我對此進行了廣泛的測試,發現情況確實如此。所以,只是一個需要注意的事項。好的,這是我們需要做的。我們將逐個文件地複製並粘貼代碼。第一個文件路徑是 DB schema receipts schema。所以,我們將把它添加到我們的代碼庫中。我將打開 DB,打開 schema。看起來我們需要命名文件 receipts schema. TS。所以我將這樣做。所以,讓我們 receipts D schema TTS。我們將把它粘貼進去,保存它。瞧,你現在可以看到我們有一個收據表模式,它有詳盡的文檔,並且符合我們在光標規則文件中指示的代碼標準。所以,相當酷。所以,這是第一個路徑。讓我們向下滾動到下一個文件。好的,現在我們實際上需要編輯我們 schema 中的索引文件。這將導出東西。所以,這是一個已經存在的文件。所以,我們可以再次覆蓋。這就是為什麼我們要求 ow 和 pro 每次都返回完整的文件內容。因為而不是我們必須弄清楚,好的,這兩個文件之間有什麼變化。我們可以做一個非常簡單的複製粘貼工作流程,這非常棒。好的,讓我們去第三個。所以,現在我們將更新 dbdb dots 文件。它可能就在這裡。就像上次一樣,我們將粘貼新文件。你將看到我們現在在模式中有那個收據表。我們有一些新註釋,一些好的文檔,這很棒。好的,讓我們向下滾動。看起來我們現在需要調整 env. example 文件。所以,我們將這樣做。值得注意的是,它會要求我更新示例文件。但我們當然也需要更新我們的. env. loal 文件,因為那是我們實際的 envs。還值得注意的是,因為我們調整了一個 env,我們需要做什麼?我們需要進入 verell。我們需要進入我們的設置。我們需要進入我們的環境變量。所以,看起來我們還沒有添加那個變量。所以,我們可以做的是,我們可以直接粘貼它,點擊保存。記住,我們必須重新部署以確保它被添加。所以,我們將點擊重新部署,再次點擊重新部署。這將注入新的環境變量。所以,這非常重要。然後,你可以看到我們完成了第一步。我們得到了一些概述,關於 AI 做了什麼。然後,你可以看到我們得到了用戶說明。所以,你可以看到,檢查你的. .lo。你可以看到,確保添加它。然後,它說,可選地,我們將需要生成我們的 drizzle 遷移,以便將此上傳到我們的數據庫。因為我們更新了模式的代碼,如果你刷新 superbase,你會看到我們沒有那個表。所以,這實際上將如何在我們的代碼中工作是,我們需要去我們的終端。做 npm run DB generate。這將生成新的遷移文件。所以,如果我們點擊 migrations,你會看到我們現在有一個 SQL 遷移文件,用於我們的收據表。然後,當然,我們需要遷移它。我們將做 npm run DB migrate。它將運行遷移。然後,如果我們回到 super base,我們應該能夠刷新它,看到我們的收據表,以及 AI 為我們編寫的所有那些漂亮的列。所以,這是第一步的結束。你在這裡需要做的一件事是,你實際上需要刪除你所有現有的代碼。所以,通常我會向你展示,在下一步中,當我們迭代這個的時候,因為這可能相當糟糕。每次都要找到那個開頭的標籤。所以我將繼續向上滾動,滾動,滾動。看起來我們還在代碼地圖裡。讓我們再往前一點。這是文件系統。我們必須刪除所有現有代碼。所以,我們刪除了代碼。現在我們需要去實施計劃中的第一步,只需標記它已完成。所以,我們只需在這裡添加一個 X。現在,這一切都準備好了,可以進行第二步了。我們要做的其中一件事是,在我們繼續第二步之前,我們將快速回到光標。我們將實際提交我們的代碼。所以,我推薦你做的一件事是,在你完全完成每個步驟後,你實際上想為你的 GitHub 存儲庫創建一個新的提交。我將直接稱之為第一步。我將提交它。順便說一句,我正在使用光標內的 git 標籤。你當然可以使用終端,如果你只是喜歡使用 git CLI。然後,我們將同步它。非常容易初學者使用。這裡的 git UI 相當不錯。我將在 Mac 上按 Shift Command W。這將關閉我現有的文件。如果你回到我們的 git 存儲庫,你會看到,在教程中,你會看到我有一步。我剛剛提交了這個。所以,這個黃色的待定是什麼?所以,真正很棒的一件事是將你的 GitHub 存儲庫連接到你的 cell 項目。每次你提交到你的目標分支時,基本上會發生的是,它將構建你的應用程序,這很酷。所以,這實際上將完成並構建第一步。它將實際將你更新後的代碼部署到你現有的域。所以,發生的是,在每個步驟結束時,你確保一切都完成。你提交你的代碼,然後它將實際構建並部署到你託管在 verell 上的現有 URL。這很酷。所以,讓我們開始處理下一步。好的,所以只是一個提醒。你需要確保你勾選了第一步。然後,我們將滾動回現有代碼部分。現在,我們需要使用 repo 提示來包含現有代碼。所以,讓我們看一眼 repo 提示,因為這裡有幾件事你需要做。所以,你注意到的一件事是,如果我們實際上展開,我們將點擊展開。你會注意到,我們創建的一些新文件。讓我們實際關閉那個 UI 文件夾,這樣它就不會太長。但你會看到 receipt schema,特別是,這是我們添加的新文件,實際上並沒有添加到我們的上下文中。所以,你必須確保你做的是,每當你創建一個新文件時,這很重要,因為如果你不這樣做,你就會包含過時的代碼。01 Pro 所做的工作實際上會很糟糕或過時。所以,非常重要的是,你要充當項目經理和上下文管理器,以確保你始終將正確的最新代碼包含到 01 Pro 中。因為將會發生的一件事是,我敢肯定,在完成大約十幾個步驟的過程中,你會忘記做一次這件事。你會得到一個糟糕的結果,你會對模型生氣,而實際上是你的錯,因為你沒有更新上下文。所以,我們將確保我們添加這個文件到上下文。你會看到它會增加我的令牌計數。太好了。這是我想像的唯一文件,對吧?因為其他文件只是編輯。所以,一切都將是最新的。你甚至可以點擊這個小刷新按鈕,只是為了確保一切都是最新的。這通常是我喜歡做的。你可以看到,一切都準備好了。如果我們打開 DB 文件夾,打開 schema 文件夾,它就準備好了。所以,我們將複製我們的新的代碼,我們的現有代碼。你可以看到我的 versel 構建現在已準備就緒。所以,它已成功部署,這很棒。現在我們可以進入現有代碼標籤,我們已經從上一步清除了。粘貼進去。我們將複製整個東西。我們將回到 chat gbt。開始一個新的聊天,使用 01 Pro。我們將粘貼這個,然後讓它開始工作。所以,01 Pro 現在正在做的事情,這就是我一開始提到的。你基本上想把 01 Pro 想像成一個你僱傭的實際開發者。因為現在它正在做的事情是,如果我們進入規劃器提示,它現在正在嘗試實現我們第一步所需的整個代碼。所以,將會發生的是,一旦它完成工作,我們稍後會討論,它將為我們提供完整的每個文件,我們需要粘貼到我們的代碼中。我們將做的是,我們將基本上遍歷這些文件中的每一個,以及它給我們的任何用戶說明。我們將在我們的代碼庫中進行更改。我們將直接在光標中進行。我現在可以關閉這個光標規則文件,因為我們暫時不需要它。我們將一步一步地繼續下去。所以,讓我們讓 01 Pro 工作。這可能需要大約 4 到 6 分鐘。所以我將讓它運行,然後我們將討論如何做到這一點。好的,所以你可以看到 01 Pro 在第一步上工作了 3 分鐘 1 秒。所以,接下來我們要做的就是逐個文件地進行,並做我們需要做的一切。所以,你會看到,對於這些文件中的每一個,我們都有被編輯或添加的文件。我們有,這是我的所作所為以及原因。這解釋了 01 Pro 實際做了什麼。它提供了文件路徑,這樣你就知道把文件放在哪裡。然後,你可以看到它提供了整個文件,以及所有文檔。所以,只是一個說明,如果你是一個不喜歡文檔的人,我們之前提到過,你可以隨時更改提示來刪除它。我認為至少在與 ow 和 pro 迭代每個步驟時,它非常有幫助。然後,我認為之後,如果你有一個應用程序狀態是你想要的,然後你想刪除所有額外的文檔,我認為那是時候了。但我確實認為,當你迭代這些步驟時,如果你保留每個文件的註釋,所有這些文檔等等,我認為你會得到更好的結果。我對此進行了廣泛的測試,發現情況確實如此。所以,只是一個需要注意的事項。好的,這是我們需要做的。我們將逐個文件地複製並粘貼代碼。第一個文件路徑是 DB schema receipts schema。所以,我們將把它添加到我們的代碼庫中。我將打開 DB,打開 schema。看起來我們需要命名文件 receipts schema. TS。所以我將這樣做。所以,讓我們 receipts D schema TTS。我們將把它粘貼進去,保存它。瞧,你現在可以看到我們有一個收據表模式,它有詳盡的文檔,並且符合我們在光標規則文件中指示的代碼標準。所以,相當酷。所以,這是第一個路徑。讓我們向下滾動到下一個文件。好的,現在我們實際上需要編輯我們 schema 中的索引文件。這將導出東西。所以,這是一個已經存在的文件。所以,我們可以再次覆蓋。這就是為什麼我們要求 ow 和 pro 每次都返回完整的文件內容。因為而不是我們必須弄清楚,好的,這兩個文件之間有什麼變化。我們可以做一個非常簡單的複製粘貼工作流程,這非常棒。好的,讓我們去第三個。所以,現在我們將更新 dbdb dots 文件。它可能就在這裡。就像上次一樣,我們將粘貼新文件。你將看到我們現在在模式中有那個收據表。我們有一些新註釋,一些好的文檔,這很棒。好的,讓我們向下滾動。看起來我們現在需要調整 env. example 文件。所以,我們將這樣做。值得注意的是,它會要求我更新示例文件。但我們當然也需要更新我們的. env. loal 文件,因為那是我們實際的 envs。還值得注意的是,因為我們調整了一個 env,我們需要做什麼?我們需要進入 verell。我們需要進入我們的設置。我們需要進入我們的環境變量。所以,看起來我們還沒有添加那個變量。所以,我們可以做的是,我們可以直接粘貼它,點擊保存。記住,我們必須重新部署以確保它被添加。所以,我們將點擊重新部署,再次點擊重新部署。這將注入新的環境變量。所以,這非常重要。然後,你可以看到我們完成了第一步。我們得到了一些概述,關於 AI 做了什麼。然後,你可以看到我們得到了用戶說明。所以,你可以看到,檢查你的. .lo。你可以看到,確保添加它。然後,它說,可選地,我們將需要生成我們的 drizzle 遷移,以便將此上傳到我們的數據庫。因為我們更新了模式的代碼,如果你刷新 superbase,你會看到我們沒有那個表。所以,這實際上將如何在我們的代碼中工作是,我們需要去我們的終端。做 npm run DB generate。這將生成新的遷移文件。所以,如果我們點擊 migrations,你會看到我們現在有一個 SQL 遷移文件,用於我們的收據表。然後,當然,我們需要遷移它。我們將做 npm run DB migrate。它將運行遷移。然後,如果我們回到 super base,我們應該能夠刷新它,看到我們的收據表,以及 AI 為我們編寫的所有那些漂亮的列。所以,這是第一步的結束。你在這裡需要做的一件事是,你實際上需要刪除你所有現有的代碼。所以,通常我會向你展示,在下一步中,當我們迭代這個的時候,因為這可能相當糟糕。每次都要找到那個開頭的標籤。所以我將繼續向上滾動,滾動,滾動。看起來我們還在代碼地圖裡。讓我們再往前一點。這是文件系統。我們必須刪除所有現有代碼。所以,我們刪除了代碼。現在我們需要去實施計劃中的第一步,只需標記它已完成。所以,我們只需在這裡添加一個 X。現在,這一切都準備好了,可以進行第二步了。我們要做的其中一件事是,在我們繼續第二步之前,我們將快速回到光標。我們將實際提交我們的代碼。所以,我推薦你做的一件事是,在你完全完成每個步驟後

我们在这里要做的是,嗯,实际上意识到我们只做布局页面,这个仪表板本身实际上在我们拥有其他页面之前还不是我们可以看到的东西,所以我实际上只是有点超前了自己一点点,你会看到这仍然显示一个错误,这实际上只是一个过时的错误,所以我们实际上刚刚刷新了我们的代码编辑器,你会看到这个实际上消失了,所以这真的是第六步的结束,基本上我们将在稍后进行页面,布局实际上只是一个包装器,围绕着我们还没有的所有页面,所以我们将继续并提交第六步,这看起来是我们所需要的一切,值得注意的是,伙计们,我显然在这里试图快速进行,只是因为教程的性质,但当你自己构建你的应用程序时,你想确保你实际上浏览了所有这些文件,并弄清楚发生了什么,对吧,所以,让我们就以这个例子为例,所以我们在这里所做的,或者更确切地说,o Pro 所做的,是它创建了一个受保护的路由,所以你会看到这是一个受保护的路由,这是一个仪表板布局,技术上来说,我认为这还不是一个路由,因为我们还没有页面,但它只是在构建我们的仪表板将是什么样子,你可以在这里看到,它实际上正在创建一个小侧边栏,这可能会在第七步出现,一旦我们有了实际的页面,但它基本上只是创建了一个带有侧边栏的仪表板,然后是一个内容区域,所以当我们到达第七步时,这实际上应该看起来相当不错,所以我要做的是,我提交了这个,对吗?是的,我提交了这个,所以我要在这里做的是,我要创建一个新的聊天,我们当然需要现在去添加那些仪表板路由,以防我们想确保我们添加了这些文件,刷新,现在我们可以回到我们的正常流程,回到我们的提示,好的,我们将标记第六步为完成,好的,我们差不多了,我想我们有 13 步,下一步将是中间点,嗯,我的 codex ml 标签在哪里?好的,现在让我们粘贴我们刚刚从 repo prompt 复制的代码,好的,我复制了所有东西吗?是的,我复制了,现在我们想回到一个新的聊天,让我们开始第七步,好的,我们真的在飞速前进,再次,只是作为这里的一个小中间点,我会发送这个,而且最好让这个东西正常工作,对吧,确保你正在审查你的代码,再次,我正在加速通过这个,因为我只是,这里的想法不是我们正在构建的应用程序,想法是工作流程,想法是你在这里学习的技能,想法是给你一些关于如何调整工作流程以满足你自己的需求的想法,这里有很多不同的技巧和窍门,所以想法是启发你构建自己的工作流程,并以此为起点,所以请确保你理解你的应用程序中发生了什么,如果你需要调整你的实现计划,当你进行时,也许你想让 AI 做一些不同的事情,对吧,你总是可以做到,我们将在最后讨论如何继续迭代应用程序,所以你不需要认为这是最终的 13 步,你永远不能再处理它了,这只是一个起点,你可以随时使用这个工作流程来处理额外的功能,比如 bug 修复,比如 UI 更新,这个工作流程的可能性是无穷无尽的,所以让我们让第七步运行并回来,所以第七步是我们实际上将开始为我们的仪表板获取页面的地方,所以你可以在这里看到,o Pro 为我们生成的第一个页面是这个 page.tsx 文件,用于收据页面,好的,所以我们需要去 dashboard,现在这将是我们的第一个实际页面,所以我们将有 receipts,然后这将是 page.tsx,我们可以现在粘贴它,当然,我们需要在其中创建一个 _components 组件文件夹,以便我们可以添加 o Pro 为我们创建的这些组件,所以让我们向下滚动到那些,好的,所以这将是 receipt list.tsx,所以这将是根据其名称应该渲染收据列表的组件,所以这个文件看起来不错,然后我们只需要获取最后一个,这将是我们的搜索表单,所以我们将去同一个组件文件夹,这将被称为 search form.tsx,我们可以粘贴我们的搜索表单组件,现在我们应该有我们所需要的一切,所以我们将快速重新加载我们的窗口,以消除那两个类型错误,看起来在 receipt list 中,我们只有一个问题需要提供给 composer,所以看起来属性实际上不存在,所以这将使用 cursor agent 来为我们解决这个问题,所以它将进行调整,它将正确格式化,我们可以接受 cursor agent 的生成,一切都应该没问题了,所以我们现在应该能够做的是,我们现在确实有一个页面了,所以让我们来看看我们的页面,所以看起来,这里发生了什么,我刚刚犯了和上一个一样的错误,那就是 dashboard 不是一个路由,dashboard 只是一个路由组,所以如果我们去 /receipts,我们应该能够看到一个页面,看起来我们有一个小错误,所以我们只需要将这个错误直接复制粘贴到 cursor 中,我们将启动一个新的 composer 实例,使用 cursor agent,我们将提交它,它应该能够弄清楚发生了什么,所以当你开始遇到这样的错误时,特别是当你注意到同一个错误反复发生时,这是一个很好的机会去改进你的提示,所以这可能是一个我们想去提示中更改某些东西的情况,甚至可能是一个用例,我们想去更新我们的 cursor 规则中的某些东西,所以你知道,你会记得作为 Cen prompt 的一部分,对吧,我们正在输入那些 cursor 规则,所以我们可能只需要提醒,你知道,在这种情况下,看起来我们只需要为这个 action 添加 use server,这可能只是我们需要去更新那个规则的情况,所以我们在这里要做的是,我们要尝试弄清楚这一点,看起来我们现在有一个导入错误,所以我们将通过调试过程,所以新的 composer 实例,粘贴那个,看起来我们只需要一个缺失的依赖项,所以我们将运行我的命令,我需要记住,这是我们一直在反复遇到的另一个错误,所以我们应该更新我们的 cursor 规则,然后你会想去更新你的 repository 中的 cursor 规则,然后确保你在你的代码生成提示中也更新它,所以那就是,在这种情况下,你会想做的事情,你可以看到我们有一个小闪烁,看起来我们还有另一个错误,所以这实际上只是调试过程,这是非常正常的,你会遇到这个,重要的是你能看到它,这样你就知道在实际遇到错误时该怎么做,所以我将要做的一件事是,我将停止这个,我将向你展示一个快速的小 cursor 技巧,所以如果我们实际上创建一个新的 composer 实例,所以我将在 Mac 上按 command n,你可以实际做的是 / 然后引用打开的编辑器,这实际上会将你所有打开的文件注入到上下文中,然后如果你粘贴它,它将帮助 cursor agent 更快地找到错误,所以假设我们在那个 search form 中有那些 select 标签,看起来它抛出的错误是 value 不能为空,所以它已经将 value 调整为 all,对于任何东西,它还正在进行一些其他的调整,看起来,好的,所以你现在可以看到初始状态在这里被调整以考虑这一点,我们可以接受,然后砰,我们有了我们的仪表板,好的,太棒了,所以我们现在有了这个小侧边栏,所以如果我们点击 verify,这将显示未找到,因为这实际上在我们的应用程序中无效,看起来这个路由甚至都是错误的,所以我们可以做的是,我们可以告诉 cursor,比如,所以你实际上可能想做的是,你可能还想标记那个 dashboard 文件夹,所以 dashboard 在哪里,dashboard,我们可以说,嘿,因为 dashboard 是一个路由组而不是一个路由,我们需要调整侧边栏链接,这将注入现在这个文件夹中的所有内容到上下文中,它会找到那个带有侧边栏的 dashboard wrapper,你会看到它实际上编辑了那些链接,所以将这个 o01 Pro 工作流程与在 cursor 中的使用结合起来,非常强大,我们可以接受,验证这看起来是正确的,果然,我们有了我们的 UI,当然,因为我们还没有添加任何收据,所以找不到任何收据,这完全没关系,这将在接下来的步骤中发生,所以让我们提交我们的代码,第七步,这太棒了,所以现在我们需要做相当多的更新,对吧,因为,让我们实际展开它,看看我们需要添加什么,我们需要添加 receipts page.tsx 中的所有东西,我想就是这样,我们当然需要点击刷新按钮,现在我们可以看到我们的 token 正在开始累积,所以作为提醒,你通常希望将其保持在 100,000 token 以下,如果你开始超过这个数字,你将需要开始删除对 AI 正在处理的特定步骤可能不必要的项目,所以让我们创建一个新的聊天,让我们复制这个代码库上下文,让我们回到我们的好朋友代码生成提示,标记第七步为完成,在现有的代码 XML 标签之间粘贴新代码,复制粘贴这个坏小子,回到 01 Pro,然后喊 gbt,让我们让这一步工作,第八步将开始实现我们的 uploader,所以看起来我们的第一个新文件在这里,而且你可以看到其中一件事是,我们得到的格式每次都略有不同,但你可以看到我们仍然得到所有一般的东西,对吧,我们得到,我做了什么,我们得到文件路径,我们得到所有代码,这意味着如果我们在这不同的聊天之间使用这个提示,并且仍然得到一致的结果,这意味着我们的提示是好的,所以我们现在需要的是,我们需要这个 receipt uploader,所以让我们进入 receipts components receipt uploader.tsx,粘贴它,好的,看起来它已经准备就绪,将向下滚动到我们需要的文件,然后我们需要一个,看起来我们实际上正在做一个 API 路由,所以这将是一个节奏的变化,所以我们将复制它,我们将去 app,然后这次我们需要去 API,它的路由是什么,那是 receipts/upload,所以这将是 receipts/upload,然后我们需要这个目录下的 route.ts,然后我们应该能够粘贴那个路由,看起来我们得到一个问题,所以让我们创建一个新的 composer 实例,我们将让 composer 做它的事情,并解决这个问题,看起来它是一个导入问题,你现在可以看到这被弹出为第二个错误,这可能是因为它需要添加 await,果然,这就是问题所在,你会注意到,当你了解错误时,你可以预测它会做什么,顺便说一句,我非常刻意地尽量自己写尽可能少的代码,我试图向你展示,即使是初学者,你也不必自己写很多代码就可以开始,所以这应该会让你不那么害怕,因为这个,好了,这就是整个目标,目标是向你展示如何用自然语言来做,这样我们就可以教你如何实际写代码,这有点像一个特洛伊木马,让你实际上学会写代码,好的,这是第二件事,然后看起来我们需要将新的 receipt uploader 添加到我们的仪表板,这是一个相当容易的事情,我们可以用 cursor 来做,所以这完全没问题,所以我们可以做的是,我们将复制这一步,我们将创建一个新的 composer 实例,我们将使用相同的引用打开编辑器技巧,我们将粘贴这个消息,我们将把它交给 composer,我们将让 composer 完成这一步,所以我们正在尝试让 AI 为我们做尽可能多的工作,所以如果我们一会儿点击这个页面,你会看到我们将获得 diff,一旦它开始编写代码,然后我们可以审查它,我们将在这里做,你会看到 Owen Pro 的响应实际上指示我们测试上传,果然,我们想确保我们这样做,因为当你开始将你的 UI 连接到你的后端时,你会想确保所有这些东西都正常工作,因为你不想跳过这一点,然后到达项目的最后,然后发现它坏了,你有点想在步骤中间发现步骤在哪里中断,所以你可以看到我们现在有了 receipt uploader,我们应该能够接受它,然后回到我们的应用程序,实际上测试一下,所以我要做的是,我将实际打开,给你一秒钟,我将去拿一些收据,我们可以尝试一下,好了,让我们看看这个东西是否有效,我将把收据拖到这个框上,放下它,看起来什么都没发生,所以让我们回到这里的代码编辑器,在 cursor 中,让我们让 agent 知道它遇到了这个问题,我们将打开所有编辑器,然后我们会说,我们会说,嘿,我把一个文件拖到了 uploader 里,它没工作,所以看起来 agent 可能已经识别出了问题所在,所以让我们点击 receipt uploader,看起来它找到了一个文件,其中 file ref.current value 有问题,所以让我们看看它是否真的能解决这个问题,所以你可以看到它正在应用更改,看起来我们正在添加很多不同的代码,然后它将检查 API 路由,以确保它在 API 路由中所做的任何事情都正确,所以这基本上就是我们上传这个文件作为 blob 的方式,所以你可以阅读代码,看看它在做什么,看起来它需要调整一些东西,所以你看到这里的改进,然后我们将手动继续测试,看看它现在是否有效,所以让我们刷新这个路由,我将再次尝试,所以让我们把这个文件拖进来,好的,太棒了,看起来这次我们确实有一个选定的文件,让我们看看我们的上传是否有效,所以我们可以看看我们的控制台,看起来我们确实得到了一个错误,所以我们可以复制我们得到的错误,我们将再次创建一个新的 composer agent 实例,引用我们的打开的编辑器,粘贴它,然后说请修复它,我们又在让 AI 为我们做所有工作,我们只是充当上下文管理器,迭代它给我们的错误,所以你可以看到它正在编辑我的 .env.example 文件,看起来,它使用一切的方式是,我们需要从 superbase 获取另外两个密钥,所以我们将在这里获取那些密钥,所以我们将去 superbase dashboard,然后去 Project settings,我认为我们可以去 data API,我们应该能够获取我们的 URL,让我们接受它,然后你可以看到,如果我们回到我们的 .env.local 文件,这里应该发生的是,看起来它实际上已经开始为我们工作了,但我们要注意的一件事是,我们不想重复使用这个 service roll key,这个应该仍然是秘密,我们实际上想要的是第二个密钥,我们想要这个 anon public key,它是公开的,这是完全没问题的,所以如果我们在这里粘贴它,然后再次尝试,我们应该能够让它工作,所以我们将点击我们的 superbase table editor,我们将再次尝试上传,我将把那个家伙拖进来,点击上传,让我们看看我们是否得到上传,看起来存储桶未找到,所以这实际上很有道理,因为这意味着我们需要去创建存储桶,所以让我们添加这个 composer,我们可以说我需要做什么,会发生什么,你也可以通过顺便说一下,你也可以用 01 Pro 来做所有这些事情,事实是,它会告诉你,它只是需要更长的时间,所以你在这里看到的是,composer 正在告诉我们该做什么,所以我们必须去 super base 里的 storage bucket,存储,然后我们想去 buckets,看起来我需要创建一个新的 bucket,这是我说的,所以我们需要创建一个名为 receipts 的新 bucket,然后我们需要实际运行 sql,所以首先,让我们创建这个名为 receipts 的新 bucket,我们将保存它,然后我们必须去 SQL 编辑器,因为它告诉我们我们需要运行一些 SQL,所以让我们复制它,我们将运行它,看起来那个脚本成功运行了,然后它说我们还需要添加 NEXT_PUBLIC_SUPERBASE_RECEIPTS_BUCKET,所以让我们把它添加到我们的 .env 文件中,所以我们将把它添加到示例中,然后我们也将把它添加到 .env 文件中,然后我们应该能够做的一件事是,我们应该能够测试它,现在我们已经创建了存储桶,这应该可以工作,所以这就是实际迭代的样子,我们将上传,我们将看看我们会得到什么,所以看起来我们实际上违反了行级安全,这与我们创建的策略有关,所以我们可能需要迭代它,所以我们将留在同一个 composer 实例中,因为它与我们一直在做的事情有关,所以它将去 receipt storage actions,它将弄清楚我们实际上是如何上传这个的,它可能会要求我们调整一些东西,所以你看到它看起来它创建了错误的策略,这完全没关系,它将给我们一个命令,在 subbay SQL 编辑器中运行,所以我们将这样做,只是删除我们之前的策略,创建一个新的策略,它将更新那些存储操作,然后我们应该能够做的就是,我们应该能够再次接受这个,我们将刷新,我们将粘贴这个,我们将上传,看起来这次它没有报错,看起来这次它实际上在工作,所以让我们看看我们的日志,以验证我们没有遇到任何问题,看起来我们在 action 中遇到了一个问题,看起来我们的数据被成功提取了,但看起来我们在其中一个列类型上遇到了数据格式问题,所以现在这是一个新任务,我们将为此创建一个新的 composer 实例,当然,我们想引用我们的打开的编辑器,请修复,这应该只是更新 action 以修复列类型,所以我们将让它运行一会儿,进行我们需要的编辑,再次,我们只是用自然语言完成所有这些,我们实际上不需要自己做任何工作,我们只是试图将错误喂给 AI,看看它是否真的能修复东西,你看到它尝试了一次迭代,没有成功,所以它现在正在尝试另一次迭代,所以让我们接受它,让我们尝试一下我们新的版本,我拖放了我的收据,我们将上传它,我们将让它运行,所以后端,发生的事情是,它正在运行提取函数,你看到我们确实收到了上传成功,这意味着如果我们去 superbase,如果我们去我们的表,我们现在应该在 receipts 中有一个值,所以这现在可以工作了,它现在也正确地从收据中提取了我的数据,然后如果我们实际上去我们的存储桶,我们也应该看到我们存储了收据,所以你看到这是我的收据的图像,所以这很酷,关于存储安全的一点是,我们可能想增加我们的安全性,并确保它生成的行级安全策略是正确的,这是 AI 为你编写代码时非常重要的一点,所以这是开发者 McKay 将要介入的地方,我一直在尝试做整个 vibe code 的事情,让 AI 做尽可能多的事情,但当涉及到像环境变量这样的事情,我们已经提了很多次了,然后当涉及到像表和存储安全这样的事情时,你真的想确保你要求 ow and pro 实现最佳安全实践,我将在这里稍微忽略一下,只是为了继续前进,但这是你需要注意的事情,所以到目前为止,我实际上只是完全手动重置我的上下文,我们将需要删除那个组件,我们可以删除很多那些 token,我们将开始一个新的聊天,我们现在也应该提交我们的代码,现在我们已经测试了上传工作,所以这将是第八步,我们将继续提交它,另外值得一提的是,你想确保你总是要求 A1 Pro 或 cursor 保持你的环境变量安全,并确保你遵循最佳安全实践,所以我们需要做的一件事是,因为我们在这一步添加了三个环境变量,我们必须回到 versell,我们必须添加那些新密钥,所以我们将点击环境变量,我们将粘贴它们,你甚至可以看到我们得到一点警告,所以我们的 super base 的 anon key 是完全可以公开的,所以我们实际上不需要担心这个,所以我们可以点击保存并重新部署,并确保那些环境变量被添加进去,所以现在我们有了更新的上下文,所以让我们把它复制过去,让我们回到我们的好朋友代码生成提示,我们将标记第八步为完成,这绝对是我们迄今为止最复杂的一步,有很多错误需要迭代,显然,这就是你手动测试,复制粘贴错误消息,与 01 Pro 和 cursor 合作以获得正确结果的地方,然后我们将粘贴新的代码,复制它,现在我们可以开始第九步了,好消息是,今后一切都会比第八步容易得多,第八步只是最难的,因为存储设置的性质,所以如果你能够设置 super base 存储,向你致敬,这对初学者来说不是一件容易的事,但它当然是每个初学者都想学习的事情,我如何做文件存储,嗯,希望你对如何做到这一点有一点想法,所以第九步,6 分钟 53 秒,这是一个巨大的步骤,基于生成时间,我们将看看它实际写了多少代码,但看起来我们现在需要更新我们的 dashboard wrapper,这将是一个文件更新,所以让我们复制它,然后我们将清理一下,我们需要打开 dashboard wrapper,当然,我们需要粘贴完全更新的文件,好的,然后下一个我们将要处理的文件是,看起来我们需要创建 verification 页面,所以现在我们将进入 verify 步骤,让我们复制它,我们需要在 verify 路由组中创建一个新页面,我们将去 page.tsx,然后粘贴它,看起来我们都很好,除了我们需要添加一个组件,看起来我们将得到 verification list 组件,所以我们现在就创建它,verification list.tsx,并且假设这应该是我们列表中的下一项,果然如此,所以我们将复制粘贴这个家伙进来,看起来我们得到一个表格格式,这相当不错,看起来我们遇到了一些问题,让我看看是否有任何其他文件需要处理,看起来我们确实需要一个 API 路由,所以我们将暂时搁置问题,看起来在 app API receipts 中,我们实际上需要一个更新,所以看起来这可能不是我们想要的,因为我们实际上可以从客户端组件调用服务器操作,我们只是不能在其中创建它们,所以我要做的是,我将告诉 01 Pro,看看它是否能快速调整,所以让我说,是的,我将在 01 Pro 中这样做,我只是会说,实际上我们可以使用客户端组件中的服务器操作,我们只是不能在客户端组件中创建它们,我们将要做的是,我们将要求它再做一次,知道这一点,所以这是一个我们之前使用的技术,理论上我们可以坐在这里让它根据新的知识更新它所做的事情,它现在拥有所有这些新知识,好了,我们得到了更新的版本,这是非常正常的,有时一 Pro 会走错路,无论是你提示它不当,看起来在这种情况下我可能提示它不当,或者它只是做错了事情,所以有时你只需要适应,要么开始一个新的聊天,要么让它更新东西,果然,这应该有望解决问题,所以让我们将代码复制到 dashboard,接下来,我们需要在 verify 中创建一个新的服务器页面,当然,我们已经创建了,我们只是用新版本更新它,然后我们去第三步,看起来我们需要添加一个新的函数,所以你看到我们有 receipt actions 的完整文件,所以让我们回到我们的 receipt actions,它在 DB 中,我们可以希望粘贴它,然后我们应该能够向下滚动,让我们看看,这显然是一个很大的文件,我们现在需要复制更新版本的 verification list 的代码,我相信这可能就是我们所需要的一切了,好的,所以我们现在可以做的就是,当然,我们将修复这里的错误,这将是这个 slice,所以我们将在这里做的是,我们将使用 composer 按钮,我们将点击 fixing composer,cursor agent 将为我们修复它,所以你看到它能够搜索代码库,弄清楚错误是什么,并且它不仅在那里修复了它,还在其他地方也修复了,这很好,对吧,所以我们可以接受它,这只是一个过时的链接问题,来自我们的一个导入,所以我们只需要重新加载我们的编辑器,我们应该能够做的就是,我不确定为什么它会抱怨,实际上,让我们双重检查一下我们的导入是否正确,好的,那很好,现在让我们去我们的应用程序,如果我们点击 verify 页面,我们应该能够看到,看起来我们的链接坏了,让我们回到我们的 dashboard,其中一件事,这就是为什么你需要确保你审查你的代码,因为我猜这个被覆盖了,所以我们只需要修复那个链接,很容易修复,点击 verify,我们应该能够去 verify 页面,太棒了,所以果然,我们可以添加一个类别,所以让我们说这是软件,软件,在 2 月 13 日,21.49 美元,我们应该能够点击 verify,看起来它没有工作,所以让我们看看,实际上我应该看看我们的计划员,因为,再次,伙计们,这就是为什么你需要确保你审查事情,所以果然,那个应该工作,所以让我们刷新一下,确保它在工作,看起来,是的,它没有工作,所以我们可以做的是,我们可以去控制台看看是否有任何错误,看起来按钮根本不起作用,所以我们可以做的是,我们只是说嘿,点击 verify 按钮不起作用,我们将引用所有那些打开的编辑器,看看我们是否能解决这个问题,所以让我们看看 composer 会得出什么结论,正如你所看到的,它正在编辑 receipts actions,所以可能其中的一个 action 被错误地完成了,所以我们将看看发生了什么,看起来可能是 verification list 中的问题,所以它将尝试对那个按钮进行调整,所以理论上这个 handle verify 函数需要以不同的方式完成,所以让我们接受那些更改,然后再次尝试,好了,理论上 composer 应该已经修复了这个问题,所以让我们点击 verify,好了,看起来我们确实收到了那个收据验证,然后如果我们回到我们的 receipts 页面,我们现在应该看到它从 no verified 切换到 yes verified,当然,我们可以去检查我们的 super base 表并验证这是正确的,果然如此,所以太棒了,所以现在,这是什么步骤,n,如果你不小心,肯定会丢失这些步骤,所以让我们提交这个的代码,我们将清理一下,让我们去,这是什么步骤,九,提交这个代码,现在让我们开始第十步,所以我们将再次创建一个新的聊天,我们将刷新代码,我们没有添加新文件,我们只是编辑了现有文件,所以刷新就可以了,我们将复制,回到我们的提示,然后我们将标记第九步为完成,粘贴我们的代码,这是完全更新的,我们将启动第十步,我们现在有了我们需要添加删除按钮的代码,所以我们可以实际删除收据,出于某种原因,对吧,我们在 verification 过程中犯了一个错误,我们上传了东西,并且正确地,也许我们上传了重复项,谁知道呢,对吧,所以让我们处理一下,看起来我们有一个更新的 receipts actions,所以这个文件对我们来说应该很熟悉了,所以我们将复制粘贴它,这将用新代码覆盖它,然后我们应该会有一些 UI 更新,看起来 receipts list 正在得到更新,这说得通,这可能是删除按钮所在的地方,我们将保存它,看起来第十步已经完成,现在我们只需要手动测试删除按钮,所以理论上我们可以按下,我顺便说了很多次理论上,我们应该停止,我们确实得到了一个很好的确认对话框,所以这是 AI 的一个好工作,然后如果我们刷新这些页面,我们甚至可以看到,如果我们刷新 super base,果然,那个记录已经消失了,所以 0 Pro 完全做对了这一步,那是一个简单的步骤,就像我说过的,一旦你完成了困难的步骤,所有的小功能和东西都会变得非常非常容易,所以这个工作流程的一个要点是,你真的只想快速完成那些主要的核心任务,然后一旦你开始调整 UI 并添加东西之上的小功能,会发生什么呢,你知道,因为在 repo prompt 中,我们获得了越来越多的代码库上下文,这就像 AI 能够更好地推断我们的工作方式,我们希望我们的代码如何编写,如何添加东西,所以你的代码库中写得越多,生成新东西就越容易,这是一个非常酷的事情,好了,让我们提交第十步,然后继续第 11 步,我们显然需要创建一个新的聊天,我们需要刷新代码,我们没有添加新文件,我们只是编辑了现有文件,所以刷新就可以了,我们将复制,回到我们的提示,然后我实际上要做的是,因为第 11 步是我们最后一个功能,我实际上将删除第 13 步和第 12 步,因为这些东西涵盖了一些你想使用我们的 review prompt 的内容,所以这将是我们的最后一步,我们将让这个导出 CSV 工作,当然,我需要粘贴我刚刚复制的代码,所以让我们让这个最终的功能运行起来,然后我们将实现它,然后讨论 review prompt,所以这看起来是我们最长的生成时间,7 分钟 17 秒,o Pro 为我们工作了,所以让我们看看我们需要做什么,这显然是我们的导出 CSV 功能,所以看起来我们有一个 receipt action 更新,所以让我们更新我们好朋友 receipt actions,我们应该可以直接粘贴整个代码,你看到这现在是 577 行代码,所以 01 Pro 能够非常一致地输出非常长的代码文件,我们继续滚动,好了,看起来我们有一个新的 API 路由,这是我们想要的 API 路由,所以这是正确的,不像以前它错误地生成了一个,所以我们想要 app/API,app/API/receipts,这次不是 upload,我们实际上想要一个新的文件夹叫做 export,这将给我们一个新的路由,当然,我们需要创建我们的 route.ts 文件,我也意识到这应该是 ts,所以让我们确保我们调整一下,然后我们要做的就是,我们要复制我们的代码,粘贴到我们的 export 路由中,我们应该能够得到导出功能所需的代码,所以现在让我们看看它实际上在哪里添加了导出按钮,所以看起来在 receipts page 组件文件夹中,我们需要,它叫什么,它叫 export-button.tsx,好的,我们可以粘贴它,最后但同样重要的是,我假设我们将把它添加到我们的 receipts page,是的,所以让我们复制它,然后将其添加到 receipts page,然后如果我们向下滚动,这应该就是我们所需要的一切了,我相信,是的,第 11 步完成,所以当然,让我们测试一下这个是否真的有效,所以我们现在应该看到一个导出到 CSV 的按钮,我们确实看到了,这很酷,所以让我们点击它,看看它是否有效,我们可以打开它,然后砰,我们有了我们的 CSV 导出功能,这很酷,显然我们只有两行在这里,所以它不是一个令人印象深刻的导出,但知道我们可以做到这一点很好,对吧,所以我们可以去 verify,我可以去验证我刚刚添加的这两个收据,以测试这个特定的实例,你看到这些已经验证了,这很好,理论上,我们应该能够搜索 rebrickable,搜索,所以看起来我们的搜索坏了,所以这是我们想在 cursor 或 o1 Pro 中迭代的东西,我们一会儿会讨论 review prompt 和下一步的去向,但是的,这很酷,这是我们从原始请求提示中请求的完整功能集,所以我们将在这里停止,我显然可以坐在这里,你真的可以一遍又一遍地迭代,不断地构建你的产品,这个教程的目的当然是向你展示如何写很少的代码,我希望你花点时间欣赏我们实际写的代码量,当我们提交第 11 步时,我们基本上试图将尽可能多的东西交给 O Pro,另外值得一提的是,当你们在你们自己的想法和项目的工作流程中工作时,也会更快,因为我没有试图在整个过程中说话,所以工作流程更有效率,感觉非常流畅,感觉非常未来主义,感觉就像与 AI 在未来合作应该是什么样子,在我看来,所以我们将继续进行 review prompt,只是为了谈论它,然后我确实想谈谈下一步,因为我们在这里所做的真的只是一个开始,所以,所以,让我停在那里,我会在那里解决,到目前为止,你已经拥有了所有初始功能,对吧,这个已经部署到了一个实际工作的真实 URL,一切都已更新,如果我们去这个 URL 的 /receipts,它将带我们到仪表板,太棒了,一切都已部署,一切都已准备就绪,但如果你想继续迭代并继续构建怎么办?所以我们将花几分钟时间来讨论这个问题,我在这里想强调的一件事是,如果你去 repo prompt,你会看到我们真的只有大约 54,000 个 token,所以我们真的只是触及了 A1 Pro 功能的表面,这很有意义,因为我们只添加了几种相当基本的功能,所以如果你想继续这样做,我提过几次,但你总是想确保你的上下文在 100,000 或以下,所以显然我们还有很长的路要走,我们可以用这个工作流程实现许多不同的功能,所以假设你想处理额外的功能,假设你想改善用户体验,假设你想改进设计,你将如何用现有的工作流程来完成所有这些?所以你基本上想做的一件事是,你可以几乎像循环一样重复这个工作流程,所以让我们实际谈谈在实践中这意味着什么,所以你可以跳过的一件事是,你可以跳过 quest prompt,你将要输入类似的输入到 spec prompt,所以那就是我们将从这里开始的地方,所以你知道,让我们想想我们可以做的一些事情,我们可以添加批量上传收据,我们可以添加团队功能,我们可以添加查看单个收据,我们可以添加图表和报告之类的东西,所以你想做的是,你想复制 spec prompt,所以让我们实际模拟一下,我们将覆盖我在这里添加的示例输入,所以我们将把它粘贴在这里,你想做的是,在你的项目请求中,在这些 XML 标签内,你想描述你想要的那些附加功能。

构建与请求的输出提示非常相似,或者说与请求提示的输出非常相似。所以,你想要做的是,比如,你会说,嘿,这些是我接下来想处理的功能。我在这里显然是有点过度简化了,对吧?你会说,好的,我想做批量上传,我想做,我想做团队功能,我想添加带有图表分析的仪表板,你知道,图表加上分析。我想添加,嗯,实际上我撤销了那个,显然我不能重做那个,你们明白我的意思。我想查看单独的收据。所以你在这里可以做的是,你可以说,清理用户界面,使其看起来像,或者,生产级。你几乎可以把你接下来想处理的每一件事都放在这里。然后,当然,你会在这里粘贴你的光标规则,你会用它来代替起始模板。所以现在你想粘贴当前的代码,对吧?你会去仓库提示,你会得到完全更新的代码,然后你会把它交给规范。然后规范会做的是,它会引导你完成技术规范。然后你再去为规划器提示做同样的事情,然后你会得到你想要处理的新功能的新计划。然后你会再次运行代码生成的东西,对吧?所以你可以对任何你想处理的任务重复这个过程。所以如果你想逐个功能地处理它,用规范提示来处理它,然后把它传递给规划器,处理那个功能,也许你做审查提示来清理所有东西,然后你就可以为所有你想处理的不同主要功能循环这个过程,这就是这个工作流程的样子,超出了我们在这里所做的。所以再说一遍,我可以坐在这里一整天,真的像三个月,继续迭代这个产品,使用这个工作流。我只需要管理我在仓库提示中的上下文窗口,我们就可以继续迭代和添加更多功能,各种各样的事情,对吧?所以重要的是你理解这个工作流程是如何工作的,因为在实践中,当你处理自己的项目时,你会想要做我在这里说的事情,对吧?你会想要把你开始的基本 MVP,然后你会想要继续把它变成一个越来越专业、生产级的应用程序。所以这就是这个工作流程的样子,如果你要继续沿着这条路走下去,对吧?你基本上会再次循环所有提示,但不是从请求提示开始,而是想出你的新功能请求,然后你就会不断地将更新的代码库馈送到所有这些不同的步骤中。你一步一步地运行代码生成提示,然后砰,你突然就在编写应用程序了,你正在使用 01 Pro 构建应用程序,它几乎完成了所有的繁重工作,然后你只需要用光标做一些小事情,而且你可以用自然语言做很多这些事情。再说一遍,我想强调一下,为了达到我们现在所拥有的,我们实际编写的代码量非常少。所以显然这是一个相当基本的功能集,但它仍然很酷,对吧?我们有一个真正的用户界面,连接到一个实时数据库,有身份验证,有支付。好的,它已经部署了,对吧?我们可以在部署的 URL 上查看它。我当然现在必须删除所有这些项目,并在发布这个视频给你们之前删除我的环境变量。所以我得去做了。但让我们也谈谈一些额外的学习资源,对于那些第一次接触这个的人来说。也许你喜欢这个工作流程,也许你想学习如何在其他方面采用这个工作流程。也许你觉得光标很酷,你想了解更多关于光标的信息。让我们稍微谈谈这个。希望你觉得从这个研讨会中学到了很多。所以为了回顾一些你可能学到的东西,你学会了如何编写相当健壮的提示,不仅是编写和分析它们,而且实际上在实践中将它们用于实际任务。所以希望通过阅读这些提示,你们已经看到了很多高质量提示的例子。我们认为提示是你能够学习到的最高杠杆技能之一。我不同意的一点是,有些人说随着模型越来越好,提示就变得不那么强大了。我实际上完全同意,或者说我完全不同意。我认为模型越来越强大,我认为提示实际上越来越重要,因为你可以用模型做更多的事情。所以如果你是一个能够写出很棒提示的人,这实际上就是有效地沟通指令,对吧?就像一个非常非常高效的经理一样。我认为你将远远领先于你的同行。所以希望你觉得你掌握了一些提示技巧。你当然学会了如何使用 Superbase 与实时数据库一起工作。你学会了如何使用 Clerk 构建身份验证。我们当然部署到了 Vercel。所以你应该希望你掌握了如何将你的应用程序部署到互联网上,以便其他用户可以访问它。我们学习了如何使用像仓库提示这样的工具,以便你能够管理你的上下文。我们回顾了如何使用 01 Pro。学习使用 01 Pro 的好处之一就是学习如何使用 AI 模型。所以,无论你是喜欢谷歌模型、云模型,你知道的,Anthropic 模型,OpenAI 的 GPT 模型,你都将能够更好地使用所有这些不同的模型,这是你在整个世界上能够学到的最高杠杆技能之一。所以如果你有兴趣了解更多信息,我们在 Takeoff 上有很多非常棒的内容。所以如果你觉得这个有帮助,这就是我全职做的事情。我们有关于使用 AI 构建全栈应用程序的课程。所以如果你想了解更多关于那种全栈架构,并深入研究一下,我们有适合你的东西。我们做像 RAG 和检索提示工程。我们的光标课程刚刚更新。所以如果你真的很喜欢光标中的教学,并想在这方面做得更好,我们有围绕这些东西的一些非常棒的课程。当然,我们一直都在举办研讨会,教授最新的技能。所以如果你想了解更多,我认为即使你不想加入,你至少可以在我们的登陆页面上查看所有这些内容的教学大纲。当然,YouTube 上也有很多非常棒的免费内容,你可以去看看。我当然也做了大量的免费指南和教程。所以如果你觉得这个有帮助,我非常感谢你能点赞并分享给你的朋友们,订阅。这对我能够继续为你们提供所有这些免费教程非常有帮助。所以希望你觉得这个有帮助,更重要的是,你觉得你更有能力去实现你脑海中的想法,并真正去构建它们。很高兴我们能为你们做到这一点。很高兴能和你们一起构建这个。