Skip to content

variableway/agent-way

Repository files navigation

Agentway

使用 AI Agent 方式开发日常工具与网站的 monorepo。开发框架与 starter 模版不放在本仓库;当前仓库聚焦 应用代码 与应用注册信息。

目录结构

agentway/
├── README.md
├── AGENTS.md                      # Agent 仓库级说明
├── package.json                   # 根 workspace(manifest 等)
├── pnpm-workspace.yaml            # workspace:apps/*(兼容 apps/*/*)
│
├── apps/                          # 所有应用(按项目,不强制按类型分层)
│   ├── README.md
│   ├── registry.yaml              # 应用清单(本地 + submodule)
│   └── <project-name>/
│
├── data/                          # 应用相关数据(registry/manifest 等)
├── scripts/                       # 辅助脚本(manifest / pnpm update 等)
│
└── .gitmodules                    # submodule 应用

设计原则

原则 说明
框架不进本仓 Starter 在独立 GitHub 仓库;各 app 通过文档或 submodule 引用
Apps only 本仓只维护应用与应用注册信息;skills 已迁移到独立仓库
应用可很多 apps/<project-name>/ 扩展;元数据集中在 registry.yaml(可加 kind/tags
公开 / 私有 公开 app 直接提交;私有 app 用私有 submodule 或独立仓库
Skills 暂缓 skills 已迁移,待其他项目完成后再接入本仓流程

包管理(pnpm workspace)

本仓用 pnpm workspace 管理 apps/<project-name>/ 下的 Node 应用(各自需有 package.json)。

pnpm install              # 根目录安装,链接所有 workspace 包
pnpm manifest             # 更新本仓 manifest(若启用)
pnpm --filter <pkg> dev   # 在单个 app 下运行脚本
pnpm -r build             # 所有 app 执行 build(有该 script 的包)

说明:

  • skills/ 已迁移到独立仓库,不在当前目录维护
  • 非 Node 应用(如 Rust / Go CLI)可不建 package.json,照常放在 apps/ 目录
  • submodule 应用:clone 后 pnpm install 会自动纳入 workspace(路径匹配 apps/*apps/*/*

克隆含 submodule 的仓库:

git submodule update --init --recursive
pnpm install

pnpm 版本

根目录 package.json"packageManager": "pnpm@11.9.0" 锁定团队与 CI 使用的 pnpm 版本(可复现构建),不要删掉。

本机使用指定版本(二选一):

# A. Corepack(Node 自带,需先 enable)
corepack enable && corepack install

# B. 全局 pnpm(你当前方式)— 保持 pnpm -v 与 packageManager 一致即可
pnpm self-update

升级到最新 pnpm:

pnpm pnpm:update         # 查 npm 最新版,更新 packageManager,并尝试 self-update
pnpm install
git add package.json pnpm-lock.yaml && git commit -m "chore: bump pnpm"

pnpm:update 不依赖 Corepack;有 Corepack 时会优先使用。

自动保持最新: 仓库已含 renovate.json。在 GitHub 安装 Renovate App 后,会定期提 PR 更新 packageManager 与依赖。

展示网站(后续)

计划作为普通项目放在 apps/site:展示应用目录与 registry 元数据,并可链接外部 skill hubs。当前尚未实现。

Submodule 应用

部分 app 是独立 GitHub 仓库,以 submodule 挂到 apps/<project-name>/

git submodule add https://github.com/<org>/<repo>.git apps/my-tool

apps/registry.yaml 中登记 source: submodulerepo 地址,并更新 .gitmodules。克隆本仓后:

git submodule update --init --recursive

Skills(暂缓)

skills 目录已迁移到独立仓库。当前仓库先聚焦 apps;skills 相关接入(检索、同步、展示)等你完成其他项目后再处理。

脚本是否可以用 .mts

可以,推荐。.mts 适合 TypeScript + ESM 脚本;Node 本身不能直接执行 .mts,通常用 tsx 运行:

pnpm add -D tsx typescript

package.json 示例:

{
  "scripts": {
    "manifest": "tsx scripts/generate-manifest.mts"
  }
}

新增应用

流程:选项目目录 → 从外部模版创建或 submodule 引入 → 写入 registry.yaml → 添加 README.md / AGENTS.md

apps/registry.yaml 推荐字段:

  • 必填:nametitlepathsource
  • 可选:kind(如 web / cli / desktop / service)、tags(如 [internal, mvp]
  • 其他:visibilitystatusdescriptionrepo(submodule 时)

开发内容

  • 任意类型应用(Web / Desktop / CLI / 服务端工具等)统一放在 apps/<project-name>/

About

AI Agent Use cases

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors