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.
- package/LICENSE +201 -0
- package/NOTICE +7 -0
- package/README.md +24 -0
- package/dist/cli.js +194 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands/config.js +561 -0
- package/dist/commands/config.js.map +1 -0
- package/dist/commands/daemon.js +791 -0
- package/dist/commands/daemon.js.map +1 -0
- package/dist/commands/doctor.js +336 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/init.js +2023 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/registry.js +42 -0
- package/dist/commands/registry.js.map +1 -0
- package/dist/config/check.js +505 -0
- package/dist/config/check.js.map +1 -0
- package/dist/config/io.js +177 -0
- package/dist/config/io.js.map +1 -0
- package/dist/config/model.js +406 -0
- package/dist/config/model.js.map +1 -0
- package/dist/core/errors.js +71 -0
- package/dist/core/errors.js.map +1 -0
- package/dist/core/git.js +537 -0
- package/dist/core/git.js.map +1 -0
- package/dist/core/json.js +125 -0
- package/dist/core/json.js.map +1 -0
- package/dist/core/layerCoverage.js +141 -0
- package/dist/core/layerCoverage.js.map +1 -0
- package/dist/core/layerGapRemedy.js +62 -0
- package/dist/core/layerGapRemedy.js.map +1 -0
- package/dist/core/nameList.js +23 -0
- package/dist/core/nameList.js.map +1 -0
- package/dist/core/paths.js +153 -0
- package/dist/core/paths.js.map +1 -0
- package/dist/core/prompt.js +206 -0
- package/dist/core/prompt.js.map +1 -0
- package/dist/core/repoPaths.js +55 -0
- package/dist/core/repoPaths.js.map +1 -0
- package/dist/core/report.js +150 -0
- package/dist/core/report.js.map +1 -0
- package/dist/core/templating.js +88 -0
- package/dist/core/templating.js.map +1 -0
- package/dist/core/writer.js +479 -0
- package/dist/core/writer.js.map +1 -0
- package/dist/daemon/backend.js +180 -0
- package/dist/daemon/backend.js.map +1 -0
- package/dist/daemon/units.js +380 -0
- package/dist/daemon/units.js.map +1 -0
- package/dist/detect/nestedApplication.js +79 -0
- package/dist/detect/nestedApplication.js.map +1 -0
- package/dist/detect/presets.js +2033 -0
- package/dist/detect/presets.js.map +1 -0
- package/dist/detect/signals.js +1368 -0
- package/dist/detect/signals.js.map +1 -0
- package/dist/doctor/checks.js +3530 -0
- package/dist/doctor/checks.js.map +1 -0
- package/dist/generators/claudeContext.js +588 -0
- package/dist/generators/claudeContext.js.map +1 -0
- package/dist/generators/githooks.js +446 -0
- package/dist/generators/githooks.js.map +1 -0
- package/dist/generators/harnessConfig.js +632 -0
- package/dist/generators/harnessConfig.js.map +1 -0
- package/dist/generators/notifications.js +191 -0
- package/dist/generators/notifications.js.map +1 -0
- package/dist/generators/outerLoopScripts.js +165 -0
- package/dist/generators/outerLoopScripts.js.map +1 -0
- package/dist/generators/permissionProfile.js +1172 -0
- package/dist/generators/permissionProfile.js.map +1 -0
- package/dist/generators/projectSettings.js +322 -0
- package/dist/generators/projectSettings.js.map +1 -0
- package/dist/generators/repoRoot.js +417 -0
- package/dist/generators/repoRoot.js.map +1 -0
- package/dist/generators/scripts.js +557 -0
- package/dist/generators/scripts.js.map +1 -0
- package/dist/generators/stateDir.js +221 -0
- package/dist/generators/stateDir.js.map +1 -0
- package/dist/machine/paths.js +111 -0
- package/dist/machine/paths.js.map +1 -0
- package/dist/machine/plugins.js +224 -0
- package/dist/machine/plugins.js.map +1 -0
- package/dist/machine/registry.js +330 -0
- package/dist/machine/registry.js.map +1 -0
- package/package.json +23 -0
- package/scripts/README.md +13 -0
- package/scripts/daemon/launchd.plist.template +59 -0
- package/scripts/daemon/systemd.service.template +58 -0
- package/templates/README.md +15 -0
- package/templates/claude/CLAUDE.md +54 -0
- package/templates/claude/README.md +5 -0
- package/templates/claude/context/api.md +29 -0
- package/templates/claude/context/conventions.md +23 -0
- package/templates/claude/context/data-layer.md +28 -0
- package/templates/claude/context/data-storage.md +29 -0
- package/templates/claude/context/docs-catalog.md +29 -0
- package/templates/claude/context/domain.md +28 -0
- package/templates/claude/context/layer.md +20 -0
- package/templates/claude/context/module.md +30 -0
- package/templates/claude/context/package.md +29 -0
- package/templates/claude/context/presentation.md +32 -0
- package/templates/claude/context/state-slices.md +28 -0
- package/templates/claude/context/tests.md +28 -0
- package/templates/claude/harness-task-offer.md +58 -0
- package/templates/claude/push-notify.env.example +21 -0
- package/templates/claude/qa-accounts.env.example +38 -0
- package/templates/claude/qa_test_scenarios.md +110 -0
- package/templates/claude/settings.autonomous.json +93 -0
- package/templates/claude/settings.autonomous.qa.json +36 -0
- package/templates/githooks/README.md +3 -0
- package/templates/githooks/pre-push +72 -0
- package/templates/repo/README.md +3 -0
- package/templates/repo/gitattributes +16 -0
- package/templates/repo/gitignore +61 -0
- package/templates/repo/gitignore.qa +25 -0
- package/templates/repo/mcp.json +17 -0
- package/templates/scripts/README.md +5 -0
- package/templates/scripts/autonomous-format-stream.sh +95 -0
- package/templates/scripts/autonomous-notify.sh +337 -0
- package/templates/scripts/autonomous-watcher.sh +3087 -0
- package/templates/scripts/cleanup-merged-worktrees.sh +327 -0
- package/templates/scripts/commit-on-branch.sh +288 -0
- package/templates/scripts/create-worktree.sh +360 -0
- package/templates/scripts/deploy.sh +47 -0
- package/templates/scripts/lib/harness-run-lib.sh +1481 -0
- package/templates/scripts/push-branch.sh +140 -0
- package/templates/scripts/refresh-branch.sh +244 -0
- package/templates/scripts/restart-watcher.sh +401 -0
- package/templates/scripts/scratch-run.sh +302 -0
- package/templates/scripts/setup-worktree.sh +262 -0
- package/templates/scripts/start-dev-server.sh +99 -0
- package/templates/scripts/test.sh +50 -0
- package/templates/scripts/typecheck.sh +50 -0
- package/templates/state-dir/README-root.md +13 -0
- package/templates/state-dir/README.md +9 -0
- package/templates/state-dir/architecture_branch_review_point_reviews/README.md +9 -0
- package/templates/state-dir/architecture_branch_reviews/README.md +9 -0
- package/templates/state-dir/architecture_reviews/README.md +9 -0
- package/templates/state-dir/architecture_user_review_reviews/README.md +9 -0
- package/templates/state-dir/autonomous_inbox/README.md +9 -0
- package/templates/state-dir/autonomous_logs/README.md +9 -0
- package/templates/state-dir/branch_statistics/README.md +9 -0
- package/templates/state-dir/business_parity_branch_review_point_reviews/README.md +9 -0
- package/templates/state-dir/business_parity_branch_reviews/README.md +9 -0
- package/templates/state-dir/business_parity_reviews/README.md +9 -0
- package/templates/state-dir/business_parity_user_review_reviews/README.md +9 -0
- package/templates/state-dir/clarification_digests/README.md +9 -0
- package/templates/state-dir/clarifications/README.md +9 -0
- package/templates/state-dir/code_reviews/README.md +9 -0
- package/templates/state-dir/dispatch_additions/README.md +19 -0
- package/templates/state-dir/docs_catalog/README.md +9 -0
- package/templates/state-dir/flow_progress/README.md +9 -0
- package/templates/state-dir/improvement_observations/README.md +19 -0
- package/templates/state-dir/improvement_suggestions.md +29 -0
- package/templates/state-dir/lessons.md +23 -0
- package/templates/state-dir/qa_review_point_reviews/README.md +9 -0
- package/templates/state-dir/qa_reviews/README.md +9 -0
- package/templates/state-dir/review_plan_point_reviews/README.md +9 -0
- package/templates/state-dir/review_plan_reviews/README.md +9 -0
- package/templates/state-dir/scratch/README.md +11 -0
- package/templates/state-dir/skeptic_review_plan_reviews/README.md +9 -0
- package/templates/state-dir/skeptic_review_point_reviews/README.md +9 -0
- package/templates/state-dir/skeptic_reviews/README.md +9 -0
- package/templates/state-dir/story_plans/README.md +9 -0
- package/templates/state-dir/task_plan_point_reviews/README.md +9 -0
- package/templates/state-dir/task_plan_reviews/README.md +9 -0
- package/templates/state-dir/task_plans/README.md +9 -0
- package/templates/state-dir/task_prompts/README.md +9 -0
- package/templates/state-dir/ui_test_plan_reviews/README.md +9 -0
- package/templates/state-dir/ui_test_plans/README.md +9 -0
- package/templates/state-dir/user_review_fix_plan_point_reviews/README.md +9 -0
- 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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"}
|