跳转到内容

包概述

这个单体仓库包含两个主要包:@google/gemini-cli@google/gemini-cli-core

这是 Gemini CLI 的主包。它负责用户界面、命令解析以及所有面向用户的功能。

当这个包发布时,它会被打包成一个可执行文件。这个捆绑包包括了包的所有依赖项,包括 @google/gemini-cli-core。这意味着无论用户使用 npm install -g @google/gemini-cli 安装包,还是直接使用 npx @google/gemini-cli 运行,他们都在使用这个单一、自包含的可执行文件。

这个包包含了与 Gemini API 交互的核心逻辑。它负责发起 API 请求、处理认证以及管理本地缓存。

这个包不会被打包。当它发布时,它会被发布为一个标准的 Node.js 包,并带有自己的依赖项。这样,如果需要,它可以作为独立包在其他项目中使用。所有在 dist 文件夹中的已转译的 JavaScript 代码都包含在包内。

这个项目使用 NPM 工作空间 来管理单体仓库中的包。这通过允许我们从项目根目录管理依赖项和运行跨多个包的脚本,简化了开发。

package.json 文件定义了此项目的工空间:

{
"workspaces": ["packages/*"]
}

这告诉 NPM,packages 目录内的任何文件夹都是一个单独的包,应该作为工作空间的一部分进行管理。

简化的依赖管理:从项目的根目录运行 npm install 将为工作空间中的所有包安装所有依赖,并将它们连接在一起。这意味着您不需要在每个包的目录中运行 npm install自动链接:工作空间内的包可以相互依赖。当您运行 npm install 时,NPM 将自动在包之间创建符号链接。这意味着当您对其中一个包进行更改时,依赖于它的其他包可以立即使用这些更改。 简化的脚本执行:您可以使用 --workspace 标志从项目的根目录在任何包中运行脚本。例如,要在 cli 包中运行 build 脚本,您可以运行 npm run build --workspace @google/gemini-cli