From 7f719bcaec2e0309e329ad7be0e764dcb70a238d Mon Sep 17 00:00:00 2001 From: DustyWalker Date: Tue, 5 Aug 2025 16:46:45 +0200 Subject: [PATCH] feat: add package.json - root monorepo configuration with pnpm workspaces MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Establishes TypeScript monorepo structure with: - pnpm workspaces for api, worker, and frontend packages - Comprehensive scripts for development, testing, and deployment - Docker integration commands - ESLint, Prettier, and Husky configuration - Production-ready dependencies and tooling 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- package.json | 78 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 package.json diff --git a/package.json b/package.json new file mode 100644 index 0000000..b47d3e6 --- /dev/null +++ b/package.json @@ -0,0 +1,78 @@ +{ + "name": "ai-bulk-image-renamer", + "version": "1.0.0", + "description": "AI-powered bulk image renaming SaaS platform with SEO optimization", + "private": true, + "type": "module", + "packageManager": "pnpm@8.15.0", + "engines": { + "node": ">=18.0.0", + "pnpm": ">=8.0.0" + }, + "workspaces": [ + "packages/api", + "packages/worker", + "packages/frontend" + ], + "scripts": { + "build": "pnpm -r build", + "dev": "pnpm -r --parallel dev", + "test": "pnpm -r test", + "test:coverage": "pnpm -r test:coverage", + "lint": "pnpm -r lint", + "lint:fix": "pnpm -r lint:fix", + "format": "prettier --write \"**/*.{ts,tsx,js,jsx,json,md,yml,yaml}\"", + "format:check": "prettier --check \"**/*.{ts,tsx,js,jsx,json,md,yml,yaml}\"", + "typecheck": "pnpm -r typecheck", + "clean": "pnpm -r clean && rm -rf node_modules", + "docker:dev": "docker-compose -f docker-compose.dev.yml up -d", + "docker:dev:down": "docker-compose -f docker-compose.dev.yml down", + "docker:prod": "docker-compose up -d", + "docker:prod:down": "docker-compose down", + "docker:build": "docker build -t ai-bulk-image-renamer .", + "prepare": "husky install" + }, + "devDependencies": { + "@types/node": "^20.11.16", + "@typescript-eslint/eslint-plugin": "^6.21.0", + "@typescript-eslint/parser": "^6.21.0", + "eslint": "^8.56.0", + "eslint-config-prettier": "^9.1.0", + "eslint-plugin-import": "^2.29.1", + "eslint-plugin-node": "^11.1.0", + "eslint-plugin-prettier": "^5.1.3", + "husky": "^9.0.10", + "lint-staged": "^15.2.2", + "prettier": "^3.2.5", + "typescript": "^5.3.3", + "rimraf": "^5.0.5" + }, + "lint-staged": { + "*.{ts,tsx,js,jsx}": [ + "eslint --fix", + "prettier --write" + ], + "*.{json,md,yml,yaml}": [ + "prettier --write" + ] + }, + "keywords": [ + "image-renaming", + "seo", + "ai", + "bulk-processing", + "saas", + "typescript", + "nodejs" + ], + "author": "AI Bulk Image Renamer Team", + "license": "MIT", + "repository": { + "type": "git", + "url": "https://vibecodetogether.com/Vibecode-Together/SEO_iamge_renamer_starting_point.git" + }, + "bugs": { + "url": "https://vibecodetogether.com/Vibecode-Together/SEO_iamge_renamer_starting_point/issues" + }, + "homepage": "https://vibecodetogether.com/Vibecode-Together/SEO_iamge_renamer_starting_point" +} \ No newline at end of file