Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

chore(cloud): enable the default-off plugins cloud lanes call in the bootstrap (slice 49)

未关闭
#7,007 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

还没有人认领这个 Issue。

评估

难度
4/5
预计耗时
3-5 天
新手友好度
22/100
Issue 类型
功能
描述清晰度
基本清楚
活跃度
活跃
技术栈
bash, shell
领域
cloud, tooling

调研方向

Start in .claude/cloud-bootstrap.sh to see how plugins are installed and where a lane_plugins array would go, then read .claude/settings.json for the default-off entries. Write the red cases first in .claude/hooks/cloud-bootstrap-plugins.test.sh, and finish when that test and shellcheck pass and docs/cloud-sessions.md documents the repo-agnostic effect. The plugin list depends on cloud lanes from #6202 and on a live cloud session, which are user gates.

由索引模型根据 Issue 内容生成。

描述

needs-triage priority: low

Why

The 2,000-PRs talk Brief (Q101, Q102) wants cloud lane sessions to load the default-off plugins their stage skills call on the normal path. A cloud session neither installs nor loads plugins that only the repository's settings turn on, so those stages lose their skills in cloud. This slice (49) was planned in the integration branch's WS-H plan, Phase 5, and deferred out of the integration PR.

Two changes since the plan:

  • mcp-tools and harness-memory are default-on since #6465, so the plan's step "add harness-ops and mcp-tools" no longer needs mcp-tools; re-derive the list at the current head.
  • The work waits on cloud lanes existing: #6202 (slice 125) holds the pipeline lanes. Derive the list from the lane stages that actually run in cloud once those lanes are deployed.

What

Derive, from each cloud lane stage's skills, the default-off plugins it calls; enable them at user scope in .claude/cloud-bootstrap.sh (lane_plugins array) with red tests first; document the account-scoped, repo-agnostic effect in docs/cloud-sessions.md; and confirm with one live cloud session that every listed plugin loads. HITL: a pushed branch, a forced snapshot rebuild and a live cloud session are user gates.

Deferred plan text

Copied from the integration branch's local plan (WS-H.md Phase 5), which is not in the repository. <S> was the local work folder. "record cloud-runtime ..." and "record hooks-settings ..." refer to local research records; recheck against current docs. "WS-M Phases 9-14" and "Phase 6" (inventory lists instruction files, slice 50) are merged.

### Phase 5: plugins for cloud lanes in the bootstrap (slice 49) [TODO]

Q101 (superseded-by-plan), Q102; settlement 1; H8, H8.1 (c). HITL (bootstrap; a pushed branch, a forced
snapshot rebuild and one live cloud session). Runs after WS-M Phases 9-14 merge, so the list reflects the
final stage skills [EXEC-SHAPE], and after Phase 6 (the live check runs the new inventory).

- [ ] Derive the list: for each lane stage (work-loop and work, verify, babysit-prs and pull-request,
      post-merge confirm, triage, scheduled drain), the default-off plugins its skills call on their
      normal path in this repo, by reading each stage skill's gates at the merged head; add harness-ops and
      mcp-tools (Q102). Write the list and the reason for each id into the commit body. Count first: state
      the number of ids before editing (user CLAUDE.md, Bulk mutation). Where the derivation differs from
      the required-plugin table in `docs/conventions/execution-target/README.md`, update that table.
- [ ] State in `docs/cloud-sessions.md`: cloud environments are account-scoped and repo-agnostic
      (`docs/cloud-fleet-setup.md:30-33`), the snapshot bakes whichever repo's bootstrap built it, so these
      enables apply to every repo's sessions on that environment; a cloud session neither installs nor loads
      plugins the repository's settings turn on (record cloud-runtime A1), so settings-only default-off
      plugins stay off in cloud; plugin versions stay fixed until the cache rebuilds (record cloud-runtime
      R3).
- [ ] Red cases first in `.claude/hooks/cloud-bootstrap-plugins.test.sh`: a listed id is installed and
      enabled at user scope and must end `enabled: true`; a settings-only default-off id keeps today's
      disabled end state; no listed id carries a `false` key in `.claude/settings.json` (a project or local
      `false` beats a user-scope enable, record hooks-settings 4b).
- [ ] `.claude/cloud-bootstrap.sh`: a `lane_plugins` array; install then `plugin enable --scope user`
      for each (record hooks-settings 4a; record cloud-runtime A2); end-state check per the cases. No
      official-marketplace install (no lane stage calls one at HEAD). `.claude/settings.json` unchanged.
- [ ] Live check (user gates, in order): push the slice branch to `origin`; force a snapshot rebuild with a
      trivial edit to the environment's script field (`docs/cloud-fleet-setup.md:174-176`); start one cloud
      session on that branch that records the snapshot stamp (`/opt/melodic-env-setup.done`) and whether
      the session resumed, lists its loaded plugins, runs `/harness-ops:inventory --out <file>` and pushes
      the report to the throwaway branch `ws-h-probe/cloud-inventory`; locally, fetch it and run the
      inventory with `--diff` against a local run (Q102); the coordinator deletes the throwaway branch.
      Record `<S>/probes/cloud-plugin-load.md` with `snapshot: <stamp>`, `resumed: yes|no`,
      `result: all-loaded` or `result: missing: <ids>`, and `inventory-diff: <summary>`. If ids are
      missing, stop before the coordinator merge and ask the user [FALLBACK].
- [ ] Commit `chore(cloud): enable the default-off plugins cloud lanes call`.

**Sanity Check:** after the coordinator merge,
`bash .claude/hooks/cloud-bootstrap-plugins.test.sh` exits 0;
`shellcheck .claude/cloud-bootstrap.sh` exits 0;
`comm -12 <(sed -n '/^lane_plugins=(/,/)/p' .claude/cloud-bootstrap.sh | grep -oE '[a-z0-9-]+@melodic-software' | sort) <(jq -r '.enabledPlugins | to_entries[] | select(.value == false) | .key' .claude/settings.json | sort)` prints nothing;
`for p in harness-ops mcp-tools; do sed -n '/^lane_plugins=(/,/)/p' .claude/cloud-bootstrap.sh | grep -q "$p@melodic-software" || echo "MISSING $p"; done` prints nothing;
`git diff origin/main -- .claude/settings.json` prints nothing;
`for k in snapshot resumed result inventory-diff; do grep -qE "^$k: " <S>/probes/cloud-plugin-load.md || echo "MISSING $k"; done` prints nothing;
`grep -c 'repo-agnostic' docs/cloud-sessions.md` is at least `1`;
`npx markdownlint-cli2 docs/cloud-sessions.md docs/conventions/execution-target/README.md` exits 0;
`git -C <worktree> merge-base --is-ancestor slice/49-cloud-lane-plugins HEAD` exits 0.

Acceptance

  • The id count is stated before editing, and each id's reason is in the commit body.
  • .claude/hooks/cloud-bootstrap-plugins.test.sh passes, with the red cases written first.
  • No listed id carries a false key in .claude/settings.json, and .claude/settings.json is unchanged.
  • One live cloud session records result: all-loaded, or the missing ids go to the user before merge.

Refs: #6085
Refs: #6202

主要语言
Shell
星标
22
派生
2
平均合并
8 小时 27 分钟
30 天内合并 PR
957

环境准备

  • 没有 Dockerfile 或 Docker Compose 文件
  • 没有 Pull Request 模板
  • 阅读贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

melodic-software/claude-code-plugins 的其他 Issue

查看 melodic-software/claude-code-plugins 的全部 Issue

相似的 Issue

更多 Shell/Bash Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。