fielmann-devkit 1.0.1 → 1.0.2

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 CHANGED
@@ -10,16 +10,17 @@ npx fielmann-devkit
10
10
 
11
11
  The wizard will:
12
12
 
13
- 1. Confirm you are in your project's root directory
14
- 2. Verify you have access to the AI DevKit repository
15
- 3. Add the AI DevKit as a Git submodule (`.ai-devkit/`)
16
- 4. Run the setup script to copy Cursor rules, commands, and MCP configuration into your `.cursor/` directory
13
+ 1. Confirm you are running this in your IDE's integrated terminal
14
+ 2. Confirm you are in your project's root directory
15
+ 3. Verify you have access to the AI DevKit repository
16
+ 4. Add the AI DevKit as a Git submodule (`.ai-devkit/`)
17
+ 5. Run the setup script to copy Cursor rules, skills, and MCP configuration into your `.cursor/` directory
17
18
 
18
19
  ## Prerequisites
19
20
 
20
21
  - **Node.js** >= 18
21
22
  - **Git** installed and available on your PATH
22
- - **GitHub access** to [fielmann-ag/ai-devkit](https://github.com/fielmann-ag/ai-devkit) (request access from adam.zdrzalka@fielmann.com if needed)
23
+ - **GitHub access** to the [Fielmann AG organisation](https://github.com/fielmann-ag/)
23
24
 
24
25
  ## What gets set up
25
26
 
package/dist/src/index.js CHANGED
@@ -1,13 +1,26 @@
1
1
  import chalk from "chalk";
2
+ import { addSubmodule } from "./steps/addSubmodule.js";
3
+ import { checkExistingDevkit } from "./steps/checkExistingDevkit.js";
2
4
  import { checkIdeTerminal } from "./steps/checkIdeTerminal.js";
3
5
  import { checkProjectRoot } from "./steps/checkProjectRoot.js";
4
6
  import { checkRepoAccess } from "./steps/checkRepoAccess.js";
5
- import { addSubmodule } from "./steps/addSubmodule.js";
6
7
  import { runSetup } from "./steps/runSetup.js";
8
+ import { runUpdate } from "./steps/runUpdate.js";
7
9
  export async function runWizard() {
8
10
  console.log(chalk.bold.blue("\n Fielmann AI DevKit Setup\n"));
9
11
  await checkIdeTerminal();
10
12
  await checkProjectRoot();
13
+ const action = await checkExistingDevkit();
14
+ if (action === "exit") {
15
+ console.log(chalk.blue("\nNo changes made. Goodbye!\n"));
16
+ return;
17
+ }
18
+ if (action === "update") {
19
+ await runUpdate();
20
+ console.log(chalk.bold.green("\nAll done! The AI DevKit has been updated."));
21
+ console.log(chalk.blue("Your Cursor rules, commands, and MCP config are up to date.\n"));
22
+ return;
23
+ }
11
24
  await checkRepoAccess();
12
25
  await addSubmodule();
13
26
  await runSetup();
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAE/C,MAAM,CAAC,KAAK,UAAU,SAAS;IAC7B,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAClD,CAAC;IAEF,MAAM,gBAAgB,EAAE,CAAC;IACzB,MAAM,gBAAgB,EAAE,CAAC;IACzB,MAAM,eAAe,EAAE,CAAC;IACxB,MAAM,YAAY,EAAE,CAAC;IACrB,MAAM,QAAQ,EAAE,CAAC;IAEjB,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CAAC,KAAK,CACd,sDAAsD,CACvD,CACF,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC,CAAC;AACtF,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD,MAAM,CAAC,KAAK,UAAU,SAAS;IAC7B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC,CAAC;IAE/D,MAAM,gBAAgB,EAAE,CAAC;IACzB,MAAM,gBAAgB,EAAE,CAAC;IAEzB,MAAM,MAAM,GAAG,MAAM,mBAAmB,EAAE,CAAC;IAE3C,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC,CAAC;QACzD,OAAO;IACT,CAAC;IAED,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,MAAM,SAAS,EAAE,CAAC;QAElB,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAChE,CAAC;QACF,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CACR,+DAA+D,CAChE,CACF,CAAC;QACF,OAAO;IACT,CAAC;IAED,MAAM,eAAe,EAAE,CAAC;IACxB,MAAM,YAAY,EAAE,CAAC;IACrB,MAAM,QAAQ,EAAE,CAAC;IAEjB,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,sDAAsD,CAAC,CACzE,CAAC;IACF,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CAAC,0DAA0D,CAAC,CACvE,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"addSubmodule.js","sourceRoot":"","sources":["../../../src/steps/addSubmodule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAC9B,OAAO,GAAG,MAAM,KAAK,CAAC;AAEtB,MAAM,QAAQ,GAAG,8CAA8C,CAAC;AAChE,MAAM,aAAa,GAAG,YAAY,CAAC;AAEnC,MAAM,CAAC,KAAK,UAAU,YAAY;IACjC,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAC/B,OAAO,CAAC,GAAG,CACV,KAAK,CAAC,IAAI,CACT,KAAK,aAAa,4CAA4C,CAC9D,CACD,CAAC;QACF,OAAO;IACR,CAAC;IAED,MAAM,OAAO,GAAG,GAAG,CAAC,sCAAsC,CAAC,CAAC,KAAK,EAAE,CAAC;IAEpE,IAAI,CAAC;QACJ,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC;QAClE,OAAO,CAAC,OAAO,CAAC,yCAAyC,CAAC,CAAC;IAC5D,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACvB,OAAO,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;QAEvD,MAAM,KAAK,GAAG,GAA4C,CAAC;QAE3D,IAAI,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC;YACpD,OAAO,CAAC,GAAG,CACV,KAAK,CAAC,GAAG,CACR,sEAAsE,CACtE,CACD,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;QACzC,CAAC;aAAM,IACN,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,uBAAuB,CAAC;YAC/C,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,yBAAyB,CAAC,EAChD,CAAC;YACF,OAAO,CAAC,GAAG,CACV,KAAK,CAAC,GAAG,CACR,yEAAyE,CACzE,CACD,CAAC;YACF,OAAO,CAAC,GAAG,CACV,KAAK,CAAC,GAAG,CACR,2EAA2E,CAC3E,CACD,CAAC;QACH,CAAC;aAAM,CAAC;YACP,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;QAChE,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"addSubmodule.js","sourceRoot":"","sources":["../../../src/steps/addSubmodule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAC9B,OAAO,GAAG,MAAM,KAAK,CAAC;AAEtB,MAAM,QAAQ,GAAG,8CAA8C,CAAC;AAChE,MAAM,aAAa,GAAG,YAAY,CAAC;AAEnC,MAAM,CAAC,KAAK,UAAU,YAAY;IAChC,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAC9B,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CACR,KAAK,aAAa,4CAA4C,CAC/D,CACF,CAAC;QACF,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,GAAG,CAAC,sCAAsC,CAAC,CAAC,KAAK,EAAE,CAAC;IAEpE,IAAI,CAAC;QACH,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC;QAClE,OAAO,CAAC,OAAO,CAAC,yCAAyC,CAAC,CAAC;IAC7D,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,OAAO,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;QAEvD,MAAM,KAAK,GAAG,GAA4C,CAAC;QAE3D,IAAI,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC;YACnD,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,GAAG,CACP,sEAAsE,CACvE,CACF,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;QAC1C,CAAC;aAAM,IACL,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,uBAAuB,CAAC;YAC/C,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,yBAAyB,CAAC,EACjD,CAAC;YACD,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,GAAG,CACP,yEAAyE,CAC1E,CACF,CAAC;YACF,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,GAAG,CACP,2EAA2E,CAC5E,CACF,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;QACjE,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
@@ -0,0 +1,2 @@
1
+ export type WizardAction = "update" | "setup" | "exit";
2
+ export declare function checkExistingDevkit(): Promise<WizardAction>;
@@ -0,0 +1,16 @@
1
+ import { existsSync } from "node:fs";
2
+ import { confirm } from "@inquirer/prompts";
3
+ import chalk from "chalk";
4
+ const SUBMODULE_DIR = ".ai-devkit";
5
+ export async function checkExistingDevkit() {
6
+ if (!existsSync(SUBMODULE_DIR)) {
7
+ return "setup";
8
+ }
9
+ console.log(chalk.blue(`\nDetected existing ${SUBMODULE_DIR}/ directory.\n`));
10
+ const shouldUpdate = await confirm({
11
+ message: "AI DevKit is already installed. Would you like to update it?",
12
+ default: true,
13
+ });
14
+ return shouldUpdate ? "update" : "exit";
15
+ }
16
+ //# sourceMappingURL=checkExistingDevkit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkExistingDevkit.js","sourceRoot":"","sources":["../../../src/steps/checkExistingDevkit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,MAAM,aAAa,GAAG,YAAY,CAAC;AAEnC,MAAM,CAAC,KAAK,UAAU,mBAAmB;IACvC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAC/B,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,uBAAuB,aAAa,gBAAgB,CAAC,CAAC,CAAC;IAE9E,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC;QACjC,OAAO,EAAE,8DAA8D;QACvE,OAAO,EAAE,IAAI;KACd,CAAC,CAAC;IAEH,OAAO,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;AAC1C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"checkIdeTerminal.js","sourceRoot":"","sources":["../../../src/steps/checkIdeTerminal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACrC,OAAO,CAAC,GAAG,CACV,KAAK,CAAC,MAAM,CACX,4EAA4E,CAC5E,CACD,CAAC;IACF,OAAO,CAAC,GAAG,CACV,KAAK,CAAC,MAAM,CACX,kFAAkF,CAClF,CACD,CAAC;IAEF,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC;QACnC,OAAO,EAAE,yDAAyD;QAClE,OAAO,EAAE,IAAI;KACb,CAAC,CAAC;IAEH,IAAI,CAAC,aAAa,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,CACV,KAAK,CAAC,MAAM,CACX,0EAA0E,CAC1E,CACD,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC;QACnD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"checkIdeTerminal.js","sourceRoot":"","sources":["../../../src/steps/checkIdeTerminal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,MAAM,CACV,4EAA4E,CAC7E,CACF,CAAC;IACF,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,MAAM,CACV,kFAAkF,CACnF,CACF,CAAC;IAEF,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC;QAClC,OAAO,EAAE,yDAAyD;QAClE,OAAO,EAAE,IAAI;KACd,CAAC,CAAC;IAEH,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,MAAM,CACV,0EAA0E,CAC3E,CACF,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC;QACnD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"checkRepoAccess.js","sourceRoot":"","sources":["../../../src/steps/checkRepoAccess.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,QAAQ,GAAG,0CAA0C,CAAC;AAE5D,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC;QAC9B,OAAO,EAAE,8CAA8C,QAAQ,GAAG;QAClE,OAAO,EAAE,IAAI;KACd,CAAC,CAAC;IAEH,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,MAAM,CAAC,4DAA4D,CAAC,CAC3E,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,+BAA+B,CAAC,CAAC,CAAC;QAC3D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC,CAAC;QAC1E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"checkRepoAccess.js","sourceRoot":"","sources":["../../../src/steps/checkRepoAccess.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,QAAQ,GAAG,0CAA0C,CAAC;AAE5D,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC;QAC9B,OAAO,EAAE,8CAA8C,QAAQ,GAAG;QAClE,OAAO,EAAE,IAAI;KACd,CAAC,CAAC;IAEH,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,MAAM,CACV,4DAA4D,CAC7D,CACF,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,+BAA+B,CAAC,CAAC,CAAC;QAC3D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC,CAAC;QAC1E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"runSetup.js","sourceRoot":"","sources":["../../../src/steps/runSetup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAE9B,MAAM,aAAa,GAAG,YAAY,CAAC;AACnC,MAAM,YAAY,GAAG,oBAAoB,CAAC;AAE1C,MAAM,CAAC,KAAK,UAAU,QAAQ;IAC5B,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;IAErD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,GAAG,CAAC,+BAA+B,UAAU,GAAG,CAAC,CACxD,CAAC;QACF,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,MAAM,CACV,wEAAwE,CACzE,CACF,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAE/B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC,CAAC;IAE/D,IAAI,CAAC;QACH,MAAM,KAAK,CAAC,KAAK,YAAY,EAAE,EAAE;YAC/B,GAAG,EAAE,aAAa;YAClB,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,SAAS;SAClB,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,GAAG,CAAC,yDAAyD,CAAC,CACrE,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,aAAa,SAAS,YAAY,IAAI,CAAC,CAAC,CAAC;QACxE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"runSetup.js","sourceRoot":"","sources":["../../../src/steps/runSetup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAE9B,MAAM,aAAa,GAAG,YAAY,CAAC;AACnC,MAAM,YAAY,GAAG,oBAAoB,CAAC;AAE1C,MAAM,CAAC,KAAK,UAAU,QAAQ;IAC5B,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;IAErD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,+BAA+B,UAAU,GAAG,CAAC,CAAC,CAAC;QACrE,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,MAAM,CACV,wEAAwE,CACzE,CACF,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAE/B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC,CAAC;IAE/D,IAAI,CAAC;QACH,MAAM,KAAK,CAAC,KAAK,YAAY,EAAE,EAAE;YAC/B,GAAG,EAAE,aAAa;YAClB,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,SAAS;SAClB,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,GAAG,CAAC,yDAAyD,CAAC,CACrE,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,aAAa,SAAS,YAAY,IAAI,CAAC,CAAC,CAAC;QACxE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
@@ -0,0 +1 @@
1
+ export declare function runUpdate(): Promise<void>;
@@ -0,0 +1,42 @@
1
+ import { existsSync } from "node:fs";
2
+ import { chmod } from "node:fs/promises";
3
+ import { join } from "node:path";
4
+ import chalk from "chalk";
5
+ import { execa } from "execa";
6
+ import ora from "ora";
7
+ const SUBMODULE_DIR = ".ai-devkit";
8
+ const UPDATE_SCRIPT = "ai-devkit-update.sh";
9
+ export async function runUpdate() {
10
+ const spinner = ora("Pulling latest AI DevKit submodule…").start();
11
+ try {
12
+ await execa("git", ["submodule", "update", "--remote", SUBMODULE_DIR]);
13
+ spinner.succeed("AI DevKit submodule updated to latest.");
14
+ }
15
+ catch (err) {
16
+ spinner.fail("Failed to update the AI DevKit submodule.");
17
+ const error = err;
18
+ console.log(chalk.red(`\n${error.stderr || error.message}\n`));
19
+ process.exit(1);
20
+ }
21
+ const scriptPath = join(SUBMODULE_DIR, UPDATE_SCRIPT);
22
+ if (!existsSync(scriptPath)) {
23
+ console.log(chalk.red(`\nUpdate script not found at ${scriptPath}.`));
24
+ console.log(chalk.yellow("The submodule was updated, but the update script is missing.\n"));
25
+ process.exit(1);
26
+ }
27
+ await chmod(scriptPath, 0o755);
28
+ console.log(chalk.blue("\nRunning AI DevKit update script…\n"));
29
+ try {
30
+ await execa(`./${UPDATE_SCRIPT}`, {
31
+ cwd: SUBMODULE_DIR,
32
+ stdout: "inherit",
33
+ stderr: "inherit",
34
+ });
35
+ }
36
+ catch {
37
+ console.log(chalk.red("\nThe update script failed. You can retry manually with:"));
38
+ console.log(chalk.cyan(` cd ${SUBMODULE_DIR} && ./${UPDATE_SCRIPT}\n`));
39
+ process.exit(1);
40
+ }
41
+ }
42
+ //# sourceMappingURL=runUpdate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runUpdate.js","sourceRoot":"","sources":["../../../src/steps/runUpdate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAC9B,OAAO,GAAG,MAAM,KAAK,CAAC;AAEtB,MAAM,aAAa,GAAG,YAAY,CAAC;AACnC,MAAM,aAAa,GAAG,qBAAqB,CAAC;AAE5C,MAAM,CAAC,KAAK,UAAU,SAAS;IAC7B,MAAM,OAAO,GAAG,GAAG,CAAC,qCAAqC,CAAC,CAAC,KAAK,EAAE,CAAC;IAEnE,IAAI,CAAC;QACH,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC;QACvE,OAAO,CAAC,OAAO,CAAC,wCAAwC,CAAC,CAAC;IAC5D,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,OAAO,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;QAE1D,MAAM,KAAK,GAAG,GAA4C,CAAC;QAC3D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;QAC/D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;IAEtD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,gCAAgC,UAAU,GAAG,CAAC,CAAC,CAAC;QACtE,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,MAAM,CACV,gEAAgE,CACjE,CACF,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAE/B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC,CAAC;IAEhE,IAAI,CAAC;QACH,MAAM,KAAK,CAAC,KAAK,aAAa,EAAE,EAAE;YAChC,GAAG,EAAE,aAAa;YAClB,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,SAAS;SAClB,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,GAAG,CAAC,0DAA0D,CAAC,CACtE,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,aAAa,SAAS,aAAa,IAAI,CAAC,CAAC,CAAC;QACzE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fielmann-devkit",
3
- "version": "1.0.1",
3
+ "version": "1.0.2",
4
4
  "description": "CLI to set up the Fielmann AI DevKit in your project",
5
5
  "bin": {
6
6
  "fielmann-devkit": "./dist/bin/cli.js"
@@ -11,7 +11,9 @@
11
11
  },
12
12
  "scripts": {
13
13
  "build": "tsc",
14
- "prepublishOnly": "npm run build"
14
+ "prepublishOnly": "npm run build",
15
+ "prepare": "husky",
16
+ "format": "prettier --write ."
15
17
  },
16
18
  "files": [
17
19
  "dist"
@@ -36,8 +38,14 @@
36
38
  "execa": "^9.5.2",
37
39
  "ora": "^8.2.0"
38
40
  },
41
+ "lint-staged": {
42
+ "*": "prettier --write --ignore-unknown"
43
+ },
39
44
  "devDependencies": {
40
45
  "@types/node": "^25.3.1",
46
+ "husky": "^9.1.7",
47
+ "lint-staged": "^16.2.7",
48
+ "prettier": "^3.8.1",
41
49
  "typescript": "^5.9.3"
42
50
  }
43
51
  }