autonomous-sdlc-harness 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (171) hide show
  1. package/LICENSE +201 -0
  2. package/NOTICE +7 -0
  3. package/README.md +24 -0
  4. package/dist/cli.js +194 -0
  5. package/dist/cli.js.map +1 -0
  6. package/dist/commands/config.js +561 -0
  7. package/dist/commands/config.js.map +1 -0
  8. package/dist/commands/daemon.js +791 -0
  9. package/dist/commands/daemon.js.map +1 -0
  10. package/dist/commands/doctor.js +336 -0
  11. package/dist/commands/doctor.js.map +1 -0
  12. package/dist/commands/init.js +2023 -0
  13. package/dist/commands/init.js.map +1 -0
  14. package/dist/commands/registry.js +42 -0
  15. package/dist/commands/registry.js.map +1 -0
  16. package/dist/config/check.js +505 -0
  17. package/dist/config/check.js.map +1 -0
  18. package/dist/config/io.js +177 -0
  19. package/dist/config/io.js.map +1 -0
  20. package/dist/config/model.js +406 -0
  21. package/dist/config/model.js.map +1 -0
  22. package/dist/core/errors.js +71 -0
  23. package/dist/core/errors.js.map +1 -0
  24. package/dist/core/git.js +537 -0
  25. package/dist/core/git.js.map +1 -0
  26. package/dist/core/json.js +125 -0
  27. package/dist/core/json.js.map +1 -0
  28. package/dist/core/layerCoverage.js +141 -0
  29. package/dist/core/layerCoverage.js.map +1 -0
  30. package/dist/core/layerGapRemedy.js +62 -0
  31. package/dist/core/layerGapRemedy.js.map +1 -0
  32. package/dist/core/nameList.js +23 -0
  33. package/dist/core/nameList.js.map +1 -0
  34. package/dist/core/paths.js +153 -0
  35. package/dist/core/paths.js.map +1 -0
  36. package/dist/core/prompt.js +206 -0
  37. package/dist/core/prompt.js.map +1 -0
  38. package/dist/core/repoPaths.js +55 -0
  39. package/dist/core/repoPaths.js.map +1 -0
  40. package/dist/core/report.js +150 -0
  41. package/dist/core/report.js.map +1 -0
  42. package/dist/core/templating.js +88 -0
  43. package/dist/core/templating.js.map +1 -0
  44. package/dist/core/writer.js +479 -0
  45. package/dist/core/writer.js.map +1 -0
  46. package/dist/daemon/backend.js +180 -0
  47. package/dist/daemon/backend.js.map +1 -0
  48. package/dist/daemon/units.js +380 -0
  49. package/dist/daemon/units.js.map +1 -0
  50. package/dist/detect/nestedApplication.js +79 -0
  51. package/dist/detect/nestedApplication.js.map +1 -0
  52. package/dist/detect/presets.js +2033 -0
  53. package/dist/detect/presets.js.map +1 -0
  54. package/dist/detect/signals.js +1368 -0
  55. package/dist/detect/signals.js.map +1 -0
  56. package/dist/doctor/checks.js +3530 -0
  57. package/dist/doctor/checks.js.map +1 -0
  58. package/dist/generators/claudeContext.js +588 -0
  59. package/dist/generators/claudeContext.js.map +1 -0
  60. package/dist/generators/githooks.js +446 -0
  61. package/dist/generators/githooks.js.map +1 -0
  62. package/dist/generators/harnessConfig.js +632 -0
  63. package/dist/generators/harnessConfig.js.map +1 -0
  64. package/dist/generators/notifications.js +191 -0
  65. package/dist/generators/notifications.js.map +1 -0
  66. package/dist/generators/outerLoopScripts.js +165 -0
  67. package/dist/generators/outerLoopScripts.js.map +1 -0
  68. package/dist/generators/permissionProfile.js +1172 -0
  69. package/dist/generators/permissionProfile.js.map +1 -0
  70. package/dist/generators/projectSettings.js +322 -0
  71. package/dist/generators/projectSettings.js.map +1 -0
  72. package/dist/generators/repoRoot.js +417 -0
  73. package/dist/generators/repoRoot.js.map +1 -0
  74. package/dist/generators/scripts.js +557 -0
  75. package/dist/generators/scripts.js.map +1 -0
  76. package/dist/generators/stateDir.js +221 -0
  77. package/dist/generators/stateDir.js.map +1 -0
  78. package/dist/machine/paths.js +111 -0
  79. package/dist/machine/paths.js.map +1 -0
  80. package/dist/machine/plugins.js +224 -0
  81. package/dist/machine/plugins.js.map +1 -0
  82. package/dist/machine/registry.js +330 -0
  83. package/dist/machine/registry.js.map +1 -0
  84. package/package.json +23 -0
  85. package/scripts/README.md +13 -0
  86. package/scripts/daemon/launchd.plist.template +59 -0
  87. package/scripts/daemon/systemd.service.template +58 -0
  88. package/templates/README.md +15 -0
  89. package/templates/claude/CLAUDE.md +54 -0
  90. package/templates/claude/README.md +5 -0
  91. package/templates/claude/context/api.md +29 -0
  92. package/templates/claude/context/conventions.md +23 -0
  93. package/templates/claude/context/data-layer.md +28 -0
  94. package/templates/claude/context/data-storage.md +29 -0
  95. package/templates/claude/context/docs-catalog.md +29 -0
  96. package/templates/claude/context/domain.md +28 -0
  97. package/templates/claude/context/layer.md +20 -0
  98. package/templates/claude/context/module.md +30 -0
  99. package/templates/claude/context/package.md +29 -0
  100. package/templates/claude/context/presentation.md +32 -0
  101. package/templates/claude/context/state-slices.md +28 -0
  102. package/templates/claude/context/tests.md +28 -0
  103. package/templates/claude/harness-task-offer.md +58 -0
  104. package/templates/claude/push-notify.env.example +21 -0
  105. package/templates/claude/qa-accounts.env.example +38 -0
  106. package/templates/claude/qa_test_scenarios.md +110 -0
  107. package/templates/claude/settings.autonomous.json +93 -0
  108. package/templates/claude/settings.autonomous.qa.json +36 -0
  109. package/templates/githooks/README.md +3 -0
  110. package/templates/githooks/pre-push +72 -0
  111. package/templates/repo/README.md +3 -0
  112. package/templates/repo/gitattributes +16 -0
  113. package/templates/repo/gitignore +61 -0
  114. package/templates/repo/gitignore.qa +25 -0
  115. package/templates/repo/mcp.json +17 -0
  116. package/templates/scripts/README.md +5 -0
  117. package/templates/scripts/autonomous-format-stream.sh +95 -0
  118. package/templates/scripts/autonomous-notify.sh +337 -0
  119. package/templates/scripts/autonomous-watcher.sh +3087 -0
  120. package/templates/scripts/cleanup-merged-worktrees.sh +327 -0
  121. package/templates/scripts/commit-on-branch.sh +288 -0
  122. package/templates/scripts/create-worktree.sh +360 -0
  123. package/templates/scripts/deploy.sh +47 -0
  124. package/templates/scripts/lib/harness-run-lib.sh +1481 -0
  125. package/templates/scripts/push-branch.sh +140 -0
  126. package/templates/scripts/refresh-branch.sh +244 -0
  127. package/templates/scripts/restart-watcher.sh +401 -0
  128. package/templates/scripts/scratch-run.sh +302 -0
  129. package/templates/scripts/setup-worktree.sh +262 -0
  130. package/templates/scripts/start-dev-server.sh +99 -0
  131. package/templates/scripts/test.sh +50 -0
  132. package/templates/scripts/typecheck.sh +50 -0
  133. package/templates/state-dir/README-root.md +13 -0
  134. package/templates/state-dir/README.md +9 -0
  135. package/templates/state-dir/architecture_branch_review_point_reviews/README.md +9 -0
  136. package/templates/state-dir/architecture_branch_reviews/README.md +9 -0
  137. package/templates/state-dir/architecture_reviews/README.md +9 -0
  138. package/templates/state-dir/architecture_user_review_reviews/README.md +9 -0
  139. package/templates/state-dir/autonomous_inbox/README.md +9 -0
  140. package/templates/state-dir/autonomous_logs/README.md +9 -0
  141. package/templates/state-dir/branch_statistics/README.md +9 -0
  142. package/templates/state-dir/business_parity_branch_review_point_reviews/README.md +9 -0
  143. package/templates/state-dir/business_parity_branch_reviews/README.md +9 -0
  144. package/templates/state-dir/business_parity_reviews/README.md +9 -0
  145. package/templates/state-dir/business_parity_user_review_reviews/README.md +9 -0
  146. package/templates/state-dir/clarification_digests/README.md +9 -0
  147. package/templates/state-dir/clarifications/README.md +9 -0
  148. package/templates/state-dir/code_reviews/README.md +9 -0
  149. package/templates/state-dir/dispatch_additions/README.md +19 -0
  150. package/templates/state-dir/docs_catalog/README.md +9 -0
  151. package/templates/state-dir/flow_progress/README.md +9 -0
  152. package/templates/state-dir/improvement_observations/README.md +19 -0
  153. package/templates/state-dir/improvement_suggestions.md +29 -0
  154. package/templates/state-dir/lessons.md +23 -0
  155. package/templates/state-dir/qa_review_point_reviews/README.md +9 -0
  156. package/templates/state-dir/qa_reviews/README.md +9 -0
  157. package/templates/state-dir/review_plan_point_reviews/README.md +9 -0
  158. package/templates/state-dir/review_plan_reviews/README.md +9 -0
  159. package/templates/state-dir/scratch/README.md +11 -0
  160. package/templates/state-dir/skeptic_review_plan_reviews/README.md +9 -0
  161. package/templates/state-dir/skeptic_review_point_reviews/README.md +9 -0
  162. package/templates/state-dir/skeptic_reviews/README.md +9 -0
  163. package/templates/state-dir/story_plans/README.md +9 -0
  164. package/templates/state-dir/task_plan_point_reviews/README.md +9 -0
  165. package/templates/state-dir/task_plan_reviews/README.md +9 -0
  166. package/templates/state-dir/task_plans/README.md +9 -0
  167. package/templates/state-dir/task_prompts/README.md +9 -0
  168. package/templates/state-dir/ui_test_plan_reviews/README.md +9 -0
  169. package/templates/state-dir/ui_test_plans/README.md +9 -0
  170. package/templates/state-dir/user_review_fix_plan_point_reviews/README.md +9 -0
  171. package/templates/state-dir/user_reviews/README.md +9 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"permissionProfile.js","sourceRoot":"","sources":["../../src/generators/permissionProfile.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,322 @@
1
+ /**
2
+ * Generator: the adopting repository's committable `.claude/settings.json` — the project-scope
3
+ * keys that make a teammate's clone resolve this harness's plugin without wiring anything by hand.
4
+ *
5
+ * **The rule this module exists to enforce: the two keys are written together or not at all.**
6
+ * They were measured coming from two *different* commands — `enabledPlugins` from
7
+ * `plugin install --scope project`, `extraKnownMarketplaces` from
8
+ * `plugin marketplace add --scope project` — which is exactly why writing one of them reads like
9
+ * the job is done while leaving the clone broken: `enabledPlugins` alone enables a plugin from a
10
+ * marketplace the clone has never heard of, and the marketplace entry alone registers a source
11
+ * nothing installs from. Committing both **is** the onboard-your-team step; there is no second
12
+ * step a teammate performs.
13
+ *
14
+ * ## Three non-obvious choices, and where each comes from
15
+ *
16
+ * 1. **The identity is resolved here, in one place, and the owner is parsed rather than written
17
+ * down.** {@link PLUGIN_NAME} and {@link MARKETPLACE_NAME} mirror the two manifests named on
18
+ * them, and their composite is the key `enabledPlugins` is measured to use. The owner half of
19
+ * the slug comes from this CLI package's own `repository.url` — the one value that already has
20
+ * to be right for the package to be published — so no account name is hardcoded anywhere in
21
+ * the CLI, and a fork inherits its own.
22
+ * 2. **An unresolved owner writes no `extraKnownMarketplaces` key at all**, rather than a key
23
+ * holding a placeholder. A placeholder in an adopter's *committed* settings is worse than the
24
+ * absence: it is a value that looks configured, survives review, and fails only at the moment a
25
+ * teammate tries to use it. The absence is instead reported — loudly, naming the flag that
26
+ * fixes it now — and `doctor` reports it again on every later run.
27
+ * 3. **`merge-json`, missing keys only.** `.claude/settings.json` is shared with tooling this
28
+ * harness knows nothing about, and an adopter's file may already carry permissions, hooks or
29
+ * model settings. Nothing existing is overwritten, reordered or removed; a second `init` adds
30
+ * nothing and the write engine reports the file as `kept` rather than silently no-oping
31
+ * (`core/writer.ts`).
32
+ *
33
+ * ## The entry's shape, and how it was measured
34
+ *
35
+ * {@link marketplaceEntry} writes
36
+ * `{ "<marketplace>": { "source": { "source": "github", "repo": "<owner>/<repo>" } } }`: `source`
37
+ * is an **object**, and the `"github"` discriminator sits inside it. Measured on Claude Code
38
+ * 2.1.246 by running `claude plugin marketplace add <owner>/<repo> --scope project` in a throwaway
39
+ * repository and reading back the `.claude/settings.json` it wrote, cross-checked against the
40
+ * directory-source entry the same command writes into user settings. A settings file carrying the
41
+ * two inner fields at the entry's top level is *ignored* with a `Settings Warning`, so the clone
42
+ * enables a plugin from a marketplace it was never told about.
43
+ *
44
+ * That shape was assumed until an adopter met it, on the reasoning that `marketplace add` rejects
45
+ * `file://` — it does (`docs/development.md` §1) — and so the story could not be rehearsed
46
+ * offline. **The second half never followed from the first.** The authority was never a published
47
+ * repository — it is whatever `marketplace add` writes into a settings file, and a *directory*
48
+ * source is one of the accepted forms and answers the nesting question identically. It was
49
+ * measurable offline the whole time. The superseded paragraph here also promised
50
+ * {@link marketplaceEntry} was the only thing a correction would touch; that proved false too,
51
+ * because `doctor`'s `plugin-wiring` check and two `cli/test/init.test.mjs` assertions had
52
+ * encoded the same shape and changed with it. `doctor` no longer holds a copy:
53
+ * {@link marketplaceEntryDefect} is what it asks, so the next correction here reaches it.
54
+ *
55
+ * Nothing here touches the filesystem beyond reading this package's own manifest: the generator
56
+ * plans, and `init` applies the plan once.
57
+ */
58
+ import { createRequire } from 'node:module';
59
+ import { join } from 'node:path';
60
+ import { HarnessError, internal } from '../core/errors.js';
61
+ import { isJsonObject } from '../core/json.js';
62
+ import { packageRoot, parseRepoSlug } from '../core/paths.js';
63
+ /**
64
+ * The plugin's name, mirroring `plugin/.claude-plugin/plugin.json`'s `name`.
65
+ *
66
+ * A second spelling of either manifest's name is the failure this constant exists to prevent: the
67
+ * composite below is matched against the installed plugin by string, so a rename that reaches only
68
+ * one of the two files produces a settings file that is valid, committed, and enables nothing.
69
+ *
70
+ * `claudeContext.ts` renders it into the task-offer template's `{{pluginName}}` for the same reason:
71
+ * the `<plugin>:branch-prompt` skill that file's answer-1 path invokes is that name, and a shipped
72
+ * literal there would survive a rename in every adopter's checkout with nothing reporting it.
73
+ */
74
+ export const PLUGIN_NAME = 'autonomous-sdlc-harness';
75
+ /** The marketplace's name, mirroring `.claude-plugin/marketplace.json`'s `name`. */
76
+ export const MARKETPLACE_NAME = 'autonomous-sdlc-harness';
77
+ /**
78
+ * The key `enabledPlugins` holds — `<plugin>@<marketplace>`, the composite a project-scope
79
+ * install writes.
80
+ *
81
+ * Exported because `doctor` checks for this exact string and the fixture tests assert it; each of
82
+ * them re-deriving it from the two names would be a third place the composition rule lives.
83
+ *
84
+ * The plugin and the marketplace deliberately carry the same name, so the composite reads
85
+ * `autonomous-sdlc-harness@autonomous-sdlc-harness`; the doubling is correct and must not be
86
+ * collapsed.
87
+ */
88
+ export const PLUGIN_KEY = `${PLUGIN_NAME}@${MARKETPLACE_NAME}`;
89
+ /** The key written by a project-scope `plugin install`. */
90
+ export const ENABLED_PLUGINS_KEY = 'enabledPlugins';
91
+ /** The key written by a project-scope `plugin marketplace add`. */
92
+ export const MARKETPLACES_KEY = 'extraKnownMarketplaces';
93
+ /** The inner `source` discriminator for a marketplace published as a repository — see the header. */
94
+ const MARKETPLACE_SOURCE = 'github';
95
+ /**
96
+ * The two key names the entry is built from: the outer one holding the nested object, and the inner
97
+ * one holding the slug. The outer `source` key and the inner discriminator share a spelling, which
98
+ * is exactly the collision a flattened copy of this shape loses — so both are named once here and
99
+ * every reader of the shape descends through these rather than through literals of its own.
100
+ */
101
+ const MARKETPLACE_SOURCE_KEY = 'source';
102
+ const MARKETPLACE_REPO_KEY = 'repo';
103
+ /** The adopter-side directory the settings file lands in. The dot is added here, at `init` time. */
104
+ const CLAUDE_DIR = '.claude';
105
+ /**
106
+ * Where the file is written, relative to the adopting repository's root.
107
+ *
108
+ * Exported because more than one caller says it: `init`'s summary points at it as the file to
109
+ * commit, and `doctor` reads it to check that both keys are still there.
110
+ */
111
+ export const SETTINGS_PATH = `${CLAUDE_DIR}/settings.json`;
112
+ /**
113
+ * The flag that supplies the slug when this package's manifest cannot, and the shape it takes —
114
+ * which is also the shape a parsed manifest URL has to match.
115
+ *
116
+ * Both are exported because `init`'s closing report names them in the same breath the warning below
117
+ * does, on the same unresolved-slug run: a second copy of either literal there could drift from the
118
+ * line an adopter reads a few lines earlier.
119
+ */
120
+ export const MARKETPLACE_FLAG = '--marketplace';
121
+ export const SLUG_SHAPE = '<owner>/<repo>';
122
+ /**
123
+ * A hosted account name: alphanumeric, single inner hyphens permitted, no leading or trailing one.
124
+ *
125
+ * This is the whole of how an unresolved owner is detected, and it is deliberately a **shape**
126
+ * check rather than a comparison against the placeholder literal: a manifest that has been
127
+ * half-filled, templated differently, or left with angle brackets all fail the same way, and the
128
+ * CLI never has to carry a copy of the placeholder text to recognise it.
129
+ */
130
+ const OWNER_PATTERN = /^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$/;
131
+ /** A repository name: the character set a hosted repository is allowed to use. */
132
+ const REPO_PATTERN = /^[A-Za-z0-9._-]+$/;
133
+ /**
134
+ * `require` for this module, so the CLI's own manifest can be read the same way `cli.ts` reads it
135
+ * for `--version` — deliberately not a static JSON import, which under `rootDir: "src"` would drag
136
+ * the manifest into `dist/`.
137
+ */
138
+ const requireFromHere = createRequire(import.meta.url);
139
+ /**
140
+ * This package's `repository.url`, in whichever of the two manifest forms it was written.
141
+ *
142
+ * The manifest is addressed as a path joined onto {@link packageRoot} rather than as the relative
143
+ * specifier `cli.ts` uses: this module compiles one directory deeper, so a copied `../package.json`
144
+ * would resolve to a file that does not exist, and `core/paths.ts` is the one place allowed to know
145
+ * how deep the compiled tree is.
146
+ */
147
+ function packageRepositoryUrl() {
148
+ const manifestPath = join(packageRoot(), 'package.json');
149
+ let manifest;
150
+ try {
151
+ manifest = requireFromHere(manifestPath);
152
+ }
153
+ catch (error) {
154
+ const detail = error instanceof Error ? error.message : String(error);
155
+ throw internal(`this CLI's own manifest could not be read at ${manifestPath} (${detail})`);
156
+ }
157
+ const { repository } = manifest;
158
+ if (typeof repository === 'string')
159
+ return repository;
160
+ return repository?.url;
161
+ }
162
+ /** True when both halves of a slug name something real rather than a placeholder. */
163
+ function isResolvedSlug(slug) {
164
+ const segments = slug.split('/');
165
+ if (segments.length !== 2)
166
+ return false;
167
+ const [owner, repo] = segments;
168
+ return OWNER_PATTERN.test(owner) && REPO_PATTERN.test(repo);
169
+ }
170
+ /**
171
+ * Normalise a slug given on the command line: a stray `.git` suffix or surrounding slashes are a
172
+ * copy-paste artefact of the URL it was taken from, not a different repository.
173
+ */
174
+ function normalizeSlug(value) {
175
+ return value
176
+ .trim()
177
+ .replace(/^\/+|\/+$/g, '')
178
+ .replace(/\.git$/, '');
179
+ }
180
+ /**
181
+ * The `<owner>/<repo>` the marketplace is published from, or `undefined` when it is not yet known.
182
+ *
183
+ * The flag wins where it is given, and a malformed one is refused rather than written: an adopter
184
+ * who mistypes it would otherwise commit a settings file naming a repository that does not exist,
185
+ * which fails at a teammate's clone rather than at the run that caused it. A manifest URL that
186
+ * carries no resolvable pair yields `undefined` — the state a fork with an unfilled manifest reaches,
187
+ * not this package's, whose manifest names a resolved owner — and the caller degrades to the
188
+ * one-key payload.
189
+ */
190
+ function resolveSlug(flag) {
191
+ if (flag !== undefined) {
192
+ const slug = normalizeSlug(flag);
193
+ if (!isResolvedSlug(slug)) {
194
+ throw new HarnessError(`${MARKETPLACE_FLAG} takes the marketplace repository as ${SLUG_SHAPE}, and ${JSON.stringify(flag)} is not that shape: it is written verbatim into the committed ${SETTINGS_PATH}, so a value that names no real repository would fail at a teammate's clone rather than here`);
195
+ }
196
+ return slug;
197
+ }
198
+ const url = packageRepositoryUrl();
199
+ if (url === undefined)
200
+ return undefined;
201
+ const parsed = parseRepoSlug(url);
202
+ if (parsed === undefined || !isResolvedSlug(parsed))
203
+ return undefined;
204
+ return parsed;
205
+ }
206
+ /** The `extraKnownMarketplaces` value for a resolved slug — the shape the header records measuring. */
207
+ function marketplaceEntry(slug) {
208
+ return {
209
+ [MARKETPLACE_NAME]: {
210
+ [MARKETPLACE_SOURCE_KEY]: { [MARKETPLACE_SOURCE_KEY]: MARKETPLACE_SOURCE, [MARKETPLACE_REPO_KEY]: slug },
211
+ },
212
+ };
213
+ }
214
+ /**
215
+ * The entry an adopter retypes when they repair one by hand, rendered from {@link marketplaceEntry}
216
+ * itself with {@link SLUG_SHAPE} standing in for the slug.
217
+ *
218
+ * Derived rather than written out, because the one consumer is `doctor`'s repair advice and a
219
+ * hand-written example there would be a second spelling of the very shape it is grading.
220
+ */
221
+ export const MARKETPLACE_ENTRY_SHAPE = JSON.stringify(marketplaceEntry(SLUG_SHAPE)[MARKETPLACE_NAME]);
222
+ /**
223
+ * What is wrong with a committed `extraKnownMarketplaces` entry's **value**, or `undefined` when
224
+ * nothing is.
225
+ *
226
+ * Exported because the header's shape is graded in a second place — `doctor`'s `plugin-wiring`
227
+ * check — and a check that descended through the nesting for itself would be the second copy
228
+ * choice 1 exists to prevent. The flattened shape is what a second copy drifts back into, and it is
229
+ * the one this has to catch: the host tool ignores an entry carrying the two inner fields at the
230
+ * top level, so the clone enables a plugin from a marketplace it was never told about.
231
+ *
232
+ * It grades the inner fields of one source name only — {@link MARKETPLACE_SOURCE}, the one this
233
+ * generator writes. An entry naming any other source is graded to the nesting level and no
234
+ * further: a `directory` source is what a contributor's own `marketplace add` from a clone writes
235
+ * (`docs/development.md` §1), the host tool accepts it, and grading it against `repo` would
236
+ * report a working wiring as malformed.
237
+ *
238
+ * The return is the **clause** naming what is wrong, not a whole message. The grade and the repair
239
+ * routes belong to the caller: they turn on how `.claude/settings.json` is merged (choice 3) rather
240
+ * than on what the shape is.
241
+ */
242
+ export function marketplaceEntryDefect(entry) {
243
+ if (!isJsonObject(entry))
244
+ return `its value is ${JSON.stringify(entry ?? null)} rather than an object`;
245
+ const source = entry[MARKETPLACE_SOURCE_KEY];
246
+ if (source === undefined)
247
+ return `it carries no \`${MARKETPLACE_SOURCE_KEY}\` key`;
248
+ if (!isJsonObject(source)) {
249
+ const flattened = Object.hasOwn(entry, MARKETPLACE_REPO_KEY)
250
+ ? ` — the flattened shape, with \`${MARKETPLACE_SOURCE_KEY}\` and \`${MARKETPLACE_REPO_KEY}\` at the entry's own top level rather than inside a nested object`
251
+ : '';
252
+ return `its \`${MARKETPLACE_SOURCE_KEY}\` is ${JSON.stringify(source)} rather than an object${flattened}`;
253
+ }
254
+ const discriminator = source[MARKETPLACE_SOURCE_KEY];
255
+ if (typeof discriminator !== 'string') {
256
+ return `its \`${MARKETPLACE_SOURCE_KEY}.${MARKETPLACE_SOURCE_KEY}\` is ${JSON.stringify(discriminator ?? null)} rather than a source name such as \`${MARKETPLACE_SOURCE}\``;
257
+ }
258
+ // Only the source name this generator writes has a known inner field to grade. Another source
259
+ // name is one the host tool accepts and this CLI did not write — a directory-sourced add from a
260
+ // clone is the ordinary case (`docs/development.md` §1) — so the shape check stops here rather
261
+ // than reporting a working entry as malformed.
262
+ if (discriminator !== MARKETPLACE_SOURCE)
263
+ return undefined;
264
+ const repo = source[MARKETPLACE_REPO_KEY];
265
+ if (typeof repo !== 'string') {
266
+ return `its \`${MARKETPLACE_SOURCE_KEY}.${MARKETPLACE_REPO_KEY}\` is ${JSON.stringify(repo ?? null)} rather than a ${SLUG_SHAPE} string`;
267
+ }
268
+ return undefined;
269
+ }
270
+ /**
271
+ * Assemble the merge payload: `enabledPlugins` always, `extraKnownMarketplaces` only when the
272
+ * marketplace repository is known.
273
+ *
274
+ * Both keys are top-level, so the write engine's action log names them individually — a first run
275
+ * reports which keys it added and a second reports the file as kept, which is what makes "did this
276
+ * re-run change anything?" answerable from the log rather than from a diff.
277
+ */
278
+ export function buildProjectSettings({ flags, warn }) {
279
+ const report = warn ?? (() => { });
280
+ const slug = resolveSlug(flags.marketplace);
281
+ const settings = { [ENABLED_PLUGINS_KEY]: { [PLUGIN_KEY]: true } };
282
+ if (slug === undefined) {
283
+ report(`no ${MARKETPLACES_KEY} entry was written into ${SETTINGS_PATH}, because this harness package's own repository URL does not yet name a published account and repository: a teammate's clone will enable ${PLUGIN_KEY} from a marketplace it has never been told about, and will not resolve the plugin — re-run init with ${MARKETPLACE_FLAG} ${SLUG_SHAPE} to write the entry now`);
284
+ return { settings, marketplaceSlug: undefined };
285
+ }
286
+ settings[MARKETPLACES_KEY] = marketplaceEntry(slug);
287
+ return { settings, marketplaceSlug: slug };
288
+ }
289
+ /**
290
+ * Build the payload and enqueue it at {@link SETTINGS_PATH} under the `merge-json` contract.
291
+ *
292
+ * That contract is why this is a separate step from assembling. The target is a file the adopter
293
+ * may already own and shares with other tooling, so the write adds absent keys and can do nothing
294
+ * else — it cannot overwrite a value, delete a key or reorder what is already there
295
+ * (`core/json.ts`). `--force` does not apply: there is nothing here that a backup would protect
296
+ * against, because nothing is replaced.
297
+ */
298
+ export function writeProjectSettings({ repoRoot, plan, flags }) {
299
+ const warnings = [];
300
+ const { settings, marketplaceSlug } = buildProjectSettings({
301
+ flags,
302
+ warn: (message) => warnings.push(message),
303
+ });
304
+ const path = join(repoRoot, SETTINGS_PATH);
305
+ plan.add({
306
+ path,
307
+ policy: 'merge-json',
308
+ content: settings,
309
+ label: 'project-scope plugin wiring',
310
+ });
311
+ return {
312
+ path,
313
+ repoPath: SETTINGS_PATH,
314
+ pluginKey: PLUGIN_KEY,
315
+ marketplaceSlug,
316
+ warnings,
317
+ notes: [
318
+ `${SETTINGS_PATH} is committed, and committing it is the whole of the onboarding step: a teammate clones the repository, opens it in the agent runner, accepts the workspace trust dialog, and the plugin resolves from these keys — run /reload-plugins if the session was already open — and then runs doctor. There is no second init: the config and the permission profile are committed too.`,
319
+ ],
320
+ };
321
+ }
322
+ //# sourceMappingURL=projectSettings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projectSettings.js","sourceRoot":"","sources":["../../src/generators/projectSettings.ts"],"names":[],"mappings":"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"}