Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
74 changes: 71 additions & 3 deletions .claude/settings.json
Original file line number Diff line number Diff line change
@@ -1,16 +1,84 @@
{
"$schema": "https://json.schemastore.org/claude-code-settings.json",
"env": {
"HOOK_TELEMETRY_SINK": ".claude/hooks/hook-telemetry-sink.sh"
},
"worktree": {
"baseRef": "head"
},
"enabledPlugins": {
"actionlint@melodic-software": true,
"adhd@melodic-software": true,
"ai-briefing@melodic-software": true,
"architecture@melodic-software": true,
"autonomy@melodic-software": true,
"bash-format@melodic-software": true,
"biome-format@melodic-software": true,
"bug-report@melodic-software": true,
"claude-config@melodic-software": true,
"claude-memory@melodic-software": true,
"claude-ops@melodic-software": true,
"code-tidying@melodic-software": true,
"codebase-health@melodic-software": true,
"computer-use@melodic-software": true,
"context-guard@melodic-software": true,
"context7@melodic-software": true,
"debugging@melodic-software": true,
"desktop-notification@melodic-software": true,
"discipline@melodic-software": true,
"discovery@melodic-software": true,
"disk-hygiene@melodic-software": true,
"docs-hygiene@melodic-software": true,
"domain-driven-design@melodic-software": true,
"dometrain@melodic-software": true,
"education@melodic-software": true,
"eol-normalizer@melodic-software": true,
"evals@melodic-software": true,
"event-storming@melodic-software": true,
"firecrawl@melodic-software": true,
"github@melodic-software": true,
"go-format@melodic-software": true,
"guardrails@melodic-software": true,
"implementation@melodic-software": true,
"kindle-dedrm@melodic-software": true,
"knowledge@melodic-software": true,
"machine-health@melodic-software": true,
"markdown-format@melodic-software": true,
"mcp-tools@melodic-software": true,
"miro@melodic-software": true,
"mutation-testing@melodic-software": true,
"naming@melodic-software": true,
"planning@melodic-software": true,
"playbooks@melodic-software": true,
"playwright@melodic-software": true,
"plugin-quality@melodic-software": true,
"powershell-format@melodic-software": true,
"prototype@melodic-software": true,
"rate-limit-guard@melodic-software": true,
"repo-fleet-hygiene@melodic-software": true,
"repo-hygiene@melodic-software": true,
"review@melodic-software": true,
"ruff-format@melodic-software": true,
"session-flow@melodic-software": true,
"skill-quality@melodic-software": true,
"songwriting@melodic-software": true,
"source-control@melodic-software": true,
"tdd@melodic-software": true,
"testing@melodic-software": true,
"toolchain@melodic-software": true,
"typos-format@melodic-software": true,
"verification@melodic-software": true,
"visualization@melodic-software": true,
"wizard@melodic-software": true,
"work-items@melodic-software": true,
"x@melodic-software": true
},
"extraKnownMarketplaces": {
"melodic-software": {
"source": {
"source": "directory",
"path": "./"
}
}
},
"worktree": {
"baseRef": "head"
}
}
2 changes: 1 addition & 1 deletion docs/CLOUD-FLEET-SETUP.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ Go plus the module `toolchain` mechanism covers this); **PowerShell** (`pwsh`

| Repo | Stack / pins | `.claude/` today | Cloud needs beyond the shared env |
|---|---|---|---|
| claude-code-plugins | Node (`.node-version`), npm, ruff, lint pins | Full bootstrap hook exists but is **not registered** (see [findings](#findings)); marketplace declared (`directory` source) | Re-register the SessionStart hook (and decide `enabledPlugins`) |
| claude-code-plugins | Node (`.node-version`), npm, ruff, lint pins | Full bootstrap hook exists but is **not registered** (see [findings](#findings)); marketplace declared (`directory` source); full catalog enabled | Re-register the SessionStart hook |
| medley | .NET 10.0.302 (repo-local `.dotnet` supported), Node 24.18.0, Python 3.14, npm, Playwright visual CI | Rich guard/telemetry hooks, 54 plugins, 13 `.mcp.json` servers — **no dependency bootstrap hook** | Add bootstrap hook: .NET into `.dotnet`, `npm ci`, `uv sync`; Playwright browsers on demand |
| github-iac | .NET 10.0.302, Pulumi (C#), Node 24.18.0, npm | settings + CLAUDE.md, no bootstrap hook | Add bootstrap hook (.NET, `npm ci`); `pulumi` CLI only if sessions should run previews |
| ci-workflows | .NET 10.0.400, pwsh + Pester + PSScriptAnalyzer, Go fixtures | settings + CLAUDE.md, no bootstrap hook | Add bootstrap hook (.NET 10.0.400); pwsh comes from the shared env |
Expand Down
17 changes: 11 additions & 6 deletions docs/CLOUD-SESSIONS.md
Original file line number Diff line number Diff line change
Expand Up @@ -178,12 +178,17 @@ is the documented path for cloud sessions (see
[resolves against the repository's checkout](https://code.claude.com/docs/en/plugin-marketplaces#relative-paths)
— cloud sessions install from the clone at session start; local collaborators are prompted
once they trust the folder.
- `enabledPlugins` turns on a deliberately lean default set, curated to mirror this repo's own
gates rather than everything the marketplace ships (every enabled plugin adds per-turn context
cost): the six format/lint-on-edit hooks (`markdown-format`, `bash-format`, `biome-format`,
`typos-format`, `actionlint`, `eol-normalizer`), plus `guardrails`, `source-control`, and
`skill-quality`. The session-start hook provisions every tool those hooks shell out to.
- Everything else stays on demand: `/plugin install <name>@melodic-software` in any session.
- `enabledPlugins` turns on the whole catalog, so this repo dogfoods everything it publishes and a
regression in any plugin surfaces here first. The trade is context: every enabled plugin adds
per-turn cost, so a *consumer* repo should enable only the plugins it needs rather than copying
this set wholesale. The session-start hook provisions every tool the format/lint-on-edit hooks
(`markdown-format`, `bash-format`, `biome-format`, `typos-format`, `actionlint`,
`eol-normalizer`) shell out to.
- Entries are sorted alphabetically, one per line, so a single plugin can be flipped to `false`
without disturbing the rest. Two entries carry required `userConfig` credentials that are unset
here — `miro` (`miro_api_token`) and `dometrain` (`dometrain_api_key`) — so their bundled MCP
servers exit at startup until configured; set them with `/plugin configure`, or flip those two
to `false` if a session shouldn't try.

### GitHub MCP tools vs the gh CLI

Expand Down