From 877fcb094e4c4ba7a4efc4132d45ce38706c7132 Mon Sep 17 00:00:00 2001 From: Kacper Date: Mon, 22 Dec 2025 12:06:08 +0100 Subject: [PATCH 1/2] =?UTF-8?q?=F0=9F=A7=91=E2=80=8D=F0=9F=92=BB=20chore:?= =?UTF-8?q?=20integrate=20build:packages=20into=20development=20workflow?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add build:packages to prepare hook for automatic builds after npm install - Prefix all dev:* scripts with build:packages to ensure packages are built before development - Prefix all build:* scripts with build:packages to ensure packages are built before production builds This ensures developers never encounter "module not found" errors from unbuilt packages in libs/ directory. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 --- package.json | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/package.json b/package.json index bf80c93c..c9541ee9 100644 --- a/package.json +++ b/package.json @@ -10,24 +10,24 @@ "postinstall": "node -e \"const fs=require('fs');if(process.platform==='darwin'){['darwin-arm64','darwin-x64'].forEach(a=>{const p='node_modules/node-pty/prebuilds/'+a+'/spawn-helper';if(fs.existsSync(p))fs.chmodSync(p,0o755)})}\" && node scripts/fix-lockfile-urls.mjs", "fix:lockfile": "node scripts/fix-lockfile-urls.mjs", "dev": "node init.mjs", - "dev:web": "npm run dev:web --workspace=apps/ui", - "dev:electron": "npm run dev:electron --workspace=apps/ui", - "dev:electron:debug": "npm run dev:electron:debug --workspace=apps/ui", - "dev:electron:wsl": "npm run dev:electron:wsl --workspace=apps/ui", - "dev:electron:wsl:gpu": "npm run dev:electron:wsl:gpu --workspace=apps/ui", - "dev:server": "npm run dev --workspace=apps/server", - "dev:full": "concurrently \"npm run dev:server\" \"npm run dev:web\"", - "build": "npm run build --workspace=apps/ui", + "dev:web": "npm run build:packages && npm run dev:web --workspace=apps/ui", + "dev:electron": "npm run build:packages && npm run dev:electron --workspace=apps/ui", + "dev:electron:debug": "npm run build:packages && npm run dev:electron:debug --workspace=apps/ui", + "dev:electron:wsl": "npm run build:packages && npm run dev:electron:wsl --workspace=apps/ui", + "dev:electron:wsl:gpu": "npm run build:packages && npm run dev:electron:wsl:gpu --workspace=apps/ui", + "dev:server": "npm run build:packages && npm run dev --workspace=apps/server", + "dev:full": "npm run build:packages && concurrently \"npm run dev:server\" \"npm run dev:web\"", + "build": "npm run build:packages && npm run build --workspace=apps/ui", "build:packages": "npm run build -w @automaker/types && npm run build -w @automaker/platform && npm run build -w @automaker/utils && npm run build -w @automaker/prompts -w @automaker/model-resolver -w @automaker/dependency-resolver && npm run build -w @automaker/git-utils", - "build:server": "npm run build --workspace=apps/server", - "build:electron": "npm run build:electron --workspace=apps/ui", - "build:electron:dir": "npm run build:electron:dir --workspace=apps/ui", - "build:electron:win": "npm run build:electron:win --workspace=apps/ui", - "build:electron:win:dir": "npm run build:electron:win:dir --workspace=apps/ui", - "build:electron:mac": "npm run build:electron:mac --workspace=apps/ui", - "build:electron:mac:dir": "npm run build:electron:mac:dir --workspace=apps/ui", - "build:electron:linux": "npm run build:electron:linux --workspace=apps/ui", - "build:electron:linux:dir": "npm run build:electron:linux:dir --workspace=apps/ui", + "build:server": "npm run build:packages && npm run build --workspace=apps/server", + "build:electron": "npm run build:packages && npm run build:electron --workspace=apps/ui", + "build:electron:dir": "npm run build:packages && npm run build:electron:dir --workspace=apps/ui", + "build:electron:win": "npm run build:packages && npm run build:electron:win --workspace=apps/ui", + "build:electron:win:dir": "npm run build:packages && npm run build:electron:win:dir --workspace=apps/ui", + "build:electron:mac": "npm run build:packages && npm run build:electron:mac --workspace=apps/ui", + "build:electron:mac:dir": "npm run build:packages && npm run build:electron:mac:dir --workspace=apps/ui", + "build:electron:linux": "npm run build:packages && npm run build:electron:linux --workspace=apps/ui", + "build:electron:linux:dir": "npm run build:packages && npm run build:electron:linux:dir --workspace=apps/ui", "lint": "npm run lint --workspace=apps/ui", "test": "npm run test --workspace=apps/ui", "test:headed": "npm run test:headed --workspace=apps/ui", @@ -38,7 +38,7 @@ "lint:lockfile": "! grep -q 'git+ssh://' package-lock.json || (echo 'Error: package-lock.json contains git+ssh:// URLs. Run: git config --global url.\"https://github.com/\".insteadOf \"git@github.com:\"' && exit 1)", "format": "prettier --write .", "format:check": "prettier --check .", - "prepare": "husky" + "prepare": "husky && npm run build:packages" }, "lint-staged": { "*.{js,jsx,ts,tsx,json,css,md,html,yml,yaml}": [ From dea504a6714629f1b423f808c98fa7353df4d09d Mon Sep 17 00:00:00 2001 From: Kacper Date: Mon, 22 Dec 2025 12:18:49 +0100 Subject: [PATCH 2/2] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20refactor:=20use=20inte?= =?UTF-8?q?rnal=20scripts=20pattern=20to=20eliminate=20duplicate=20builds?= =?UTF-8?q?=20in=20dev:full?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add internal _dev:* scripts without build:packages prefix - Update dev:full to call build:packages once, then use internal scripts via concurrently - This prevents build:packages from running 3 times (once in dev:full, once in dev:server, once in dev:web) - Keep build scripts simple with direct approach (no duplication issue to solve) Addresses gemini-code-assist bot feedback on PR #215 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 --- package.json | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index c9541ee9..736cba7d 100644 --- a/package.json +++ b/package.json @@ -10,13 +10,19 @@ "postinstall": "node -e \"const fs=require('fs');if(process.platform==='darwin'){['darwin-arm64','darwin-x64'].forEach(a=>{const p='node_modules/node-pty/prebuilds/'+a+'/spawn-helper';if(fs.existsSync(p))fs.chmodSync(p,0o755)})}\" && node scripts/fix-lockfile-urls.mjs", "fix:lockfile": "node scripts/fix-lockfile-urls.mjs", "dev": "node init.mjs", - "dev:web": "npm run build:packages && npm run dev:web --workspace=apps/ui", - "dev:electron": "npm run build:packages && npm run dev:electron --workspace=apps/ui", - "dev:electron:debug": "npm run build:packages && npm run dev:electron:debug --workspace=apps/ui", - "dev:electron:wsl": "npm run build:packages && npm run dev:electron:wsl --workspace=apps/ui", - "dev:electron:wsl:gpu": "npm run build:packages && npm run dev:electron:wsl:gpu --workspace=apps/ui", - "dev:server": "npm run build:packages && npm run dev --workspace=apps/server", - "dev:full": "npm run build:packages && concurrently \"npm run dev:server\" \"npm run dev:web\"", + "_dev:web": "npm run dev:web --workspace=apps/ui", + "_dev:electron": "npm run dev:electron --workspace=apps/ui", + "_dev:electron:debug": "npm run dev:electron:debug --workspace=apps/ui", + "_dev:electron:wsl": "npm run dev:electron:wsl --workspace=apps/ui", + "_dev:electron:wsl:gpu": "npm run dev:electron:wsl:gpu --workspace=apps/ui", + "_dev:server": "npm run dev --workspace=apps/server", + "dev:web": "npm run build:packages && npm run _dev:web", + "dev:electron": "npm run build:packages && npm run _dev:electron", + "dev:electron:debug": "npm run build:packages && npm run _dev:electron:debug", + "dev:electron:wsl": "npm run build:packages && npm run _dev:electron:wsl", + "dev:electron:wsl:gpu": "npm run build:packages && npm run _dev:electron:wsl:gpu", + "dev:server": "npm run build:packages && npm run _dev:server", + "dev:full": "npm run build:packages && concurrently \"npm run _dev:server\" \"npm run _dev:web\"", "build": "npm run build:packages && npm run build --workspace=apps/ui", "build:packages": "npm run build -w @automaker/types && npm run build -w @automaker/platform && npm run build -w @automaker/utils && npm run build -w @automaker/prompts -w @automaker/model-resolver -w @automaker/dependency-resolver && npm run build -w @automaker/git-utils", "build:server": "npm run build:packages && npm run build --workspace=apps/server",