@slicemedia/create-devkit 0.1.0 → 0.2.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/README.md +8 -1
- package/dist/bin.d.ts +1 -0
- package/dist/bin.d.ts.map +1 -1
- package/dist/bin.js +10 -3
- package/dist/scaffold.d.ts.map +1 -1
- package/dist/scaffold.js +4 -2
- package/dist/versions.generated.d.ts +3 -3
- package/dist/versions.generated.js +3 -3
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -13,7 +13,8 @@ yarn dlx @slicemedia/create-devkit@next my-webflow-project
|
|
|
13
13
|
Without a directory argument, the wizard proposes `webflow-project`. A literal `.` selects the
|
|
14
14
|
current directory, which must be empty. The wizard asks for the npm name, package manager (pnpm,
|
|
15
15
|
npm, or Yarn), optional capabilities, agent instruction targets, dependency installation, and final
|
|
16
|
-
confirmation.
|
|
16
|
+
confirmation. Use Space to select or clear items in the multi-select lists, then press Enter to
|
|
17
|
+
continue. It never overwrites a non-empty directory. Capabilities are opt-in and generate typed
|
|
17
18
|
integration modules that remain disconnected from the project entry until the project chooses to
|
|
18
19
|
compose them.
|
|
19
20
|
|
|
@@ -21,6 +22,12 @@ Agent targets add the independent `@slicemedia/agent-kit` package and a determin
|
|
|
21
22
|
`agents:generate` script. Run it through the selected package manager after installation to create
|
|
22
23
|
only the selected platform files; DevKit does not bundle the Agent Kit source.
|
|
23
24
|
|
|
25
|
+
The **Webflow Agent Instructions** target does not install another AI service or MCP server. It
|
|
26
|
+
generates an importable Markdown ZIP and integrity manifest under `.slicemedia/agent-kit/`. After
|
|
27
|
+
review, the ZIP can be imported into the intended Webflow site's Instructions panel so Webflow AI
|
|
28
|
+
and external agents connected through the official Webflow MCP server can use the site-stored rules
|
|
29
|
+
and skills.
|
|
30
|
+
|
|
24
31
|
The package also exports the deterministic `scaffoldProject()` API with schema-v2 options and
|
|
25
32
|
receipts for programmatic consumers, including the chosen package manager. DevKit source is MIT
|
|
26
33
|
licensed; generated client projects remain project-owned and receive no automatic license.
|
package/dist/bin.d.ts
CHANGED
|
@@ -15,6 +15,7 @@ export type CommandSpawner = (command: string, args: string[], options: {
|
|
|
15
15
|
stdio: "inherit";
|
|
16
16
|
}) => SpawnedCommand;
|
|
17
17
|
export declare function parseCliArgs(argv: readonly string[]): ParsedCliArgs;
|
|
18
|
+
export declare function multiSelectPromptMessage(label: string): string;
|
|
18
19
|
export declare function installProjectDependencies(packageManager: PackageManager, targetDirectory: string, spawnCommand?: CommandSpawner): Promise<void>;
|
|
19
20
|
export declare function followUpCommands(packageManager: PackageManager, options: {
|
|
20
21
|
readonly includeInstall: boolean;
|
package/dist/bin.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bin.d.ts","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":";AAMA,OAAO,EAML,KAAK,cAAc,EAEpB,MAAM,eAAe,CAAC;AAEvB,eAAO,MAAM,KAAK,mUAOoB,CAAC;AAEvC,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;CACnC;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAAC;IAC7D,IAAI,CACF,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,KAAK,IAAI,GACrE,IAAI,CAAC;CACT;AAED,MAAM,MAAM,cAAc,GAAG,CAC3B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,EAAE;IACP,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,KAAK,CAAC;IACb,KAAK,EAAE,SAAS,CAAC;CAClB,KACE,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"bin.d.ts","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":";AAMA,OAAO,EAML,KAAK,cAAc,EAEpB,MAAM,eAAe,CAAC;AAEvB,eAAO,MAAM,KAAK,mUAOoB,CAAC;AAEvC,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;CACnC;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAAC;IAC7D,IAAI,CACF,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,KAAK,IAAI,GACrE,IAAI,CAAC;CACT;AAED,MAAM,MAAM,cAAc,GAAG,CAC3B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,EAAE;IACP,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,KAAK,CAAC;IACb,KAAK,EAAE,SAAS,CAAC;CAClB,KACE,cAAc,CAAC;AAgDpB,wBAAgB,YAAY,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,aAAa,CA8BnE;AAYD,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE9D;AAUD,wBAAsB,0BAA0B,CAC9C,cAAc,EAAE,cAAc,EAC9B,eAAe,EAAE,MAAM,EACvB,YAAY,GAAE,cAAoC,GACjD,OAAO,CAAC,IAAI,CAAC,CAiBf;AAED,wBAAgB,gBAAgB,CAC9B,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE;IAAE,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,sBAAsB,EAAE,OAAO,CAAA;CAAE,GACtF,MAAM,EAAE,CAOV;AAED,wBAAgB,qBAAqB,CACnC,cAAc,EAAE,cAAc,EAC9B,eAAe,EAAE,MAAM,EACvB,KAAK,EAAE,OAAO,GACb,MAAM,CAGR;AAED,wBAAsB,SAAS,CAAC,kBAAkB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAwG1E;AAED,wBAAsB,MAAM,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAOnE"}
|
package/dist/bin.js
CHANGED
|
@@ -23,7 +23,10 @@ const agentTargetLabels = {
|
|
|
23
23
|
claude: "Claude",
|
|
24
24
|
cursor: "Cursor",
|
|
25
25
|
copilot: "GitHub Copilot",
|
|
26
|
-
webflow: "Webflow
|
|
26
|
+
webflow: "Webflow Agent Instructions",
|
|
27
|
+
};
|
|
28
|
+
const agentTargetHints = {
|
|
29
|
+
webflow: "Importable Markdown ZIP stored with the Webflow site",
|
|
27
30
|
};
|
|
28
31
|
const packageManagerLabels = {
|
|
29
32
|
pnpm: "pnpm",
|
|
@@ -84,6 +87,9 @@ function npmProjectName(value) {
|
|
|
84
87
|
function selectedLabel(values) {
|
|
85
88
|
return values.length === 0 ? "none" : values.join(", ");
|
|
86
89
|
}
|
|
90
|
+
export function multiSelectPromptMessage(label) {
|
|
91
|
+
return `${label} (use Space to select one or more; press Enter to continue)`;
|
|
92
|
+
}
|
|
87
93
|
function defaultSpawnCommand(command, args, options) {
|
|
88
94
|
return spawn(command, args, options);
|
|
89
95
|
}
|
|
@@ -136,7 +142,7 @@ export async function runWizard(cliTargetDirectory) {
|
|
|
136
142
|
const { capabilities } = await Enquirer.prompt({
|
|
137
143
|
type: "multiselect",
|
|
138
144
|
name: "capabilities",
|
|
139
|
-
message: "Optional capabilities",
|
|
145
|
+
message: multiSelectPromptMessage("Optional capabilities"),
|
|
140
146
|
choices: PROJECT_CAPABILITIES.map((capability) => ({
|
|
141
147
|
name: capability,
|
|
142
148
|
message: capabilityLabels[capability],
|
|
@@ -145,10 +151,11 @@ export async function runWizard(cliTargetDirectory) {
|
|
|
145
151
|
const { agentTargets } = await Enquirer.prompt({
|
|
146
152
|
type: "multiselect",
|
|
147
153
|
name: "agentTargets",
|
|
148
|
-
message: "Agent instruction targets",
|
|
154
|
+
message: multiSelectPromptMessage("Agent instruction targets"),
|
|
149
155
|
choices: AGENT_TARGETS.map((target) => ({
|
|
150
156
|
name: target,
|
|
151
157
|
message: agentTargetLabels[target],
|
|
158
|
+
...(agentTargetHints[target] === undefined ? {} : { hint: agentTargetHints[target] }),
|
|
152
159
|
})),
|
|
153
160
|
});
|
|
154
161
|
const { packageManager } = await Enquirer.prompt({
|
package/dist/scaffold.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scaffold.d.ts","sourceRoot":"","sources":["../src/scaffold.ts"],"names":[],"mappings":"AAmBA,eAAO,MAAM,oBAAoB,sEAKvB,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEtE,eAAO,MAAM,aAAa,8DAA+D,CAAC;AAE1F,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AAEzD,eAAO,MAAM,gBAAgB,kCAAmC,CAAC;AAEjE,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE/D,MAAM,WAAW,eAAe;IAC9B,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,cAAc,CAAC;IAC/B,YAAY,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAC3C,YAAY,EAAE,SAAS,WAAW,EAAE,CAAC;IACrC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC9B,aAAa,EAAE,CAAC,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,cAAc,CAAC;IAC/B,YAAY,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAC3C,YAAY,EAAE,SAAS,WAAW,EAAE,CAAC;IACrC,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC/C,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAClD,gBAAgB,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;CACjC;
|
|
1
|
+
{"version":3,"file":"scaffold.d.ts","sourceRoot":"","sources":["../src/scaffold.ts"],"names":[],"mappings":"AAmBA,eAAO,MAAM,oBAAoB,sEAKvB,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEtE,eAAO,MAAM,aAAa,8DAA+D,CAAC;AAE1F,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AAEzD,eAAO,MAAM,gBAAgB,kCAAmC,CAAC;AAEjE,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE/D,MAAM,WAAW,eAAe;IAC9B,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,cAAc,CAAC;IAC/B,YAAY,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAC3C,YAAY,EAAE,SAAS,WAAW,EAAE,CAAC;IACrC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC9B,aAAa,EAAE,CAAC,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,cAAc,CAAC;IAC/B,YAAY,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAC3C,YAAY,EAAE,SAAS,WAAW,EAAE,CAAC;IACrC,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC/C,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAClD,gBAAgB,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;CACjC;AAocD,wBAAsB,eAAe,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC,CAyDxF"}
|
package/dist/scaffold.js
CHANGED
|
@@ -117,6 +117,7 @@ export function createProjectTooltips(
|
|
|
117
117
|
"DIGITALOCEAN_SPACES_ACCESS_KEY_ID",
|
|
118
118
|
"DIGITALOCEAN_SPACES_SECRET_ACCESS_KEY",
|
|
119
119
|
"DIGITALOCEAN_SPACES_SESSION_TOKEN",
|
|
120
|
+
"DIGITALOCEAN_TOKEN",
|
|
120
121
|
],
|
|
121
122
|
integrationFile: "src/integrations/spaces-deployment.ts",
|
|
122
123
|
renderIntegration: () => `import {
|
|
@@ -133,13 +134,14 @@ export interface ProjectSpacesPlanConfig {
|
|
|
133
134
|
bucket: string;
|
|
134
135
|
prefix: string;
|
|
135
136
|
releaseVersion: string;
|
|
137
|
+
cdnEndpointId: string;
|
|
136
138
|
}
|
|
137
139
|
|
|
138
|
-
/**
|
|
140
|
+
/** Stable URLs with scoped CDN invalidation; all account and project values are explicit. */
|
|
139
141
|
export function createProjectDeploymentPlan(
|
|
140
142
|
config: ProjectSpacesPlanConfig,
|
|
141
143
|
): Promise<SpacesDeploymentPlan> {
|
|
142
|
-
return createDeploymentPlan(config);
|
|
144
|
+
return createDeploymentPlan({ ...config, mode: "stable" });
|
|
143
145
|
}
|
|
144
146
|
|
|
145
147
|
export { applyDeploymentPlan };
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/** Generated by scripts/sync-versions.mjs. Do not edit by hand. */
|
|
2
|
-
export declare const DEVKIT_PACKAGE_VERSION = "0.
|
|
3
|
-
export declare const DEFAULT_DEVKIT_VERSION_RANGE = "^0.
|
|
2
|
+
export declare const DEVKIT_PACKAGE_VERSION = "0.2.0";
|
|
3
|
+
export declare const DEFAULT_DEVKIT_VERSION_RANGE = "^0.2.0";
|
|
4
4
|
export declare const EXTERNAL_PRODUCT_VERSION_RANGES: {
|
|
5
5
|
readonly agentKit: "^0.1.0";
|
|
6
6
|
readonly swiperAdapter: "^0.1.0";
|
|
7
|
-
readonly spacesDeployer: "^0.
|
|
7
|
+
readonly spacesDeployer: "^0.2.0";
|
|
8
8
|
};
|
|
9
9
|
//# sourceMappingURL=versions.generated.d.ts.map
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/** Generated by scripts/sync-versions.mjs. Do not edit by hand. */
|
|
2
|
-
export const DEVKIT_PACKAGE_VERSION = "0.
|
|
3
|
-
export const DEFAULT_DEVKIT_VERSION_RANGE = "^0.
|
|
2
|
+
export const DEVKIT_PACKAGE_VERSION = "0.2.0";
|
|
3
|
+
export const DEFAULT_DEVKIT_VERSION_RANGE = "^0.2.0";
|
|
4
4
|
export const EXTERNAL_PRODUCT_VERSION_RANGES = {
|
|
5
5
|
agentKit: "^0.1.0",
|
|
6
6
|
swiperAdapter: "^0.1.0",
|
|
7
|
-
spacesDeployer: "^0.
|
|
7
|
+
spacesDeployer: "^0.2.0",
|
|
8
8
|
};
|