mcpField
O
ops-projects

ops-projects

github.com/davepoon开发3.7k69 次安装今天更新
代码仓库

关于 ops-projects

ops-projects 是基于本地注册表展示 GSD 项目组合的仪表板技能,呈现项目阶段、状态、分支和健康信息,适合追踪多个项目,并可按需刷新注册表。

主要功能

  1. 01根据项目注册表生成组合仪表板
  2. 02概览项目阶段与状态
  3. 03展示分支、未提交更改和阻塞项
  4. 04深入查看单个项目
  5. 05按需同步项目注册表

适用场景

  1. 01查看多个 GSD 项目的状态
  2. 02检查项目阶段与阻塞项
  3. 03查看前刷新项目数据

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/davepoon/buildwithclaude --skill ops-projects

安装后在 Claude Code 中输入/ops-projects确认已加载。

详细介绍

运行时上下文

渲染前,加载:

  1. 偏好设置:cat ${OPS_DATA_DIR:-$HOME/.claude/plugins/data/ops-ops-marketplace}/preferences.json — 读取 owner、timezone
  2. 守护进程健康状态:cat ${OPS_DATA_DIR}/daemon-health.json — 在仪表板页脚显示服务状态
  3. GSD 注册表:cat ${OPS_DATA_DIR}/registry.json — 主要项目索引(由守护进程每天更新两次,也可通过 --sync 按需更新)

OPS ► 项目 — GSD 项目组合仪表板

快速命令

# Refresh registry data on demand
bash ${CLAUDE_PLUGIN_ROOT}/scripts/ops-gsd-registry-sync.sh

# Show registry contents
cat ${OPS_DATA_DIR}/registry.json

# Show health summary
cat ${OPS_DATA_DIR}/cache/projects_health.json

数据流

~/Projects/              ~/gsd-workspaces/
    │                          │
    ▼                          ▼
 [project]/.planning/    [project]/.planning/
    │                          │
    ├── HANDOFF.json           ├── HANDOFF.json     ← active-phase projects
    ├── STATE.md               ├── MILESTONES.md
    ├── ROADMAP.md             └── STATE.md
    └── MILESTONES.md
              │
              ▼  ops-gsd-registry-sync.sh (daemon: 6am + 6pm)
                    │
                    ▼
              ${OPS_DATA_DIR}/
                  ├── registry.json          ← all projects, sorted by priority
                  └── cache/
                        └── projects_health.json  ← health summary
                              │
                              ▼  ops-projects skill reads this

仪表板输出

从 ${OPS_DATA_DIR}/cache/projects_health.json 构建仪表板(若文件缺失,则回退到 ${OPS_DATA_DIR}/registry.json)。显示:

╔══════════════════════════════════════════════════════════════╗
║  OPS ► PROJECTS          [owner]    [date]    [daemon status] ║
╠══════════════════════════════════════════════════════════════╣
║  GSD Portfolio — 23 projects                                 ║
║                                                              ║
║  🟢 EXECUTING (3)                                           ║
║    my-webapp            Phase 12  [executing]   branch: main  0 dirty ║
║    my-plugin            Phase 16  [executing]   branch: main  2 dirty ║
║    my-saas-app          Phase 39  [executing]   branch: dev   0 dirty ║
║                                                              ║
║  🟡 PAUSED (4)                                              ║
║    my-project-a         Phase 08  [paused]      branch: feat  1 dirty ║
║    my-project-b         Phase 3   [verifying]   branch: main  0 dirty ║
║    ...                                                          ║
║                                                              ║
║  🔴 BLOCKED (1)                                             ║
║    my-ecommerce         Phase 7   [await-UAT]   branch: prod  0 dirty ║
║                                                              ║
║  ⚪ IDLE / UNTRACKED (15)                                    ║
║    my-side-project      Phase 1   [complete]    branch: main  0 dirty ║
║    my-other-app         —         —              branch: dev  3 dirty ║
║    ...                                                          ║
╠══════════════════════════════════════════════════════════════╣
║  ⚡ Services: message-listener ● | inbox-digest ⏱ 2h | gsd-registry ⏱ 12h ║
╚══════════════════════════════════════════════════════════════╝
状态指示器(来自 status 字段,不区分大小写)
  • executing → 🟢
  • paused / verifying / phase_complete → 🟡
  • human / uat / blocked / pending → 🔴
  • 状态为空且有阶段 → ⚪(空闲)
  • 无阶段、无状态 → ⚪(未跟踪/无 GSD)
每个项目的列:别名 | 阶段 | 状态 | 分支 | 脏状态 | 下一步操作

项目深入查看

如果 $ARGUMENTS 包含项目别名,在注册表中查找该项目并显示:

╔══════════════════════════════════════════════════════════════╗
║  PROJECT — [alias]                                           ║
╠══════════════════════════════════════════════════════════════╣
║  Path:      ~/Projects/[alias]/                              ║
║  Phase:     [phase]  Status: [status]                       ║
║  Milestone: [milestone name]                                ║
║  Branch:    [branch]   Dirty: [N]  Unpushed: [N]            ║
║  Blockers:  [N]                                            ║
║  Next:      [next_action text]                              ║
║                                                              ║
║  GSD files: ✓ ROADMAP  ✓ MILESTONES  [HAS_HANDOFF] STATE   ║
╚══════════════════════════════════════════════════════════════╝

Actions:
  [1] Open project directory
  [2] Continue GSD (/gsd-next [alias])
  [3] Git: branch / status / log
  [4] Run /ops projects (back to portfolio)

列出编号操作,并让用户输入编号或操作名称进行选择。


--sync 标志

如果传入 --sync 或 --refresh,先运行注册表同步脚本,再显示更新后的仪表板:

bash ${CLAUDE_PLUGIN_ROOT}/scripts/ops-gsd-registry-sync.sh 2>&1

运行期间显示“正在刷新...”,随后呈现完整的更新后仪表板。


错误状态

  • 如果 registry.json 缺失或为空:显示一次性同步提示
    No project registry found. Run /ops projects --sync to build it.
    
  • 如果守护进程健康状态显示 action_needed:在警告横幅中提示

CLI 参考(手动使用)

命令功能
/ops projects显示完整项目组合
/ops projects [alias]深入查看单个项目
/ops projects --sync强制刷新注册表并显示仪表板
/ops:setup registry打开注册表设置(未来功能)

评论

支持 Markdown