@codyswann/lisa 4.59.4 → 4.60.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 (75) hide show
  1. package/README.md +13 -0
  2. package/cdk/create-only/.github/workflows/ci.yml +15 -27
  3. package/dist/cli/index.d.ts.map +1 -1
  4. package/dist/cli/index.js +2 -0
  5. package/dist/cli/index.js.map +1 -1
  6. package/dist/cli/setup-project.d.ts +2 -0
  7. package/dist/cli/setup-project.d.ts.map +1 -1
  8. package/dist/cli/setup-project.js +29 -8
  9. package/dist/cli/setup-project.js.map +1 -1
  10. package/dist/cli/starter-cmd.d.ts +21 -0
  11. package/dist/cli/starter-cmd.d.ts.map +1 -0
  12. package/dist/cli/starter-cmd.js +40 -0
  13. package/dist/cli/starter-cmd.js.map +1 -0
  14. package/dist/cli/starter-provenance.d.ts +47 -0
  15. package/dist/cli/starter-provenance.d.ts.map +1 -0
  16. package/dist/cli/starter-provenance.js +112 -0
  17. package/dist/cli/starter-provenance.js.map +1 -0
  18. package/dist/core/nightly-e2e-guard-behavior-certificate.js +2 -2
  19. package/dist/core/project-config-starter.d.ts.map +1 -1
  20. package/dist/core/project-config-starter.js +1 -0
  21. package/dist/core/project-config-starter.js.map +1 -1
  22. package/dist/core/upstream-evidence-manifest.d.ts.map +1 -1
  23. package/dist/core/upstream-evidence-manifest.js +5 -1
  24. package/dist/core/upstream-evidence-manifest.js.map +1 -1
  25. package/package.json +4 -4
  26. package/plugins/lisa/.claude-plugin/plugin.json +1 -1
  27. package/plugins/lisa/.codex-plugin/plugin.json +1 -1
  28. package/plugins/lisa-agy/plugin.json +1 -1
  29. package/plugins/lisa-cdk/.claude-plugin/plugin.json +1 -1
  30. package/plugins/lisa-cdk/.codex-plugin/plugin.json +1 -1
  31. package/plugins/lisa-cdk-agy/plugin.json +1 -1
  32. package/plugins/lisa-cdk-copilot/.claude-plugin/plugin.json +1 -1
  33. package/plugins/lisa-cdk-cursor/.claude-plugin/plugin.json +1 -1
  34. package/plugins/lisa-copilot/.claude-plugin/plugin.json +1 -1
  35. package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
  36. package/plugins/lisa-expo/.claude-plugin/plugin.json +1 -1
  37. package/plugins/lisa-expo/.codex-plugin/plugin.json +1 -1
  38. package/plugins/lisa-expo-agy/plugin.json +1 -1
  39. package/plugins/lisa-expo-copilot/.claude-plugin/plugin.json +1 -1
  40. package/plugins/lisa-expo-cursor/.claude-plugin/plugin.json +1 -1
  41. package/plugins/lisa-harper-fabric/.claude-plugin/plugin.json +1 -1
  42. package/plugins/lisa-harper-fabric/.codex-plugin/plugin.json +1 -1
  43. package/plugins/lisa-harper-fabric-agy/plugin.json +1 -1
  44. package/plugins/lisa-harper-fabric-copilot/.claude-plugin/plugin.json +1 -1
  45. package/plugins/lisa-harper-fabric-cursor/.claude-plugin/plugin.json +1 -1
  46. package/plugins/lisa-nestjs/.claude-plugin/plugin.json +1 -1
  47. package/plugins/lisa-nestjs/.codex-plugin/plugin.json +1 -1
  48. package/plugins/lisa-nestjs-agy/plugin.json +1 -1
  49. package/plugins/lisa-nestjs-copilot/.claude-plugin/plugin.json +1 -1
  50. package/plugins/lisa-nestjs-cursor/.claude-plugin/plugin.json +1 -1
  51. package/plugins/lisa-openclaw/.claude-plugin/plugin.json +1 -1
  52. package/plugins/lisa-openclaw/.codex-plugin/plugin.json +1 -1
  53. package/plugins/lisa-openclaw-agy/plugin.json +1 -1
  54. package/plugins/lisa-openclaw-copilot/.claude-plugin/plugin.json +1 -1
  55. package/plugins/lisa-openclaw-cursor/.claude-plugin/plugin.json +1 -1
  56. package/plugins/lisa-phaser/.claude-plugin/plugin.json +1 -1
  57. package/plugins/lisa-phaser/.codex-plugin/plugin.json +1 -1
  58. package/plugins/lisa-phaser-agy/plugin.json +1 -1
  59. package/plugins/lisa-phaser-copilot/.claude-plugin/plugin.json +1 -1
  60. package/plugins/lisa-phaser-cursor/.claude-plugin/plugin.json +1 -1
  61. package/plugins/lisa-rails/.claude-plugin/plugin.json +1 -1
  62. package/plugins/lisa-rails/.codex-plugin/plugin.json +1 -1
  63. package/plugins/lisa-rails-agy/plugin.json +1 -1
  64. package/plugins/lisa-rails-copilot/.claude-plugin/plugin.json +1 -1
  65. package/plugins/lisa-rails-cursor/.claude-plugin/plugin.json +1 -1
  66. package/plugins/lisa-typescript/.claude-plugin/plugin.json +1 -1
  67. package/plugins/lisa-typescript/.codex-plugin/plugin.json +1 -1
  68. package/plugins/lisa-typescript-agy/plugin.json +1 -1
  69. package/plugins/lisa-typescript-copilot/.claude-plugin/plugin.json +1 -1
  70. package/plugins/lisa-typescript-cursor/.claude-plugin/plugin.json +1 -1
  71. package/plugins/lisa-wiki/.claude-plugin/plugin.json +1 -1
  72. package/plugins/lisa-wiki/.codex-plugin/plugin.json +1 -1
  73. package/plugins/lisa-wiki-agy/plugin.json +1 -1
  74. package/plugins/lisa-wiki-copilot/.claude-plugin/plugin.json +1 -1
  75. package/plugins/lisa-wiki-cursor/.claude-plugin/plugin.json +1 -1
package/README.md CHANGED
@@ -235,6 +235,19 @@ servers, or configuration. Other harnesses retain their existing delivery
235
235
  behavior. For a new project, run the CLI ephemerally with
236
236
  `bunx @codyswann/lisa setup-project ...`.
237
237
 
238
+ Successful starter creation records the repository, tracked branch and copied
239
+ revision in `starter.templates`. Git clones record their own head before setup
240
+ replaces the clone history; GitHub template creation checks the copied tree
241
+ against the captured starter revision before recording it.
242
+
243
+ For an existing project, run `lisa starter adopt owner/repository --path .`
244
+ (optionally `--ref branch-or-tag`). Adoption records the chosen current revision
245
+ as the baseline for future changes; it does not reconcile existing project files.
246
+ Repeating adoption for an already tracked repository leaves its baseline intact,
247
+ even if the remote has advanced. The command does not write to the starter or
248
+ publish project changes. If setup's overlay application fails, finish repairing
249
+ that project before deliberately adopting its baseline.
250
+
238
251
  For Codex, apply emits a repository marketplace containing only the base Lisa
239
252
  plugin plus detected stacks and explicitly configured features. When Codex has
240
253
  those plugins installed, enabled, and trusted, it loads their native skills,
@@ -82,44 +82,32 @@ jobs:
82
82
  # with nothing in it naming the subject that was rejected. You would
83
83
  # only discover it the day you reach for the manual-dispatch path.
84
84
  #
85
- # To adopt the least-privileged default, create a role (default name
86
- # CiReadOnlyServiceRole) in each account, with:
85
+ # Before enabling pull-request validation, create CiReadOnlyServiceRole
86
+ # in each account, with:
87
87
  # - a trust policy on the GitHub OIDC provider whose
88
88
  # token.actions.githubusercontent.com:sub condition is
89
89
  # repo:<owner>/<repo>:pull_request
90
90
  # - read-only permissions, plus whatever the CDK bootstrap lookup
91
91
  # role needs for `cdk synth` / `cdk diff`.
92
- # Name it something else? Set the repository VARIABLE
93
- # CDK_CI_READ_ONLY_ROLE_NAME. Haven't provisioned it yet? Set that
94
- # same variable to DeployServiceRole — behaviour is then identical to
95
- # a repo scaffolded before this seam existed, and nothing here breaks.
92
+ # Leave CDK_CI_READ_ONLY_ROLE_NAME unset. A different name is not
93
+ # proof of read-only permissions, so PR runs reject every override.
94
+ # Do not use the deploy role as a setup shortcut. Its IAM trust policy
95
+ # must exclude pull_request subjects and allow only the intended
96
+ # deployment refs/environments; workflow checks cannot enforce IAM
97
+ # permissions against a PR that edits the workflow itself.
98
+ # Existing repositories must deliberately adopt this create-only
99
+ # workflow update and correct any overly broad role trust policies.
96
100
  # ─────────────────────────────────────────────────────────────────
97
101
  if [ "${{ github.event_name }}" == "pull_request" ]; then
98
- ROLE_NAME="${CDK_CI_READ_ONLY_ROLE_NAME:-CiReadOnlyServiceRole}"
102
+ if [ -n "$CDK_CI_READ_ONLY_ROLE_NAME" ]; then
103
+ echo "::error title=Pull-request role override refused::Provision CiReadOnlyServiceRole with the documented read-only permissions and pull-request trust policy, then unset CDK_CI_READ_ONLY_ROLE_NAME. Deployment credentials cannot be used as a setup shortcut. No AWS role has been requested."
104
+ exit 1
105
+ fi
106
+ ROLE_NAME="CiReadOnlyServiceRole"
99
107
  else
100
108
  ROLE_NAME="DeployServiceRole"
101
109
  fi
102
110
 
103
- # Say so when the compatibility escape hatch is the thing in force.
104
- #
105
- # Nothing provisions the read-only role for you, so the cheapest way
106
- # to make a fresh repository's CI go green is to point this variable
107
- # at DeployServiceRole — which restores exactly the over-privileged
108
- # default the split removed. The escape hatch is easier than the fix,
109
- # so without this line the path of least resistance quietly re-creates
110
- # the problem and every check stays green: the identity assertion
111
- # below compares against the role that was SELECTED, so it confirms
112
- # the deploy role as correct and prints a tick next to it.
113
- #
114
- # A warning rather than a failure, deliberately. The override is
115
- # documented and legitimate while a repository is being set up;
116
- # failing it would break the path the comment above tells people to
117
- # take. What it must not do is stay invisible.
118
- if [ "${{ github.event_name }}" == "pull_request" ] \
119
- && [ "$ROLE_NAME" == "DeployServiceRole" ]; then
120
- echo "::warning title=Pull-request validation is holding deploy rights::This pull request assumed DeployServiceRole to run read-only checks (cdk synth, cdk diff, tests), because CDK_CI_READ_ONLY_ROLE_NAME is set to DeployServiceRole. That is the compatibility setting, not the default. While it is in force, anyone who can open a pull request against this repository can obtain deployment credentials for the target account. To fix it: create the read-only role described in .github/workflows/ci.yml in each account, then unset this repository variable."
121
- fi
122
-
123
111
  echo "role_name=$ROLE_NAME" >> $GITHUB_OUTPUT
124
112
 
125
113
  # Map to CDK environment name.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAEL,iBAAiB,EAClB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAyB,MAAM,iBAAiB,CAAC;AAEtE,OAAO,EACL,UAAU,EACV,eAAe,EACf,eAAe,EAEhB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,OAAO,EAEL,eAAe,EAChB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAG/C,OAAO,EAEL,oBAAoB,EACrB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,OAAO,EAAuB,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,KAAK,EAAqB,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAM9C;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,6EAA6E;IAC7E,QAAQ,EAAE,OAAO,QAAQ,CAAC;IAC1B,kEAAkE;IAClE,eAAe,EAAE,OAAO,eAAe,CAAC;IACxC,4DAA4D;IAC5D,YAAY,EAAE,OAAO,YAAY,CAAC;IAClC,wCAAwC;IACxC,UAAU,EAAE,OAAO,UAAU,CAAC;IAC9B,yDAAyD;IACzD,SAAS,EAAE,OAAO,SAAS,CAAC;IAC5B,qCAAqC;IACrC,SAAS,EAAE,OAAO,SAAS,CAAC;IAC5B,4EAA4E;IAC5E,iBAAiB,EAAE,OAAO,iBAAiB,CAAC;IAC5C,2EAA2E;IAC3E,OAAO,EAAE,OAAO,OAAO,CAAC;IACxB,8DAA8D;IAC9D,KAAK,EAAE,OAAO,KAAK,CAAC;IACpB,iEAAiE;IACjE,uBAAuB,EAAE,OAAO,uBAAuB,CAAC;IACxD,sEAAsE;IACtE,eAAe,EAAE,OAAO,eAAe,CAAC;IACxC,uDAAuD;IACvD,YAAY,EAAE,OAAO,YAAY,CAAC;IAClC,qEAAqE;IACrE,oBAAoB,EAAE,OAAO,oBAAoB,CAAC;IAClD,iEAAiE;IACjE,UAAU,EAAE,OAAO,UAAU,CAAC;IAC9B,4EAA4E;IAC5E,eAAe,EAAE,OAAO,eAAe,CAAC;IACxC,kEAAkE;IAClE,eAAe,EAAE,OAAO,eAAe,CAAC;IACxC,gFAAgF;IAChF,cAAc,EAAE,OAAO,cAAc,CAAC;IACtC,0EAA0E;IAC1E,kBAAkB,EAAE,OAAO,kBAAkB,CAAC;CAC/C;AAyND;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAC3B,YAAY,GAAE,OAAO,CAAC,mBAAmB,CAAM,GAC9C,OAAO,CAgET;AAED,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAEL,iBAAiB,EAClB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAyB,MAAM,iBAAiB,CAAC;AAEtE,OAAO,EACL,UAAU,EACV,eAAe,EACf,eAAe,EAEhB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,OAAO,EAEL,eAAe,EAChB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAI/C,OAAO,EAEL,oBAAoB,EACrB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,OAAO,EAAuB,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,KAAK,EAAqB,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAM9C;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,6EAA6E;IAC7E,QAAQ,EAAE,OAAO,QAAQ,CAAC;IAC1B,kEAAkE;IAClE,eAAe,EAAE,OAAO,eAAe,CAAC;IACxC,4DAA4D;IAC5D,YAAY,EAAE,OAAO,YAAY,CAAC;IAClC,wCAAwC;IACxC,UAAU,EAAE,OAAO,UAAU,CAAC;IAC9B,yDAAyD;IACzD,SAAS,EAAE,OAAO,SAAS,CAAC;IAC5B,qCAAqC;IACrC,SAAS,EAAE,OAAO,SAAS,CAAC;IAC5B,4EAA4E;IAC5E,iBAAiB,EAAE,OAAO,iBAAiB,CAAC;IAC5C,2EAA2E;IAC3E,OAAO,EAAE,OAAO,OAAO,CAAC;IACxB,8DAA8D;IAC9D,KAAK,EAAE,OAAO,KAAK,CAAC;IACpB,iEAAiE;IACjE,uBAAuB,EAAE,OAAO,uBAAuB,CAAC;IACxD,sEAAsE;IACtE,eAAe,EAAE,OAAO,eAAe,CAAC;IACxC,uDAAuD;IACvD,YAAY,EAAE,OAAO,YAAY,CAAC;IAClC,qEAAqE;IACrE,oBAAoB,EAAE,OAAO,oBAAoB,CAAC;IAClD,iEAAiE;IACjE,UAAU,EAAE,OAAO,UAAU,CAAC;IAC9B,4EAA4E;IAC5E,eAAe,EAAE,OAAO,eAAe,CAAC;IACxC,kEAAkE;IAClE,eAAe,EAAE,OAAO,eAAe,CAAC;IACxC,gFAAgF;IAChF,cAAc,EAAE,OAAO,cAAc,CAAC;IACtC,0EAA0E;IAC1E,kBAAkB,EAAE,OAAO,kBAAkB,CAAC;CAC/C;AAyND;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAC3B,YAAY,GAAE,OAAO,CAAC,mBAAmB,CAAM,GAC9C,OAAO,CAiET;AAED,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC"}
package/dist/cli/index.js CHANGED
@@ -13,6 +13,7 @@ import { DEFAULT_SETUP_PROJECT_DEPENDENCIES, runSetupProject, } from "./setup-pr
13
13
  import { runSetupWiki } from "./setup-wiki.js";
14
14
  import { addSharedOptions } from "./shared-options.js";
15
15
  import { SETUP_TYPES } from "./starters.js";
16
+ import { addStarterCommand } from "./starter-cmd.js";
16
17
  import { addStandardsProofCommand, runStandardsProofCli, } from "./standards-proof-cmd.js";
17
18
  import { runSync } from "./sync-cmd.js";
18
19
  import { runUi } from "./ui-cmd.js";
@@ -235,6 +236,7 @@ export function createProgram(dependencies = {}) {
235
236
  await deps.runSetupWiki(destination, options);
236
237
  });
237
238
  addMaintenanceCommands(program, deps);
239
+ addStarterCommand(program);
238
240
  return program;
239
241
  }
240
242
  export { createPrompter } from "./prompts.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { type CLIOptions } from "./shared-options.js";
2
+ import { type CaptureCommand } from "./starter-provenance.js";
2
3
  /**
3
4
  * Parsed options for the setup-project command.
4
5
  */
@@ -9,6 +10,7 @@ export interface SetupProjectOptions extends CLIOptions {
9
10
  * Injectable collaborators for setup-project.
10
11
  */
11
12
  export interface SetupProjectDependencies {
13
+ captureCommand: CaptureCommand;
12
14
  runApply: (destination: string | undefined, options: CLIOptions) => Promise<void>;
13
15
  runCommand: (command: string, args: readonly string[], options?: {
14
16
  cwd?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"setup-project.d.ts","sourceRoot":"","sources":["../../src/cli/setup-project.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAGtD;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,UAAU;IACrD,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,CACR,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,OAAO,EAAE,UAAU,KAChB,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,UAAU,EAAE,CACV,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,OAAO,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,KACvB,OAAO,CAAC,IAAI,CAAC,CAAC;CACpB;AAmBD,eAAO,MAAM,kCAAkC,EAAE,wBAKhD,CAAC;AA6HF;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,OAAO,EAAE,mBAAmB,EAC5B,YAAY,GAAE,wBAA6D,GAC1E,OAAO,CAAC,IAAI,CAAC,CA2Bf"}
1
+ {"version":3,"file":"setup-project.d.ts","sourceRoot":"","sources":["../../src/cli/setup-project.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAGtD,OAAO,EAKL,KAAK,cAAc,EACpB,MAAM,yBAAyB,CAAC;AAEjC;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,UAAU;IACrD,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,cAAc,EAAE,cAAc,CAAC;IAC/B,QAAQ,EAAE,CACR,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,OAAO,EAAE,UAAU,KAChB,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,UAAU,EAAE,CACV,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,OAAO,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,KACvB,OAAO,CAAC,IAAI,CAAC,CAAC;CACpB;AAmBD,eAAO,MAAM,kCAAkC,EAAE,wBAMhD,CAAC;AAiKF;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,OAAO,EAAE,mBAAmB,EAC5B,YAAY,GAAE,wBAA6D,GAC1E,OAAO,CAAC,IAAI,CAAC,CA6Bf"}
@@ -3,6 +3,7 @@ import { existsSync } from "node:fs";
3
3
  import { readdir, rm } from "node:fs/promises";
4
4
  import * as path from "node:path";
5
5
  import { isSetupType, resolveStarter, SETUP_TYPES } from "./starters.js";
6
+ import { captureCommand, readClonedStarter, readGitHubStarter, recordStarterProvenance, } from "./starter-provenance.js";
6
7
  /**
7
8
  * Remove setup-project-only fields from the options forwarded to apply.
8
9
  * @param options - Parsed setup-project options
@@ -24,6 +25,7 @@ export const DEFAULT_SETUP_PROJECT_DEPENDENCIES = {
24
25
  throw new Error("runApply dependency was not configured");
25
26
  },
26
27
  runCommand,
28
+ captureCommand,
27
29
  };
28
30
  /**
29
31
  * Run a command as a child process and reject on non-zero exit.
@@ -90,6 +92,7 @@ async function cloneStarter(type, destination, deps) {
90
92
  const projectName = path.basename(destination);
91
93
  const starterRef = `${starter.owner}/${starter.repo}`;
92
94
  if (await ghIsAuthenticated(deps)) {
95
+ const snapshot = await readGitHubStarter(starterRef, undefined, deps.captureCommand);
93
96
  await deps.runCommand("gh", [
94
97
  "repo",
95
98
  "create",
@@ -99,14 +102,29 @@ async function cloneStarter(type, destination, deps) {
99
102
  "--public",
100
103
  "--clone",
101
104
  ], { cwd: parentDir });
102
- return;
105
+ const copiedTree = await deps.captureCommand("git", ["rev-parse", "HEAD^{tree}"], { cwd: destination });
106
+ if (copiedTree !== snapshot.tree) {
107
+ throw new Error("The starter changed during creation; its copied files do not match the captured revision. No provenance was recorded.");
108
+ }
109
+ return snapshot.template;
103
110
  }
111
+ return await cloneWithoutGitHub(starterRef, destination, deps);
112
+ }
113
+ /**
114
+ * Retain the public clone's provenance before starting fresh project history.
115
+ * @param starterRef - Starter repository.
116
+ * @param destination - Clone directory.
117
+ * @param deps - Setup collaborators.
118
+ * @returns The copied starter revision.
119
+ */
120
+ async function cloneWithoutGitHub(starterRef, destination, deps) {
104
121
  await deps.runCommand("git", [
105
122
  "clone",
106
123
  "--depth=1",
107
124
  `https://github.com/${starterRef}.git`,
108
125
  destination,
109
126
  ]);
127
+ const provenance = await readClonedStarter(starterRef, destination, deps.captureCommand);
110
128
  await rm(path.join(destination, ".git"), { recursive: true, force: true });
111
129
  await deps.runCommand("git", ["init", "-b", "main"], { cwd: destination });
112
130
  await deps.runCommand("git", ["add", "--all"], { cwd: destination });
@@ -121,6 +139,7 @@ async function cloneStarter(type, destination, deps) {
121
139
  "-m",
122
140
  "Initial starter baseline",
123
141
  ], { cwd: destination });
142
+ return provenance;
124
143
  }
125
144
  /**
126
145
  * Create a Lisa-managed project from a starter and then apply overlays.
@@ -137,14 +156,16 @@ export async function runSetupProject(destination, options, dependencies = DEFAU
137
156
  throw new Error(`Unknown setup type ${JSON.stringify(options.type)}. Valid types: ${SETUP_TYPES.join(", ")}`);
138
157
  }
139
158
  const resolvedDestination = path.resolve(destination ?? `./${options.type}-app`);
140
- if (!(await directoryIsNonEmpty(resolvedDestination))) {
141
- if (options.dryRun || options.validate) {
142
- console.log(`Would create ${resolvedDestination} from ${resolveStarter(options.type).owner}/${resolveStarter(options.type).repo}`);
143
- }
144
- else {
145
- await cloneStarter(options.type, resolvedDestination, dependencies);
146
- }
159
+ const empty = !(await directoryIsNonEmpty(resolvedDestination));
160
+ const preview = options.dryRun || options.validate;
161
+ if (empty && preview) {
162
+ console.log(`Would create ${resolvedDestination} from ${resolveStarter(options.type).owner}/${resolveStarter(options.type).repo}`);
147
163
  }
164
+ const provenance = empty && !preview
165
+ ? await cloneStarter(options.type, resolvedDestination, dependencies)
166
+ : undefined;
148
167
  await dependencies.runApply(resolvedDestination, toCliOptions(options));
168
+ if (provenance)
169
+ await recordStarterProvenance(resolvedDestination, provenance, true);
149
170
  }
150
171
  //# sourceMappingURL=setup-project.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"setup-project.js","sourceRoot":"","sources":["../../src/cli/setup-project.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup-project.js","sourceRoot":"","sources":["../../src/cli/setup-project.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import type { Command } from "commander";
2
+ import { type CaptureCommand } from "./starter-provenance.js";
3
+ /** Adoption records a baseline; it does not apply starter changes. */
4
+ export interface StarterAdoptOptions {
5
+ path?: string;
6
+ ref?: string;
7
+ }
8
+ /**
9
+ * Adopt a starter without resetting a baseline that is already tracked.
10
+ * @param repo - Starter's owner/repository name.
11
+ * @param options - Project path and tracked ref.
12
+ * @param capture - Bounded GitHub metadata reader.
13
+ */
14
+ export declare function runStarterAdopt(repo: string, options?: StarterAdoptOptions, capture?: CaptureCommand): Promise<void>;
15
+ /**
16
+ * Register the starter adoption command without changing default apply routing.
17
+ * @param program - Commander root.
18
+ * @param run - Adoption handler.
19
+ */
20
+ export declare function addStarterCommand(program: Command, run?: typeof runStarterAdopt): void;
21
+ //# sourceMappingURL=starter-cmd.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"starter-cmd.d.ts","sourceRoot":"","sources":["../../src/cli/starter-cmd.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGzC,OAAO,EAKL,KAAK,cAAc,EACpB,MAAM,yBAAyB,CAAC;AAEjC,sEAAsE;AACtE,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,CACnC,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,mBAAwB,EACjC,OAAO,GAAE,cAA+B,GACvC,OAAO,CAAC,IAAI,CAAC,CAuBf;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,OAAO,EAChB,GAAG,GAAE,OAAO,eAAiC,GAC5C,IAAI,CAeN"}
@@ -0,0 +1,40 @@
1
+ import path from "node:path";
2
+ import { readProjectConfig } from "../core/project-config.js";
3
+ import { captureCommand, readGitHubStarter, recordStarterProvenance, validateStarterRepo, } from "./starter-provenance.js";
4
+ /**
5
+ * Adopt a starter without resetting a baseline that is already tracked.
6
+ * @param repo - Starter's owner/repository name.
7
+ * @param options - Project path and tracked ref.
8
+ * @param capture - Bounded GitHub metadata reader.
9
+ */
10
+ export async function runStarterAdopt(repo, options = {}, capture = captureCommand) {
11
+ const validatedRepo = validateStarterRepo(repo);
12
+ const destination = path.resolve(options.path ?? ".");
13
+ const config = await readProjectConfig(destination);
14
+ if (config.starter?.templates?.some(entry => entry.repo.toLowerCase() === repo.toLowerCase())) {
15
+ console.log(`Starter ${repo} is already tracked; its baseline is unchanged.`);
16
+ return;
17
+ }
18
+ const { template } = await readGitHubStarter(validatedRepo, options.ref, capture);
19
+ await recordStarterProvenance(destination, template);
20
+ console.log(`Adopted ${repo} at ${template.lastSync.sha}. This records a baseline for future changes; existing project files were not synchronized.`);
21
+ }
22
+ /**
23
+ * Register the starter adoption command without changing default apply routing.
24
+ * @param program - Commander root.
25
+ * @param run - Adoption handler.
26
+ */
27
+ export function addStarterCommand(program, run = runStarterAdopt) {
28
+ program
29
+ .command("starter")
30
+ .description("Manage the project's starter origins")
31
+ .command("adopt")
32
+ .description("Record a starter baseline for an existing project")
33
+ .argument("<repo>", "Starter as owner/repository")
34
+ .option("--path <path>", "Existing project directory")
35
+ .option("--ref <ref>", "Tracked branch or ref (default: starter's default branch)")
36
+ .action(async (repo, options) => {
37
+ await run(repo, options);
38
+ });
39
+ }
40
+ //# sourceMappingURL=starter-cmd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"starter-cmd.js","sourceRoot":"","sources":["../../src/cli/starter-cmd.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAI7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,uBAAuB,EACvB,mBAAmB,GAEpB,MAAM,yBAAyB,CAAC;AAQjC;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,IAAY,EACZ,UAA+B,EAAE,EACjC,UAA0B,cAAc;IAExC,MAAM,aAAa,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAChD,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,WAAW,CAAC,CAAC;IACpD,IACE,MAAM,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAC7B,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE,CACzD,EACD,CAAC;QACD,OAAO,CAAC,GAAG,CACT,WAAW,IAAI,iDAAiD,CACjE,CAAC;QACF,OAAO;IACT,CAAC;IACD,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,iBAAiB,CAC1C,aAAa,EACb,OAAO,CAAC,GAAG,EACX,OAAO,CACR,CAAC;IACF,MAAM,uBAAuB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IACrD,OAAO,CAAC,GAAG,CACT,WAAW,IAAI,OAAO,QAAQ,CAAC,QAAQ,CAAC,GAAG,6FAA6F,CACzI,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAC/B,OAAgB,EAChB,MAA8B,eAAe;IAE7C,OAAO;SACJ,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,sCAAsC,CAAC;SACnD,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,mDAAmD,CAAC;SAChE,QAAQ,CAAC,QAAQ,EAAE,6BAA6B,CAAC;SACjD,MAAM,CAAC,eAAe,EAAE,4BAA4B,CAAC;SACrD,MAAM,CACL,aAAa,EACb,2DAA2D,CAC5D;SACA,MAAM,CAAC,KAAK,EAAE,IAAY,EAAE,OAA4B,EAAE,EAAE;QAC3D,MAAM,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -0,0 +1,47 @@
1
+ import type { StarterTemplate } from "../core/project-config-starter.js";
2
+ /** Capture bounded command output without invoking a shell. */
3
+ export type CaptureCommand = (command: string, args: readonly string[], options?: {
4
+ cwd?: string;
5
+ }) => Promise<string>;
6
+ /**
7
+ * Read the small Git/GitHub metadata responses needed for provenance.
8
+ * @param command - Executable name.
9
+ * @param args - Separate command arguments.
10
+ * @param options - Optional working directory.
11
+ * @returns Trimmed standard output.
12
+ */
13
+ export declare const captureCommand: CaptureCommand;
14
+ /**
15
+ * Require a GitHub repository name rather than accepting arbitrary endpoints.
16
+ * @param repo - Owner/repository input.
17
+ * @returns The validated repository name.
18
+ */
19
+ export declare function validateStarterRepo(repo: string): string;
20
+ /**
21
+ * Snapshot the GitHub revision whose tree creation must actually copy.
22
+ * @param repo - Starter repository.
23
+ * @param ref - Explicit tracked ref, or the repository's default branch.
24
+ * @param capture - Metadata reader.
25
+ * @returns Provenance and the expected copied tree.
26
+ */
27
+ export declare function readGitHubStarter(repo: string, ref: string | undefined, capture?: CaptureCommand): Promise<{
28
+ template: StarterTemplate;
29
+ tree: string;
30
+ }>;
31
+ /**
32
+ * Capture a real clone's revision before setup replaces its Git history.
33
+ * @param repo - Starter repository.
34
+ * @param destination - Clone directory.
35
+ * @param capture - Metadata reader.
36
+ * @returns Provenance tied to the cloned files.
37
+ */
38
+ export declare function readClonedStarter(repo: string, destination: string, capture: CaptureCommand): Promise<StarterTemplate>;
39
+ /**
40
+ * Record one baseline while retaining other starters and extension settings.
41
+ * @param destination - Project directory.
42
+ * @param template - Verified starter revision.
43
+ * @param replaceExisting - Creation replaces inherited provenance; adoption does not.
44
+ * @returns Whether the config changed.
45
+ */
46
+ export declare function recordStarterProvenance(destination: string, template: StarterTemplate, replaceExisting?: boolean): Promise<boolean>;
47
+ //# sourceMappingURL=starter-provenance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"starter-provenance.d.ts","sourceRoot":"","sources":["../../src/cli/starter-provenance.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAEzE,+DAA+D;AAC/D,MAAM,MAAM,cAAc,GAAG,CAC3B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,OAAO,CAAC,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,KACvB,OAAO,CAAC,MAAM,CAAC,CAAC;AAIrB;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,EAAE,cAY5B,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKxD;AAgBD;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,OAAO,GAAE,cAA+B,GACvC,OAAO,CAAC;IAAE,QAAQ,EAAE,eAAe,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAqBtD;AAED;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,eAAe,CAAC,CAW1B;AAED;;;;;;GAMG;AACH,wBAAsB,uBAAuB,CAC3C,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,eAAe,EACzB,eAAe,UAAQ,GACtB,OAAO,CAAC,OAAO,CAAC,CAiBlB"}
@@ -0,0 +1,112 @@
1
+ import { execFile } from "node:child_process";
2
+ import { promisify } from "node:util";
3
+ import { readProjectConfig, writeProjectConfig, } from "../core/project-config.js";
4
+ const execute = promisify(execFile);
5
+ /**
6
+ * Read the small Git/GitHub metadata responses needed for provenance.
7
+ * @param command - Executable name.
8
+ * @param args - Separate command arguments.
9
+ * @param options - Optional working directory.
10
+ * @returns Trimmed standard output.
11
+ */
12
+ export const captureCommand = async (command, args, options) => {
13
+ const { stdout } = await execute(command, [...args], {
14
+ ...options,
15
+ encoding: "utf8",
16
+ timeout: 30_000,
17
+ maxBuffer: 1024 * 1024,
18
+ });
19
+ return stdout.trim();
20
+ };
21
+ /**
22
+ * Require a GitHub repository name rather than accepting arbitrary endpoints.
23
+ * @param repo - Owner/repository input.
24
+ * @returns The validated repository name.
25
+ */
26
+ export function validateStarterRepo(repo) {
27
+ if (!/^[a-z\d][a-z\d_.-]*\/[a-z\d][a-z\d_.-]*$/i.test(repo)) {
28
+ throw new Error("Name the starter as owner/repository.");
29
+ }
30
+ return repo;
31
+ }
32
+ /**
33
+ * Validate Git object metadata before persisting a baseline.
34
+ * @param value - Reported object identifier.
35
+ * @returns The verified object identifier.
36
+ */
37
+ function gitObject(value) {
38
+ if (!/^(?:[a-f\d]{40}|[a-f\d]{64})$/i.test(value)) {
39
+ throw new Error("The starter did not return a valid Git object identifier.");
40
+ }
41
+ return value;
42
+ }
43
+ /**
44
+ * Snapshot the GitHub revision whose tree creation must actually copy.
45
+ * @param repo - Starter repository.
46
+ * @param ref - Explicit tracked ref, or the repository's default branch.
47
+ * @param capture - Metadata reader.
48
+ * @returns Provenance and the expected copied tree.
49
+ */
50
+ export async function readGitHubStarter(repo, ref, capture = captureCommand) {
51
+ const endpoint = `repos/${validateStarterRepo(repo)}`;
52
+ const trackedRef = ref ?? (await capture("gh", ["api", endpoint, "--jq", ".default_branch"]));
53
+ if (!trackedRef.trim())
54
+ throw new Error("The starter has no tracked branch or ref.");
55
+ const raw = await capture("gh", [
56
+ "api",
57
+ `${endpoint}/commits/${encodeURIComponent(trackedRef)}`,
58
+ "--jq",
59
+ "[.sha,.commit.tree.sha] | @tsv",
60
+ ]);
61
+ const [sha, tree] = raw.split("\t");
62
+ return {
63
+ template: {
64
+ repo,
65
+ ref: trackedRef,
66
+ lastSync: { sha: gitObject(sha ?? ""), at: new Date().toISOString() },
67
+ },
68
+ tree: gitObject(tree ?? ""),
69
+ };
70
+ }
71
+ /**
72
+ * Capture a real clone's revision before setup replaces its Git history.
73
+ * @param repo - Starter repository.
74
+ * @param destination - Clone directory.
75
+ * @param capture - Metadata reader.
76
+ * @returns Provenance tied to the cloned files.
77
+ */
78
+ export async function readClonedStarter(repo, destination, capture) {
79
+ const sha = await capture("git", ["rev-parse", "HEAD"], { cwd: destination });
80
+ const ref = await capture("git", ["symbolic-ref", "--short", "HEAD"], {
81
+ cwd: destination,
82
+ });
83
+ if (!ref.trim())
84
+ throw new Error("The starter clone has no tracked branch.");
85
+ return {
86
+ repo,
87
+ ref,
88
+ lastSync: { sha: gitObject(sha), at: new Date().toISOString() },
89
+ };
90
+ }
91
+ /**
92
+ * Record one baseline while retaining other starters and extension settings.
93
+ * @param destination - Project directory.
94
+ * @param template - Verified starter revision.
95
+ * @param replaceExisting - Creation replaces inherited provenance; adoption does not.
96
+ * @returns Whether the config changed.
97
+ */
98
+ export async function recordStarterProvenance(destination, template, replaceExisting = false) {
99
+ const { starter = {} } = await readProjectConfig(destination);
100
+ const templates = starter.templates ?? [];
101
+ const index = templates.findIndex(entry => entry.repo.toLowerCase() === template.repo.toLowerCase());
102
+ if (index !== -1 && !replaceExisting)
103
+ return false;
104
+ const updated = index === -1
105
+ ? [...templates, template]
106
+ : templates.map((entry, at) => at === index ? { ...entry, ...template } : entry);
107
+ await writeProjectConfig(destination, {
108
+ starter: { ...starter, templates: updated },
109
+ });
110
+ return true;
111
+ }
112
+ //# sourceMappingURL=starter-provenance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"starter-provenance.js","sourceRoot":"","sources":["../../src/cli/starter-provenance.ts"],"names":[],"mappings":"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"}
@@ -48,9 +48,9 @@ export const NIGHTLY_E2E_GUARD_BEHAVIOR_CERTIFICATES = Object.freeze({
48
48
  }),
49
49
  f87e6eee47ddb6416f2c639b79b96a68173c9c562999fbad98abe012ac913d28: Object.freeze({
50
50
  contractVersion: "1.9.0",
51
- packageVersions: Object.freeze(["4.59.4"]),
51
+ packageVersions: Object.freeze(["4.60.0"]),
52
52
  provenances: Object.freeze([
53
- "workspace package @codyswann/lisa@4.59.4 (typescript/copy-overwrite/scripts/check-nightly-e2e-health.mjs)",
53
+ "workspace package @codyswann/lisa@4.60.0 (typescript/copy-overwrite/scripts/check-nightly-e2e-health.mjs)",
54
54
  ]),
55
55
  }),
56
56
  });
@@ -1 +1 @@
1
- {"version":3,"file":"project-config-starter.d.ts","sourceRoot":"","sources":["../../src/core/project-config-starter.ts"],"names":[],"mappings":"AAGA,kDAAkD;AAClD,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,QAAQ,EAAE;QAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IACjE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B,CAAC;AAEF,uEAAuE;AACvE,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,cAAc,GAAG,mBAAmB,CAAC;IACzD,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IACrC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CACjC,CAAC;AAEF,8CAA8C;AAC9C,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,eAAe,EAAE,CAAC;IACvC,QAAQ,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC;CAC7B,CAAC;AAEF,8EAA8E;AAC9E,eAAO,MAAM,qBAAqB;;;;;CAKxB,CAAC;AAwDX;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,eAAe,EAAE,CAK1E;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,WAAW,CAoB/D;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,OAAO,GACb,aAAa,GAAG,SAAS,CAW3B"}
1
+ {"version":3,"file":"project-config-starter.d.ts","sourceRoot":"","sources":["../../src/core/project-config-starter.ts"],"names":[],"mappings":"AAGA,kDAAkD;AAClD,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,QAAQ,EAAE;QAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IACjE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B,CAAC;AAEF,uEAAuE;AACvE,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,cAAc,GAAG,mBAAmB,CAAC;IACzD,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IACrC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CACjC,CAAC;AAEF,8CAA8C;AAC9C,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,eAAe,EAAE,CAAC;IACvC,QAAQ,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC;CAC7B,CAAC;AAEF,8EAA8E;AAC9E,eAAO,MAAM,qBAAqB;;;;;CAKxB,CAAC;AAwDX;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,eAAe,EAAE,CAK1E;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,WAAW,CAoB/D;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,OAAO,GACb,aAAa,GAAG,SAAS,CAY3B"}
@@ -102,6 +102,7 @@ export function validateStarterConfig(value) {
102
102
  return undefined;
103
103
  const starter = requireObject(value, "starter");
104
104
  return {
105
+ ...starter,
105
106
  ...(starter.templates === undefined
106
107
  ? {}
107
108
  : { templates: validateStarterTemplates(starter.templates) }),
@@ -1 +1 @@
1
- {"version":3,"file":"project-config-starter.js","sourceRoot":"","sources":["../../src/core/project-config-starter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project-config-starter.js","sourceRoot":"","sources":["../../src/core/project-config-starter.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"upstream-evidence-manifest.d.ts","sourceRoot":"","sources":["../../src/core/upstream-evidence-manifest.ts"],"names":[],"mappings":"AACA,iFAAiF;AACjF,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAwkFpE,CAAC;AAEL,4EAA4E;AAC5E,eAAO,MAAM,yBAAyB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CA0+QjE,CAAC;AAEL,sFAAsF;AACtF,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAk6I/D,CAAC"}
1
+ {"version":3,"file":"upstream-evidence-manifest.d.ts","sourceRoot":"","sources":["../../src/core/upstream-evidence-manifest.ts"],"names":[],"mappings":"AACA,iFAAiF;AACjF,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAwkFpE,CAAC;AAEL,4EAA4E;AAC5E,eAAO,MAAM,yBAAyB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CA8+QjE,CAAC;AAEL,sFAAsF;AACtF,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAk6I/D,CAAC"}
@@ -67,7 +67,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
67
67
  "cdk/copy-overwrite/tsconfig.json": "bd960df819bb1ce01163ac4b28721eea3f07d482f6c454cfea9a8dc90191033a",
68
68
  "cdk/copy-overwrite/vitest.cdk.ts": "030158b11bec4f10b39585feb98f498981f307faa1fa314c7522e6def5d73c94",
69
69
  "cdk/copy-overwrite/vitest.config.ts": "c7f309d4f43d9188b9c067cb4900b2bdbacfbd28d135a6a2e6313cb0a37b030f",
70
- "cdk/create-only/.github/workflows/ci.yml": "52a56985e5bdeb162e3e9a3c1b90722f889fc1957b6345e511237761e7d339f9",
70
+ "cdk/create-only/.github/workflows/ci.yml": "7c5aaf999dbfea2f8480de470a9b3feef2a27cce6e4517d9aa438d343c62cc22",
71
71
  "cdk/create-only/.github/workflows/deploy.yml": "ce03110bf5b41927aace02700442d92da248b781b1dad020073402412a4e82f7",
72
72
  "cdk/create-only/cdk.json": "f89030d8fe145a1dbabd59d89ddee4e16984f222d737f7fcf6b778d911e9fe40",
73
73
  "cdk/create-only/stryker.conf.json": "9ccc4dc3fc72f8bb848794214a7784d233fa35558f12514ce16cf0fba59aa4be",
@@ -7529,6 +7529,8 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
7529
7529
  "src/cli/setup-wiki.ts": true,
7530
7530
  "src/cli/shared-options.ts": true,
7531
7531
  "src/cli/standards-proof-cmd.ts": true,
7532
+ "src/cli/starter-cmd.ts": true,
7533
+ "src/cli/starter-provenance.ts": true,
7532
7534
  "src/cli/starters.ts": true,
7533
7535
  "src/cli/stash-prune-policy.ts": true,
7534
7536
  "src/cli/stash-prune.ts": true,
@@ -8411,6 +8413,8 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
8411
8413
  "tests/unit/cli/setup-project.test.ts": true,
8412
8414
  "tests/unit/cli/setup-wiki.test.ts": true,
8413
8415
  "tests/unit/cli/shared-options.test.ts": true,
8416
+ "tests/unit/cli/starter-adopt.test.ts": true,
8417
+ "tests/unit/cli/starter-provenance.test.ts": true,
8414
8418
  "tests/unit/cli/starters.test.ts": true,
8415
8419
  "tests/unit/cli/stash-prune-policy.test.ts": true,
8416
8420
  "tests/unit/cli/sync-cmd.test.ts": true,