@bleedingdev/modern-js-create 3.2.0-ultramodern.12 → 3.2.0-ultramodern.121
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/README.md +167 -72
- package/bin/run.js +0 -0
- package/dist/cjs/create-package-root.cjs +63 -0
- package/dist/cjs/index.cjs +528 -0
- package/dist/cjs/locale/en.cjs +93 -0
- package/dist/cjs/locale/index.cjs +50 -0
- package/dist/cjs/locale/zh.cjs +93 -0
- package/dist/cjs/ultramodern-package-source.cjs +135 -0
- package/dist/cjs/ultramodern-workspace/add-vertical.cjs +337 -0
- package/dist/cjs/ultramodern-workspace/app-files.cjs +223 -0
- package/dist/cjs/ultramodern-workspace/contracts.cjs +836 -0
- package/dist/cjs/ultramodern-workspace/demo-components.cjs +422 -0
- package/dist/cjs/ultramodern-workspace/descriptors.cjs +222 -0
- package/dist/cjs/ultramodern-workspace/effect-api.cjs +952 -0
- package/dist/cjs/ultramodern-workspace/fs-io.cjs +191 -0
- package/dist/cjs/ultramodern-workspace/index.cjs +48 -0
- package/dist/cjs/ultramodern-workspace/locales.cjs +173 -0
- package/dist/cjs/ultramodern-workspace/module-federation.cjs +487 -0
- package/dist/cjs/ultramodern-workspace/naming.cjs +161 -0
- package/dist/cjs/ultramodern-workspace/package-json.cjs +406 -0
- package/dist/cjs/ultramodern-workspace/package-source.cjs +59 -0
- package/dist/cjs/ultramodern-workspace/policy.cjs +248 -0
- package/dist/cjs/ultramodern-workspace/public-surface.cjs +268 -0
- package/dist/cjs/ultramodern-workspace/routes.cjs +375 -0
- package/dist/cjs/ultramodern-workspace/types.cjs +61 -0
- package/dist/cjs/ultramodern-workspace/versions.cjs +153 -0
- package/dist/cjs/ultramodern-workspace/workspace-scripts.cjs +153 -0
- package/dist/cjs/ultramodern-workspace/write-workspace.cjs +175 -0
- package/dist/esm/create-package-root.js +14 -0
- package/dist/esm/index.js +491 -0
- package/dist/esm/locale/en.js +55 -0
- package/dist/esm/locale/index.js +9 -0
- package/dist/esm/locale/zh.js +55 -0
- package/dist/esm/ultramodern-package-source.js +63 -0
- package/dist/esm/ultramodern-workspace/add-vertical.js +252 -0
- package/dist/esm/ultramodern-workspace/app-files.js +149 -0
- package/dist/esm/ultramodern-workspace/contracts.js +741 -0
- package/dist/esm/ultramodern-workspace/demo-components.js +363 -0
- package/dist/esm/ultramodern-workspace/descriptors.js +133 -0
- package/dist/esm/ultramodern-workspace/effect-api.js +854 -0
- package/dist/esm/ultramodern-workspace/fs-io.js +90 -0
- package/dist/esm/ultramodern-workspace/index.js +3 -0
- package/dist/esm/ultramodern-workspace/locales.js +122 -0
- package/dist/esm/ultramodern-workspace/module-federation.js +415 -0
- package/dist/esm/ultramodern-workspace/naming.js +71 -0
- package/dist/esm/ultramodern-workspace/package-json.js +338 -0
- package/dist/esm/ultramodern-workspace/package-source.js +21 -0
- package/dist/esm/ultramodern-workspace/policy.js +183 -0
- package/dist/esm/ultramodern-workspace/public-surface.js +183 -0
- package/dist/esm/ultramodern-workspace/routes.js +280 -0
- package/dist/esm/ultramodern-workspace/types.js +16 -0
- package/dist/esm/ultramodern-workspace/versions.js +34 -0
- package/dist/esm/ultramodern-workspace/workspace-scripts.js +91 -0
- package/dist/esm/ultramodern-workspace/write-workspace.js +121 -0
- package/dist/esm-node/create-package-root.js +15 -0
- package/dist/esm-node/index.js +492 -0
- package/dist/esm-node/locale/en.js +56 -0
- package/dist/esm-node/locale/index.js +10 -0
- package/dist/esm-node/locale/zh.js +56 -0
- package/dist/esm-node/ultramodern-package-source.js +64 -0
- package/dist/esm-node/ultramodern-workspace/add-vertical.js +253 -0
- package/dist/esm-node/ultramodern-workspace/app-files.js +150 -0
- package/dist/esm-node/ultramodern-workspace/contracts.js +742 -0
- package/dist/esm-node/ultramodern-workspace/demo-components.js +364 -0
- package/dist/esm-node/ultramodern-workspace/descriptors.js +134 -0
- package/dist/esm-node/ultramodern-workspace/effect-api.js +855 -0
- package/dist/esm-node/ultramodern-workspace/fs-io.js +91 -0
- package/dist/esm-node/ultramodern-workspace/index.js +4 -0
- package/dist/esm-node/ultramodern-workspace/locales.js +123 -0
- package/dist/esm-node/ultramodern-workspace/module-federation.js +416 -0
- package/dist/esm-node/ultramodern-workspace/naming.js +72 -0
- package/dist/esm-node/ultramodern-workspace/package-json.js +339 -0
- package/dist/esm-node/ultramodern-workspace/package-source.js +22 -0
- package/dist/esm-node/ultramodern-workspace/policy.js +184 -0
- package/dist/esm-node/ultramodern-workspace/public-surface.js +184 -0
- package/dist/esm-node/ultramodern-workspace/routes.js +281 -0
- package/dist/esm-node/ultramodern-workspace/types.js +17 -0
- package/dist/esm-node/ultramodern-workspace/versions.js +35 -0
- package/dist/esm-node/ultramodern-workspace/workspace-scripts.js +92 -0
- package/dist/esm-node/ultramodern-workspace/write-workspace.js +122 -0
- package/dist/types/create-package-root.d.ts +1 -0
- package/dist/types/locale/en.d.ts +8 -9
- package/dist/types/locale/index.d.ts +109 -2
- package/dist/types/locale/zh.d.ts +8 -9
- package/dist/types/ultramodern-package-source.d.ts +28 -0
- package/dist/types/ultramodern-workspace/add-vertical.d.ts +19 -0
- package/dist/types/ultramodern-workspace/app-files.d.ts +14 -0
- package/dist/types/ultramodern-workspace/contracts.d.ts +21 -0
- package/dist/types/ultramodern-workspace/demo-components.d.ts +9 -0
- package/dist/types/ultramodern-workspace/descriptors.d.ts +39 -0
- package/dist/types/ultramodern-workspace/effect-api.d.ts +73 -0
- package/dist/types/ultramodern-workspace/fs-io.d.ts +18 -0
- package/dist/types/ultramodern-workspace/index.d.ts +4 -0
- package/dist/types/ultramodern-workspace/locales.d.ts +183 -0
- package/dist/types/ultramodern-workspace/module-federation.d.ts +16 -0
- package/dist/types/ultramodern-workspace/naming.d.ts +16 -0
- package/dist/types/ultramodern-workspace/package-json.d.ts +12 -0
- package/dist/types/ultramodern-workspace/package-source.d.ts +2 -0
- package/dist/types/ultramodern-workspace/policy.d.ts +60 -0
- package/dist/types/ultramodern-workspace/public-surface.d.ts +37 -0
- package/dist/types/ultramodern-workspace/routes.d.ts +25 -0
- package/dist/types/ultramodern-workspace/types.d.ts +95 -0
- package/dist/types/ultramodern-workspace/versions.d.ts +38 -0
- package/dist/types/ultramodern-workspace/workspace-scripts.d.ts +10 -0
- package/dist/types/ultramodern-workspace/write-workspace.d.ts +4 -0
- package/package.json +34 -15
- package/template-workspace/.agents/agent-reference-repos.json +24 -0
- package/template-workspace/.agents/skills-lock.json +19 -0
- package/template-workspace/.codex/hooks.json +16 -0
- package/template-workspace/.github/renovate.json +29 -0
- package/template-workspace/.github/workflows/ultramodern-workspace-gates.yml.handlebars +67 -0
- package/template-workspace/.gitignore.handlebars +5 -0
- package/template-workspace/.mise.toml.handlebars +3 -0
- package/template-workspace/AGENTS.md.handlebars +87 -0
- package/template-workspace/README.md.handlebars +132 -11
- package/template-workspace/lefthook.yml +24 -0
- package/template-workspace/oxfmt.config.ts +1 -0
- package/template-workspace/oxlint.config.ts +1 -0
- package/template-workspace/pnpm-workspace.yaml.handlebars +40 -0
- package/template-workspace/scripts/bootstrap-agent-skills.mjs +184 -21
- package/template-workspace/scripts/setup-agent-reference-repos.mjs +370 -0
- package/templates/app/shell-frame.tsx +49 -0
- package/templates/app/ultramodern-route-head.tsx.handlebars +142 -0
- package/templates/packages/shared-contracts-index.ts +466 -0
- package/templates/workspace-scripts/assert-mf-types.mjs.handlebars +69 -0
- package/templates/workspace-scripts/check-ultramodern-i18n-boundaries.mjs +9 -0
- package/templates/workspace-scripts/generate-public-surface-assets.mjs +529 -0
- package/templates/workspace-scripts/proof-cloudflare-version.mjs +125 -0
- package/templates/workspace-scripts/ultramodern-cloudflare-proof.mjs +851 -0
- package/templates/workspace-scripts/ultramodern-performance-readiness.config.mjs +7 -0
- package/templates/workspace-scripts/ultramodern-performance-readiness.mjs +223 -0
- package/templates/workspace-scripts/validate-ultramodern-workspace.mjs.handlebars +593 -0
- package/dist/index.js +0 -2626
- package/dist/types/ultramodern-workspace.d.ts +0 -20
- package/template/.agents/skills-lock.json +0 -34
- package/template/.browserslistrc +0 -4
- package/template/.github/workflows/ultramodern-gates.yml.handlebars +0 -30
- package/template/.gitignore.handlebars +0 -30
- package/template/.nvmrc +0 -2
- package/template/AGENTS.md +0 -25
- package/template/README.md +0 -79
- package/template/api/effect/index.ts.handlebars +0 -23
- package/template/api/lambda/hello.ts.handlebars +0 -6
- package/template/config/public/locales/cs/translation.json +0 -39
- package/template/config/public/locales/en/translation.json +0 -39
- package/template/modern.config.ts.handlebars +0 -53
- package/template/oxfmt.config.ts +0 -8
- package/template/oxlint.config.ts +0 -12
- package/template/package.json.handlebars +0 -67
- package/template/postcss.config.mjs.handlebars +0 -6
- package/template/scripts/bootstrap-agent-skills.mjs +0 -95
- package/template/scripts/check-i18n-strings.mjs +0 -83
- package/template/scripts/validate-ultramodern.mjs.handlebars +0 -178
- package/template/shared/effect/api.ts.handlebars +0 -17
- package/template/src/modern-app-env.d.ts +0 -1
- package/template/src/modern.runtime.ts.handlebars +0 -23
- package/template/src/routes/index.css.handlebars +0 -129
- package/template/src/routes/layout.tsx.handlebars +0 -9
- package/template/src/routes/page.tsx.handlebars +0 -155
- package/template/tailwind.config.ts.handlebars +0 -10
- package/template/tsconfig.json +0 -120
- package/template-workspace/AGENTS.md +0 -50
- package/template-workspace/pnpm-workspace.yaml +0 -17
- package/template-workspace/scripts/check-i18n-strings.mjs +0 -83
- package/template-workspace/scripts/validate-ultramodern-workspace.mjs.handlebars +0 -433
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
import type { WorkspaceApp } from './types';
|
|
2
|
+
export declare const commonLocaleMessages: {
|
|
3
|
+
cs: {
|
|
4
|
+
language: {
|
|
5
|
+
cs: string;
|
|
6
|
+
en: string;
|
|
7
|
+
switcher: string;
|
|
8
|
+
};
|
|
9
|
+
routes: {
|
|
10
|
+
home: string;
|
|
11
|
+
};
|
|
12
|
+
seo: {
|
|
13
|
+
description: string;
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
en: {
|
|
17
|
+
language: {
|
|
18
|
+
cs: string;
|
|
19
|
+
en: string;
|
|
20
|
+
switcher: string;
|
|
21
|
+
};
|
|
22
|
+
routes: {
|
|
23
|
+
home: string;
|
|
24
|
+
};
|
|
25
|
+
seo: {
|
|
26
|
+
description: string;
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
export declare const generatedLocaleResources: {
|
|
31
|
+
cs: {
|
|
32
|
+
shell: {
|
|
33
|
+
boundaries: {
|
|
34
|
+
toggle: string;
|
|
35
|
+
};
|
|
36
|
+
hero: {
|
|
37
|
+
cardOne: string;
|
|
38
|
+
cardOneKicker: string;
|
|
39
|
+
cardTwo: string;
|
|
40
|
+
cardTwoKicker: string;
|
|
41
|
+
empty: string;
|
|
42
|
+
eyebrow: string;
|
|
43
|
+
lede: string;
|
|
44
|
+
primary: string;
|
|
45
|
+
secondary: string;
|
|
46
|
+
};
|
|
47
|
+
language: {
|
|
48
|
+
cs: string;
|
|
49
|
+
en: string;
|
|
50
|
+
switcher: string;
|
|
51
|
+
};
|
|
52
|
+
remoteUnavailable: string;
|
|
53
|
+
remotes: {};
|
|
54
|
+
routes: {
|
|
55
|
+
home: string;
|
|
56
|
+
};
|
|
57
|
+
seo: {
|
|
58
|
+
description: string;
|
|
59
|
+
};
|
|
60
|
+
title: string;
|
|
61
|
+
};
|
|
62
|
+
};
|
|
63
|
+
en: {
|
|
64
|
+
shell: {
|
|
65
|
+
boundaries: {
|
|
66
|
+
toggle: string;
|
|
67
|
+
};
|
|
68
|
+
hero: {
|
|
69
|
+
cardOne: string;
|
|
70
|
+
cardOneKicker: string;
|
|
71
|
+
cardTwo: string;
|
|
72
|
+
cardTwoKicker: string;
|
|
73
|
+
empty: string;
|
|
74
|
+
eyebrow: string;
|
|
75
|
+
lede: string;
|
|
76
|
+
primary: string;
|
|
77
|
+
secondary: string;
|
|
78
|
+
};
|
|
79
|
+
language: {
|
|
80
|
+
cs: string;
|
|
81
|
+
en: string;
|
|
82
|
+
switcher: string;
|
|
83
|
+
};
|
|
84
|
+
remoteUnavailable: string;
|
|
85
|
+
remotes: {};
|
|
86
|
+
routes: {
|
|
87
|
+
home: string;
|
|
88
|
+
};
|
|
89
|
+
seo: {
|
|
90
|
+
description: string;
|
|
91
|
+
};
|
|
92
|
+
title: string;
|
|
93
|
+
};
|
|
94
|
+
};
|
|
95
|
+
};
|
|
96
|
+
export declare const createFallbackLocaleMessages: (app: WorkspaceApp, language: 'en' | 'cs') => {
|
|
97
|
+
language: {
|
|
98
|
+
cs: string;
|
|
99
|
+
en: string;
|
|
100
|
+
switcher: string;
|
|
101
|
+
};
|
|
102
|
+
routes: {
|
|
103
|
+
home: string;
|
|
104
|
+
};
|
|
105
|
+
seo: {
|
|
106
|
+
description: string;
|
|
107
|
+
};
|
|
108
|
+
federatedSurface: "Federated surface owned by this vertical." | "Federovaná plocha vlastněná tímto verticalem.";
|
|
109
|
+
remoteUnavailable: "Remote vertical je nedostupný" | "Remote vertical unavailable";
|
|
110
|
+
role: string;
|
|
111
|
+
routeSurface: "Route surface owned by this vertical." | "Routovaná plocha vlastněná tímto verticalem.";
|
|
112
|
+
title: string;
|
|
113
|
+
widgetBody: "Owns a vertical route surface." | "Vlastní routovanou plochu verticalu.";
|
|
114
|
+
} | {
|
|
115
|
+
language: {
|
|
116
|
+
cs: string;
|
|
117
|
+
en: string;
|
|
118
|
+
switcher: string;
|
|
119
|
+
};
|
|
120
|
+
routes: {
|
|
121
|
+
home: string;
|
|
122
|
+
};
|
|
123
|
+
seo: {
|
|
124
|
+
description: string;
|
|
125
|
+
};
|
|
126
|
+
federatedSurface: "Federated surface owned by this vertical." | "Federovaná plocha vlastněná tímto verticalem.";
|
|
127
|
+
remoteUnavailable: "Remote vertical je nedostupný" | "Remote vertical unavailable";
|
|
128
|
+
role: string;
|
|
129
|
+
routeSurface: "Route surface owned by this vertical." | "Routovaná plocha vlastněná tímto verticalem.";
|
|
130
|
+
title: string;
|
|
131
|
+
widgetBody: "Owns a vertical route surface." | "Vlastní routovanou plochu verticalu.";
|
|
132
|
+
};
|
|
133
|
+
export declare function createAppLocaleMessages(app: WorkspaceApp, language: 'en' | 'cs'): {
|
|
134
|
+
[x: string]: {
|
|
135
|
+
boundaries: {
|
|
136
|
+
toggle: string;
|
|
137
|
+
};
|
|
138
|
+
hero: {
|
|
139
|
+
cardOne: string;
|
|
140
|
+
cardOneKicker: string;
|
|
141
|
+
cardTwo: string;
|
|
142
|
+
cardTwoKicker: string;
|
|
143
|
+
empty: string;
|
|
144
|
+
eyebrow: string;
|
|
145
|
+
lede: string;
|
|
146
|
+
primary: string;
|
|
147
|
+
secondary: string;
|
|
148
|
+
};
|
|
149
|
+
language: {
|
|
150
|
+
cs: string;
|
|
151
|
+
en: string;
|
|
152
|
+
switcher: string;
|
|
153
|
+
};
|
|
154
|
+
remoteUnavailable: string;
|
|
155
|
+
remotes: {};
|
|
156
|
+
routes: {
|
|
157
|
+
home: string;
|
|
158
|
+
};
|
|
159
|
+
seo: {
|
|
160
|
+
description: string;
|
|
161
|
+
};
|
|
162
|
+
title: string;
|
|
163
|
+
} | {
|
|
164
|
+
language: {
|
|
165
|
+
cs: string;
|
|
166
|
+
en: string;
|
|
167
|
+
switcher: string;
|
|
168
|
+
};
|
|
169
|
+
routes: {
|
|
170
|
+
home: string;
|
|
171
|
+
};
|
|
172
|
+
seo: {
|
|
173
|
+
description: string;
|
|
174
|
+
};
|
|
175
|
+
federatedSurface: "Federated surface owned by this vertical." | "Federovaná plocha vlastněná tímto verticalem.";
|
|
176
|
+
remoteUnavailable: "Remote vertical je nedostupný" | "Remote vertical unavailable";
|
|
177
|
+
role: string;
|
|
178
|
+
routeSurface: "Route surface owned by this vertical." | "Routovaná plocha vlastněná tímto verticalem.";
|
|
179
|
+
title: string;
|
|
180
|
+
widgetBody: "Owns a vertical route surface." | "Vlastní routovanou plochu verticalu.";
|
|
181
|
+
};
|
|
182
|
+
};
|
|
183
|
+
export declare function createAppPublicLocaleMessages(app: WorkspaceApp, language: 'en' | 'cs', remotes?: WorkspaceApp[]): any;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { WorkspaceApp } from './types';
|
|
2
|
+
export declare function createAppModernConfig(scope: string, app: WorkspaceApp): string;
|
|
3
|
+
export declare function createSharedModuleFederationConfig(): string;
|
|
4
|
+
export declare function formatTsObjectLiteral(value: Record<string, string>): string;
|
|
5
|
+
export declare function createModuleFederationRemoteUrlHelpers(app: WorkspaceApp, remotes?: WorkspaceApp[]): string;
|
|
6
|
+
export declare function createModuleFederationRemotesConfig(scope: string, app: WorkspaceApp, remotes?: WorkspaceApp[]): string;
|
|
7
|
+
export declare function createShellModuleFederationConfig(scope: string, remotes?: WorkspaceApp[]): string;
|
|
8
|
+
export declare function createBuildMarker(scope: string, app: {
|
|
9
|
+
id: string;
|
|
10
|
+
packageSuffix: string;
|
|
11
|
+
}): any;
|
|
12
|
+
export declare function createUltramodernBuildModule(scope: string, app: {
|
|
13
|
+
id: string;
|
|
14
|
+
packageSuffix: string;
|
|
15
|
+
}): string;
|
|
16
|
+
export declare function createRemoteModuleFederationConfig(scope: string, app: WorkspaceApp, remotes?: WorkspaceApp[]): string;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { WorkspaceApp } from './types';
|
|
2
|
+
export declare const TAILWIND_PREFIX_DIGIT_WORDS: readonly ['zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine'];
|
|
3
|
+
export declare function normalizePath(filePath: string): string;
|
|
4
|
+
export declare function toPackageScope(packageName: string): string;
|
|
5
|
+
export declare function toKebabCase(value: string): string;
|
|
6
|
+
export declare function toCamelCase(value: string): string;
|
|
7
|
+
export declare function toEnvSegment(value: string): string;
|
|
8
|
+
export declare function createRspackUniqueName(app: WorkspaceApp): string;
|
|
9
|
+
export declare function createRspackChunkLoadingGlobal(app: WorkspaceApp): string;
|
|
10
|
+
export declare function packageName(scope: string, suffix: string): string;
|
|
11
|
+
export declare function relativeRootFor(packageDir: string): string;
|
|
12
|
+
export declare function createTailwindPrefix(raw: string): string;
|
|
13
|
+
export declare function tailwindPrefixForApp(app: WorkspaceApp): string;
|
|
14
|
+
export declare function assertUniqueTailwindPrefixes(apps: WorkspaceApp[]): void;
|
|
15
|
+
export declare function createTw(prefix: string): (classList: string) => string;
|
|
16
|
+
export declare function toPascalCase(value: string): string;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { JsonValue, ResolvedPackageSource, WorkspaceApp } from './types';
|
|
2
|
+
export declare const effectTsgoTypecheckCommand = "node -e \"const fs = require('node:fs'); const { execFileSync, spawnSync } = require('node:child_process'); const bin = execFileSync('effect-tsgo', ['get-exe-path'], { encoding: 'utf8' }).trim(); if (process.platform !== 'win32') fs.chmodSync(bin, 0o755); const result = spawnSync(bin, ['--noEmit', '-p', 'tsconfig.json'], { stdio: 'inherit' }); process.exit(result.status ?? 1);\"";
|
|
3
|
+
export declare const effectDiagnostics: string[];
|
|
4
|
+
export declare function appDependencies(scope: string, packageSource: ResolvedPackageSource, app: WorkspaceApp, remotes?: WorkspaceApp[]): Record<string, string>;
|
|
5
|
+
export declare function appDevDependencies(packageSource: ResolvedPackageSource, enableTailwind: boolean): Record<string, string>;
|
|
6
|
+
export declare function createRootPackageJson(scope: string, packageSource: ResolvedPackageSource, remotes?: WorkspaceApp[]): JsonValue;
|
|
7
|
+
export declare function createZephyrDependencies(scope: string, app: WorkspaceApp, remotes?: WorkspaceApp[]): JsonValue;
|
|
8
|
+
export declare function createTsConfigBase(): JsonValue;
|
|
9
|
+
export declare function createPackageTsConfig(packageDir: string, includeApi?: boolean): JsonValue;
|
|
10
|
+
export declare function createAppPackage(scope: string, app: WorkspaceApp, packageSource: ResolvedPackageSource, enableTailwind: boolean, remotes?: WorkspaceApp[]): JsonValue;
|
|
11
|
+
export declare function createSharedPackage(scope: string, id: string, description: string): JsonValue;
|
|
12
|
+
export declare function createSharedContractsIndex(): string;
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import type { JsonValue, WorkspaceApp } from './types';
|
|
2
|
+
export declare function createCloudflareProofRoute(app: WorkspaceApp): JsonValue;
|
|
3
|
+
export declare function createCloudflareSecurityContract(): JsonValue;
|
|
4
|
+
export declare const PUBLIC_WEBSITE_POLICY: {
|
|
5
|
+
qualityGates: {
|
|
6
|
+
publicRoutes: {
|
|
7
|
+
requireSitemapWhenPresent: boolean;
|
|
8
|
+
requireRobotsSitemapConsistency: boolean;
|
|
9
|
+
requireWebManifestWhenPresent: boolean;
|
|
10
|
+
};
|
|
11
|
+
statusCodes: {
|
|
12
|
+
notFoundRoute: string;
|
|
13
|
+
unknownRouteStatus: number;
|
|
14
|
+
};
|
|
15
|
+
indexing: {
|
|
16
|
+
previewNoindex: boolean;
|
|
17
|
+
productionPublicRoutesIndexable: boolean;
|
|
18
|
+
};
|
|
19
|
+
assets: {
|
|
20
|
+
cssPreloadRequired: boolean;
|
|
21
|
+
cssResponseRequired: boolean;
|
|
22
|
+
cacheControlRequiredForCss: boolean;
|
|
23
|
+
sourcemapsPubliclyReferenced: boolean;
|
|
24
|
+
};
|
|
25
|
+
budgets: {
|
|
26
|
+
ssrHtmlMaxBytes: number;
|
|
27
|
+
mfManifestMaxBytes: number;
|
|
28
|
+
localeJsonMaxBytes: number;
|
|
29
|
+
sitemapXmlMaxBytes: number;
|
|
30
|
+
cssAssetMaxBytes: number;
|
|
31
|
+
};
|
|
32
|
+
csp: {
|
|
33
|
+
finalMode: string;
|
|
34
|
+
decision: string;
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
publicHead: {
|
|
38
|
+
indexableRobots: string;
|
|
39
|
+
privateRouteRobots: string;
|
|
40
|
+
};
|
|
41
|
+
publicSurface: {
|
|
42
|
+
defaultProviderFile: string;
|
|
43
|
+
draftPolicy: string;
|
|
44
|
+
indexablePolicy: string;
|
|
45
|
+
};
|
|
46
|
+
};
|
|
47
|
+
export declare function formatTsJsonValue(value: JsonValue, indent: number): string;
|
|
48
|
+
export declare function formatIntegerCodeLiteral(value: number): string;
|
|
49
|
+
export declare function createPublicWebsiteQualityGateContract(): JsonValue;
|
|
50
|
+
export declare function createPublicWebsiteBudgetFallback(budgetName: keyof (typeof PUBLIC_WEBSITE_POLICY)['qualityGates']['budgets']): string;
|
|
51
|
+
export declare function createPublicHeadRobotsPolicy(): {
|
|
52
|
+
indexableRobots: string;
|
|
53
|
+
privateRouteRobots: string;
|
|
54
|
+
};
|
|
55
|
+
export declare function createPublicSurfaceContentExpansionPolicy(): {
|
|
56
|
+
defaultProviderFile: string;
|
|
57
|
+
draftPolicy: string;
|
|
58
|
+
indexablePolicy: string;
|
|
59
|
+
};
|
|
60
|
+
export declare function createCloudflareDeployContract(scope: string, app: WorkspaceApp): JsonValue;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { JsonValue, PublicRouteMetadata, PublicSurfaceSitemapFields, SupportedWorkspaceLanguage, WorkspaceApp } from './types';
|
|
2
|
+
export declare const publicSurfaceManagedSourceAssetPaths: readonly ['config/public/robots.txt', 'config/public/sitemap.xml', 'config/public/site.webmanifest'];
|
|
3
|
+
export declare const publicSurfaceBaseOutputFiles: readonly ['robots.txt'];
|
|
4
|
+
export declare const publicSurfacePublicRouteOutputFiles: readonly ['sitemap.xml', 'site.webmanifest'];
|
|
5
|
+
export type PublicSurfaceRouteEntry = PublicRouteMetadata & {
|
|
6
|
+
canonicalUrlPath: string;
|
|
7
|
+
localeUrlPaths: Record<SupportedWorkspaceLanguage, string>;
|
|
8
|
+
} & PublicSurfaceSitemapFields;
|
|
9
|
+
export declare function createLocalisedPublicPath(pathname: string, language: SupportedWorkspaceLanguage): string;
|
|
10
|
+
export declare function uniqueSorted(values: string[]): string[];
|
|
11
|
+
export declare function createPublicSurfaceRouteEntries(app: WorkspaceApp): PublicSurfaceRouteEntry[];
|
|
12
|
+
export declare function createPublicSurfaceUrlPaths(app: WorkspaceApp): string[];
|
|
13
|
+
export declare function createPublicSurfaceOutputFiles(app: WorkspaceApp): string[];
|
|
14
|
+
export type PublicSurfaceGenerationTarget = 'dist' | 'cloudflare';
|
|
15
|
+
export declare function createPublicSurfaceGenerationCommand(app: WorkspaceApp, target: PublicSurfaceGenerationTarget, requirePublicOrigin?: boolean): string;
|
|
16
|
+
/**
|
|
17
|
+
* Tombstone sweep: generated apps never ship hand-authored source assets under
|
|
18
|
+
* config/public, so reruns over an existing workspace remove any that crept
|
|
19
|
+
* in. The same path list feeds the generated validate script's assertions.
|
|
20
|
+
*/
|
|
21
|
+
export declare function rewriteWorkspaceAssetsForApp(workspaceRoot: string, app: WorkspaceApp): void;
|
|
22
|
+
export declare function createPublicSurfaceContract(app: WorkspaceApp): JsonValue;
|
|
23
|
+
export declare function createPublicHeadContract(): JsonValue;
|
|
24
|
+
export type PublicWebGeneratedFile = {
|
|
25
|
+
path: string;
|
|
26
|
+
content: string;
|
|
27
|
+
};
|
|
28
|
+
export type PublicWebAppArtifacts = {
|
|
29
|
+
jsonLdHelperFile: PublicWebGeneratedFile;
|
|
30
|
+
routeMetadataFile: PublicWebGeneratedFile;
|
|
31
|
+
routeHeadFile: PublicWebGeneratedFile;
|
|
32
|
+
routeMetaFiles: PublicWebGeneratedFile[];
|
|
33
|
+
routeAliasFiles: PublicWebGeneratedFile[];
|
|
34
|
+
publicHead: JsonValue;
|
|
35
|
+
publicSurface: JsonValue;
|
|
36
|
+
};
|
|
37
|
+
export declare function createPublicWebAppArtifacts(app: WorkspaceApp): PublicWebAppArtifacts;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { JsonValue, PublicRouteMetadata, RouteOwnedI18nPath, WorkspaceApp } from './types';
|
|
2
|
+
export declare const privateAppRoutePublicness: {
|
|
3
|
+
readonly indexable: false;
|
|
4
|
+
readonly public: false;
|
|
5
|
+
readonly publicSurface: 'private-app-screen';
|
|
6
|
+
};
|
|
7
|
+
export declare function createRouteOwnedI18nPaths(app: WorkspaceApp): RouteOwnedI18nPath[];
|
|
8
|
+
export declare function isPublicIndexableRoute(route: RouteOwnedI18nPath): boolean;
|
|
9
|
+
export declare function createLocalisedUrlsMapFromRoutes(routes: RouteOwnedI18nPath[]): Record<string, JsonValue>;
|
|
10
|
+
export declare function createLocalisedUrlsMap(app: WorkspaceApp): Record<string, JsonValue>;
|
|
11
|
+
export declare function createPublicRouteMetadataFromRoutes(routes: RouteOwnedI18nPath[]): PublicRouteMetadata[];
|
|
12
|
+
export declare function createPublicRouteMetadata(app: WorkspaceApp): PublicRouteMetadata[];
|
|
13
|
+
export declare function createJsonLdHelperModule(): string;
|
|
14
|
+
export declare function createRouteMetadataModule(app: WorkspaceApp): string;
|
|
15
|
+
export declare function createRouteMetaModule(route: RouteOwnedI18nPath): string;
|
|
16
|
+
export declare function normalisePublicPath(pathname: string): string;
|
|
17
|
+
export declare function splitPublicPathSegments(pathname: string): string[];
|
|
18
|
+
export declare function routePathParamName(segment: string): string | undefined;
|
|
19
|
+
export declare function isDynamicPublicPathSegment(segment: string): boolean;
|
|
20
|
+
export declare function isConcretePublicPath(pathname: string): boolean;
|
|
21
|
+
export declare function routeSegmentToDirectory(segment: string): string;
|
|
22
|
+
export declare function routePathDirectorySegments(routePath: string): string[];
|
|
23
|
+
export declare function createRoutePageFilePath(app: WorkspaceApp, canonicalPath: string): string;
|
|
24
|
+
export declare function createRouteMetaFilePath(app: WorkspaceApp, canonicalPath: string): string;
|
|
25
|
+
export declare function createRouteAliasPage(canonicalPath: string): string;
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import type { ResolvedUltramodernPackageSource, UltramodernPackageSourceStrategy } from '../ultramodern-package-source';
|
|
2
|
+
export type JsonValue = string | number | boolean | null | JsonValue[] | {
|
|
3
|
+
[key: string]: JsonValue;
|
|
4
|
+
};
|
|
5
|
+
export type JsonObject = {
|
|
6
|
+
[key: string]: JsonValue;
|
|
7
|
+
};
|
|
8
|
+
export type RouteJsonLd = JsonObject | JsonObject[];
|
|
9
|
+
export declare function sortJsonValue(value: JsonValue): JsonValue;
|
|
10
|
+
export type WorkspaceApp = {
|
|
11
|
+
id: string;
|
|
12
|
+
directory: string;
|
|
13
|
+
packageSuffix: string;
|
|
14
|
+
displayName: string;
|
|
15
|
+
kind: 'shell' | 'vertical';
|
|
16
|
+
domain?: string;
|
|
17
|
+
portEnv: string;
|
|
18
|
+
port: number;
|
|
19
|
+
mfName: string;
|
|
20
|
+
exposes?: Record<string, string>;
|
|
21
|
+
effectApi?: WorkspaceEffectApi;
|
|
22
|
+
verticalRefs?: string[];
|
|
23
|
+
ownership: Ownership;
|
|
24
|
+
};
|
|
25
|
+
export type WorkspaceEffectApi = {
|
|
26
|
+
stem: string;
|
|
27
|
+
prefix: string;
|
|
28
|
+
consumedBy: string[];
|
|
29
|
+
};
|
|
30
|
+
export type ResolvedPackageSource = ResolvedUltramodernPackageSource;
|
|
31
|
+
export type Ownership = {
|
|
32
|
+
team: string;
|
|
33
|
+
slack: string;
|
|
34
|
+
pagerDuty: string;
|
|
35
|
+
runbookRef: string;
|
|
36
|
+
adrRef: string;
|
|
37
|
+
blastRadius: {
|
|
38
|
+
tier: string;
|
|
39
|
+
references: string[];
|
|
40
|
+
};
|
|
41
|
+
};
|
|
42
|
+
export declare const supportedWorkspaceLanguages: readonly ['en', 'cs'];
|
|
43
|
+
export type SupportedWorkspaceLanguage = (typeof supportedWorkspaceLanguages)[number];
|
|
44
|
+
export type RoutePublicSurface = 'private-app-screen' | 'generated-public-surface' | 'explicit-public-input';
|
|
45
|
+
export type RouteOwnedI18nPath = {
|
|
46
|
+
id: string;
|
|
47
|
+
canonicalPath: string;
|
|
48
|
+
localisedPaths: Record<SupportedWorkspaceLanguage, string>;
|
|
49
|
+
titleKey: string;
|
|
50
|
+
descriptionKey: string;
|
|
51
|
+
ownerAppId: string;
|
|
52
|
+
mfBoundaryId: string;
|
|
53
|
+
namespace: string;
|
|
54
|
+
public: boolean;
|
|
55
|
+
indexable: boolean;
|
|
56
|
+
publicSurface: RoutePublicSurface;
|
|
57
|
+
jsonLd?: RouteJsonLd;
|
|
58
|
+
};
|
|
59
|
+
export type PublicRouteMetadata = {
|
|
60
|
+
canonicalPath: string;
|
|
61
|
+
id: string;
|
|
62
|
+
localisedPaths: Record<SupportedWorkspaceLanguage, string>;
|
|
63
|
+
namespace: string;
|
|
64
|
+
ownerAppId: string;
|
|
65
|
+
titleKey: string;
|
|
66
|
+
descriptionKey: string;
|
|
67
|
+
jsonLd?: RouteJsonLd;
|
|
68
|
+
};
|
|
69
|
+
export type PublicSitemapChangeFrequency = 'always' | 'hourly' | 'daily' | 'weekly' | 'monthly' | 'yearly' | 'never';
|
|
70
|
+
export type PublicSurfaceSitemapFields = {
|
|
71
|
+
lastModified?: string;
|
|
72
|
+
changeFrequency?: PublicSitemapChangeFrequency;
|
|
73
|
+
priority?: number;
|
|
74
|
+
};
|
|
75
|
+
export type UltramodernWorkspaceOptions = {
|
|
76
|
+
targetDir: string;
|
|
77
|
+
packageName: string;
|
|
78
|
+
modernVersion: string;
|
|
79
|
+
enableTailwind?: boolean;
|
|
80
|
+
packageSource?: {
|
|
81
|
+
strategy?: UltramodernPackageSourceStrategy;
|
|
82
|
+
modernPackageVersion?: string;
|
|
83
|
+
registry?: string;
|
|
84
|
+
aliasScope?: string;
|
|
85
|
+
aliasPackageNamePrefix?: string;
|
|
86
|
+
};
|
|
87
|
+
};
|
|
88
|
+
export type AddUltramodernVerticalOptions = {
|
|
89
|
+
workspaceRoot: string;
|
|
90
|
+
name: string;
|
|
91
|
+
modernVersion: string;
|
|
92
|
+
enableTailwind?: boolean;
|
|
93
|
+
packageSource?: UltramodernWorkspaceOptions['packageSource'];
|
|
94
|
+
};
|
|
95
|
+
export declare function isRecord(value: unknown): value is Record<string, JsonValue>;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Every version pin and skill-repo commit hash baked into generated
|
|
3
|
+
* UltraModern workspaces lives here. Values must stay in lockstep with the
|
|
4
|
+
* checked-in templates under templates/ and template-workspace/.
|
|
5
|
+
*/
|
|
6
|
+
export declare const TANSTACK_ROUTER_VERSION = "1.170.15";
|
|
7
|
+
export declare const MODULE_FEDERATION_VERSION = "2.5.1";
|
|
8
|
+
export declare const ZEPHYR_RSPACK_PLUGIN_VERSION = "1.1.1";
|
|
9
|
+
export declare const ZEPHYR_AGENT_VERSION = "1.1.1";
|
|
10
|
+
export declare const WRANGLER_VERSION = "4.99.0";
|
|
11
|
+
export declare const CLOUDFLARE_COMPATIBILITY_DATE = "2026-06-02";
|
|
12
|
+
export declare const TAILWIND_VERSION = "4.3.0";
|
|
13
|
+
export declare const TAILWIND_POSTCSS_VERSION = "4.3.0";
|
|
14
|
+
export declare const POSTCSS_VERSION = "8.5.15";
|
|
15
|
+
export declare const EFFECT_TSGO_VERSION = "0.14.3";
|
|
16
|
+
export declare const TYPESCRIPT_VERSION = "6.0.3";
|
|
17
|
+
export declare const TYPESCRIPT_NATIVE_PREVIEW_VERSION = "7.0.0-dev.20260610.1";
|
|
18
|
+
export declare const OXLINT_VERSION = "1.69.0";
|
|
19
|
+
export declare const OXFMT_VERSION = "0.54.0";
|
|
20
|
+
export declare const ULTRACITE_VERSION = "7.8.3";
|
|
21
|
+
export declare const LEFTHOOK_VERSION = "^2.1.9";
|
|
22
|
+
export declare const I18NEXT_VERSION = "26.3.1";
|
|
23
|
+
export declare const NODE_FETCH_VERSION = "^3.3.2";
|
|
24
|
+
export declare const REACT_VERSION = "^19.2.7";
|
|
25
|
+
export declare const REACT_DOM_VERSION = "^19.2.7";
|
|
26
|
+
export declare const REACT_ROUTER_DOM_VERSION = "7.17.0";
|
|
27
|
+
export declare const TYPES_REACT_VERSION = "^19.2.17";
|
|
28
|
+
export declare const TYPES_REACT_DOM_VERSION = "^19.2.3";
|
|
29
|
+
export declare const NODE_VERSION = "26.3.0";
|
|
30
|
+
export declare const PNPM_VERSION = "11.5.3";
|
|
31
|
+
export declare const RSTACK_AGENT_SKILLS_COMMIT = "61c948b42512e223bad44b83af4080eba48b2677";
|
|
32
|
+
export declare const MODULE_FEDERATION_AGENT_SKILLS_COMMIT = "07bb5b6c43ad457609e00c081b72d4c42508ec76";
|
|
33
|
+
export declare const ultramodernWorkspaceVersions: {
|
|
34
|
+
tanstackRouter: string;
|
|
35
|
+
moduleFederation: string;
|
|
36
|
+
tailwind: string;
|
|
37
|
+
tailwindPostcss: string;
|
|
38
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { WorkspaceApp } from './types';
|
|
2
|
+
export declare function createAssertMfTypesScript(remotes?: WorkspaceApp[]): string;
|
|
3
|
+
export declare function createWorkspaceValidationScript(scope: string, enableTailwind: boolean, remotes?: WorkspaceApp[]): string;
|
|
4
|
+
export declare function createWorkspaceI18nBoundaryValidationScript(): string;
|
|
5
|
+
export declare function createPublicSurfaceAssetsScript(): string;
|
|
6
|
+
export declare function createCloudflareProofHelperScript(): string;
|
|
7
|
+
export declare function createCloudflareVersionProofScript(): string;
|
|
8
|
+
export declare function createPerformanceReadinessConfigScript(): string;
|
|
9
|
+
export declare function createPerformanceReadinessScript(): string;
|
|
10
|
+
export declare function writeGeneratedWorkspaceScripts(targetDir: string, scope: string, enableTailwind: boolean, remotes?: WorkspaceApp[]): void;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { ResolvedPackageSource, UltramodernWorkspaceOptions, WorkspaceApp } from './types';
|
|
2
|
+
export declare function writeApp(targetDir: string, scope: string, app: WorkspaceApp, packageSource: ResolvedPackageSource, enableTailwind: boolean, remotes?: WorkspaceApp[]): void;
|
|
3
|
+
export declare function writeSharedPackages(targetDir: string, scope: string): void;
|
|
4
|
+
export declare function generateUltramodernWorkspace(options: UltramodernWorkspaceOptions): void;
|
package/package.json
CHANGED
|
@@ -21,27 +21,45 @@
|
|
|
21
21
|
"engines": {
|
|
22
22
|
"node": ">=20"
|
|
23
23
|
},
|
|
24
|
-
"version": "3.2.0-ultramodern.
|
|
24
|
+
"version": "3.2.0-ultramodern.121",
|
|
25
25
|
"types": "./dist/types/index.d.ts",
|
|
26
|
-
"main": "./dist/index.js",
|
|
26
|
+
"main": "./dist/esm-node/index.js",
|
|
27
27
|
"bin": {
|
|
28
|
-
"create": "bin/run.js"
|
|
28
|
+
"create": "bin/run.js",
|
|
29
|
+
"modern-js-create": "bin/run.js"
|
|
30
|
+
},
|
|
31
|
+
"typesVersions": {
|
|
32
|
+
"*": {
|
|
33
|
+
".": [
|
|
34
|
+
"./dist/types/index.d.ts"
|
|
35
|
+
]
|
|
36
|
+
}
|
|
29
37
|
},
|
|
30
38
|
"exports": {
|
|
31
|
-
".":
|
|
39
|
+
".": {
|
|
40
|
+
"types": "./dist/types/index.d.ts",
|
|
41
|
+
"node": {
|
|
42
|
+
"import": "./dist/esm-node/index.js",
|
|
43
|
+
"require": "./dist/cjs/index.cjs"
|
|
44
|
+
},
|
|
45
|
+
"default": "./dist/esm-node/index.js"
|
|
46
|
+
}
|
|
32
47
|
},
|
|
33
48
|
"files": [
|
|
34
|
-
"template",
|
|
35
49
|
"template-workspace",
|
|
50
|
+
"templates",
|
|
36
51
|
"dist",
|
|
37
|
-
"bin
|
|
52
|
+
"bin"
|
|
38
53
|
],
|
|
54
|
+
"dependencies": {
|
|
55
|
+
"@modern-js/i18n-utils": "npm:@bleedingdev/modern-js-i18n-utils@3.2.0-ultramodern.121"
|
|
56
|
+
},
|
|
39
57
|
"devDependencies": {
|
|
40
|
-
"@rslib/core": "0.
|
|
41
|
-
"@types/node": "^25.
|
|
42
|
-
"@typescript/native-preview": "7.0.0-dev.
|
|
43
|
-
"tsx": "^4.22.
|
|
44
|
-
"@
|
|
58
|
+
"@rslib/core": "0.22.0",
|
|
59
|
+
"@types/node": "^25.9.3",
|
|
60
|
+
"@typescript/native-preview": "7.0.0-dev.20260610.1",
|
|
61
|
+
"tsx": "^4.22.4",
|
|
62
|
+
"@scripts/rstest-config": "2.66.0"
|
|
45
63
|
},
|
|
46
64
|
"publishConfig": {
|
|
47
65
|
"registry": "https://registry.npmjs.org/",
|
|
@@ -49,11 +67,12 @@
|
|
|
49
67
|
},
|
|
50
68
|
"modern:source": "./src/index.ts",
|
|
51
69
|
"scripts": {
|
|
52
|
-
"build": "rslib build && pnpm -w tsgo:dts \"$PWD\"",
|
|
53
|
-
"dev": "rslib build -w",
|
|
54
|
-
"start": "node ./dist/index.js"
|
|
70
|
+
"build": "rm -rf dist && rslib build -c rslibconfig.mts && pnpm -w tsgo:dts \"$PWD\"",
|
|
71
|
+
"dev": "rslib build -c rslibconfig.mts -w",
|
|
72
|
+
"start": "node ./dist/esm-node/index.js",
|
|
73
|
+
"test": "rm -rf dist && rslib build -c rslibconfig.mts && rstest --passWithNoTests"
|
|
55
74
|
},
|
|
56
75
|
"ultramodern": {
|
|
57
|
-
"frameworkVersion": "3.2.0-ultramodern.
|
|
76
|
+
"frameworkVersion": "3.2.0-ultramodern.121"
|
|
58
77
|
}
|
|
59
78
|
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"defaultEnabled": true,
|
|
4
|
+
"strategy": "git-subtree-squash",
|
|
5
|
+
"installDir": "repos",
|
|
6
|
+
"repositories": [
|
|
7
|
+
{
|
|
8
|
+
"id": "effect",
|
|
9
|
+
"name": "Effect",
|
|
10
|
+
"url": "https://github.com/Effect-TS/effect.git",
|
|
11
|
+
"ref": "main",
|
|
12
|
+
"path": "repos/effect",
|
|
13
|
+
"readOnly": true
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"id": "ultramodern-js",
|
|
17
|
+
"name": "UltraModern.js",
|
|
18
|
+
"url": "https://github.com/BleedingDev/ultramodern.js.git",
|
|
19
|
+
"ref": "main-ultramodern",
|
|
20
|
+
"path": "repos/ultramodern.js",
|
|
21
|
+
"readOnly": true
|
|
22
|
+
}
|
|
23
|
+
]
|
|
24
|
+
}
|
|
@@ -17,6 +17,20 @@
|
|
|
17
17
|
"licensePath": ".agents/rstackjs-agent-skills-LICENSE",
|
|
18
18
|
"install": "vendored"
|
|
19
19
|
},
|
|
20
|
+
{
|
|
21
|
+
"id": "module-federation-agent-skills",
|
|
22
|
+
"visibility": "public",
|
|
23
|
+
"repository": "https://github.com/module-federation/agent-skills",
|
|
24
|
+
"commit": "07bb5b6c43ad457609e00c081b72d4c42508ec76",
|
|
25
|
+
"install": "clone",
|
|
26
|
+
"baseline": [
|
|
27
|
+
{
|
|
28
|
+
"name": "mf",
|
|
29
|
+
"path": ".agents/skills/mf",
|
|
30
|
+
"reason": "Module Federation docs, config inspection, type checking, shared dependency checks, and observability troubleshooting"
|
|
31
|
+
}
|
|
32
|
+
]
|
|
33
|
+
},
|
|
20
34
|
{
|
|
21
35
|
"id": "techsiocz-private",
|
|
22
36
|
"visibility": "private",
|
|
@@ -81,6 +95,11 @@
|
|
|
81
95
|
"name": "rstest-best-practices",
|
|
82
96
|
"path": ".agents/skills/rstest-best-practices",
|
|
83
97
|
"reason": "Rstest configuration, test writing, mocking, snapshots, coverage, and CI behavior"
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
"name": "mf",
|
|
101
|
+
"path": ".agents/skills/mf",
|
|
102
|
+
"reason": "Module Federation docs, config inspection, type checking, shared dependency checks, and observability troubleshooting"
|
|
84
103
|
}
|
|
85
104
|
],
|
|
86
105
|
"excludedByDefault": [
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"Stop": [
|
|
3
|
+
{
|
|
4
|
+
"command": "pnpm format && pnpm lint:fix && pnpm check",
|
|
5
|
+
"timeout": 600000,
|
|
6
|
+
"statusMessage": "Running UltraModern quality gates"
|
|
7
|
+
}
|
|
8
|
+
],
|
|
9
|
+
"SubagentStop": [
|
|
10
|
+
{
|
|
11
|
+
"command": "pnpm format && pnpm lint:fix && pnpm check",
|
|
12
|
+
"timeout": 600000,
|
|
13
|
+
"statusMessage": "Running UltraModern quality gates"
|
|
14
|
+
}
|
|
15
|
+
]
|
|
16
|
+
}
|