diff --git a/.claude/skills/git-commit b/.claude/skills/git-commit new file mode 100644 index 0000000..354566d --- /dev/null +++ b/.claude/skills/git-commit @@ -0,0 +1,33 @@ +# Git Commit Skill + +Before making any commit, ensure the following steps are completed: + +## 1. Install dependencies + +Dependencies must be installed so that husky and all dev tools are available: + +```bash +npm install --legacy-peer-deps +``` + +## 2. Set up husky git hooks + +The `prepare` script initialises husky (sets `core.hooksPath` to `.husky/_`). +Run it explicitly if hooks are not yet installed: + +```bash +npm run prepare +``` + +You can verify that the hook chain is in place: + +```bash +git config core.hooksPath # should print: .husky/_ +ls .husky/_/pre-commit # the hook entry-point +ls .husky/pre-commit # the actual script that runs +``` + +## 3. Never bypass hooks + +Do **not** use `git commit --no-verify` or `HUSKY=0` to skip hooks. +The pre-commit hook (`npx nx format:write --uncommitted && git update-index --again`) must run on every commit to keep formatting consistent. diff --git a/package-lock.json b/package-lock.json index 4181fc2..bbaae75 100644 --- a/package-lock.json +++ b/package-lock.json @@ -23425,45 +23425,45 @@ }, "packages/adk": { "name": "@abapify/adk", - "version": "0.1.6", + "version": "0.1.10", "dependencies": { - "@abapify/adt-client": "*", - "@abapify/adt-schemas": "*" + "@abapify/adt-client": "^0.1.7", + "@abapify/adt-schemas": "^0.1.7" } }, "packages/adt-atc": { "name": "@abapify/adt-atc", - "version": "0.1.6", + "version": "0.1.10", "dependencies": { - "@abapify/adt-plugin": "*", + "@abapify/adt-plugin": "^0.1.7", "chalk": "^5.3.0" } }, "packages/adt-auth": { "name": "@abapify/adt-auth", - "version": "0.1.6", + "version": "0.1.10", "license": "MIT", "dependencies": { - "@abapify/logger": "*", + "@abapify/logger": "^0.1.7", "proxy-agent": "^6.4.0" } }, "packages/adt-cli": { "name": "@abapify/adt-cli", - "version": "0.1.6", - "dependencies": { - "@abapify/adk": "*", - "@abapify/adt-atc": "*", - "@abapify/adt-auth": "*", - "@abapify/adt-client": "*", - "@abapify/adt-codegen": "*", - "@abapify/adt-config": "*", - "@abapify/adt-contracts": "*", - "@abapify/adt-export": "*", - "@abapify/adt-plugin": "*", - "@abapify/adt-plugin-abapgit": "*", - "@abapify/adt-tui": "*", - "@abapify/logger": "*", + "version": "0.1.10", + "dependencies": { + "@abapify/adk": "^0.1.7", + "@abapify/adt-atc": "^0.1.7", + "@abapify/adt-auth": "^0.1.7", + "@abapify/adt-client": "^0.1.7", + "@abapify/adt-codegen": "^0.1.7", + "@abapify/adt-config": "^0.1.7", + "@abapify/adt-contracts": "^0.1.7", + "@abapify/adt-export": "^0.1.7", + "@abapify/adt-plugin": "^0.1.7", + "@abapify/adt-plugin-abapgit": "^0.1.7", + "@abapify/adt-tui": "^0.1.7", + "@abapify/logger": "^0.1.7", "@inquirer/prompts": "^7.9.0", "chalk": "^5.6.2", "commander": "^12.0.0", @@ -23494,19 +23494,19 @@ }, "packages/adt-client": { "name": "@abapify/adt-client", - "version": "0.1.6", + "version": "0.1.10", "dependencies": { - "@abapify/adt-contracts": "*", - "@abapify/adt-schemas": "*", - "@abapify/logger": "*" + "@abapify/adt-contracts": "^0.1.7", + "@abapify/adt-schemas": "^0.1.7", + "@abapify/logger": "^0.1.7" } }, "packages/adt-codegen": { "name": "@abapify/adt-codegen", - "version": "0.1.6", + "version": "0.1.10", "dependencies": { - "@abapify/adt-config": "*", - "@abapify/adt-plugin": "*", + "@abapify/adt-config": "^0.1.7", + "@abapify/adt-plugin": "^0.1.7", "chalk": "^5.3.0", "commander": "^11.1.0", "fast-xml-parser": "^4.3.2" @@ -23547,39 +23547,39 @@ }, "packages/adt-config": { "name": "@abapify/adt-config", - "version": "0.1.6" + "version": "0.1.10" }, "packages/adt-contracts": { "name": "@abapify/adt-contracts", - "version": "0.1.6", + "version": "0.1.10", "dependencies": { - "@abapify/adt-schemas": "*", - "@abapify/speci": "*" + "@abapify/adt-schemas": "^0.1.7", + "@abapify/speci": "^0.1.7" }, "devDependencies": { - "@abapify/adt-fixtures": "*" + "@abapify/adt-fixtures": "^0.1.7" } }, "packages/adt-export": { "name": "@abapify/adt-export", - "version": "0.1.6", + "version": "0.1.10", "dependencies": { - "@abapify/adk": "*", - "@abapify/adt-plugin": "*", - "@abapify/adt-plugin-abapgit": "*" + "@abapify/adk": "^0.1.7", + "@abapify/adt-plugin": "^0.1.7", + "@abapify/adt-plugin-abapgit": "^0.1.7" } }, "packages/adt-fixtures": { "name": "@abapify/adt-fixtures", - "version": "0.1.6" + "version": "0.1.10" }, "packages/adt-playwright": { "name": "@abapify/adt-playwright", - "version": "0.1.6", + "version": "0.1.10", "dependencies": { - "@abapify/adt-auth": "*", - "@abapify/adt-config": "*", - "@abapify/browser-auth": "*", + "@abapify/adt-auth": "^0.1.7", + "@abapify/adt-config": "^0.1.7", + "@abapify/browser-auth": "^0.1.7", "playwright": "^1.57.0" }, "devDependencies": { @@ -23605,28 +23605,28 @@ }, "packages/adt-plugin": { "name": "@abapify/adt-plugin", - "version": "0.1.6", + "version": "0.1.10", "dependencies": { - "@abapify/adk": "*" + "@abapify/adk": "^0.1.7" } }, "packages/adt-plugin-abapgit": { "name": "@abapify/adt-plugin-abapgit", - "version": "0.1.6", + "version": "0.1.10", "dependencies": { - "@abapify/adk": "*", - "@abapify/adt-atc": "*", - "@abapify/adt-plugin": "*", - "@abapify/ts-xsd": "*" + "@abapify/adk": "^0.1.7", + "@abapify/adt-atc": "^0.1.7", + "@abapify/adt-plugin": "^0.1.7", + "@abapify/ts-xsd": "^0.1.7" } }, "packages/adt-puppeteer": { "name": "@abapify/adt-puppeteer", - "version": "0.1.6", + "version": "0.1.10", "dependencies": { - "@abapify/adt-auth": "*", - "@abapify/adt-config": "*", - "@abapify/browser-auth": "*", + "@abapify/adt-auth": "^0.1.7", + "@abapify/adt-config": "^0.1.7", + "@abapify/browser-auth": "^0.1.7", "puppeteer": "^24.0.0" }, "peerDependencies": { @@ -23635,19 +23635,20 @@ }, "packages/adt-schemas": { "name": "@abapify/adt-schemas", - "version": "0.1.6", + "version": "0.1.10", "dependencies": { - "@abapify/ts-xsd": "*" + "@abapify/ts-xsd": "^0.1.7", + "zod": "^3.24.0 || ^4.0.0" }, "devDependencies": { - "@abapify/adt-fixtures": "*" + "@abapify/adt-fixtures": "^0.1.7" } }, "packages/adt-tui": { "name": "@abapify/adt-tui", - "version": "0.1.6", + "version": "0.1.10", "dependencies": { - "@abapify/adt-contracts": "*", + "@abapify/adt-contracts": "^0.1.7", "fast-xml-parser": "^5.3.1", "ink": "5.1.0", "ink-select-input": "^6.0.0", @@ -23659,12 +23660,12 @@ "@types/react": "18.3.0" }, "peerDependencies": { - "@abapify/adt-client": "*" + "@abapify/adt-client": "^0.1.7" } }, "packages/asjson-parser": { "name": "@abapify/asjson-parser", - "version": "0.1.6", + "version": "0.1.10", "dependencies": { "jsonc-eslint-parser": "^2.1.0" } @@ -23706,9 +23707,9 @@ }, "packages/browser-auth": { "name": "@abapify/browser-auth", - "version": "0.1.6", + "version": "0.1.10", "dependencies": { - "@abapify/adt-config": "*" + "@abapify/adt-config": "^0.1.7" }, "devDependencies": { "@types/node": "^22.10.2" @@ -23733,18 +23734,20 @@ }, "packages/logger": { "name": "@abapify/logger", - "version": "0.1.6", + "version": "0.1.10", "license": "MIT" }, "packages/speci": { "name": "@abapify/speci", - "version": "0.1.6" + "version": "0.1.10" }, "packages/ts-xsd": { "name": "@abapify/ts-xsd", - "version": "0.1.6", + "version": "0.1.10", "dependencies": { - "@xmldom/xmldom": "*" + "@xmldom/xmldom": "*", + "ts-morph": "*", + "zod": "^3.24.0 || ^4.0.0" }, "bin": { "ts-xsd": "dist/codegen/cli.mjs"