devflow-kit 2.4.0 → 3.0.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 (213) hide show
  1. package/CHANGELOG.md +229 -0
  2. package/README.md +111 -18
  3. package/dist/agents/git.md +822 -0
  4. package/dist/cli/commands/agents.js +6 -1
  5. package/dist/cli/commands/ambient.js +160 -145
  6. package/dist/cli/commands/attribution-prompts.js +1 -1
  7. package/dist/cli/commands/capture.js +29 -55
  8. package/dist/cli/commands/compliance-prompts.js +1 -1
  9. package/dist/cli/commands/compliance.js +48 -55
  10. package/dist/cli/commands/context.js +17 -32
  11. package/dist/cli/commands/debug.js +65 -26
  12. package/dist/cli/commands/flags.js +3 -3
  13. package/dist/cli/commands/hud.js +34 -10
  14. package/dist/cli/commands/init-seed.js +61 -27
  15. package/dist/cli/commands/init.js +649 -240
  16. package/dist/cli/commands/install-report.js +200 -0
  17. package/dist/cli/commands/knowledge/index.js +2 -2
  18. package/dist/cli/commands/knowledge/toggle.js +35 -37
  19. package/dist/cli/commands/learning.js +79 -57
  20. package/dist/cli/commands/legacy-hooks.js +11 -14
  21. package/dist/cli/commands/memory.js +134 -135
  22. package/dist/cli/commands/prompt-io.js +4 -4
  23. package/dist/cli/commands/proxy.js +23 -41
  24. package/dist/cli/commands/security.js +81 -29
  25. package/dist/cli/commands/skills.js +71 -7
  26. package/dist/cli/commands/tracker-prompts.js +145 -0
  27. package/dist/cli/commands/tracker.js +277 -0
  28. package/dist/cli/commands/uninstall.js +520 -169
  29. package/dist/cli.js +2 -0
  30. package/dist/commands/bug-analysis.md +58 -14
  31. package/dist/commands/code-review.md +110 -32
  32. package/dist/commands/debug.md +55 -11
  33. package/dist/commands/dynamic-build.md +344 -73
  34. package/dist/commands/dynamic-plan.md +77 -27
  35. package/dist/commands/dynamic-profile.md +25 -11
  36. package/dist/commands/dynamic-tickets.md +76 -15
  37. package/dist/commands/explore.md +37 -7
  38. package/dist/commands/implement.md +314 -62
  39. package/dist/commands/plan.md +146 -32
  40. package/dist/commands/release.md +64 -17
  41. package/dist/commands/research.md +34 -8
  42. package/dist/commands/resolve.md +196 -68
  43. package/dist/commands/self-review.md +45 -9
  44. package/dist/core/agent-models.js +55 -12
  45. package/dist/core/assets.js +58 -2
  46. package/dist/core/compliance-compose.js +27 -27
  47. package/dist/core/evidence-policy.js +363 -0
  48. package/dist/core/feature-config.js +200 -65
  49. package/dist/core/feature-switch.js +112 -0
  50. package/dist/core/flags.js +34 -6
  51. package/dist/core/fs-atomic.js +27 -0
  52. package/dist/core/hook-log-dirs.js +104 -0
  53. package/dist/core/learning-tuning-config.js +5 -3
  54. package/dist/core/ledger-root.js +102 -0
  55. package/dist/core/manifest.js +38 -10
  56. package/dist/core/mds-variants.js +798 -0
  57. package/dist/core/migrations.js +49 -23
  58. package/dist/core/model-discovery.js +12 -1
  59. package/dist/core/plugins.js +361 -12
  60. package/dist/core/project-paths.js +1 -18
  61. package/dist/core/proxy-log.js +8 -6
  62. package/dist/core/proxy-state.js +11 -8
  63. package/dist/core/reference-sweep.js +136 -0
  64. package/dist/core/same-location.js +25 -0
  65. package/dist/core/tracker.js +494 -0
  66. package/dist/hud/components/config-counts.js +15 -4
  67. package/dist/hud/components/learning-counts.js +14 -0
  68. package/dist/hud/config.js +2 -1
  69. package/dist/hud/cost-history.js +2 -4
  70. package/dist/hud/git.js +52 -7
  71. package/dist/hud/index.js +7 -9
  72. package/dist/skills/git/references/decision-markers.md +19 -0
  73. package/dist/skills/git/references/learn-conventions.md +56 -0
  74. package/dist/skills/git/references/pr/check-ci-status.md +14 -0
  75. package/dist/skills/git/references/pr/check-merge-readiness.md +28 -0
  76. package/dist/skills/git/references/pr/ensure-pr-ready.md +24 -0
  77. package/dist/skills/git/references/pr/fetch-review-threads.md +22 -0
  78. package/dist/skills/git/references/pr/post-resolution-summary.md +40 -0
  79. package/dist/skills/git/references/pr/post-review-summary.md +42 -0
  80. package/dist/skills/git/references/pr/resolve-review-threads.md +35 -0
  81. package/dist/skills/git/references/pr/update-pr-evidence.md +14 -0
  82. package/dist/skills/git/references/pr/validate-branch.md +18 -0
  83. package/dist/skills/git/references/publication-gate.md +13 -0
  84. package/dist/skills/git/references/tracker/_mcp.md +153 -0
  85. package/dist/skills/git/references/tracker/github/associate-release.md +18 -0
  86. package/dist/skills/git/references/tracker/github/backlink-shipped-issues.md +40 -0
  87. package/dist/skills/git/references/tracker/github/create-release.md +11 -0
  88. package/dist/skills/git/references/tracker/github/ensure-pr-ready.md +16 -0
  89. package/dist/skills/git/references/tracker/github/ensure-traceable-issue.md +69 -0
  90. package/dist/skills/git/references/tracker/github/fetch-issue.md +32 -0
  91. package/dist/skills/git/references/tracker/github/fetch-issues-batch.md +17 -0
  92. package/dist/skills/git/references/tracker/github/gather-release-evidence.md +19 -0
  93. package/dist/skills/git/references/tracker/github/manage-debt.md +101 -0
  94. package/dist/skills/git/references/tracker/github/post-wave-report.md +28 -0
  95. package/dist/skills/git/references/tracker/github/setup-task.md +26 -0
  96. package/dist/skills/git/references/tracker/jira/associate-release.md +18 -0
  97. package/dist/skills/git/references/tracker/jira/backlink-shipped-issues.md +49 -0
  98. package/dist/skills/git/references/tracker/jira/create-release.md +17 -0
  99. package/dist/skills/git/references/tracker/jira/ensure-pr-ready.md +22 -0
  100. package/dist/skills/git/references/tracker/jira/ensure-traceable-issue.md +53 -0
  101. package/dist/skills/git/references/tracker/jira/fetch-issue.md +14 -0
  102. package/dist/skills/git/references/tracker/jira/fetch-issues-batch.md +15 -0
  103. package/dist/skills/git/references/tracker/jira/gather-release-evidence.md +18 -0
  104. package/dist/skills/git/references/tracker/jira/manage-debt.md +37 -0
  105. package/dist/skills/git/references/tracker/jira/post-wave-report.md +33 -0
  106. package/dist/skills/git/references/tracker/jira/setup-task.md +31 -0
  107. package/dist/skills/git/references/tracker/linear/associate-release.md +18 -0
  108. package/dist/skills/git/references/tracker/linear/backlink-shipped-issues.md +53 -0
  109. package/dist/skills/git/references/tracker/linear/create-release.md +17 -0
  110. package/dist/skills/git/references/tracker/linear/ensure-pr-ready.md +22 -0
  111. package/dist/skills/git/references/tracker/linear/ensure-traceable-issue.md +53 -0
  112. package/dist/skills/git/references/tracker/linear/fetch-issue.md +14 -0
  113. package/dist/skills/git/references/tracker/linear/fetch-issues-batch.md +15 -0
  114. package/dist/skills/git/references/tracker/linear/gather-release-evidence.md +18 -0
  115. package/dist/skills/git/references/tracker/linear/manage-debt.md +37 -0
  116. package/dist/skills/git/references/tracker/linear/post-wave-report.md +33 -0
  117. package/dist/skills/git/references/tracker/linear/setup-task.md +32 -0
  118. package/dist/skills/git/references/trust-rule.md +7 -0
  119. package/dist/targets/claude-code/claude-paths.js +59 -57
  120. package/dist/targets/claude-code/compliance-install.js +49 -65
  121. package/dist/targets/claude-code/hooks.js +108 -3
  122. package/dist/targets/claude-code/installer.js +1187 -32
  123. package/dist/targets/claude-code/legacy.js +5 -0
  124. package/dist/targets/claude-code/post-install.js +366 -151
  125. package/dist/targets/claude-code/tracker-install.js +134 -0
  126. package/package.json +8 -6
  127. package/src/assets/agents/code.md +45 -6
  128. package/src/assets/agents/design.md +2 -1
  129. package/src/assets/agents/git.mds +825 -0
  130. package/src/assets/agents/knowledge.md +3 -3
  131. package/src/assets/agents/learning.md +11 -0
  132. package/src/assets/agents/review.md +3 -1
  133. package/src/assets/agents/synthesize.md +1 -1
  134. package/src/assets/agents/test.md +16 -5
  135. package/src/assets/agents/tracker.md +474 -0
  136. package/src/assets/agents/validate.md +7 -5
  137. package/src/assets/commands/_partials/_compliance.mds +19 -1
  138. package/src/assets/commands/_partials/_decisions.mds +15 -3
  139. package/src/assets/commands/_partials/_docs_root.mds +35 -0
  140. package/src/assets/commands/_partials/_engine.mds +13 -11
  141. package/src/assets/commands/_partials/_evidence_policy.mds +30 -0
  142. package/src/assets/commands/_partials/_factory.mds +1 -1
  143. package/src/assets/commands/_partials/_knowledge.mds +27 -9
  144. package/src/assets/commands/_partials/_plan_contract.mds +22 -7
  145. package/src/assets/commands/_partials/_preamble.mds +2 -2
  146. package/src/assets/commands/_partials/_publication.mds +8 -2
  147. package/src/assets/commands/_partials/_settings.mds +28 -0
  148. package/src/assets/commands/_partials/_ticket_template.mds +3 -2
  149. package/src/assets/commands/_partials/_tracker.mds +18 -0
  150. package/src/assets/commands/_partials/_wave.mds +16 -10
  151. package/src/assets/commands/bug-analysis.mds +31 -19
  152. package/src/assets/commands/code-review.mds +67 -41
  153. package/src/assets/commands/debug.mds +13 -7
  154. package/src/assets/commands/dynamic-build.mds +274 -66
  155. package/src/assets/commands/dynamic-plan.mds +50 -23
  156. package/src/assets/commands/dynamic-profile.mds +24 -11
  157. package/src/assets/commands/dynamic-tickets.mds +63 -16
  158. package/src/assets/commands/explore.mds +4 -5
  159. package/src/assets/commands/implement.mds +234 -67
  160. package/src/assets/commands/plan.mds +91 -33
  161. package/src/assets/commands/release.md +64 -17
  162. package/src/assets/commands/research.mds +11 -9
  163. package/src/assets/commands/resolve.mds +150 -78
  164. package/src/assets/commands/self-review.mds +24 -25
  165. package/src/assets/mds/git/_pr.mds +331 -0
  166. package/src/assets/mds/git/_references.mds +135 -0
  167. package/src/assets/mds/tracker/_common.mds +156 -0
  168. package/src/assets/mds/tracker/_github.mds +472 -0
  169. package/src/assets/mds/tracker/_jira.mds +407 -0
  170. package/src/assets/mds/tracker/_linear.mds +449 -0
  171. package/src/assets/mds/tracker/_mcp.mds +305 -0
  172. package/src/assets/scripts/hooks/assets/orchestrator-charter.md +5 -8
  173. package/src/assets/scripts/hooks/background-memory-update +40 -19
  174. package/src/assets/scripts/hooks/capture-prompt +18 -8
  175. package/src/assets/scripts/hooks/capture-question +18 -8
  176. package/src/assets/scripts/hooks/capture-turn +27 -13
  177. package/src/assets/scripts/hooks/debug-trace +11 -6
  178. package/src/assets/scripts/hooks/ensure-devflow-init +33 -6
  179. package/src/assets/scripts/hooks/ensure-proxy +9 -8
  180. package/src/assets/scripts/hooks/ensure-root-gitignore +236 -60
  181. package/src/assets/scripts/hooks/git-marker +48 -0
  182. package/src/assets/scripts/hooks/hook-log-init +3 -1
  183. package/src/assets/scripts/hooks/json-helper.cjs +228 -5
  184. package/src/assets/scripts/hooks/lib/project-paths.cjs +1 -20
  185. package/src/assets/scripts/hooks/log-paths +80 -0
  186. package/src/assets/scripts/hooks/memory-worker +22 -13
  187. package/src/assets/scripts/hooks/pre-compact-memory +44 -15
  188. package/src/assets/scripts/hooks/preamble +1 -4
  189. package/src/assets/scripts/hooks/queue-append +146 -28
  190. package/src/assets/scripts/hooks/resolve-project-root +101 -7
  191. package/src/assets/scripts/hooks/session-start-context +534 -20
  192. package/src/assets/scripts/hooks/session-start-memory +38 -15
  193. package/src/assets/scripts/lib/project-config.cjs +633 -0
  194. package/src/assets/scripts/pr-evidence.cjs +1961 -0
  195. package/src/assets/scripts/redact-secrets.cjs +490 -62
  196. package/src/assets/scripts/release-trace.cjs +1143 -0
  197. package/src/assets/scripts/resolve-evidence-policy.cjs +1145 -0
  198. package/src/assets/scripts/resolve-settings.cjs +1054 -0
  199. package/src/assets/scripts/verify-evidence.cjs +1822 -0
  200. package/src/assets/skills/compliance/SKILL.md +4 -2
  201. package/src/assets/skills/docs-framework/SKILL.md +11 -10
  202. package/src/assets/skills/docs-framework/references/patterns.md +10 -17
  203. package/src/assets/skills/gap-analysis/SKILL.md +2 -2
  204. package/src/assets/skills/git/SKILL.md +8 -78
  205. package/src/assets/skills/git/references/github-api.md +179 -141
  206. package/src/assets/skills/git/references/patterns.md +11 -6
  207. package/src/assets/skills/review-methodology/SKILL.md +1 -1
  208. package/src/assets/skills/review-methodology/references/patterns.md +6 -61
  209. package/src/assets/skills/review-methodology/references/violations.md +14 -22
  210. package/src/assets/skills/worktree-support/SKILL.md +1 -1
  211. package/src/assets/skills/worktree-support/references/roots.md +29 -0
  212. package/src/targets/claude-code/templates/managed-settings.json +25 -9
  213. package/src/assets/agents/git.md +0 -938
@@ -3,7 +3,6 @@
3
3
  *
4
4
  * Computes the initial state (seed) for init prompts from:
5
5
  * - The existing manifest (from a prior install)
6
- * - The project feature config (.devflow/config.json)
7
6
  * - The current settings.json snapshot (for view-mode resolution)
8
7
  * - The plugin registry
9
8
  *
@@ -15,6 +14,7 @@
15
14
  */
16
15
  import { resolveExistingViewMode, settingHoldsManagedShape, FLAG_REGISTRY, defaultValueOf, readViewMode, } from '../../core/flags.js';
17
16
  import { partitionSelectablePlugins } from '../../core/plugins.js';
17
+ import { DEFAULT_TRACKER_PROVIDER } from '../../core/tracker.js';
18
18
  /** Registry defaults — all features enabled except proxy (advanced-only, off by default). */
19
19
  export const FEATURE_DEFAULTS = {
20
20
  ambient: true,
@@ -25,24 +25,21 @@ export const FEATURE_DEFAULTS = {
25
25
  rules: true,
26
26
  proxy: false,
27
27
  compliance: { enabled: false, frameworks: [] },
28
+ tracker: { provider: DEFAULT_TRACKER_PROVIDER },
28
29
  };
29
30
  // ── Helpers ───────────────────────────────────────────────────────────────────
30
31
  /**
31
- * Resolve feature booleans for the init seed.
32
+ * Resolve feature booleans for the init seed: every feature comes from
33
+ * manifest.features, with registry defaults when the manifest is absent.
32
34
  *
33
- * - memory / learning / knowledge come from projectConfig WHENEVER present,
34
- * independent of whether a manifest exists (covers config-present /
35
- * manifest-missing cases such as a fresh project with a prior learning run).
36
- * - ambient / hud / rules come from manifest.features; registry defaults
37
- * (all true) are used when the manifest is absent.
38
- *
39
- * Applies ADR-001: .devflow/config.json is the source of truth for
40
- * memory/learning/knowledge; manifest reflects the last install choices for
41
- * the remaining toggles.
35
+ * D-FEATURES-NARROW-ONLY (src/core/feature-switch.ts): the machine switches for
36
+ * memory, learning and knowledge are recorded in the manifest alone (a repository
37
+ * only narrows them at read time), so the seed takes no per-repo input at all. Seeding from whatever repo init happens to run in
38
+ * would flip the switch for EVERY repo as a side effect — a stale per-repo
39
+ * `true` would silently re-enable a feature the user turned off. ADR-014's
40
+ * state-aware re-init preserves the prior machine-wide choice, the manifest's.
42
41
  */
43
- export function resolveSeedFeatures(manifest, projectConfig) {
44
- // ambient/hud/rules/proxy/compliance: manifest is the source; fall back to registry defaults.
45
- // proxy and compliance follow the manifest group (like ambient) per ADR-001 — NOT config.json-gated.
42
+ export function resolveSeedFeatures(manifest) {
46
43
  const ambient = manifest?.features.ambient ?? FEATURE_DEFAULTS.ambient;
47
44
  const hud = manifest?.features.hud ?? FEATURE_DEFAULTS.hud;
48
45
  const rules = manifest?.features.rules ?? FEATURE_DEFAULTS.rules;
@@ -52,15 +49,15 @@ export function resolveSeedFeatures(manifest, projectConfig) {
52
49
  // the module-level default by reference — downstream mutation would corrupt it process-wide.
53
50
  const rawCompliance = manifest?.features.compliance ?? FEATURE_DEFAULTS.compliance;
54
51
  const compliance = { ...rawCompliance, frameworks: [...rawCompliance.frameworks] };
55
- // memory/learning/knowledge: projectConfig wins whenever present (ADR-001).
56
- // Helper eliminates the repeated projectConfig !== null ternary pattern.
57
- const fromConfig = (key) => projectConfig !== null
58
- ? projectConfig[key]
59
- : (manifest?.features[key] ?? FEATURE_DEFAULTS[key]);
60
- const memory = fromConfig('memory');
61
- const knowledge = fromConfig('knowledge');
62
- const learning = fromConfig('learning');
63
- return { ambient, memory, hud, knowledge, learning, rules, proxy, compliance };
52
+ // Same defensive spread, same reason: `?? FEATURE_DEFAULTS.tracker` alone would
53
+ // return the module-level default BY REFERENCE and downstream mutation would
54
+ // corrupt it process-wide.
55
+ const rawTracker = manifest?.features.tracker ?? FEATURE_DEFAULTS.tracker;
56
+ const tracker = { ...rawTracker };
57
+ const memory = manifest?.features.memory ?? FEATURE_DEFAULTS.memory;
58
+ const knowledge = manifest?.features.knowledge ?? FEATURE_DEFAULTS.knowledge;
59
+ const learning = manifest?.features.learning ?? FEATURE_DEFAULTS.learning;
60
+ return { ambient, memory, hud, knowledge, learning, rules, proxy, compliance, tracker };
64
61
  }
65
62
  /**
66
63
  * Resolve the flag record for the init seed.
@@ -119,7 +116,7 @@ export function resolveSeedFlags(manifestFlags, registry = FLAG_REGISTRY) {
119
116
  * - Otherwise → split + adopt newly-added non-optional selectable plugins
120
117
  * whose name is ∉ knownPlugins and ∉ manifestPlugins
121
118
  *
122
- * Always-installed plugins (devflow-core-skills, devflow-ambient) are filtered
119
+ * The plugins init adds itself (devflow-core-skills, devflow-ambient) are filtered
123
120
  * out by partitionSelectablePlugins and never appear in the returned buckets.
124
121
  */
125
122
  export function resolveSeedPlugins(manifestPlugins, knownPlugins, allPlugins) {
@@ -160,6 +157,42 @@ export function resolveSeedPlugins(manifestPlugins, knownPlugins, allPlugins) {
160
157
  }
161
158
  return { workflowPlugins, languagePlugins };
162
159
  }
160
+ /**
161
+ * The plugins an init run installs, from the selection and the ambient switch.
162
+ *
163
+ * `selectedPlugins` is empty when nothing picked a selection (a fresh
164
+ * non-interactive install), and then every non-optional plugin is installed.
165
+ * `devflow-core-skills` is always added; `devflow-ambient` is added exactly
166
+ * when ambient mode is on.
167
+ *
168
+ * D-AMBIENT-FOLLOWS-SWITCH: `devflow-ambient` is installed iff ambient mode is
169
+ * on, on EVERY path. It is not a selectable plugin (`EXCLUDED` keeps it out of
170
+ * both multiselect buckets and out of the re-init seed, see
171
+ * {@link resolveSeedPlugins}); since #150 the ambient switch is what includes
172
+ * it, and #150's own test plan reads "`init --no-ambient` — confirm ambient
173
+ * plugin NOT installed". The fresh default branch used to take every
174
+ * non-optional plugin, ambient included, so a first `init --no-ambient`
175
+ * recorded `devflow-ambient` in the manifest and the re-init — seeded without
176
+ * it — dropped it: the first install was the wrong one, not the re-init
177
+ * (#388 AC-3). The default branch therefore leaves ambient out and lets the
178
+ * switch below add it, exactly as it does for an explicit selection.
179
+ *
180
+ * Pure function — no I/O; returns a new array, never mutates its inputs.
181
+ */
182
+ export function resolvePluginsToInstall(selectedPlugins, ambientEnabled, allPlugins) {
183
+ let pluginsToInstall = selectedPlugins.length > 0
184
+ ? allPlugins.filter(p => selectedPlugins.includes(p.name))
185
+ : allPlugins.filter(p => !p.optional && p.name !== 'devflow-ambient');
186
+ const coreSkillsPlugin = allPlugins.find(p => p.name === 'devflow-core-skills');
187
+ if (pluginsToInstall.length > 0 && coreSkillsPlugin && !pluginsToInstall.includes(coreSkillsPlugin)) {
188
+ pluginsToInstall = [coreSkillsPlugin, ...pluginsToInstall];
189
+ }
190
+ const ambientPlugin = allPlugins.find(p => p.name === 'devflow-ambient');
191
+ if (ambientEnabled && ambientPlugin && !pluginsToInstall.includes(ambientPlugin)) {
192
+ pluginsToInstall = [...pluginsToInstall, ambientPlugin];
193
+ }
194
+ return pluginsToInstall;
195
+ }
163
196
  /**
164
197
  * Extract the attribution suppression state from a settings JSON string.
165
198
  *
@@ -184,7 +217,7 @@ export function resolveExistingAttributionSuppression(settingsJson) {
184
217
  return settingHoldsManagedShape(settingsJson, 'suppress-attribution') ? true : undefined;
185
218
  }
186
219
  /**
187
- * Compose the full init seed from manifest, project config, settings, and registry.
220
+ * Compose the full init seed from manifest, settings, and registry.
188
221
  *
189
222
  * view-mode priority: existing settings.json (non-default) → manifest → 'default'.
190
223
  * suppress-attribution priority: settings.json exact devflow shape → manifest → false.
@@ -194,8 +227,8 @@ export function resolveExistingAttributionSuppression(settingsJson) {
194
227
  * This is the single composition point; callers (init.ts hoist block) call this
195
228
  * once and pass `seed` down to prompt wiring.
196
229
  */
197
- export function resolveInitSeed(seedManifest, seedConfig, settingsSnapshot, plugins) {
198
- const features = resolveSeedFeatures(seedManifest, seedConfig);
230
+ export function resolveInitSeed(seedManifest, settingsSnapshot, plugins) {
231
+ const features = resolveSeedFeatures(seedManifest);
199
232
  // features.flags is FlagsRecord; null for fresh install (no manifest).
200
233
  // seedManifest?.features.flags may be absent at runtime on very old manifests not yet
201
234
  // healed — ?? null collapses to fresh-install behavior (all flags at registry defaults).
@@ -280,6 +313,7 @@ export function applyCliToggles(base, toggles) {
280
313
  rules: toggles.rules ?? base.rules,
281
314
  proxy: toggles.proxy ?? base.proxy,
282
315
  compliance: toggles.compliance ?? base.compliance,
316
+ tracker: toggles.tracker ?? base.tracker,
283
317
  };
284
318
  }
285
319
  //# sourceMappingURL=init-seed.js.map