@langri-sha/projen-project 0.33.0 → 0.35.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/CHANGELOG.json CHANGED
@@ -2,7 +2,201 @@
2
2
  "name": "@langri-sha/projen-project",
3
3
  "entries": [
4
4
  {
5
- "date": "Fri, 09 Oct 2026 12:54:16 GMT",
5
+ "date": "Sat, 10 Oct 2026 15:22:01 GMT",
6
+ "version": "0.35.0",
7
+ "tag": "@langri-sha/projen-project_v0.35.0",
8
+ "comments": {
9
+ "minor": [
10
+ {
11
+ "author": "filip.dupanovic@gmail.com",
12
+ "package": "@langri-sha/projen-project",
13
+ "commit": "1923629848ec8dbc073fa154303682cf462bd2c1",
14
+ "comment": "Add a skills option that declares agent skills and has Renovate bump their commit pins"
15
+ },
16
+ {
17
+ "author": "beachball",
18
+ "package": "@langri-sha/projen-project",
19
+ "comment": "Bump projen-jest-config to v0.4.21",
20
+ "commit": "not available"
21
+ },
22
+ {
23
+ "author": "beachball",
24
+ "package": "@langri-sha/projen-project",
25
+ "comment": "Bump projen-lint-synthesized to v0.5.20",
26
+ "commit": "not available"
27
+ },
28
+ {
29
+ "author": "beachball",
30
+ "package": "@langri-sha/projen-project",
31
+ "comment": "Bump projen-swcrc to v0.1.28",
32
+ "commit": "not available"
33
+ }
34
+ ]
35
+ }
36
+ },
37
+ {
38
+ "date": "Sat, 10 Oct 2026 05:05:17 GMT",
39
+ "version": "0.34.0",
40
+ "tag": "@langri-sha/projen-project_v0.34.0",
41
+ "comments": {
42
+ "minor": [
43
+ {
44
+ "author": "filip.dupanovic@gmail.com",
45
+ "package": "@langri-sha/projen-project",
46
+ "commit": "dece8e503e9422040b03d48ecae1d7b3817300db",
47
+ "comment": "Supply a default Worktrunk `pre-start` hook that syncs the default branch, seeds `.env` files and installs dependencies"
48
+ },
49
+ {
50
+ "author": "filip.dupanovic@gmail.com",
51
+ "package": "@langri-sha/projen-project",
52
+ "commit": "dece8e503e9422040b03d48ecae1d7b3817300db",
53
+ "comment": "Fetch Cargo and sync uv dependencies in the default Worktrunk `pre-start` hook"
54
+ },
55
+ {
56
+ "author": "beachball",
57
+ "package": "@langri-sha/projen-project",
58
+ "comment": "Bump projen-babel-config to v0.5.18",
59
+ "commit": "not available"
60
+ },
61
+ {
62
+ "author": "beachball",
63
+ "package": "@langri-sha/projen-project",
64
+ "comment": "Bump projen-beachball to v0.5.15",
65
+ "commit": "not available"
66
+ },
67
+ {
68
+ "author": "beachball",
69
+ "package": "@langri-sha/projen-project",
70
+ "comment": "Bump projen-cargo to v0.2.0",
71
+ "commit": "not available"
72
+ },
73
+ {
74
+ "author": "beachball",
75
+ "package": "@langri-sha/projen-project",
76
+ "comment": "Bump projen-codeowners to v0.5.15",
77
+ "commit": "not available"
78
+ },
79
+ {
80
+ "author": "beachball",
81
+ "package": "@langri-sha/projen-project",
82
+ "comment": "Bump projen-dagger to v0.3.3",
83
+ "commit": "not available"
84
+ },
85
+ {
86
+ "author": "beachball",
87
+ "package": "@langri-sha/projen-project",
88
+ "comment": "Bump projen-editorconfig to v0.6.15",
89
+ "commit": "not available"
90
+ },
91
+ {
92
+ "author": "beachball",
93
+ "package": "@langri-sha/projen-project",
94
+ "comment": "Bump projen-eslint to v0.3.19",
95
+ "commit": "not available"
96
+ },
97
+ {
98
+ "author": "beachball",
99
+ "package": "@langri-sha/projen-project",
100
+ "comment": "Bump projen-husky to v0.3.25",
101
+ "commit": "not available"
102
+ },
103
+ {
104
+ "author": "beachball",
105
+ "package": "@langri-sha/projen-project",
106
+ "comment": "Bump projen-jest-config to v0.4.20",
107
+ "commit": "not available"
108
+ },
109
+ {
110
+ "author": "beachball",
111
+ "package": "@langri-sha/projen-project",
112
+ "comment": "Bump projen-license to v0.3.18",
113
+ "commit": "not available"
114
+ },
115
+ {
116
+ "author": "beachball",
117
+ "package": "@langri-sha/projen-project",
118
+ "comment": "Bump projen-lint-staged to v0.3.20",
119
+ "commit": "not available"
120
+ },
121
+ {
122
+ "author": "beachball",
123
+ "package": "@langri-sha/projen-project",
124
+ "comment": "Bump projen-lint-synthesized to v0.5.19",
125
+ "commit": "not available"
126
+ },
127
+ {
128
+ "author": "beachball",
129
+ "package": "@langri-sha/projen-project",
130
+ "comment": "Bump projen-pnpm-workspace to v0.4.15",
131
+ "commit": "not available"
132
+ },
133
+ {
134
+ "author": "beachball",
135
+ "package": "@langri-sha/projen-project",
136
+ "comment": "Bump projen-prettier to v0.4.20",
137
+ "commit": "not available"
138
+ },
139
+ {
140
+ "author": "beachball",
141
+ "package": "@langri-sha/projen-project",
142
+ "comment": "Bump projen-readme to v0.1.15",
143
+ "commit": "not available"
144
+ },
145
+ {
146
+ "author": "beachball",
147
+ "package": "@langri-sha/projen-project",
148
+ "comment": "Bump projen-renovate to v0.4.27",
149
+ "commit": "not available"
150
+ },
151
+ {
152
+ "author": "beachball",
153
+ "package": "@langri-sha/projen-project",
154
+ "comment": "Bump projen-ruff to v0.1.1",
155
+ "commit": "not available"
156
+ },
157
+ {
158
+ "author": "beachball",
159
+ "package": "@langri-sha/projen-project",
160
+ "comment": "Bump projen-swcrc to v0.1.27",
161
+ "commit": "not available"
162
+ },
163
+ {
164
+ "author": "beachball",
165
+ "package": "@langri-sha/projen-project",
166
+ "comment": "Bump projen-ty to v0.1.1",
167
+ "commit": "not available"
168
+ },
169
+ {
170
+ "author": "beachball",
171
+ "package": "@langri-sha/projen-project",
172
+ "comment": "Bump projen-typescript-config to v0.5.23",
173
+ "commit": "not available"
174
+ },
175
+ {
176
+ "author": "beachball",
177
+ "package": "@langri-sha/projen-project",
178
+ "comment": "Bump projen-uv to v0.2.0",
179
+ "commit": "not available"
180
+ },
181
+ {
182
+ "author": "beachball",
183
+ "package": "@langri-sha/projen-project",
184
+ "comment": "Bump projen-worktrunk to v0.1.6",
185
+ "commit": "not available"
186
+ }
187
+ ],
188
+ "patch": [
189
+ {
190
+ "author": "filip.dupanovic@gmail.com",
191
+ "package": "@langri-sha/projen-project",
192
+ "commit": "dece8e503e9422040b03d48ecae1d7b3817300db",
193
+ "comment": "Depend on the component packages by their unscoped names"
194
+ }
195
+ ]
196
+ }
197
+ },
198
+ {
199
+ "date": "Fri, 09 Oct 2026 12:57:46 GMT",
6
200
  "version": "0.33.0",
7
201
  "tag": "@langri-sha/projen-project_v0.33.0",
8
202
  "comments": {
package/CHANGELOG.md CHANGED
@@ -1,12 +1,58 @@
1
1
  # Change Log - @langri-sha/projen-project
2
2
 
3
- <!-- This log was last generated on Fri, 09 Oct 2026 12:54:16 GMT and should not be manually modified. -->
3
+ <!-- This log was last generated on Sat, 10 Oct 2026 15:22:01 GMT and should not be manually modified. -->
4
4
 
5
5
  <!-- Start content -->
6
6
 
7
+ ## 0.35.0
8
+
9
+ Sat, 10 Oct 2026 15:22:01 GMT
10
+
11
+ ### Minor changes
12
+
13
+ - Add a skills option that declares agent skills and has Renovate bump their commit pins (filip.dupanovic@gmail.com)
14
+ - Bump projen-jest-config to v0.4.21
15
+ - Bump projen-lint-synthesized to v0.5.20
16
+ - Bump projen-swcrc to v0.1.28
17
+
18
+ ## 0.34.0
19
+
20
+ Sat, 10 Oct 2026 05:05:17 GMT
21
+
22
+ ### Minor changes
23
+
24
+ - Supply a default Worktrunk `pre-start` hook that syncs the default branch, seeds `.env` files and installs dependencies (filip.dupanovic@gmail.com)
25
+ - Fetch Cargo and sync uv dependencies in the default Worktrunk `pre-start` hook (filip.dupanovic@gmail.com)
26
+ - Bump projen-babel-config to v0.5.18
27
+ - Bump projen-beachball to v0.5.15
28
+ - Bump projen-cargo to v0.2.0
29
+ - Bump projen-codeowners to v0.5.15
30
+ - Bump projen-dagger to v0.3.3
31
+ - Bump projen-editorconfig to v0.6.15
32
+ - Bump projen-eslint to v0.3.19
33
+ - Bump projen-husky to v0.3.25
34
+ - Bump projen-jest-config to v0.4.20
35
+ - Bump projen-license to v0.3.18
36
+ - Bump projen-lint-staged to v0.3.20
37
+ - Bump projen-lint-synthesized to v0.5.19
38
+ - Bump projen-pnpm-workspace to v0.4.15
39
+ - Bump projen-prettier to v0.4.20
40
+ - Bump projen-readme to v0.1.15
41
+ - Bump projen-renovate to v0.4.27
42
+ - Bump projen-ruff to v0.1.1
43
+ - Bump projen-swcrc to v0.1.27
44
+ - Bump projen-ty to v0.1.1
45
+ - Bump projen-typescript-config to v0.5.23
46
+ - Bump projen-uv to v0.2.0
47
+ - Bump projen-worktrunk to v0.1.6
48
+
49
+ ### Patches
50
+
51
+ - Depend on the component packages by their unscoped names (filip.dupanovic@gmail.com)
52
+
7
53
  ## 0.33.0
8
54
 
9
- Fri, 09 Oct 2026 12:54:16 GMT
55
+ Fri, 09 Oct 2026 12:57:46 GMT
10
56
 
11
57
  ### Minor changes
12
58
 
package/dist/index.d.ts CHANGED
@@ -1,29 +1,30 @@
1
- import { Babel, BabelOptions } from '@langri-sha/projen-babel';
2
- import { Beachball, BeachballOptions } from '@langri-sha/projen-beachball';
3
- import { type CargoOptions, CargoPackage, CargoWorkspace } from '@langri-sha/projen-cargo';
4
- import { Codeowners, type CodeownersOptions } from '@langri-sha/projen-codeowners';
5
- import { Dagger, type DaggerOptions } from '@langri-sha/projen-dagger';
6
- import { EditorConfig, type EditorConfigOptions } from '@langri-sha/projen-editorconfig';
7
- import { ESLint, ESLintOptions } from '@langri-sha/projen-eslint';
8
- import { Husky, type HuskyOptions } from '@langri-sha/projen-husky';
9
- import { JestConfig, JestConfigOptions } from '@langri-sha/projen-jest-config';
10
- import { License } from '@langri-sha/projen-license';
11
- import { LintStaged, LintStagedOptions } from '@langri-sha/projen-lint-staged';
12
- import { type LintSynthesizedOptions } from '@langri-sha/projen-lint-synthesized';
13
- import { PnpmWorkspace, PnpmWorkspaceOptions } from '@langri-sha/projen-pnpm-workspace';
14
- import { Prettier, PrettierOptions } from '@langri-sha/projen-prettier';
15
- import { ReadmeFile, type ReadmeFileOptions } from '@langri-sha/projen-readme';
16
- import { Renovate, type RenovateOptions } from '@langri-sha/projen-renovate';
17
- import { Ruff, type RuffOptions } from '@langri-sha/projen-ruff';
18
- import { SWCConfig, type SWCConfigOptions } from '@langri-sha/projen-swcrc';
19
- import { Ty, type TyOptions } from '@langri-sha/projen-ty';
20
- import { TypeScriptConfig, type TypeScriptConfigOptions } from '@langri-sha/projen-typescript-config';
21
- import { type UvOptions, UvPackage, UvWorkspace } from '@langri-sha/projen-uv';
22
- import { Worktrunk, type WorktrunkOptions } from '@langri-sha/projen-worktrunk';
23
1
  import { Project as BaseProject, type ProjectOptions as BaseProjectOptions, IgnoreFile, IgnoreFileOptions } from 'projen';
2
+ import { Babel, BabelOptions } from 'projen-babel-config';
3
+ import { Beachball, BeachballOptions } from 'projen-beachball';
4
+ import { type CargoOptions, CargoPackage, CargoWorkspace } from 'projen-cargo';
5
+ import { Codeowners, type CodeownersOptions } from 'projen-codeowners';
6
+ import { Dagger, type DaggerOptions } from 'projen-dagger';
7
+ import { EditorConfig, type EditorConfigOptions } from 'projen-editorconfig';
8
+ import { ESLint, ESLintOptions } from 'projen-eslint';
9
+ import { Husky, type HuskyOptions } from 'projen-husky';
10
+ import { JestConfig, JestConfigOptions } from 'projen-jest-config';
11
+ import { License } from 'projen-license';
12
+ import { LintStaged, LintStagedOptions } from 'projen-lint-staged';
13
+ import { type LintSynthesizedOptions } from 'projen-lint-synthesized';
14
+ import { PnpmWorkspace, PnpmWorkspaceOptions } from 'projen-pnpm-workspace';
15
+ import { Prettier, PrettierOptions } from 'projen-prettier';
16
+ import { ReadmeFile, type ReadmeFileOptions } from 'projen-readme';
17
+ import { Renovate, type RenovateOptions } from 'projen-renovate';
18
+ import { Ruff, type RuffOptions } from 'projen-ruff';
19
+ import { Skills, type SkillsOptions } from 'projen-skills';
20
+ import { SWCConfig, type SWCConfigOptions } from 'projen-swcrc';
21
+ import { Ty, type TyOptions } from 'projen-ty';
22
+ import { TypeScriptConfig, type TypeScriptConfigOptions } from 'projen-typescript-config';
23
+ import { type UvOptions, UvPackage, UvWorkspace } from 'projen-uv';
24
+ import { Worktrunk, type WorktrunkOptions } from 'projen-worktrunk';
24
25
  import { GitAttributesFile } from './lib/gitattributes.js';
25
26
  import { NodePackage, NodePackageOptions, ProjenrcFile } from './lib/index.js';
26
- export * from '@langri-sha/projen-typescript-config';
27
+ export * from 'projen-typescript-config';
27
28
  export interface ProjectOptions extends Omit<BaseProjectOptions, 'renovatebot' | 'renovatebotOptions'> {
28
29
  babel?: BabelOptions;
29
30
  beachball?: BeachballOptions;
@@ -87,6 +88,11 @@ export interface ProjectOptions extends Omit<BaseProjectOptions, 'renovatebot' |
87
88
  * whatever ruff is on the `PATH`.
88
89
  */
89
90
  ruff?: RuffOptions;
91
+ /**
92
+ * Pass in to declare the agent skills the repository uses, installed by the
93
+ * `skills` CLI after every synthesis. Root projects only.
94
+ */
95
+ skills?: SkillsOptions;
90
96
  swcrc?: SWCConfigOptions;
91
97
  /**
92
98
  * Pass in to configure ty. Root projects only, like `ruff`.
@@ -106,8 +112,8 @@ export interface ProjectOptions extends Omit<BaseProjectOptions, 'renovatebot' |
106
112
  uv?: UvOptions;
107
113
  withTerraform?: boolean;
108
114
  /**
109
- * Configures Worktrunk, when provided. No hooks are supplied by default:
110
- * each one runs on teammates' machines, so a project declares its own.
115
+ * Configures Worktrunk, when provided. Supplies a default `pre-start`
116
+ * pipeline, which a `pre-start` in `config`, in any form, replaces whole.
111
117
  */
112
118
  worktrunk?: WorktrunkOptions;
113
119
  }
@@ -133,6 +139,7 @@ export declare class Project extends BaseProject {
133
139
  readme?: ReadmeFile;
134
140
  renovate?: Renovate;
135
141
  ruff?: Ruff;
142
+ skills?: Skills;
136
143
  swcrc?: SWCConfig;
137
144
  ty?: Ty;
138
145
  typeScriptConfig?: TypeScriptConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -3,37 +3,38 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
3
3
  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
4
4
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
5
5
  };
6
- var _Project_instances, _a, _Project_ownedDevDeps, _Project_addDefaultDevDeps, _Project_assertSupported, _Project_configureBabel, _Project_configureBeachball, _Project_configureCargo, _Project_configureCodeowners, _Project_configureDagger, _Project_configureEditorConfig, _Project_configureGitAttributes, _Project_configureESLint, _Project_configureHusky, _Project_configureJestConfig, _Project_configureLicense, _Project_configureLintStaged, _Project_configureLintSynthesized, _Project_configureNpmIgnore, _Project_configurePackage, _Project_configurePnpmWorkspace, _Project_configurePrettier, _Project_configureProjenrc, _Project_configureReadme, _Project_configureRenovate, _Project_configureRuff, _Project_configureSWC, _Project_configureTy, _Project_configureTypeScript, _Project_configureUv, _Project_configureWorktrunk, _Project_populateTypeScriptProjectReferencesFromDependencies;
6
+ var _Project_instances, _a, _Project_ownedDevDeps, _Project_addDefaultDevDeps, _Project_assertSupported, _Project_configureBabel, _Project_configureBeachball, _Project_configureCargo, _Project_configureCodeowners, _Project_configureDagger, _Project_configureEditorConfig, _Project_configureGitAttributes, _Project_configureESLint, _Project_configureHusky, _Project_configureJestConfig, _Project_configureLicense, _Project_configureLintStaged, _Project_configureLintSynthesized, _Project_configureNpmIgnore, _Project_configurePackage, _Project_configurePnpmWorkspace, _Project_configurePrettier, _Project_configureProjenrc, _Project_configureReadme, _Project_configureRenovate, _Project_configureRuff, _Project_configureSkills, _Project_configureSWC, _Project_configureTy, _Project_configureTypeScript, _Project_configureUv, _Project_configureWorktrunk, _Project_defaultPreStart, _Project_populateTypeScriptProjectReferencesFromDependencies;
7
7
  import { createRequire } from 'node:module';
8
8
  import * as path from 'node:path';
9
- import { Babel } from '@langri-sha/projen-babel';
10
- import { Beachball } from '@langri-sha/projen-beachball';
11
- import { CargoPackage, CargoWorkspace, } from '@langri-sha/projen-cargo';
12
- import { Codeowners, } from '@langri-sha/projen-codeowners';
13
- import { Dagger } from '@langri-sha/projen-dagger';
14
- import { EditorConfig, } from '@langri-sha/projen-editorconfig';
15
- import { ESLint } from '@langri-sha/projen-eslint';
16
- import { Husky } from '@langri-sha/projen-husky';
17
- import { JestConfig } from '@langri-sha/projen-jest-config';
18
- import { License } from '@langri-sha/projen-license';
19
- import { LintStaged } from '@langri-sha/projen-lint-staged';
20
- import { LintSynthesized, } from '@langri-sha/projen-lint-synthesized';
21
- import { PnpmWorkspace, } from '@langri-sha/projen-pnpm-workspace';
22
- import { Prettier } from '@langri-sha/projen-prettier';
23
- import { ReadmeFile } from '@langri-sha/projen-readme';
24
- import { Renovate } from '@langri-sha/projen-renovate';
25
- import { Ruff } from '@langri-sha/projen-ruff';
26
- import { SWCConfig } from '@langri-sha/projen-swcrc';
27
- import { Ty, } from '@langri-sha/projen-ty';
28
- import { TypeScriptConfig, } from '@langri-sha/projen-typescript-config';
29
- import { UvPackage, UvWorkspace } from '@langri-sha/projen-uv';
30
- import { Worktrunk } from '@langri-sha/projen-worktrunk';
31
9
  import { Project as BaseProject, DependencyType, IgnoreFile, javascript, } from 'projen';
10
+ import { Babel } from 'projen-babel-config';
11
+ import { Beachball } from 'projen-beachball';
12
+ import { CargoPackage, CargoWorkspace } from 'projen-cargo';
13
+ import { Codeowners } from 'projen-codeowners';
14
+ import { Dagger } from 'projen-dagger';
15
+ import { EditorConfig } from 'projen-editorconfig';
16
+ import { ESLint } from 'projen-eslint';
17
+ import { Husky } from 'projen-husky';
18
+ import { JestConfig } from 'projen-jest-config';
19
+ import { License } from 'projen-license';
20
+ import { LintStaged } from 'projen-lint-staged';
21
+ import { LintSynthesized, } from 'projen-lint-synthesized';
22
+ import { PnpmWorkspace } from 'projen-pnpm-workspace';
23
+ import { Prettier } from 'projen-prettier';
24
+ import { ReadmeFile } from 'projen-readme';
25
+ import { Renovate } from 'projen-renovate';
26
+ import { Ruff } from 'projen-ruff';
27
+ import { Skills } from 'projen-skills';
28
+ import { SWCConfig } from 'projen-swcrc';
29
+ import { Ty } from 'projen-ty';
30
+ import { TypeScriptConfig, } from 'projen-typescript-config';
31
+ import { UvPackage, UvWorkspace } from 'projen-uv';
32
+ import { Worktrunk, pipeline } from 'projen-worktrunk';
32
33
  import * as R from 'ramda';
33
34
  import { satisfies, valid } from 'semver';
34
35
  import { GitAttributesFile } from './lib/gitattributes.js';
35
36
  import { NodePackage, ProjenrcFile } from './lib/index.js';
36
- export * from '@langri-sha/projen-typescript-config';
37
+ export * from 'projen-typescript-config';
37
38
  /**
38
39
  * The package manager assumed when a project does not name one.
39
40
  */
@@ -52,6 +53,32 @@ const PROJEN_COMMANDS = {
52
53
  [javascript.NodePackageManager.YARN_BERRY]: 'yarn projen',
53
54
  [javascript.NodePackageManager.YARN_CLASSIC]: 'yarn projen',
54
55
  };
56
+ /**
57
+ * The name of the command that installs dependencies in a worktree hook, per
58
+ * package manager. The binary rather than the enum value, so that every yarn
59
+ * version is `yarn`.
60
+ */
61
+ const PACKAGE_MANAGER_BINARIES = {
62
+ [javascript.NodePackageManager.BUN]: 'bun',
63
+ [javascript.NodePackageManager.NPM]: 'npm',
64
+ [javascript.NodePackageManager.PNPM]: 'pnpm',
65
+ [javascript.NodePackageManager.YARN]: 'yarn',
66
+ [javascript.NodePackageManager.YARN2]: 'yarn',
67
+ [javascript.NodePackageManager.YARN_BERRY]: 'yarn',
68
+ [javascript.NodePackageManager.YARN_CLASSIC]: 'yarn',
69
+ };
70
+ /**
71
+ * The `sync` command of the default `pre-start` pipeline. Worktrunk fails on
72
+ * undefined variables, and leaves `remote` undefined in a repository with no
73
+ * remote and `base` undefined for a worktree on an existing branch, so the
74
+ * command is skipped there. Worktrunk approves a command by its exact text, so
75
+ * editing it asks every teammate to approve it again.
76
+ */
77
+ const WORKTRUNK_SYNC_COMMAND = '{% if remote and base and base == default_branch %}git fetch {{ remote }} {{ default_branch }} && git merge --ff-only --quiet {{ remote }}/{{ default_branch }}{% endif %}';
78
+ /**
79
+ * Copies each tracked `.env.example` to a `.env` that is missing.
80
+ */
81
+ const WORKTRUNK_ENV_COMMAND = 'git ls-files -- ":(glob)**/.env.example" | while read -r example; do target=${example%.example}; [ -e "$target" ] || cp "$example" "$target"; done';
55
82
  /**
56
83
  * How long a release must have been published before Renovate proposes it.
57
84
  *
@@ -135,6 +162,7 @@ export class Project extends BaseProject {
135
162
  __classPrivateFieldGet(this, _Project_instances, "m", _Project_configurePnpmWorkspace).call(this, options);
136
163
  __classPrivateFieldGet(this, _Project_instances, "m", _Project_configureReadme).call(this, options);
137
164
  __classPrivateFieldGet(this, _Project_instances, "m", _Project_configureRuff).call(this, options);
165
+ __classPrivateFieldGet(this, _Project_instances, "m", _Project_configureSkills).call(this, options);
138
166
  __classPrivateFieldGet(this, _Project_instances, "m", _Project_configureTy).call(this, options);
139
167
  __classPrivateFieldGet(this, _Project_instances, "m", _Project_configureUv).call(this, options);
140
168
  __classPrivateFieldGet(this, _Project_instances, "m", _Project_configureWorktrunk).call(this, options);
@@ -506,7 +534,7 @@ _a = Project, _Project_ownedDevDeps = new WeakMap(), _Project_instances = new We
506
534
  return;
507
535
  }
508
536
  this.readme = new ReadmeFile(this, readme);
509
- }, _Project_configureRenovate = function _Project_configureRenovate({ cargo, dagger, renovate: renovateOptions, package: pkg, uv, }) {
537
+ }, _Project_configureRenovate = function _Project_configureRenovate({ cargo, dagger, renovate: renovateOptions, package: pkg, skills, uv, }) {
510
538
  if (!renovateOptions || this.parent) {
511
539
  return;
512
540
  }
@@ -590,6 +618,19 @@ _a = Project, _Project_ownedDevDeps = new WeakMap(), _Project_instances = new We
590
618
  },
591
619
  ]
592
620
  : []),
621
+ // git-refs reports no release dates, so under the default
622
+ // `timestamp-required` the release age above would hold every skill
623
+ // bump pending for good. Scoped to the skills manager's dep type.
624
+ ...(skills
625
+ ? [
626
+ {
627
+ description: 'Skill commits carry no release date. Propose them without waiting out the release age',
628
+ matchManagers: ['custom.regex'],
629
+ matchDepTypes: ['skills'],
630
+ minimumReleaseAgeBehaviour: 'timestamp-optional',
631
+ },
632
+ ]
633
+ : []),
593
634
  ],
594
635
  customManagers: [
595
636
  {
@@ -733,6 +774,28 @@ _a = Project, _Project_ownedDevDeps = new WeakMap(), _Project_instances = new We
733
774
  },
734
775
  ]
735
776
  : []),
777
+ // A skill is pinned to a commit and declares no branch, so only the
778
+ // digest is captured, and Renovate compares it with the tip of the
779
+ // repository's default branch. Synthesis carries a bump into
780
+ // package.json, and the sync after it refreshes skills-lock.json.
781
+ // Held to the projenrc for the reason spelled out under the
782
+ // `packageManager` manager.
783
+ ...(skills
784
+ ? [
785
+ {
786
+ customType: 'regex',
787
+ datasourceTemplate: 'git-refs',
788
+ depTypeTemplate: 'skills',
789
+ managerFilePatterns: [
790
+ '/(^|/)\\.?projenrc\\.(js|cjs|mjs|ts|mts|cts)$/',
791
+ ],
792
+ matchStrings: [
793
+ `source:\\s*['"](?<depName>[\\w.-]+/[\\w.-]+)['"],\\s*ref:\\s*['"](?<currentDigest>[0-9a-f]{40})['"]`,
794
+ ],
795
+ packageNameTemplate: 'https://github.com/{{{depName}}}',
796
+ },
797
+ ]
798
+ : []),
736
799
  // The `packageManager` field is declared in a projenrc and only
737
800
  // reaches the manifest through synthesis, so the npm manager reading
738
801
  // the manifest cannot propose it. Both patterns are held to that one
@@ -789,6 +852,12 @@ _a = Project, _Project_ownedDevDeps = new WeakMap(), _Project_instances = new We
789
852
  return;
790
853
  }
791
854
  this.ruff = new Ruff(this, ruff);
855
+ }, _Project_configureSkills = function _Project_configureSkills({ skills }) {
856
+ if (!skills || this.parent) {
857
+ return;
858
+ }
859
+ this.skills = new Skills(this, skills);
860
+ __classPrivateFieldGet(this, _Project_instances, "m", _Project_addDefaultDevDeps).call(this, 'skills@1.7.2');
792
861
  }, _Project_configureSWC = function _Project_configureSWC({ swcrc, typeScriptConfig }) {
793
862
  if (!swcrc) {
794
863
  return;
@@ -886,7 +955,22 @@ _a = Project, _Project_ownedDevDeps = new WeakMap(), _Project_instances = new We
886
955
  if (!worktrunk || this.parent) {
887
956
  return;
888
957
  }
889
- this.worktrunk = new Worktrunk(this, worktrunk);
958
+ // Replaced whole per event, not deep-merged like the other defaults: the
959
+ // three hook forms cannot be merged into one another.
960
+ this.worktrunk = new Worktrunk(this, {
961
+ ...worktrunk,
962
+ config: {
963
+ ...worktrunk.config,
964
+ 'pre-start': worktrunk.config?.['pre-start'] ?? __classPrivateFieldGet(this, _Project_instances, "m", _Project_defaultPreStart).call(this),
965
+ },
966
+ });
967
+ }, _Project_defaultPreStart = function _Project_defaultPreStart() {
968
+ const install = this.package && {
969
+ [PACKAGE_MANAGER_BINARIES[this.package.packageManager]]: this.package.installCommand,
970
+ };
971
+ const cargo = this.cargo && { cargo: this.cargo.installCommand };
972
+ const uv = this.uv && { uv: this.uv.installCommand };
973
+ return pipeline({ sync: WORKTRUNK_SYNC_COMMAND }, { env: WORKTRUNK_ENV_COMMAND, ...install, ...cargo, ...uv });
890
974
  }, _Project_populateTypeScriptProjectReferencesFromDependencies = function _Project_populateTypeScriptProjectReferencesFromDependencies() {
891
975
  if (this.parent || !this.package || !this.typeScriptConfig) {
892
976
  return;
@@ -909,7 +993,7 @@ _a = Project, _Project_ownedDevDeps = new WeakMap(), _Project_instances = new We
909
993
  }
910
994
  };
911
995
  const getProjenCommand = ({ package: pkg }) => PROJEN_COMMANDS[pkg?.packageManager ?? DEFAULT_PACKAGE_MANAGER];
912
- const getGitIgnoreOptions = ({ gitIgnoreOptions, husky: huskyOptions, parent, typeScriptConfig: typeScriptConfigOptions, withTerraform, }) => parent
996
+ const getGitIgnoreOptions = ({ gitIgnoreOptions, husky: huskyOptions, parent, typeScriptConfig: typeScriptConfigOptions, withTerraform, worktrunk, }) => parent
913
997
  ? gitIgnoreOptions
914
998
  : {
915
999
  ignorePatterns: [
@@ -918,6 +1002,7 @@ const getGitIgnoreOptions = ({ gitIgnoreOptions, husky: huskyOptions, parent, ty
918
1002
  !.babelrc
919
1003
  !.dockerignore
920
1004
  !.editorconfig
1005
+ ${worktrunk ? '!.env.example' : ''}
921
1006
  !.gitattributes
922
1007
  !.gitignore
923
1008
  !.gitkeep
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AAEjC,OAAO,EACL,OAAO,IAAI,WAAW,EAGtB,cAAc,EACd,UAAU,EAEV,UAAU,GACX,MAAM,QAAQ,CAAA;AACf,OAAO,EAAE,KAAK,EAAgB,MAAM,qBAAqB,CAAA;AACzD,OAAO,EAAE,SAAS,EAAoB,MAAM,kBAAkB,CAAA;AAC9D,OAAO,EAAqB,YAAY,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC9E,OAAO,EAAE,UAAU,EAA0B,MAAM,mBAAmB,CAAA;AACtE,OAAO,EAAE,MAAM,EAAsB,MAAM,eAAe,CAAA;AAC1D,OAAO,EAAE,YAAY,EAA4B,MAAM,qBAAqB,CAAA;AAC5E,OAAO,EAAE,MAAM,EAAiB,MAAM,eAAe,CAAA;AACrD,OAAO,EAAE,KAAK,EAAqB,MAAM,cAAc,CAAA;AACvD,OAAO,EAAE,UAAU,EAAqB,MAAM,oBAAoB,CAAA;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AACxC,OAAO,EAAE,UAAU,EAAqB,MAAM,oBAAoB,CAAA;AAClE,OAAO,EACL,eAAe,GAEhB,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,aAAa,EAAwB,MAAM,uBAAuB,CAAA;AAC3E,OAAO,EAAE,QAAQ,EAAmB,MAAM,iBAAiB,CAAA;AAC3D,OAAO,EAAE,UAAU,EAA0B,MAAM,eAAe,CAAA;AAClE,OAAO,EAAE,QAAQ,EAAwB,MAAM,iBAAiB,CAAA;AAChE,OAAO,EAAE,IAAI,EAAoB,MAAM,aAAa,CAAA;AACpD,OAAO,EAAE,MAAM,EAAsB,MAAM,eAAe,CAAA;AAC1D,OAAO,EAAE,SAAS,EAAyB,MAAM,cAAc,CAAA;AAC/D,OAAO,EAA+B,EAAE,EAAkB,MAAM,WAAW,CAAA;AAC3E,OAAO,EACL,gBAAgB,GAEjB,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAkB,SAAS,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAClE,OAAO,EAAE,SAAS,EAAyB,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC7E,OAAO,KAAK,CAAC,MAAM,OAAO,CAAA;AAC1B,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAEzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,EAAE,WAAW,EAAsB,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAE9E,cAAc,0BAA0B,CAAA;AAExC;;GAEG;AACH,MAAM,uBAAuB,GAAG,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAA;AAElE;;;;GAIG;AACH,MAAM,eAAe,GAAkD;IACrE,CAAC,UAAU,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,aAAa;IAClD,CAAC,UAAU,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,YAAY;IACjD,CAAC,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,kBAAkB;IACxD,CAAC,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,aAAa;IACnD,CAAC,UAAU,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,aAAa;IACpD,CAAC,UAAU,CAAC,kBAAkB,CAAC,UAAU,CAAC,EAAE,aAAa;IACzD,CAAC,UAAU,CAAC,kBAAkB,CAAC,YAAY,CAAC,EAAE,aAAa;CAC5D,CAAA;AAED;;;;GAIG;AACH,MAAM,wBAAwB,GAC5B;IACE,CAAC,UAAU,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,KAAK;IAC1C,CAAC,UAAU,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,KAAK;IAC1C,CAAC,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,MAAM;IAC5C,CAAC,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,MAAM;IAC5C,CAAC,UAAU,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,MAAM;IAC7C,CAAC,UAAU,CAAC,kBAAkB,CAAC,UAAU,CAAC,EAAE,MAAM;IAClD,CAAC,UAAU,CAAC,kBAAkB,CAAC,YAAY,CAAC,EAAE,MAAM;CACrD,CAAA;AAEH;;;;;;GAMG;AACH,MAAM,sBAAsB,GAC1B,4KAA4K,CAAA;AAE9K;;GAEG;AACH,MAAM,qBAAqB,GACzB,oJAAoJ,CAAA;AAEtJ;;;;;;;;;;;;;;;GAeG;AACH,MAAM,4BAA4B,GAAG,QAAQ,CAAA;AAE7C;;;;;;;GAOG;AACH,MAAM,kBAAkB,GACtB,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,iBAAiB,CAAC,CAAC,gBAAgB,IAAI,EAAE,CAAA;AAyJ1E,MAAM,OAAO,OAAQ,SAAQ,WAAW;IAmCtC,YAAY,OAAuB;QACjC,KAAK,CAAC;YACJ,uEAAuE;YACvE,qDAAqD;YACrD,aAAa,EAAE,gBAAgB,CAAC,OAAO,CAAC;YACxC,GAAG,OAAO;YACV,gBAAgB,EAAE,mBAAmB,CAAC,OAAO,CAAC;SAC/C,CAAC,CAAA;;QAdJ;;;;WAIG;QACM,gCAAgB,IAAI,GAAG,EAAU,EAAA;QAWxC,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAA;QACpC,IAAI,CAAC,aAAa,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAA;QAEhD,4CAA4C;QAC5C,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;QAC9B,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;QAChC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;QAC9B,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;QAChC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,CAAA;QACrC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAA;QACpC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;QAE9B,uBAAA,IAAI,qDAAkB,MAAtB,IAAI,EAAmB,OAAO,CAAC,CAAA;QAC/B,uBAAA,IAAI,wDAAqB,MAAzB,IAAI,EAAsB,OAAO,CAAC,CAAA;QAClC,uBAAA,IAAI,iDAAc,MAAlB,IAAI,EAAe,OAAO,CAAC,CAAA;QAC3B,uBAAA,IAAI,sDAAmB,MAAvB,IAAI,EAAoB,OAAO,CAAC,CAAA;QAEhC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAA;YACpC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAA;YACtC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAA;YACtC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,CAAA;QAC3C,CAAC;QAED,sEAAsE;QACtE,yEAAyE;QACzE,4DAA4D;QAC5D,uBAAA,IAAI,oDAAiB,MAArB,IAAI,EAAkB,OAAO,CAAC,CAAA;QAE9B,uBAAA,IAAI,oDAAiB,MAArB,IAAI,EAAkB,OAAO,CAAC,CAAA;QAC9B,uBAAA,IAAI,sDAAmB,MAAvB,IAAI,EAAoB,OAAO,CAAC,CAAA;QAEhC,uBAAA,IAAI,mDAAgB,MAApB,IAAI,EAAiB,OAAO,CAAC,CAAA;QAC7B,uBAAA,IAAI,uDAAoB,MAAxB,IAAI,EAAqB,OAAO,CAAC,CAAA;QACjC,uBAAA,IAAI,mDAAgB,MAApB,IAAI,EAAiB,OAAO,CAAC,CAAA;QAC7B,uBAAA,IAAI,wDAAqB,MAAzB,IAAI,EAAsB,OAAO,CAAC,CAAA;QAClC,uBAAA,IAAI,0DAAuB,MAA3B,IAAI,EAAwB,OAAO,CAAC,CAAA;QACpC,uBAAA,IAAI,2DAAwB,MAA5B,IAAI,CAA0B,CAAA;QAC9B,uBAAA,IAAI,mDAAgB,MAApB,IAAI,EAAiB,OAAO,CAAC,CAAA;QAC7B,uBAAA,IAAI,wDAAqB,MAAzB,IAAI,EAAsB,OAAO,CAAC,CAAA;QAClC,uBAAA,IAAI,qDAAkB,MAAtB,IAAI,EAAmB,OAAO,CAAC,CAAA;QAC/B,uBAAA,IAAI,wDAAqB,MAAzB,IAAI,EAAsB,OAAO,CAAC,CAAA;QAClC,uBAAA,IAAI,6DAA0B,MAA9B,IAAI,EAA2B,OAAO,CAAC,CAAA;QACvC,uBAAA,IAAI,uDAAoB,MAAxB,IAAI,EAAqB,OAAO,CAAC,CAAA;QACjC,uBAAA,IAAI,2DAAwB,MAA5B,IAAI,EAAyB,OAAO,CAAC,CAAA;QACrC,uBAAA,IAAI,oDAAiB,MAArB,IAAI,EAAkB,OAAO,CAAC,CAAA;QAC9B,uBAAA,IAAI,kDAAe,MAAnB,IAAI,EAAgB,OAAO,CAAC,CAAA;QAC5B,uBAAA,IAAI,oDAAiB,MAArB,IAAI,EAAkB,OAAO,CAAC,CAAA;QAC9B,uBAAA,IAAI,gDAAa,MAAjB,IAAI,EAAc,OAAO,CAAC,CAAA;QAC1B,uBAAA,IAAI,gDAAa,MAAjB,IAAI,EAAc,OAAO,CAAC,CAAA;QAC1B,uBAAA,IAAI,uDAAoB,MAAxB,IAAI,EAAqB,OAAO,CAAC,CAAA;QACjC,uBAAA,IAAI,sDAAmB,MAAvB,IAAI,EAAoB,OAAO,CAAC,CAAA;IAClC,CAAC;IAED;;OAEG;IACM,iBAAiB,CAAC,IAAY;QACrC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1B,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CACnC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,EACnE,oBAAoB,CACrB,CAAA;YACH,CAAC;YAED,OAAM;QACR,CAAC;QAED,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAA;IAC9D,CAAC;IAEQ,aAAa;QACpB,KAAK,CAAC,aAAa,EAAE,CAAA;QAErB,uBAAA,IAAI,wFAAqD,MAAzD,IAAI,CAAuD,CAAA;IAC7D,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI;aAClB,OAAO,CAAC,CAAC,CAAC;aACV,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC;aACpC,MAAM,CAAC,CAAC,IAAI,EAAuB,EAAE,CAAC,IAAI,YAAY,WAAW,CAAC,CAAA;IACvE,CAAC;IAED,IAAI,kBAAkB;QACpB,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAC/B,CAAC,OAAO,EAAsB,EAAE,CAAC,OAAO,YAAY,EAAO,CAC5D,CAAA;IACH,CAAC;IAED;;OAEG;IACH,aAAa,CACX,cAA8B,EAC9B,GAAG,OAA0C;QAE7C,MAAM,OAAO,GAAG,IAAI,EAAO,CAAC;YAC1B,MAAM,EAAE,IAAI;YACZ,GAAG,cAAc;SAClB,CAAC,CAAA;QAEF,KAAK,MAAM,QAAQ,IAAI,OAAO,EAAE,CAAC;YAC/B,QAAQ,CAAC,OAAO,CAAC,CAAA;QACnB,CAAC;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,IAAY;QACzB,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;IACzE,CAAC;CAoiCF;0JAnhCoB,GAAG,KAAe;IACnC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,uEAAuE;QACvE,0BAA0B;QAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;QACvC,MAAM,IAAI,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QAC5D,MAAM,OAAO,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;QAE/D,MAAM,QAAQ,GACZ,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,cAAc,CAAC,KAAK,CAAC;YACtD,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,CAAA;QAE1D,IAAI,QAAQ,EAAE,CAAC;YACb,uBAAA,IAAI,oDAAiB,MAArB,IAAI,EAAkB,QAAQ,CAAC,CAAA;YAC/B,SAAQ;QACV,CAAC;QAED,gDAAgD;QAChD,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC,CAAA;QAE9B,uEAAuE;QACvE,0EAA0E;QAC1E,uEAAuE;QACvE,yDAAyD;QACzD,IAAI,OAAO,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YACzD,uBAAA,IAAI,6BAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAC9B,CAAC;IACH,CAAC;AACH,CAAC,+DAsBgB,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAc;IAC5D,MAAM,SAAS,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAA;IAE1C,IAAI,CAAC,QAAQ,IAAI,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QAChD,OAAM;IACR,CAAC;IAED,IAAI,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,CAAC;QACnC,OAAM;IACR,CAAC;IAED,MAAM,MAAM,GACV,IAAI,KAAK,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,iBAAiB,CAAA;IAEtE,MAAM,IAAI,KAAK,CACb,yBAAyB,IAAI,IAAI,QAAQ,2EAA2E,SAAS,OAAO;QAClI,oCAAoC,SAAS,yBAAyB,MAAM,8CAA8C,CAC7H,CAAA;AACH,CAAC,6DAEe,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAkB;IACrD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAM;IACR,CAAC;IAED,MAAM,QAAQ,GAAiB;QAC7B,QAAQ,EAAE,GAAG,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,kBAAkB;QACzE,OAAO,EAAE;YACP,OAAO,EAAE,CAAC,0BAA0B,CAAC;SACtC;KACF,CAAA;IAED,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACjB,uBAAA,IAAI,sDAAmB,MAAvB,IAAI,EAAoB,mBAAmB,CAAC,CAAA;IAC9C,CAAC;IAED,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAA;IAExD,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;AACjD,CAAC,qEAEmB,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAkB;IAC7D,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAC9B,OAAM;IACR,CAAC;IAED,MAAM,QAAQ,GAAqB;QACjC,QAAQ,EACN,GAAG,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,qBAAqB;QACzE,MAAM,EAAE;YACN,MAAM,EAAE,aAAa;YACrB,OAAO,EAAE,KAAK;YACd,cAAc,EAAE;gBACd,UAAU;gBACV,OAAO;gBACP,gBAAgB;gBAChB,OAAO;gBACP,eAAe;aAChB;SACF;KACF,CAAA;IAED,IAAI,CAAC,SAAS,GAAG,IAAI,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAA;IAEpE,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,CAAA;IACjD,uBAAA,IAAI,sDAAmB,MAAvB,IAAI,EAAoB,kBAAkB,CAAC,CAAA;IAC3C,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC,IAAI,CAAC,SAAU,CAAC,IAAI,CAAC,CAAA;AACtD,CAAC,6DAWe,EAAE,KAAK,EAAkB;IACvC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAM;IACR,CAAC;IAED,yEAAyE;IACzE,uEAAuE;IACvE,yEAAyE;IACzE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,QAAQ,EAAE,GAAG,KAAK,CAAA;IAEnE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACjB,MAAM,QAAQ,GAAiB;YAC7B,SAAS,EAAE;gBACT,QAAQ,EAAE,GAAG;gBACb,OAAO,EAAE;oBACP,OAAO,EAAE,MAAM;iBAChB;aACF;SACF,CAAA;QAED,IAAI,CAAC,KAAK,GAAG,IAAI,cAAc,CAC7B,IAAI,EACJ,SAAS,CAAC,QAAQ,EAAE,EAAE,GAAG,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAC/D,CAAA;QAED,OAAM;IACR,CAAC;IAED,MAAM,SAAS,GACb,IAAI,CAAC,IAAI,YAAY,EAAO,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,YAAY,cAAc;QACvE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;QACjB,CAAC,CAAC,SAAS,CAAA;IAEf,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAClC,CAAC,SAAS,EAAE,WAAW,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CACxE,CAAA;IAED,IAAI,CAAC,KAAK,GAAG,IAAI,YAAY,CAAC,IAAI,EAAE;QAClC,GAAG,QAAQ;QACX,UAAU;QACV,OAAO,EAAE;YACP,GAAG,SAAS;YACZ,GAAG,KAAK,CAAC,OAAO;SACjB;KACF,CAAC,CAAA;IAEF,SAAS,EAAE,SAAS,CAClB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CACvE,CAAA;AACH,CAAC,uEAEoB,EAAE,UAAU,EAAE,iBAAiB,EAAkB;IACpE,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,OAAM;IACR,CAAC;IAED,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAA;AAC3D,CAAC,+DAEgB,EAAE,MAAM,EAAkB;IACzC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,OAAM;IACR,CAAC;IAED,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;AACxC,CAAC,2EAEsB,EACrB,YAAY,EAAE,mBAAmB,EACjC,EAAE,GACa;IACf,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QACxC,OAAM;IACR,CAAC;IAED,MAAM,QAAQ,GAAwB;QACpC,GAAG,EAAE;YACH,OAAO,EAAE,OAAO;YAChB,WAAW,EAAE,IAAI;YACjB,YAAY,EAAE,OAAO;YACrB,WAAW,EAAE,CAAC;YACd,oBAAoB,EAAE,IAAI;YAC1B,wBAAwB,EAAE,IAAI;SAC/B;QACD,UAAU,EAAE;YACV,YAAY,EAAE,KAAK;SACpB;QACD,mEAAmE;QACnE,4DAA4D;QAC5D,GAAG,CAAC,EAAE,IAAI;YACR,YAAY,EAAE;gBACZ,YAAY,EAAE,OAAO;gBACrB,WAAW,EAAE,CAAC;aACf;SACF,CAAC;KACH,CAAA;IAED,IAAI,CAAC,YAAY,GAAG,IAAI,YAAY,CAClC,IAAI,EACJ,SAAS,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CACzC,CAAA;IAED,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAA;AACrD,CAAC;IAGC,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAA;IACrC,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAA;IACrC,IAAI,CAAC,iBAAiB,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAA;AACvD,CAAC,+DAEgB,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAkB;IACvD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAM;IACR,CAAC;IAED,MAAM,QAAQ,GAAkB;QAC9B,QAAQ,EACN,GAAG,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,mBAAmB;QACnE,cAAc,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC;QACrC,OAAO,EAAE,2BAA2B;KACrC,CAAA;IAED,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACjB,uBAAA,IAAI,sDAAmB,MAAvB,IAAI,EAAoB,gBAAgB,CAAC,CAAA;IAC3C,CAAC;IAED,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAA;IAE3D,IAAI,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC;QAC5B,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAA;IAC/D,CAAC;IAED,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;AAClD,CAAC,6DAEe,EAAE,KAAK,EAAE,YAAY,EAAkB;IACrD,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QACjC,OAAM;IACR,CAAC;IAED,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,YAAY,CAAC,CAAA;IAE1C,uBAAA,IAAI,sDAAmB,MAAvB,IAAI,EAAoB,aAAa,CAAC,CAAA;IACtC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;IAC3C,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAA;AACrE,CAAC,uEAEoB,EAAE,UAAU,EAAE,iBAAiB,EAAkB;IACpE,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QACtC,OAAM;IACR,CAAC;IAED,uBAAA,IAAI,sDAAmB,MAAvB,IAAI,EAAoB,aAAa,CAAC,CAAA;IACtC,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAA;IAEzD,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;AACtD,CAAC,iEAEiB,EAAE,OAAO,EAAE,GAAG,EAAkB;IAChD,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC;QAClB,OAAM;IACR,CAAC;IAED,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CACb,sEAAsE,CACvE,CAAA;IACH,CAAC;IAED,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CAAC,IAAI,EAAE;QAC/B,IAAI,EAAE,GAAG,CAAC,OAAO;QACjB,eAAe,EAAE;YACf,GAAG,CAAC,UAAU;YACd,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,SAAS;YACpD,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,SAAS;SACjD;aACE,MAAM,CAAC,OAAO,CAAC;aACf,IAAI,CAAC,GAAG,CAAC;QACZ,IAAI,EAAE,GAAG,CAAC,aAAa,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;KAC/D,CAAC,CAAA;AACJ,CAAC,uEAEoB,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAkB;IACzE,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAM;IACR,CAAC;IAED,MAAM,QAAQ,GAAsB;QAClC,QAAQ,EACN,GAAG,EAAE,IAAI,KAAK,QAAQ;YACpB,CAAC,CAAC,uBAAuB;YACzB,CAAC,CAAC,wBAAwB;QAC9B,OAAO,EAAE,yBAAyB;KACnC,CAAA;IAED,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACjB,uBAAA,IAAI,sDAAmB,MAAvB,IAAI,EAAoB,oBAAoB,CAAC,CAAA;IAC/C,CAAC;IAED,yEAAyE;IACzE,0EAA0E;IAC1E,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,YAAY,EAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAA;IACjE,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAA;IAChD,MAAM,MAAM,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;IAEzD,yEAAyE;IACzE,wEAAwE;IACxE,0EAA0E;IAC1E,mEAAmE;IACnE,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,MAAM,CAAA;IAC5D,MAAM,MAAM,GAAG,QAAQ;QACrB,CAAC,CAAC;YACE,YAAY,EAAE;gBACZ,GAAG,WAAW,8BAA8B;gBAC5C,GAAG,WAAW,yBAAyB;aACxC;SACF;QACH,CAAC,CAAC,EAAE,CAAA;IAEN,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE,GAAG,SAAS,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAA;IAE9D,yEAAyE;IACzE,6DAA6D;IAC7D,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,CAAC,IAAI,EAAE;QACrC,GAAG,OAAO;QACV,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE,GAAG,MAAM,EAAE;KACjC,CAAC,CAAA;IAEF,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC,IAAI,CAAC,UAAW,CAAC,IAAI,CAAC,CAAA;AACvD,CAAC,iFAEyB,EACxB,MAAM,EACN,eAAe,EACf,QAAQ,GACO;IACf,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,OAAM;IACR,CAAC;IAED,MAAM,QAAQ,GAA2B;QACvC,cAAc,EAAE,wBAAwB;QACxC,GAAG,CAAC,MAAM,IAAI;YACZ,mCAAmC,EAAE,mBAAmB;SACzD,CAAC;QACF,GAAG,CAAC,QAAQ,IAAI,EAAE,GAAG,EAAE,wCAAwC,EAAE,CAAC;KACnE,CAAA;IAED,IAAI,eAAe,CAAC,IAAI,EAAE,SAAS,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAA;AACjE,CAAC,qEAEmB,EAClB,gBAAgB,EAChB,UAAU,EACV,SAAS,GACM;IACf,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAM;IACR,CAAC;IAED,MAAM,QAAQ,GAAsB;QAClC,cAAc,EAAE;YACd,IAAI;YACJ,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACrD,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SAChD;KACF,CAAA;IAED,IAAI,CAAC,SAAS,GAAG,IAAI,UAAU,CAC7B,IAAI,EACJ,YAAY,EACZ,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,CAC/B,CAAA;AACH,CAAC,iEAEiB,EAAE,OAAO,EAAE,GAAG,EAAkB;IAChD,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAM;IACR,CAAC;IAED,MAAM,QAAQ,GAAuB;QACnC,UAAU,EAAE,cAAc;QAC1B,cAAc,EAAE,uBAAuB;KACxC,CAAA;IAED,IAAI,CAAC,OAAO,GAAG,IAAI,WAAW,CAAC,IAAI,EAAE,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAA;IAE9D,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACjB,uBAAA,IAAI,sDAAmB,MAAvB,IAAI,EAAoB,8BAA8B,EAAE,eAAe,CAAC,CAAA;IAC1E,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;IAClC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;IAEjC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,CAAA;IACtC,CAAC;AACH,CAAC,6EAEuB,EAAE,aAAa,EAAE,KAAK,EAAkB;IAC9D,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAM;IACR,CAAC;IAED,MAAM,QAAQ,GAAyB;QACrC,WAAW,EAAE;YACX,iBAAiB,EAAE,KAAK;YACxB,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC;YAC3B,OAAO,EAAE,KAAK;YACd,eAAe,EAAE,KAAK;SACvB;KACF,CAAA;IAED,IAAI,CAAC,aAAa,GAAG,IAAI,aAAa,CACpC,IAAI,EACJ,SAAS,CAAC,QAAQ,EAAE,aAAa,CAAC,CACnC,CAAA;AACH,CAAC,mEAEkB,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAkB;IAC3D,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAC7B,OAAM;IACR,CAAC;IAED,MAAM,QAAQ,GAAoB;QAChC,QAAQ,EACN,GAAG,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,qBAAqB;QACvE,OAAO,EAAE,sBAAsB;QAC/B,cAAc,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC;KAChC,CAAA;IAED,uBAAA,IAAI,sDAAmB,MAAvB,IAAI,EAAoB,gBAAgB,CAAC,CAAA;IACzC,IAAI,CAAC,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAA;IAEjE,IAAI,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC;QAC5B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;IACtD,CAAC;IAED,IAAI,IAAI,CAAC,OAAO,EAAE,cAAc,KAAK,UAAU,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC;QACxE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAA;IACpD,CAAC;IAED,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC,IAAI,CAAC,QAAS,CAAC,IAAI,CAAC,CAAA;AACrD,CAAC,mEAEkB,EAAE,OAAO,EAAE,GAAG,EAAkB;IACjD,IAAI,CAAC,QAAQ,GAAG,IAAI,YAAY,CAAC,IAAI,EAAE;QACrC,QAAQ,EAAE,GAAG,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,eAAe;KACpE,CAAC,CAAA;IAEF,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACjB,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;QAEtD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,uBAAA,IAAI,sDAAmB,MAAvB,IAAI,EAAoB,aAAa,CAAC,CAAA;QACxC,CAAC;IACH,CAAC;AACH,CAAC,+DAEgB,EAAE,MAAM,EAAkB;IACzC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAM;IACR,CAAC;IAED,IAAI,CAAC,MAAM,GAAG,IAAI,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;AAC5C,CAAC,mEAEkB,EACjB,KAAK,EACL,MAAM,EACN,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,GAAG,EACZ,MAAM,EACN,EAAE,GACa;IACf,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QACpC,OAAM;IACR,CAAC;IAED,wEAAwE;IACxE,0EAA0E;IAC1E,yEAAyE;IACzE,6DAA6D;IAC7D,MAAM,cAAc,GAAG,GAAG,EAAE,cAAc,EAAE,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAElE,MAAM,QAAQ,GAAoB;QAChC,eAAe,EAAE,IAAI;QACrB,OAAO,EAAE,CAAC,oBAAoB,CAAC;QAC/B,MAAM,EAAE,CAAC,cAAc,CAAC;QACxB,iBAAiB,EAAE,4BAA4B;QAC/C,uBAAuB,EAAE,IAAI;QAC7B,mBAAmB,EAAE;YACnB,OAAO,EAAE,IAAI;SACd;QACD,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,KAAK,UAAU,CAAC,kBAAkB,CAAC,IAAI;YACrE,CAAC,CAAC,EAAE,iBAAiB,EAAE,CAAC,YAAY,CAAC,EAAE;YACvC,CAAC,CAAC,EAAE,CAAC;QACP,YAAY,EAAE;YACZ;gBACE,WAAW,EAAE,6CAA6C;gBAC1D,cAAc,EAAE,CAAC,2CAA2C,CAAC;gBAC7D,OAAO,EAAE,IAAI;aACd;YACD,GAAG,CAAC,cAAc;gBAChB,CAAC,CAAC;oBACE;wBACE,WAAW,EACT,4DAA4D;wBAC9D,iBAAiB,EAAE,CAAC,aAAa,CAAC;wBAClC,eAAe,EAAE,IAAI,cAAc,EAAE;qBACtC;iBACF;gBACH,CAAC,CAAC,EAAE,CAAC;YACP,mEAAmE;YACnE,uEAAuE;YACvE,sEAAsE;YACtE,kEAAkE;YAClE,oDAAoD;YACpD,EAAE;YACF,uEAAuE;YACvE,mEAAmE;YACnE,uEAAuE;YACvE,iEAAiE;YACjE,EAAE;YACF,uEAAuE;YACvE,oEAAoE;YACpE,mEAAmE;YACnE,GAAG,CAAC,uBAAA,IAAI,6BAAc,CAAC,IAAI;gBACzB,CAAC,CAAC;oBACE;wBACE,WAAW,EACT,kHAAkH;wBACpH,aAAa,EAAE,CAAC,KAAK,CAAC;wBACtB,iBAAiB,EAAE,CAAC,GAAG,uBAAA,IAAI,6BAAc,CAAC,CAAC,IAAI,EAAE;wBACjD,OAAO,EAAE,KAAK;qBACf;iBACF;gBACH,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,MAAM;gBACR,CAAC,CAAC;oBACE;wBACE,WAAW,EACT,2DAA2D;wBAC7D,SAAS,EAAE,eAAe;wBAC1B,SAAS,EAAE,eAAe;wBAC1B,aAAa,EAAE,CAAC,eAAe,CAAC;qBACjC;iBACF;gBACH,CAAC,CAAC,EAAE,CAAC;YACP,oEAAoE;YACpE,oEAAoE;YACpE,kEAAkE;YAClE,mEAAmE;YACnE,YAAY;YACZ,GAAG,CAAC,EAAE;gBACJ,CAAC,CAAC;oBACE;wBACE,WAAW,EACT,sIAAsI;wBACxI,aAAa,EAAE,CAAC,QAAQ,CAAC;wBACzB,aAAa,EAAE,eAAwB;qBACxC;iBACF;gBACH,CAAC,CAAC,EAAE,CAAC;YACP,0DAA0D;YAC1D,oEAAoE;YACpE,kEAAkE;YAClE,GAAG,CAAC,MAAM;gBACR,CAAC,CAAC;oBACE;wBACE,WAAW,EACT,uFAAuF;wBACzF,aAAa,EAAE,CAAC,cAAc,CAAC;wBAC/B,aAAa,EAAE,CAAC,QAAQ,CAAC;wBACzB,0BAA0B,EAAE,oBAA6B;qBAC1D;iBACF;gBACH,CAAC,CAAC,EAAE,CAAC;SACR;QACD,cAAc,EAAE;YACd;gBACE,UAAU,EAAE,OAAO;gBACnB,kBAAkB,EAAE,MAAM;gBAC1B,eAAe,EAAE,MAAM;gBACvB,kBAAkB,EAAE,MAAM;gBAC1B,oBAAoB,EAAE,qBAAqB;gBAC3C,mBAAmB,EAAE,CAAC,yCAAyC,CAAC;gBAChE,YAAY,EAAE,CAAC,6CAA6C,CAAC;aAC9D;YACD;gBACE,UAAU,EAAE,OAAO;gBACnB,kBAAkB,EAAE,KAAK;gBACzB,mBAAmB,EAAE,CAAC,yCAAyC,CAAC;gBAChE,oBAAoB,EAAE,WAAW;gBACjC,YAAY,EAAE;oBACZ,iEAAiE;oBACjE,iEAAiE;oBACjE,iEAAiE;oBACjE,kEAAkE;oBAClE,0CAA0C;oBAC1C,8EAA8E;oBAC9E,mDAAmD;iBACpD;gBACD,oEAAoE;gBACpE,oEAAoE;gBACpE,0DAA0D;gBAC1D,eAAe,EACb,wIAAwI;aAC3I;YACD;gBACE,UAAU,EAAE,OAAO;gBACnB,kBAAkB,EAAE,KAAK;gBACzB,mBAAmB,EAAE,CAAC,yCAAyC,CAAC;gBAChE,oBAAoB,EAAE,WAAW;gBACjC,YAAY,EAAE;oBACZ,qDAAqD;oBACrD,mDAAmD;iBACpD;gBACD,eAAe,EACb,iIAAiI;aACpI;YACD,GAAG,CAAC,KAAK;gBACP,CAAC,CAAC;oBACE;wBACE,UAAU,EAAE,OAAgB;wBAC5B,kBAAkB,EAAE,OAAO;wBAC3B,mBAAmB,EAAE;4BACnB,yCAAyC;yBAC1C;wBACD,oBAAoB,EAAE,WAAoB;wBAC1C,YAAY,EAAE;4BACZ,kGAAkG;4BAClG,+BAA+B;4BAC/B,sDAAsD;4BACtD,mEAAmE;4BACnE,4DAA4D;yBAC7D;qBACF;iBACF;gBACH,CAAC,CAAC,EAAE,CAAC;YACP,kEAAkE;YAClE,sEAAsE;YACtE,mEAAmE;YACnE,sEAAsE;YACtE,8BAA8B;YAC9B,EAAE;YACF,oEAAoE;YACpE,uEAAuE;YACvE,iEAAiE;YACjE,EAAE;YACF,mEAAmE;YACnE,mEAAmE;YACnE,qEAAqE;YACrE,qEAAqE;YACrE,qEAAqE;YACrE,GAAG,CAAC,MAAM;gBACR,CAAC,CAAC;oBACE;wBACE,UAAU,EAAE,OAAgB;wBAC5B,kBAAkB,EAAE,aAAa;wBACjC,kBAAkB,EAAE,QAAQ;wBAC5B,eAAe,EAAE,eAAe;wBAChC,mBAAmB,EAAE;4BACnB,gDAAgD;yBACjD;wBACD,YAAY,EAAE,CAAC,6CAA6C,CAAC;wBAC7D,sBAAsB,EAAE,mBAAmB;qBAC5C;iBACF;gBACH,CAAC,CAAC,EAAE,CAAC;YACP,uEAAuE;YACvE,qEAAqE;YACrE,sEAAsE;YACtE,oEAAoE;YACpE,sEAAsE;YACtE,mEAAmE;YACnE,+CAA+C;YAC/C,EAAE;YACF,mEAAmE;YACnE,mEAAmE;YACnE,sEAAsE;YACtE,kEAAkE;YAClE,oCAAoC;YACpC,GAAG,CAAC,MAAM;gBACR,CAAC,CAAC;oBACE;wBACE,UAAU,EAAE,OAAgB;wBAC5B,kBAAkB,EAAE,aAAa;wBACjC,kBAAkB,EAAE,QAAQ;wBAC5B,mBAAmB,EAAE;4BACnB,gDAAgD;4BAChD,uBAAuB;4BACvB,8BAA8B;yBAC/B;wBACD,YAAY,EAAE;4BACZ,yHAAyH;yBAC1H;wBACD,eAAe,EACb,yDAAyD;wBAC3D,mBAAmB,EAAE,YAAY;wBACjC,sBAAsB,EACpB,8FAA8F;qBACjG;iBACF;gBACH,CAAC,CAAC,EAAE,CAAC;YACP,wEAAwE;YACxE,uEAAuE;YACvE,uEAAuE;YACvE,mEAAmE;YACnE,8DAA8D;YAC9D,mEAAmE;YACnE,GAAG,CAAC,EAAE,EAAE,aAAa;gBACnB,CAAC,CAAC;oBACE;wBACE,UAAU,EAAE,OAAgB;wBAC5B,kBAAkB,EAAE,QAAQ;wBAC5B,eAAe,EAAE,QAAQ;wBACzB,kBAAkB,EAAE,QAAQ;wBAC5B,mBAAmB,EAAE;4BACnB,gDAAgD;yBACjD;wBACD,YAAY,EAAE,CAAC,4CAA4C,CAAC;qBAC7D;iBACF;gBACH,CAAC,CAAC,EAAE,CAAC;YACP,oEAAoE;YACpE,mEAAmE;YACnE,6DAA6D;YAC7D,kEAAkE;YAClE,4DAA4D;YAC5D,4BAA4B;YAC5B,GAAG,CAAC,MAAM;gBACR,CAAC,CAAC;oBACE;wBACE,UAAU,EAAE,OAAgB;wBAC5B,kBAAkB,EAAE,UAAU;wBAC9B,eAAe,EAAE,QAAQ;wBACzB,mBAAmB,EAAE;4BACnB,gDAAgD;yBACjD;wBACD,YAAY,EAAE;4BACZ,qGAAqG;yBACtG;wBACD,mBAAmB,EAAE,kCAAkC;qBACxD;iBACF;gBACH,CAAC,CAAC,EAAE,CAAC;YACP,gEAAgE;YAChE,qEAAqE;YACrE,qEAAqE;YACrE,8DAA8D;YAC9D,oEAAoE;YACpE,sEAAsE;YACtE,oEAAoE;YACpE,sBAAsB;YACtB;gBACE,UAAU,EAAE,OAAO;gBACnB,kBAAkB,EAAE,KAAK;gBACzB,mBAAmB,EAAE;oBACnB,gDAAgD;iBACjD;gBACD,YAAY,EAAE;oBACZ,qEAAqE;iBACtE;gBACD,eAAe,EAAE,MAAM;gBACvB,eAAe,EAAE,cAAc;aAChC;YACD,oEAAoE;YACpE,qEAAqE;YACrE,kEAAkE;YAClE,uEAAuE;YACvE,oCAAoC;YACpC,EAAE;YACF,oEAAoE;YACpE,sEAAsE;YACtE,sEAAsE;YACtE,sEAAsE;YACtE,qEAAqE;YACrE,sBAAsB;YACtB;gBACE,UAAU,EAAE,OAAO;gBACnB,kBAAkB,EAAE,KAAK;gBACzB,mBAAmB,EAAE;oBACnB,uCAAuC;oBACvC,gDAAgD;iBACjD;gBACD,YAAY,EAAE;oBACZ,8EAA8E;iBAC/E;gBACD,eAAe,EAAE,cAAc;aAChC;SACF;KACF,CAAA;IAED,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;QACvB,WAAW,EAAE,oCAAoC;QACjD,IAAI,EAAE,wEAAwE;KAC/E,CAAC,CAAA;IAEF,IAAI,CAAC,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAA;AAC1E,CAAC,2DAEc,EAAE,IAAI,EAAkB;IACrC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QACzB,OAAM;IACR,CAAC;IAED,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;AAClC,CAAC,+DAEgB,EAAE,MAAM,EAAkB;IACzC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,OAAM;IACR,CAAC;IAED,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IACtC,uBAAA,IAAI,sDAAmB,MAAvB,IAAI,EAAoB,cAAc,CAAC,CAAA;AACzC,CAAC,yDAEa,EAAE,KAAK,EAAE,gBAAgB,EAAkB;IACvD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAM;IACR,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACjB,uBAAA,IAAI,sDAAmB,MAAvB,IAAI,EAAoB,kBAAkB,EAAE,2BAA2B,CAAC,CAAA;IAC1E,CAAC;IAED,MAAM,QAAQ,GAAqB;QACjC,OAAO,EAAE,oCAAoC;QAC7C,GAAG,CAAC,gBAAgB;YAClB,CAAC,CAAC;gBACE,GAAG,EAAE;oBACH,MAAM,EAAE;wBACN,MAAM,EAAE,YAAY;qBACrB;iBACF;aACF;YACH,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,EAAE;YACH,OAAO,EAAE;gBACP,IAAI,EAAE,SAAS;aAChB;SACF;KACF,CAAA;IAED,IAAI,CAAC,KAAK,GAAG,IAAI,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAA;AAC9D,CAAC,uDAEY,EAAE,EAAE,EAAE,EAAE,EAAkB;IACrC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QACvB,OAAM;IACR,CAAC;IAED,yEAAyE;IACzE,wEAAwE;IACxE,uEAAuE;IACvE,aAAa;IACb,MAAM,aAAa,GAAG,EAAE,EAAE,aAAa,EAAE,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAC3B,CAAA;IAEpC,MAAM,QAAQ,GAAc;QAC1B,GAAG,CAAC,aAAa,IAAI;YACnB,WAAW,EAAE;gBACX,gBAAgB,EAAE,aAAa;aAChC;SACF,CAAC;KACH,CAAA;IAED,IAAI,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAA;AACjD,CAAC,uEAEoB,EAAE,MAAM,EAAE,gBAAgB,EAAkB;IAC/D,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,OAAM;IACR,CAAC;IAED,MAAM,QAAQ,GAA4B,MAAM;QAC9C,CAAC,CAAC;YACE,MAAM,EAAE;gBACN,OAAO,EAAE,8BAA8B;aACxC;SACF;QACH,CAAC,CAAC;YACE,MAAM,EAAE;gBACN,OAAO,EAAE,2BAA2B;aACrC;SACF,CAAA;IAEL,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAA;IAEpD,wEAAwE;IACxE,kEAAkE;IAClE,uEAAuE;IACvE,uEAAuE;IACvE,iEAAiE;IACjE,eAAe;IACf,IAAI,gBAAgB,CAAC,MAAM,EAAE,OAAO,KAAK,SAAS,EAAE,CAAC;QACnD,MAAM,CAAC,MAAM,GAAG;YACd,GAAG,MAAM,CAAC,MAAM;YAChB,OAAO,EAAE,gBAAgB,CAAC,MAAM,CAAC,OAAO;SACzC,CAAA;IACH,CAAC;IAED,IAAI,CAAC,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IAE1D,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACjB,uBAAA,IAAI,sDAAmB,MAAvB,IAAI,EAAoB,kBAAkB,CAAC,CAAA;IAC7C,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,KAAK,sBAAsB,EAAE,CAAC;QACzC,uBAAA,IAAI,sDAAmB,MAAvB,IAAI,EAAoB,wBAAwB,CAAC,CAAA;IACnD,CAAC;AACH,CAAC,uDASY,EAAE,EAAE,EAAkB;IACjC,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,OAAM;IACR,CAAC;IAED,yEAAyE;IACzE,gCAAgC;IAChC,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,SAAS,EAAE,GAAG,EAAE,CAAA;IAEtD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACjB,IAAI,CAAC,EAAE,GAAG,IAAI,WAAW,CAAC,IAAI,EAAE,EAAE,GAAG,SAAS,EAAE,aAAa,EAAE,CAAC,CAAA;QAEhE,OAAM;IACR,CAAC;IAED,MAAM,SAAS,GACb,IAAI,CAAC,IAAI,YAAY,EAAO,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,YAAY,WAAW;QACjE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QACd,CAAC,CAAC,SAAS,CAAA;IAEf,IAAI,CAAC,EAAE,GAAG,IAAI,SAAS,CAAC,IAAI,EAAE,EAAE,GAAG,SAAS,EAAE,UAAU,EAAE,CAAC,CAAA;IAE3D,SAAS,EAAE,SAAS,CAClB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CACvE,CAAA;AACH,CAAC,qEAEmB,EAAE,SAAS,EAAkB;IAC/C,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAC9B,OAAM;IACR,CAAC;IAED,yEAAyE;IACzE,sDAAsD;IACtD,IAAI,CAAC,SAAS,GAAG,IAAI,SAAS,CAAC,IAAI,EAAE;QACnC,GAAG,SAAS;QACZ,MAAM,EAAE;YACN,GAAG,SAAS,CAAC,MAAM;YACnB,WAAW,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,IAAI,uBAAA,IAAI,oDAAiB,MAArB,IAAI,CAAmB;SACxE;KACF,CAAC,CAAA;AACJ,CAAC;IAOC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI;QAC9B,CAAC,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,EACrD,IAAI,CAAC,OAAO,CAAC,cAAc;KAC9B,CAAA;IACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAA;IAChE,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,cAAc,EAAE,CAAA;IAEpD,OAAO,QAAQ,CACb,EAAE,IAAI,EAAE,sBAAsB,EAAE,EAChC,EAAE,GAAG,EAAE,qBAAqB,EAAE,GAAG,OAAO,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,EAAE,CAC5D,CAAA;AACH,CAAC;IAGC,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC3D,OAAM;IACR,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAChD,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,gBAAgB,CACzD,CAAA;IAED,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;IAE1D,KAAK,MAAM,OAAO,IAAI,WAAW,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;QAE7D,IAAI,OAAO,CAAC,IAAI,KAAK,sBAAsB,EAAE,CAAC;YAC5C,IAAI,CAAC,gBAAiB,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;QAChE,CAAC;QAED,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YACnC,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,CAAA;YAEnE,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,SAAQ;YACV,CAAC;YAED,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;YAE7D,OAAO,CAAC,gBAAiB,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAA;QACjE,CAAC;IACH,CAAC;AACH,CAAC;AAGH,MAAM,gBAAgB,GAAG,CAAC,EAAE,OAAO,EAAE,GAAG,EAAkB,EAAE,EAAE,CAC5D,eAAe,CAAC,GAAG,EAAE,cAAc,IAAI,uBAAuB,CAAC,CAAA;AAEjE,MAAM,mBAAmB,GAAG,CAAC,EAC3B,gBAAgB,EAChB,KAAK,EAAE,YAAY,EACnB,MAAM,EACN,gBAAgB,EAAE,uBAAuB,EACzC,aAAa,EACb,SAAS,GACM,EAAsC,EAAE,CACvD,MAAM;IACJ,CAAC,CAAC,gBAAgB;IAClB,CAAC,CAAC;QACE,cAAc,EAAE;YACd,GAAG;;;;;MAKP,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE;;;;;;;MAOhC,aAAa,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE;MAC3C,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE;MAChC,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE;MAClC,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;MAC/B,aAAa,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE;;;MAGpC,uBAAuB,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE;;;MAG9C,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;;;;KAI/B;iBACQ,KAAK,CAAC,IAAI,CAAC;iBACX,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;iBAChC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;YAC1C,GAAG,CAAC,gBAAgB,EAAE,cAAc,IAAI,EAAE,CAAC;SAC5C;KACF,CAAA;AAEP,MAAM,SAAS,GAAG,CAAC,CAAC,aAAa,CAC/B,CAAC,CAAC,IAAI,CAAC;IACL,yDAAyD;IACzD,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACtD,0DAA0D;IAC1D,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACxD,mBAAmB;IACnB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACtD,0BAA0B;IAC1B,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC;CAChB,CAAC,CACH,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@langri-sha/projen-project",
3
- "version": "0.33.0",
3
+ "version": "0.35.0",
4
4
  "description": "Collection of projen templates for bootstrapping monorepos and workspace projects.",
5
5
  "bugs": {
6
6
  "url": "https://github.com/langri-sha/projen/issues"
@@ -23,28 +23,29 @@
23
23
  "prepublishOnly": "rm -rf dist; tsc --project tsconfig.build.json"
24
24
  },
25
25
  "dependencies": {
26
- "@langri-sha/projen-babel": "0.5.17",
27
- "@langri-sha/projen-beachball": "0.5.14",
28
- "@langri-sha/projen-cargo": "0.1.9",
29
- "@langri-sha/projen-codeowners": "0.5.14",
30
- "@langri-sha/projen-dagger": "0.3.2",
31
- "@langri-sha/projen-editorconfig": "0.6.14",
32
- "@langri-sha/projen-eslint": "0.3.18",
33
- "@langri-sha/projen-husky": "0.3.24",
34
- "@langri-sha/projen-jest-config": "0.4.19",
35
- "@langri-sha/projen-license": "0.3.17",
36
- "@langri-sha/projen-lint-staged": "0.3.19",
37
- "@langri-sha/projen-lint-synthesized": "0.5.18",
38
- "@langri-sha/projen-pnpm-workspace": "0.4.14",
39
- "@langri-sha/projen-prettier": "0.4.19",
40
- "@langri-sha/projen-readme": "0.1.14",
41
- "@langri-sha/projen-renovate": "0.4.26",
42
- "@langri-sha/projen-ruff": "0.1.0",
43
- "@langri-sha/projen-swcrc": "0.1.26",
44
- "@langri-sha/projen-ty": "0.1.0",
45
- "@langri-sha/projen-typescript-config": "0.5.22",
46
- "@langri-sha/projen-uv": "0.1.6",
47
- "@langri-sha/projen-worktrunk": "0.1.5",
26
+ "projen-babel-config": "0.5.18",
27
+ "projen-beachball": "0.5.15",
28
+ "projen-cargo": "0.2.0",
29
+ "projen-codeowners": "0.5.15",
30
+ "projen-dagger": "0.3.3",
31
+ "projen-editorconfig": "0.6.15",
32
+ "projen-eslint": "0.3.19",
33
+ "projen-husky": "0.3.25",
34
+ "projen-jest-config": "0.4.21",
35
+ "projen-license": "0.3.18",
36
+ "projen-lint-staged": "0.3.20",
37
+ "projen-lint-synthesized": "0.5.20",
38
+ "projen-pnpm-workspace": "0.4.15",
39
+ "projen-prettier": "0.4.20",
40
+ "projen-readme": "0.1.15",
41
+ "projen-renovate": "0.4.27",
42
+ "projen-ruff": "0.1.1",
43
+ "projen-skills": "0.1.1",
44
+ "projen-swcrc": "0.1.28",
45
+ "projen-ty": "0.1.1",
46
+ "projen-typescript-config": "0.5.23",
47
+ "projen-uv": "0.2.0",
48
+ "projen-worktrunk": "0.1.6",
48
49
  "ramda": "0.32.0",
49
50
  "semver": "7.8.5"
50
51
  },
@@ -65,6 +66,7 @@
65
66
  "lint-staged": "^17.0.0",
66
67
  "prettier": "^3.0.0",
67
68
  "projen": "^0.86.0",
69
+ "skills": "^1.7.2",
68
70
  "tsx": "^4.0.0",
69
71
  "typescript": "^5.5.0"
70
72
  },
@@ -96,6 +98,9 @@
96
98
  "prettier": {
97
99
  "optional": true
98
100
  },
101
+ "skills": {
102
+ "optional": true
103
+ },
99
104
  "tsx": {
100
105
  "optional": true
101
106
  },
package/project.d.ts CHANGED
@@ -1 +1 @@
1
- import '@langri-sha/projen-license/license'
1
+ import 'projen-license/license'
package/readme.md CHANGED
@@ -7,31 +7,73 @@ projects.
7
7
 
8
8
  - managing [Beachball] configuration for publishing packages
9
9
  - configures [PNPM] [workspaces]
10
- - configures [Cargo] workspaces with [`@langri-sha/projen-cargo`]
11
- - configures [Dagger] modules with [`@langri-sha/projen-dagger`]
12
- - configures [uv] workspaces with [`@langri-sha/projen-uv`]
13
- - configures [Ruff] with [`@langri-sha/projen-ruff`]
14
- - configures [ty] with [`@langri-sha/projen-ty`]
10
+ - configures [Cargo] workspaces with [`projen-cargo`]
11
+ - configures [Dagger] modules with [`projen-dagger`]
12
+ - configures [uv] workspaces with [`projen-uv`]
13
+ - configures [Ruff] with [`projen-ruff`]
14
+ - configures [ty] with [`projen-ty`]
15
15
  - configures [`@langri-sha/tsconfig`] for TypeScript monorepos
16
- - managing Git hooks with [`@langri-sha/projen-husky`]
16
+ - managing Git hooks with [`projen-husky`]
17
17
  - configures extensive list of Git ignore patterns
18
- - manages [code owners] with [`@langri-sha/projen-codeowners`]
19
- - configures [Worktrunk] worktree hooks with [`@langri-sha/projen-worktrunk`]
20
-
21
- [`@langri-sha/projen-cargo`]:
22
- https://www.npmjs.com/package/@langri-sha/projen-cargo
23
- [`@langri-sha/projen-codeowners`]:
24
- https://www.npmjs.com/package/@langri-sha/projen-codeowners
25
- [`@langri-sha/projen-dagger`]:
26
- https://www.npmjs.com/package/@langri-sha/projen-dagger
27
- [`@langri-sha/projen-husky`]:
28
- https://www.npmjs.com/package/@langri-sha/projen-husky
29
- [`@langri-sha/projen-ruff`]:
30
- https://www.npmjs.com/package/@langri-sha/projen-ruff
31
- [`@langri-sha/projen-ty`]: https://www.npmjs.com/package/@langri-sha/projen-ty
32
- [`@langri-sha/projen-uv`]: https://www.npmjs.com/package/@langri-sha/projen-uv
33
- [`@langri-sha/projen-worktrunk`]:
34
- https://www.npmjs.com/package/@langri-sha/projen-worktrunk
18
+ - manages [code owners] with [`projen-codeowners`]
19
+ - configures [Worktrunk] worktree hooks with [`projen-worktrunk`]
20
+ - declares and installs agent [skills] with [`projen-skills`]
21
+
22
+ ## Worktrunk
23
+
24
+ Given a `worktrunk` option, the preset supplies a `pre-start` pipeline that
25
+ prepares each new worktree:
26
+
27
+ 1. `sync` fetches the default branch and fast-forwards the new branch to it. It
28
+ is skipped without a remote, for a branch created from another base, and for
29
+ a worktree on an existing branch.
30
+ 2. Once `sync` succeeds, `env` copies each tracked `.env.example` to a `.env`
31
+ that is missing, alongside a command per toolchain that installs its
32
+ dependencies from the lockfile: one named after the package manager (`pnpm`,
33
+ `npm`, `yarn` or `bun`) for `package`, `cargo` for `cargo` and `uv` for `uv`,
34
+ workspace members included.
35
+
36
+ The preset's `.gitignore` re-includes `.env.example`, which its deny-by-default
37
+ `.*` would otherwise hide. A step that fails stops the pipeline, so when `sync`
38
+ fails, for example offline, `env` and the installs do not run until
39
+ `wt hook pre-start` runs them.
40
+
41
+ A toolchain gets a command only when the root project configures it, so a crate
42
+ or a Python package in a subproject outside of a workspace gets none. The
43
+ `cargo` and `uv` commands fail rather than create or update a lockfile, so a
44
+ project commits `Cargo.lock` and `uv.lock` first.
45
+
46
+ A `pre-start` in `worktrunk.config`, in any form, replaces the pipeline whole,
47
+ while hooks for other events are written as given:
48
+
49
+ ```ts
50
+ import { Project } from '@langri-sha/projen-project'
51
+
52
+ new Project({
53
+ name: 'my-project',
54
+ worktrunk: {
55
+ config: { 'pre-start': { install: 'pnpm install --frozen-lockfile' } },
56
+ },
57
+ })
58
+ ```
59
+
60
+ To add to the pipeline instead, append a step, which runs once the steps before
61
+ it succeed: `project.worktrunk?.addStep('pre-start', { build: 'pnpm build' })`.
62
+ The event is already taken, so `addHook('pre-start', ...)` throws.
63
+
64
+ Worktrunk asks each teammate to approve a project's commands before it first
65
+ runs them, so no default runs unseen. It remembers approval by the exact text of
66
+ a command.
67
+
68
+ [`projen-cargo`]: https://www.npmjs.com/package/projen-cargo
69
+ [`projen-codeowners`]: https://www.npmjs.com/package/projen-codeowners
70
+ [`projen-dagger`]: https://www.npmjs.com/package/projen-dagger
71
+ [`projen-husky`]: https://www.npmjs.com/package/projen-husky
72
+ [`projen-ruff`]: https://www.npmjs.com/package/projen-ruff
73
+ [`projen-skills`]: https://www.npmjs.com/package/projen-skills
74
+ [`projen-ty`]: https://www.npmjs.com/package/projen-ty
75
+ [`projen-uv`]: https://www.npmjs.com/package/projen-uv
76
+ [`projen-worktrunk`]: https://www.npmjs.com/package/projen-worktrunk
35
77
  [`@langri-sha/tsconfig`]: https://www.npmjs.com/package/@langri-sha/tsconfig
36
78
  [beachball]: https://microsoft.github.io/beachball/
37
79
  [cargo]: https://doc.rust-lang.org/cargo/
@@ -41,6 +83,7 @@ projects.
41
83
  [pnpm]: https://pnpm.io
42
84
  [projen]: https://projen.io/
43
85
  [ruff]: https://docs.astral.sh/ruff/
86
+ [skills]: https://skills.sh
44
87
  [ty]: https://docs.astral.sh/ty/
45
88
  [uv]: https://docs.astral.sh/uv/
46
89
  [workspaces]: https://pnpm.io/workspaces
package/src/index.ts CHANGED
@@ -1,51 +1,6 @@
1
1
  import { createRequire } from 'node:module'
2
2
  import * as path from 'node:path'
3
3
 
4
- import { Babel, BabelOptions } from '@langri-sha/projen-babel'
5
- import { Beachball, BeachballOptions } from '@langri-sha/projen-beachball'
6
- import {
7
- type CargoOptions,
8
- CargoPackage,
9
- CargoWorkspace,
10
- } from '@langri-sha/projen-cargo'
11
- import {
12
- Codeowners,
13
- type CodeownersOptions,
14
- } from '@langri-sha/projen-codeowners'
15
- import { Dagger, type DaggerOptions } from '@langri-sha/projen-dagger'
16
- import {
17
- EditorConfig,
18
- type EditorConfigOptions,
19
- } from '@langri-sha/projen-editorconfig'
20
- import { ESLint, ESLintOptions } from '@langri-sha/projen-eslint'
21
- import { Husky, type HuskyOptions } from '@langri-sha/projen-husky'
22
- import { JestConfig, JestConfigOptions } from '@langri-sha/projen-jest-config'
23
- import { License } from '@langri-sha/projen-license'
24
- import { LintStaged, LintStagedOptions } from '@langri-sha/projen-lint-staged'
25
- import {
26
- LintSynthesized,
27
- type LintSynthesizedOptions,
28
- } from '@langri-sha/projen-lint-synthesized'
29
- import {
30
- PnpmWorkspace,
31
- PnpmWorkspaceOptions,
32
- } from '@langri-sha/projen-pnpm-workspace'
33
- import { Prettier, PrettierOptions } from '@langri-sha/projen-prettier'
34
- import { ReadmeFile, type ReadmeFileOptions } from '@langri-sha/projen-readme'
35
- import { Renovate, type RenovateOptions } from '@langri-sha/projen-renovate'
36
- import { Ruff, type RuffOptions } from '@langri-sha/projen-ruff'
37
- import { SWCConfig, type SWCConfigOptions } from '@langri-sha/projen-swcrc'
38
- import {
39
- type SupportedPythonVersion,
40
- Ty,
41
- type TyOptions,
42
- } from '@langri-sha/projen-ty'
43
- import {
44
- TypeScriptConfig,
45
- type TypeScriptConfigOptions,
46
- } from '@langri-sha/projen-typescript-config'
47
- import { type UvOptions, UvPackage, UvWorkspace } from '@langri-sha/projen-uv'
48
- import { Worktrunk, type WorktrunkOptions } from '@langri-sha/projen-worktrunk'
49
4
  import {
50
5
  Project as BaseProject,
51
6
  type ProjectOptions as BaseProjectOptions,
@@ -55,13 +10,42 @@ import {
55
10
  IgnoreFileOptions,
56
11
  javascript,
57
12
  } from 'projen'
13
+ import { Babel, BabelOptions } from 'projen-babel-config'
14
+ import { Beachball, BeachballOptions } from 'projen-beachball'
15
+ import { type CargoOptions, CargoPackage, CargoWorkspace } from 'projen-cargo'
16
+ import { Codeowners, type CodeownersOptions } from 'projen-codeowners'
17
+ import { Dagger, type DaggerOptions } from 'projen-dagger'
18
+ import { EditorConfig, type EditorConfigOptions } from 'projen-editorconfig'
19
+ import { ESLint, ESLintOptions } from 'projen-eslint'
20
+ import { Husky, type HuskyOptions } from 'projen-husky'
21
+ import { JestConfig, JestConfigOptions } from 'projen-jest-config'
22
+ import { License } from 'projen-license'
23
+ import { LintStaged, LintStagedOptions } from 'projen-lint-staged'
24
+ import {
25
+ LintSynthesized,
26
+ type LintSynthesizedOptions,
27
+ } from 'projen-lint-synthesized'
28
+ import { PnpmWorkspace, PnpmWorkspaceOptions } from 'projen-pnpm-workspace'
29
+ import { Prettier, PrettierOptions } from 'projen-prettier'
30
+ import { ReadmeFile, type ReadmeFileOptions } from 'projen-readme'
31
+ import { Renovate, type RenovateOptions } from 'projen-renovate'
32
+ import { Ruff, type RuffOptions } from 'projen-ruff'
33
+ import { Skills, type SkillsOptions } from 'projen-skills'
34
+ import { SWCConfig, type SWCConfigOptions } from 'projen-swcrc'
35
+ import { type SupportedPythonVersion, Ty, type TyOptions } from 'projen-ty'
36
+ import {
37
+ TypeScriptConfig,
38
+ type TypeScriptConfigOptions,
39
+ } from 'projen-typescript-config'
40
+ import { type UvOptions, UvPackage, UvWorkspace } from 'projen-uv'
41
+ import { Worktrunk, type WorktrunkOptions, pipeline } from 'projen-worktrunk'
58
42
  import * as R from 'ramda'
59
43
  import { satisfies, valid } from 'semver'
60
44
 
61
45
  import { GitAttributesFile } from './lib/gitattributes.js'
62
46
  import { NodePackage, NodePackageOptions, ProjenrcFile } from './lib/index.js'
63
47
 
64
- export * from '@langri-sha/projen-typescript-config'
48
+ export * from 'projen-typescript-config'
65
49
 
66
50
  /**
67
51
  * The package manager assumed when a project does not name one.
@@ -83,6 +67,38 @@ const PROJEN_COMMANDS: Record<javascript.NodePackageManager, string> = {
83
67
  [javascript.NodePackageManager.YARN_CLASSIC]: 'yarn projen',
84
68
  }
85
69
 
70
+ /**
71
+ * The name of the command that installs dependencies in a worktree hook, per
72
+ * package manager. The binary rather than the enum value, so that every yarn
73
+ * version is `yarn`.
74
+ */
75
+ const PACKAGE_MANAGER_BINARIES: Record<javascript.NodePackageManager, string> =
76
+ {
77
+ [javascript.NodePackageManager.BUN]: 'bun',
78
+ [javascript.NodePackageManager.NPM]: 'npm',
79
+ [javascript.NodePackageManager.PNPM]: 'pnpm',
80
+ [javascript.NodePackageManager.YARN]: 'yarn',
81
+ [javascript.NodePackageManager.YARN2]: 'yarn',
82
+ [javascript.NodePackageManager.YARN_BERRY]: 'yarn',
83
+ [javascript.NodePackageManager.YARN_CLASSIC]: 'yarn',
84
+ }
85
+
86
+ /**
87
+ * The `sync` command of the default `pre-start` pipeline. Worktrunk fails on
88
+ * undefined variables, and leaves `remote` undefined in a repository with no
89
+ * remote and `base` undefined for a worktree on an existing branch, so the
90
+ * command is skipped there. Worktrunk approves a command by its exact text, so
91
+ * editing it asks every teammate to approve it again.
92
+ */
93
+ const WORKTRUNK_SYNC_COMMAND =
94
+ '{% if remote and base and base == default_branch %}git fetch {{ remote }} {{ default_branch }} && git merge --ff-only --quiet {{ remote }}/{{ default_branch }}{% endif %}'
95
+
96
+ /**
97
+ * Copies each tracked `.env.example` to a `.env` that is missing.
98
+ */
99
+ const WORKTRUNK_ENV_COMMAND =
100
+ 'git ls-files -- ":(glob)**/.env.example" | while read -r example; do target=${example%.example}; [ -e "$target" ] || cp "$example" "$target"; done'
101
+
86
102
  /**
87
103
  * How long a release must have been published before Renovate proposes it.
88
104
  *
@@ -221,6 +237,12 @@ export interface ProjectOptions extends Omit<
221
237
  */
222
238
  ruff?: RuffOptions
223
239
 
240
+ /**
241
+ * Pass in to declare the agent skills the repository uses, installed by the
242
+ * `skills` CLI after every synthesis. Root projects only.
243
+ */
244
+ skills?: SkillsOptions
245
+
224
246
  /*
225
247
  * Pass in to configure SWC.
226
248
  */
@@ -251,8 +273,8 @@ export interface ProjectOptions extends Omit<
251
273
  withTerraform?: boolean
252
274
 
253
275
  /**
254
- * Configures Worktrunk, when provided. No hooks are supplied by default:
255
- * each one runs on teammates' machines, so a project declares its own.
276
+ * Configures Worktrunk, when provided. Supplies a default `pre-start`
277
+ * pipeline, which a `pre-start` in `config`, in any form, replaces whole.
256
278
  */
257
279
  worktrunk?: WorktrunkOptions
258
280
  }
@@ -278,6 +300,7 @@ export class Project extends BaseProject {
278
300
  readme?: ReadmeFile
279
301
  renovate?: Renovate
280
302
  ruff?: Ruff
303
+ skills?: Skills
281
304
  swcrc?: SWCConfig
282
305
  ty?: Ty
283
306
  typeScriptConfig?: TypeScriptConfig
@@ -347,6 +370,7 @@ export class Project extends BaseProject {
347
370
  this.#configurePnpmWorkspace(options)
348
371
  this.#configureReadme(options)
349
372
  this.#configureRuff(options)
373
+ this.#configureSkills(options)
350
374
  this.#configureTy(options)
351
375
  this.#configureUv(options)
352
376
  this.#configureWorktrunk(options)
@@ -932,6 +956,7 @@ export class Project extends BaseProject {
932
956
  dagger,
933
957
  renovate: renovateOptions,
934
958
  package: pkg,
959
+ skills,
935
960
  uv,
936
961
  }: ProjectOptions) {
937
962
  if (!renovateOptions || this.parent) {
@@ -1023,6 +1048,20 @@ export class Project extends BaseProject {
1023
1048
  },
1024
1049
  ]
1025
1050
  : []),
1051
+ // git-refs reports no release dates, so under the default
1052
+ // `timestamp-required` the release age above would hold every skill
1053
+ // bump pending for good. Scoped to the skills manager's dep type.
1054
+ ...(skills
1055
+ ? [
1056
+ {
1057
+ description:
1058
+ 'Skill commits carry no release date. Propose them without waiting out the release age',
1059
+ matchManagers: ['custom.regex'],
1060
+ matchDepTypes: ['skills'],
1061
+ minimumReleaseAgeBehaviour: 'timestamp-optional' as const,
1062
+ },
1063
+ ]
1064
+ : []),
1026
1065
  ],
1027
1066
  customManagers: [
1028
1067
  {
@@ -1170,6 +1209,28 @@ export class Project extends BaseProject {
1170
1209
  },
1171
1210
  ]
1172
1211
  : []),
1212
+ // A skill is pinned to a commit and declares no branch, so only the
1213
+ // digest is captured, and Renovate compares it with the tip of the
1214
+ // repository's default branch. Synthesis carries a bump into
1215
+ // package.json, and the sync after it refreshes skills-lock.json.
1216
+ // Held to the projenrc for the reason spelled out under the
1217
+ // `packageManager` manager.
1218
+ ...(skills
1219
+ ? [
1220
+ {
1221
+ customType: 'regex' as const,
1222
+ datasourceTemplate: 'git-refs',
1223
+ depTypeTemplate: 'skills',
1224
+ managerFilePatterns: [
1225
+ '/(^|/)\\.?projenrc\\.(js|cjs|mjs|ts|mts|cts)$/',
1226
+ ],
1227
+ matchStrings: [
1228
+ `source:\\s*['"](?<depName>[\\w.-]+/[\\w.-]+)['"],\\s*ref:\\s*['"](?<currentDigest>[0-9a-f]{40})['"]`,
1229
+ ],
1230
+ packageNameTemplate: 'https://github.com/{{{depName}}}',
1231
+ },
1232
+ ]
1233
+ : []),
1173
1234
  // The `packageManager` field is declared in a projenrc and only
1174
1235
  // reaches the manifest through synthesis, so the npm manager reading
1175
1236
  // the manifest cannot propose it. Both patterns are held to that one
@@ -1233,6 +1294,15 @@ export class Project extends BaseProject {
1233
1294
  this.ruff = new Ruff(this, ruff)
1234
1295
  }
1235
1296
 
1297
+ #configureSkills({ skills }: ProjectOptions) {
1298
+ if (!skills || this.parent) {
1299
+ return
1300
+ }
1301
+
1302
+ this.skills = new Skills(this, skills)
1303
+ this.#addDefaultDevDeps('skills@1.7.2')
1304
+ }
1305
+
1236
1306
  #configureSWC({ swcrc, typeScriptConfig }: ProjectOptions) {
1237
1307
  if (!swcrc) {
1238
1308
  return
@@ -1368,7 +1438,33 @@ export class Project extends BaseProject {
1368
1438
  return
1369
1439
  }
1370
1440
 
1371
- this.worktrunk = new Worktrunk(this, worktrunk)
1441
+ // Replaced whole per event, not deep-merged like the other defaults: the
1442
+ // three hook forms cannot be merged into one another.
1443
+ this.worktrunk = new Worktrunk(this, {
1444
+ ...worktrunk,
1445
+ config: {
1446
+ ...worktrunk.config,
1447
+ 'pre-start': worktrunk.config?.['pre-start'] ?? this.#defaultPreStart(),
1448
+ },
1449
+ })
1450
+ }
1451
+
1452
+ /**
1453
+ * The install commands are the components' own text, so an upgrade that
1454
+ * changes one asks every teammate to approve the hook again.
1455
+ */
1456
+ #defaultPreStart() {
1457
+ const install = this.package && {
1458
+ [PACKAGE_MANAGER_BINARIES[this.package.packageManager]]:
1459
+ this.package.installCommand,
1460
+ }
1461
+ const cargo = this.cargo && { cargo: this.cargo.installCommand }
1462
+ const uv = this.uv && { uv: this.uv.installCommand }
1463
+
1464
+ return pipeline(
1465
+ { sync: WORKTRUNK_SYNC_COMMAND },
1466
+ { env: WORKTRUNK_ENV_COMMAND, ...install, ...cargo, ...uv },
1467
+ )
1372
1468
  }
1373
1469
 
1374
1470
  #populateTypeScriptProjectReferencesFromDependencies() {
@@ -1413,6 +1509,7 @@ const getGitIgnoreOptions = ({
1413
1509
  parent,
1414
1510
  typeScriptConfig: typeScriptConfigOptions,
1415
1511
  withTerraform,
1512
+ worktrunk,
1416
1513
  }: ProjectOptions): ProjectOptions['gitIgnoreOptions'] =>
1417
1514
  parent
1418
1515
  ? gitIgnoreOptions
@@ -1423,6 +1520,7 @@ const getGitIgnoreOptions = ({
1423
1520
  !.babelrc
1424
1521
  !.dockerignore
1425
1522
  !.editorconfig
1523
+ ${worktrunk ? '!.env.example' : ''}
1426
1524
  !.gitattributes
1427
1525
  !.gitignore
1428
1526
  !.gitkeep