Skip to content

variableway/agent-way

Repository files navigation

Agentway

使用 AI Agent 方式开发日常工具与网站的 monorepo。开发框架与 starter 模版不放在本仓库;这里只放 Skills应用代码

目录结构

agentway/
├── README.md
├── AGENTS.md                      # Agent 仓库级说明
├── package.json                   # 根 workspace(manifest 等)
├── pnpm-workspace.yaml            # workspace:apps/*/*
│
├── skills/                        # AI Agent Skills
│   ├── README.md
│   ├── _shared/                   # 跨应用通用 skill
│   │   └── <skill-name>/SKILL.md
│   └── apps/                      # 按应用绑定的 skill
│       └── <app-name>/<skill-name>/SKILL.md
│
├── apps/                          # 所有应用
│   ├── README.md
│   ├── registry.yaml              # 应用清单(本地 + submodule)
│   ├── web/                       # 网站(site 展示站后续补充)
│   ├── desktop/
│   └── cli/
│
├── data/
│   └── manifest.json              # skills + apps 索引(pnpm manifest)
│
├── scripts/
│   └── generate-manifest.mjs
│
└── .gitmodules                    # submodule 应用

设计原则

原则 说明
框架不进本仓 Starter 在独立 GitHub 仓库;各 app 通过文档或 submodule 引用
Skills + Apps 本仓只维护 Agent 工作流与实际产品
应用可很多 apps/<type>/<name>/ 扩展;元数据集中在 registry.yaml
公开 / 私有 公开 app 直接提交;私有 app 用私有 submodule 或独立仓库
Skill 可检索 pnpm manifest 生成 data/manifest.json,供 Agent 或后续展示站使用

包管理(pnpm workspace)

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

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

说明:

  • skills/ 不参与 workspace(无 package.json,纯 Markdown)
  • 非 Node 应用(如 Rust / Go CLI)可不建 package.json,照常放在 apps/ 目录
  • submodule 应用:clone 后 pnpm install 会自动纳入 workspace(路径匹配 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/web/site:浏览 Skills、展示 Apps、发布到 GitHub Pages。当前尚未实现,目录约定已预留,见 apps/web/README.md

Submodule 应用

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

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

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

git submodule update --init --recursive

新增 Skill

  1. skills/_shared/<name>/skills/apps/<app>/<name>/ 下创建 SKILL.md
  2. 运行 pnpm manifest 更新 data/manifest.json

从外部发现 skill — 统一搜索(可扩展 source):

pnpm find-skills <关键词>                    # 搜 data/sources.yaml 里所有 source
pnpm find-skills <关键词> --source skillsllm  # 仅 SkillsLLM API

data/sources.yaml 添加 source 即可接入新 hub。详见 skills/_shared/find-skills/SKILL.md

新增应用

详见 skills/_shared/scaffold-app/SKILL.md:选类型目录 → 从外部模版创建或 submodule 引入 → 写入 registry.yaml → 添加 README.md / AGENTS.md

开发内容

  • 网站(apps/web/
  • 桌面应用(apps/desktop/
  • CLI 工具(apps/cli/

About

AI Agent Use cases

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors