chore(ci): restore original working Dockerfiles from run 280 and add auto-prune to deploy script
All checks were successful
Deploy Canina / deploy (push) Successful in 2m15s

This commit is contained in:
parsa aghaei 2026-08-17 13:50:36 +03:30
parent 23a31203e3
commit 03c6ed58c7
16 changed files with 84220 additions and 79937 deletions

View File

@ -2,6 +2,7 @@ FROM node:20-alpine AS builder
USER root
RUN http_proxy=http://172.17.0.1:8888 https_proxy=http://172.17.0.1:8888 apk add --no-cache openssl || apk add --no-cache openssl || true
WORKDIR /app
ENV PRISMA_SKIP_POSTINSTALL_GENERATE=true
# Optional: Use Nexus as npm registry (pass --build-arg NPM_REGISTRY=http://nexus:8081/repository/npm/)
ARG NPM_REGISTRY=
@ -12,10 +13,9 @@ RUN if [ -n "$NPM_REGISTRY" ]; then \
fi
COPY package*.json ./
COPY prisma ./prisma/
RUN npm ci --prefer-offline --no-audit
COPY . .
RUN mkdir -p /app/node_modules/.prisma/client && rm -rf dist && https_proxy=http://172.17.0.1:8888 http_proxy=http://172.17.0.1:8888 ./node_modules/.bin/prisma generate && npm run build
RUN rm -rf dist && https_proxy=http://172.17.0.1:8888 http_proxy=http://172.17.0.1:8888 ./node_modules/.bin/prisma generate && npm run build
FROM node:20-alpine
USER root

File diff suppressed because it is too large Load Diff

View File

@ -1,289 +1,293 @@
{
"0": "AdminService",
"1": "pets/pets.controller.ts",
"2": "Roles",
"3": "UsersService",
"4": "CmsController",
"5": "SmsService",
"6": "AuthController",
"0": "SettingsService",
"1": "AdminController",
"2": "UsersService",
"3": "ProductService",
"4": "admin.module.ts",
"5": "auth.service.ts",
"6": "OrdersService",
"7": "app.module.ts",
"8": "CreateVideoDto",
"9": "ProductService",
"10": "ContactService",
"11": "compilerOptions",
"12": "UserDashboard.tsx",
"13": "auth.controller.ts",
"14": "ProductsService",
"15": "lib/services/api.ts",
"16": "tickets.controller.ts",
"17": "ArchivePage.tsx",
"18": "MetricsController",
"19": "B2BService",
"20": "CategoriesController",
"21": "RedisService",
"22": "MediaController",
"23": "Ingredient Management Controller",
"24": "adminRoutes.tsx",
"25": "admin.module.ts",
"26": "Coupons.tsx",
"27": "Prescription Review Controller",
"28": "Smart Advisor Controller",
"29": "Testimonials Management Controller",
"30": "src/services/api.ts",
"31": "Spinner.tsx",
"32": "PetProfile.tsx",
"33": "ZibalService",
"34": "main.ts",
"35": "admin.ts",
"36": "compilerOptions",
"37": "compilerOptions",
"38": "Transactions.tsx",
"39": "dependencies",
"40": "Node TypeScript Config",
"41": "Admin Blog Controller",
"42": "WholesaleApplyDto",
"43": "devDependencies",
"44": "Generic CRUD Controller",
"45": "seo.module.ts",
"46": "PaginationDto",
"47": "Project Build Scripts",
"48": "Home Data Module",
"49": "devDependencies",
"50": "Database Seeding Logic",
"51": "Prisma Database Migrations",
"52": "dependencies",
"53": "Orders.tsx",
"54": "auth.service.ts",
"55": "BE-001",
"56": "VetGallery.tsx",
"57": "NPM Lifecycle Scripts",
"58": "PetsController",
"59": "PrismaService",
"60": "Jest Testing Config",
"61": "CreateReviewDto",
"62": "BannersService",
"63": "FE-001",
"64": "VerifyOtpDto",
"65": "rules/graphify.md",
"66": "App Health Controller",
"67": "dependencies",
"68": "OrdersService",
"69": "Integrity Validation Scripts",
"70": "Admin Panel Package Config",
"71": "Analytics and Report Charts",
"72": "Task Orchestration Scripts",
"73": "Backend Package Config",
"74": "useSettingsStore",
"75": "React Error Boundary",
"76": "Application Package Config",
"77": "WikiController",
"78": "Error and Not Found Pages",
"79": "VPN Utility Scripts",
"80": "NestJS CLI Config",
"81": "Seed TypeScript Config",
"82": "ADM-001",
"83": "Browser Utility Scripts",
"84": "Dev Server Startup",
"85": "Architectural Audit Findings",
"86": "Pagination API Schemas",
"87": "Font Assets and Licenses",
"88": "Ledger Rebuild Scripts",
"89": "Evidence Validation Scripts",
"90": "SslController",
"91": "Blog Post Detail Page",
"92": "@types/node",
"93": "devDependencies",
"94": "UI Text Seeding",
"95": "Wiki Terms Seeding",
"96": "Blog Management DTOs",
"97": "Home Management DTOs",
"98": "Wiki Management DTOs",
"99": "Wiki Page Routing",
"100": "toPersian",
"101": "Docker Deployment Scripts",
"102": "DB-001",
"103": "BlogsService",
"104": "Database Migration Scripts",
"105": "Scientific Terms Schema",
"106": "Blog Data Seeding",
"107": "Custom Data Seeding",
"108": "Products Table",
"109": "Auth Architecture and Planning",
"110": "Build Manifest Generation",
"111": "Classification Data Generation",
"112": "Evidence Data Generation",
"113": "Ledger Data Generation",
"114": "Manifest Data Generation",
"115": "Honest Manifest Synchronization",
"116": "Manifest Entry Synchronization",
"117": "PaymentController",
"118": "TS-001",
"119": "TEST-001",
"120": "AdminTransactionFilterDto",
"121": "UITexts.tsx",
"122": "Admin Panel TSConfig",
"123": "About Page Component",
"124": "Privacy Page Component",
"125": "Next.js Security Configuration",
"126": "Typography and Font Assets",
"127": "DEVOPS-001",
"128": "DOC-001",
"129": "What You Must Do When Invoked",
"130": "JwtAuthGuard",
"131": "راهنمای تست سیستم (Software Testing)",
"132": "Role & Core Objective",
"133": "Required Review Group Closures",
"134": "Operational Rules & Boundaries",
"135": "Operational Rules & Boundaries",
"136": "🏢 AI Software Agency — Master Orchestration Protocol v3",
"137": "@nestjs/cli",
"138": "Operational Rules & Boundaries",
"139": "Operational Rules & Boundaries",
"140": "Bcrypt Type Definitions",
"141": "SettingsService",
"142": ".update",
"143": "Blog Entity Model",
"144": "Home Entity Model",
"145": "Wiki Entity Model",
"146": "User Profile Management",
"147": "Pets Table",
"148": "User Database and Infrastructure",
"149": "API and Frontend Specifications",
"150": "Brand and Agent Guidelines",
"151": "Search Engine Robots Config",
"152": "Application ESLint Config",
"153": "PostCSS Configuration",
"154": "Vitest Test Setup",
"155": "Database Backup Script",
"156": "Application Startup Script",
"157": "What You Must Do When Invoked",
"158": "Backend ESLint Config",
"159": "User Logout Endpoint",
"160": "Company Profile",
"161": "Project Introduction",
"162": "Architecture Route Map",
"163": "Project Task Backlog",
"164": "Root ESLint Configuration",
"165": "PostCSS Build Config",
"166": "Tailwind CSS Configuration",
"167": "Vite Build Configuration",
"168": "Sahel Font Samples",
"169": "Shabnam Font History",
"170": "Vazirmatn Font History",
"171": "Vitest Test Configuration",
"172": "Variable Font Samples",
"173": "Shabnam Font Preview",
"174": "Production Docker Setup",
"175": "Staging Docker Setup",
"176": ".agents/workflows/graphify.md",
"177": "Role & Core Objective",
"178": "graphify reference: extra exports and benchmark",
"179": "graphify reference: query, path, explain",
"180": "graphify reference: add a URL and watch a folder",
"181": "graphify reference: commit hook and native CLAUDE.md integration",
"182": "graphify reference: incremental update and cluster-only",
"183": "graphify reference: GitHub clone and cross-repo merge",
"184": "graphify reference: transcribe video and audio",
"185": "Reconciled Audit Roles & Assignments",
"186": "instructions.md",
"187": "Phase 3.1 — Human Review Preparation and Master Backlog Critique",
"188": "CLAUDE.md",
"189": ".claude/CLAUDE.md",
"190": "extraction-spec.md",
"191": "User Login API",
"192": "Developer Standards and Architecture",
"193": "Deep Audit Summary Report",
"194": "Operational Rules & Boundaries",
"195": "Comprehensive Change Log",
"196": "Operational Rules & Boundaries",
"197": "1. Summary of Integrity Repairs Performed",
"198": "Operational Rules & Boundaries",
"199": "Operational Rules & Boundaries",
"200": "Operational Rules & Boundaries",
"201": "Vazirmatn Changelog",
"202": "Vazirmatn Font فونت وزیرمتن",
"203": "Operational Rules & Boundaries",
"204": "backend/README.md",
"205": "Repository Map",
"206": "Sahel-Font",
"207": "zibal.service.ts",
"208": "Sahel-Font",
"209": "Role & Core Objective",
"210": "exclude",
"211": "Phase 2 Final Quality Gate Summary Report",
"212": "Task Modifications Log",
"213": "Install",
"214": "BlogsController",
"215": "System Discovery",
"216": "Product Requirement Document (PRD)",
"217": "Baseline Command Plan & Reconciled Command History",
"218": "Architecture Specification",
"219": "Project Health Audit Report",
"220": "Open Questions",
"221": "Final Phase 2 Audit Closure Report",
"222": "📝 Active Agent Working Scratchpad",
"223": "🔍 Code Health Audit Review (01_auditor)",
"224": "Omitted File Inspection Report",
"225": "Phase 3.2 / 3.3 — Implementation Readiness & Architectural Finalization Report",
"226": "Phase 3 Audit Traceability Matrix",
"227": "API Contract Specification",
"228": "⚙️ Backend Technical Review (05_dev_backend)",
"229": "🎨 Frontend & Admin Panel Technical Review (06_dev_frontend)",
"230": "🚀 SEO & Content Strategy Review (12_seo_content)",
"231": "Raw Finding Verification & Disposition Report",
"232": "React + TypeScript + Vite",
"233": "application/README.md",
"234": "🔒 Security & Performance Review (09_devops_security)",
"235": "👁️ UX & Persona Interface Review (08_visual_qa)",
"236": "Compiler Diagnostic Dispositions",
"237": "useCartStore",
"238": "ProductPage.tsx",
"239": "globals",
"240": "prettier",
"241": "prisma",
"242": "supertest",
"243": "ts-loader",
"244": "ts-node",
"245": "@types/express",
"246": "@types/jest",
"247": "@types/js-yaml",
"248": "@types/multer",
"249": "eslint-plugin-react-hooks",
"250": "eslint-plugin-react-refresh",
"251": "tailwindcss",
"252": "typescript",
"253": "@testing-library/jest-dom",
"254": "@testing-library/react",
"255": "@types/react",
"256": "typescript",
"257": "vitest",
"258": "reviews/README.md",
"259": "axios",
"260": "admin-panel/public/fonts/sahel-font-v3.4.0/CHANGELOG.md",
"261": "shabnam-font-v5.0.1/CHANGELOG.md",
"262": "application/CLAUDE.md",
"263": "application/public/fonts/sahel-font-v3.4.0/CHANGELOG.md",
"264": "tailwindcss",
"265": "typescript-eslint",
"266": ".handleZibalCallback",
"267": "PetsService",
"268": "PetsController",
"269": "generate-openapi.js",
"270": "InitiatePaymentDto",
"271": "SmsLogQueryDto",
"272": "CreateHealthLogDto",
"273": "AGENTS.md",
"274": "eslint-config-prettier",
"275": "CreateReminderDto",
"276": "Reviews.tsx",
"277": "Tickets.tsx",
"278": "Videos.tsx",
"279": "@types/passport-jwt",
"280": "@types/supertest",
"281": "typescript",
"282": "@types/react-dom",
"283": "generate-openapi.d.ts",
"285": "eslint-plugin-prettier",
"288": "SmsSettingsPage.tsx",
"290": "@tailwindcss/postcss"
"8": "CmsController",
"9": "tickets.controller.ts",
"10": "useSettingsStore",
"11": "UserDashboard.tsx",
"12": "CreateVideoDto",
"13": "compilerOptions",
"14": "CreateReviewDto",
"15": "ProductsService",
"16": "PrismaService",
"17": "lib/services/api.ts",
"18": "devDependencies",
"19": "JwtAuthGuard",
"20": "BE-001",
"21": "src/services/api.ts",
"22": "RedisService",
"23": "WholesaleApplyDto",
"24": "FE-001",
"25": "ADM-001",
"26": "DB-001",
"27": "TS-001",
"28": "TEST-001",
"29": "DEVOPS-001",
"30": "DOC-001",
"31": "adminRoutes.tsx",
"32": "userStore.ts",
"33": "Spinner.tsx",
"34": "PetProfile.tsx",
"35": "main.ts",
"36": "B2BService",
"37": "ZibalService",
"38": "راهنمای تست سیستم (Software Testing)",
"39": "CategoriesController",
"40": "MediaController",
"41": "What You Must Do When Invoked",
"42": "SslController",
"43": "BannersService",
"44": "What You Must Do When Invoked",
"45": "UITexts.tsx",
"46": "IngredientsService",
"47": ".update",
"48": "HomeClient.tsx",
"49": "SmartAdvisorService",
"50": "TestimonialsService",
"51": "Role & Core Objective",
"52": "PaginationDto",
"53": "ContactService",
"54": "compilerOptions",
"55": "Reports.tsx",
"56": "compilerOptions",
"57": "dependencies",
"58": "PrescriptionsService",
"59": "BlogsController",
"60": "Required Review Group Closures",
"61": "devDependencies",
"62": "Coupons.tsx",
"63": "Operational Rules & Boundaries",
"64": "Operational Rules & Boundaries",
"65": "WikiController",
"66": "PaymentController",
"67": "pets/pets.controller.ts",
"68": "seo.module.ts",
"69": "admin.service.ts",
"70": "🏢 AI Software Agency — Master Orchestration Protocol v3",
"71": "Operational Rules & Boundaries",
"72": "Operational Rules & Boundaries",
"73": "HomeController",
"74": "scripts",
"75": "Role & Core Objective",
"76": ".handleZibalCallback",
"77": "zibal.service.ts",
"78": "Orders.tsx",
"79": "devDependencies",
"80": "exclude",
"81": "seed-products.ts",
"82": "Reconciled Audit Roles & Assignments",
"83": "20260526145407_init/migration.sql",
"84": "Phase 3.1 — Human Review Preparation and Master Backlog Critique",
"85": "dependencies",
"86": "SmsService",
"87": "SafeImage.tsx",
"88": "compilerOptions",
"89": "scripts",
"90": "AdminService",
"91": "Deep Audit Summary Report",
"92": "dependencies",
"93": "Operational Rules & Boundaries",
"94": "jest",
"95": "PetsController",
"96": "Comprehensive Change Log",
"97": "Operational Rules & Boundaries",
"98": "BlogsController",
"99": "PetsService",
"100": "1. Summary of Integrity Repairs Performed",
"101": "Operational Rules & Boundaries",
"102": "Operational Rules & Boundaries",
"103": "Operational Rules & Boundaries",
"104": "AppService",
"105": "AdminTransactionFilterDto",
"106": "Vazirmatn Changelog",
"107": "Vazirmatn Font فونت وزیرمتن",
"108": "Operational Rules & Boundaries",
"109": "backend/README.md",
"110": "Repository Map",
"111": "validate_integrity.js",
"112": "admin-panel/package.json",
"113": "Sahel-Font",
"114": "Sahel-Font",
"115": "Role & Core Objective",
"116": "orchestrate.py",
"117": "backend/package.json",
"118": "graphify reference: extra exports and benchmark",
"119": "Phase 2 Final Quality Gate Summary Report",
"120": "Task Modifications Log",
"121": "Install",
"122": "ErrorBoundary",
"123": "application/package.json",
"124": "generate-openapi.js",
"125": "InitiatePaymentDto",
"126": "SmsLogQueryDto",
"127": "AuthService",
"128": "System Discovery",
"129": "Product Requirement Document (PRD)",
"130": "videos.controller.ts",
"131": "CreateHealthLogDto",
"132": "CreateReminderDto",
"133": "reviews.controller.ts",
"134": "Baseline Command Plan & Reconciled Command History",
"135": "SmsSettingsPage.tsx",
"136": "ErrorPages.tsx",
"137": "compilerOptions",
"138": "with-vpn.sh",
"139": "Architecture Specification",
"140": "Project Health Audit Report",
"141": "nest-cli.json",
"142": "graphify reference: query, path, explain",
"143": "Open Questions",
"144": "Final Phase 2 Audit Closure Report",
"145": "Transactions.tsx",
"146": "open-browsers.js",
"147": "start-dev.js",
"148": "📝 Active Agent Working Scratchpad",
"149": "🔍 Code Health Audit Review (01_auditor)",
"150": "paginated-response.schema.ts",
"151": "PetsController",
"152": "Vazirmatn Font README",
"153": "Omitted File Inspection Report",
"154": "Phase 3.2 / 3.3 — Implementation Readiness & Architectural Finalization Report",
"155": "Phase 3 Audit Traceability Matrix",
"156": "rebuild_honest_ledger.js",
"157": "validate_evidence_grade.js",
"158": "api",
"159": "Reviews.tsx",
"160": "compilerOptions",
"161": "blog/[slug]/page.tsx",
"162": "WikiService",
"163": "API Contract Specification",
"164": "⚙️ Backend Technical Review (05_dev_backend)",
"165": "🎨 Frontend & Admin Panel Technical Review (06_dev_frontend)",
"166": "🚀 SEO & Content Strategy Review (12_seo_content)",
"167": "@types/node",
"168": "typescript",
"169": "seed-ui-texts.ts",
"170": "seed-wiki.ts",
"171": "update-blog.dto.ts",
"172": "update-home.dto.ts",
"173": "update-wiki.dto.ts",
"174": "graphify reference: add a URL and watch a folder",
"175": "graphify reference: commit hook and native CLAUDE.md integration",
"176": "graphify reference: incremental update and cluster-only",
"177": "Raw Finding Verification & Disposition Report",
"178": "React + TypeScript + Vite",
"179": "Select.tsx",
"180": "wiki/[slug]/page.tsx",
"181": "application/README.md",
"182": "NetworkBanner.tsx",
"183": "deploy.sh",
"184": "🔒 Security & Performance Review (09_devops_security)",
"185": "👁️ UX & Persona Interface Review (08_visual_qa)",
"186": "@eslint/eslintrc",
"187": "typescript-eslint",
"188": "20260526160916_add_ui_texts_and_scientific_terms/migration.sql",
"189": "prisma/scientificTerms.ts",
"190": "seed-blogs.ts",
"191": "seed-custom.ts",
"192": "graphify reference: GitHub clone and cross-repo merge",
"193": "graphify reference: transcribe video and audio",
"194": "Compiler Diagnostic Dispositions",
"195": "Master Task Backlog (Phase 3.3)",
"196": "build_manifest.js",
"197": "generate_classification.js",
"198": "generate_evidence.js",
"199": "generate_ledger.js",
"200": "generate_manifest.js",
"201": "sync_honest_manifest.js",
"202": "sync_manifest.js",
"203": "eslint-plugin-prettier",
"204": "globals",
"205": "tailwindcss",
"206": "@nestjs/cli",
"207": "FormField.tsx",
"208": "Input.tsx",
"209": "Textarea.tsx",
"210": "admin-panel/tsconfig.json",
"211": "about/page.tsx",
"212": "privacy/page.tsx",
"213": "next.config.ts",
"214": "Shabnam Font README",
"215": "AGENTS.md",
"216": "rules/graphify.md",
"217": ".agents/workflows/graphify.md",
"218": "instructions.md",
"219": "prettier",
"220": "prisma",
"221": "supertest",
"222": "ts-node",
"223": "@types/express",
"224": "@types/jest",
"225": "@types/js-yaml",
"226": "@types/multer",
"227": "@types/passport-jwt",
"228": "eslint-config-next",
"229": "eslint-plugin-react-hooks",
"230": "eslint-plugin-react-refresh",
"231": "ts-loader",
"232": "@tailwindcss/postcss",
"233": "@types/bcrypt",
"234": "@types/supertest",
"235": "blog.entity.ts",
"236": "home.entity.ts",
"237": "wiki.entity.ts",
"238": "User Profile Photo",
"239": "CLAUDE.md",
"240": ".claude/CLAUDE.md",
"241": "extraction-spec.md",
"242": "Products Table",
"243": "Users Table",
"244": "Architectural Audit Findings",
"245": "Cross Boundary Dependencies & Backend Architecture Specification",
"246": "Next.js Agent Rules & Brand Guidelines",
"247": "robots.ts",
"248": "application/eslint.config.mjs",
"249": "postcss.config.mjs",
"250": "vitest.setup.ts",
"251": "backup_db.sh",
"252": "start.sh",
"253": "reviews/README.md",
"254": "backend/eslint.config.mjs",
"255": "User Login API",
"256": "User Logout API",
"257": "generate-openapi.d.ts",
"258": "ApiOperation",
"259": "typescript",
"260": "@testing-library/jest-dom",
"261": "@testing-library/react",
"262": "@types/react",
"263": "typescript",
"264": "Roles",
"265": "Get",
"266": "vitest",
"267": "axios",
"268": "tailwindcss",
"279": "Canina Pharma GmbH",
"280": "Pets Table",
"281": "Canina Iran Project Introduction",
"282": "Developer Standards and Architecture",
"283": "Frontend & Admin Architecture Route Map Specification",
"284": "Project Backlog and Tasks",
"285": "eslint.config.js",
"286": "postcss.config.js",
"287": "admin-panel/public/fonts/sahel-font-v3.4.0/CHANGELOG.md",
"288": "shabnam-font-v5.0.1/CHANGELOG.md",
"289": "tailwind.config.js",
"290": "vite.config.ts",
"291": "application/CLAUDE.md",
"292": "application/public/fonts/sahel-font-v3.4.0/CHANGELOG.md",
"293": "Sahel Font Sample",
"294": "Shabnam Font Changelog",
"295": "Vazirmatn Changelog",
"296": "vitest.config.ts",
"297": "Sahel Font Variable Sample",
"298": "Shabnam Font Sample",
"299": "Production Docker Compose",
"300": "Staging Docker Compose"
}

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

View File

@ -1,289 +1,293 @@
{
"0": "AdminService",
"1": "pets/pets.controller.ts",
"2": "Roles",
"3": "UsersService",
"4": "CmsController",
"5": "SmsService",
"6": "AuthController",
"0": "SettingsService",
"1": "AdminController",
"2": "UsersService",
"3": "ProductService",
"4": "admin.module.ts",
"5": "auth.service.ts",
"6": "OrdersService",
"7": "app.module.ts",
"8": "CreateVideoDto",
"9": "ProductService",
"10": "ContactService",
"11": "compilerOptions",
"12": "UserDashboard.tsx",
"13": "auth.controller.ts",
"14": "ProductsService",
"15": "lib/services/api.ts",
"16": "tickets.controller.ts",
"17": "ArchivePage.tsx",
"18": "MetricsController",
"19": "B2BService",
"20": "CategoriesController",
"21": "RedisService",
"22": "MediaController",
"23": "Ingredient Management Controller",
"24": "adminRoutes.tsx",
"25": "admin.module.ts",
"26": "Coupons.tsx",
"27": "Prescription Review Controller",
"28": "Smart Advisor Controller",
"29": "Testimonials Management Controller",
"30": "src/services/api.ts",
"31": "Spinner.tsx",
"32": "PetProfile.tsx",
"33": "ZibalService",
"34": "main.ts",
"35": "admin.ts",
"36": "compilerOptions",
"37": "compilerOptions",
"38": "Transactions.tsx",
"39": "dependencies",
"40": "Node TypeScript Config",
"41": "Admin Blog Controller",
"42": "WholesaleApplyDto",
"43": "devDependencies",
"44": "Generic CRUD Controller",
"45": "seo.module.ts",
"46": "PaginationDto",
"47": "Project Build Scripts",
"48": "Home Data Module",
"49": "devDependencies",
"50": "Database Seeding Logic",
"51": "Prisma Database Migrations",
"52": "dependencies",
"53": "Orders.tsx",
"54": "auth.service.ts",
"55": "BE-001",
"56": "VetGallery.tsx",
"57": "NPM Lifecycle Scripts",
"58": "PetsController",
"59": "PrismaService",
"60": "Jest Testing Config",
"61": "CreateReviewDto",
"62": "BannersService",
"63": "FE-001",
"64": "VerifyOtpDto",
"65": "rules/graphify.md",
"66": "App Health Controller",
"67": "dependencies",
"68": "OrdersService",
"69": "Integrity Validation Scripts",
"70": "Admin Panel Package Config",
"71": "Analytics and Report Charts",
"72": "Task Orchestration Scripts",
"73": "Backend Package Config",
"74": "useSettingsStore",
"75": "React Error Boundary",
"76": "Application Package Config",
"77": "WikiController",
"78": "Error and Not Found Pages",
"79": "VPN Utility Scripts",
"80": "NestJS CLI Config",
"81": "Seed TypeScript Config",
"82": "ADM-001",
"83": "Browser Utility Scripts",
"84": "Dev Server Startup",
"85": "Architectural Audit Findings",
"86": "Pagination API Schemas",
"87": "Font Assets and Licenses",
"88": "Ledger Rebuild Scripts",
"89": "Evidence Validation Scripts",
"90": "SslController",
"91": "Blog Post Detail Page",
"92": "@types/node",
"93": "devDependencies",
"94": "UI Text Seeding",
"95": "Wiki Terms Seeding",
"96": "Blog Management DTOs",
"97": "Home Management DTOs",
"98": "Wiki Management DTOs",
"99": "Wiki Page Routing",
"100": "toPersian",
"101": "Docker Deployment Scripts",
"102": "DB-001",
"103": "BlogsService",
"104": "Database Migration Scripts",
"105": "Scientific Terms Schema",
"106": "Blog Data Seeding",
"107": "Custom Data Seeding",
"108": "Products Table",
"109": "Auth Architecture and Planning",
"110": "Build Manifest Generation",
"111": "Classification Data Generation",
"112": "Evidence Data Generation",
"113": "Ledger Data Generation",
"114": "Manifest Data Generation",
"115": "Honest Manifest Synchronization",
"116": "Manifest Entry Synchronization",
"117": "PaymentController",
"118": "TS-001",
"119": "TEST-001",
"120": "AdminTransactionFilterDto",
"121": "UITexts.tsx",
"122": "Admin Panel TSConfig",
"123": "About Page Component",
"124": "Privacy Page Component",
"125": "Next.js Security Configuration",
"126": "Typography and Font Assets",
"127": "DEVOPS-001",
"128": "DOC-001",
"129": "What You Must Do When Invoked",
"130": "JwtAuthGuard",
"131": "راهنمای تست سیستم (Software Testing)",
"132": "Role & Core Objective",
"133": "Required Review Group Closures",
"134": "Operational Rules & Boundaries",
"135": "Operational Rules & Boundaries",
"136": "🏢 AI Software Agency — Master Orchestration Protocol v3",
"137": "@nestjs/cli",
"138": "Operational Rules & Boundaries",
"139": "Operational Rules & Boundaries",
"140": "Bcrypt Type Definitions",
"141": "SettingsService",
"142": ".update",
"143": "Blog Entity Model",
"144": "Home Entity Model",
"145": "Wiki Entity Model",
"146": "User Profile Management",
"147": "Pets Table",
"148": "User Database and Infrastructure",
"149": "API and Frontend Specifications",
"150": "Brand and Agent Guidelines",
"151": "Search Engine Robots Config",
"152": "Application ESLint Config",
"153": "PostCSS Configuration",
"154": "Vitest Test Setup",
"155": "Database Backup Script",
"156": "Application Startup Script",
"157": "What You Must Do When Invoked",
"158": "Backend ESLint Config",
"159": "User Logout Endpoint",
"160": "Company Profile",
"161": "Project Introduction",
"162": "Architecture Route Map",
"163": "Project Task Backlog",
"164": "Root ESLint Configuration",
"165": "PostCSS Build Config",
"166": "Tailwind CSS Configuration",
"167": "Vite Build Configuration",
"168": "Sahel Font Samples",
"169": "Shabnam Font History",
"170": "Vazirmatn Font History",
"171": "Vitest Test Configuration",
"172": "Variable Font Samples",
"173": "Shabnam Font Preview",
"174": "Production Docker Setup",
"175": "Staging Docker Setup",
"176": ".agents/workflows/graphify.md",
"177": "Role & Core Objective",
"178": "graphify reference: extra exports and benchmark",
"179": "graphify reference: query, path, explain",
"180": "graphify reference: add a URL and watch a folder",
"181": "graphify reference: commit hook and native CLAUDE.md integration",
"182": "graphify reference: incremental update and cluster-only",
"183": "graphify reference: GitHub clone and cross-repo merge",
"184": "graphify reference: transcribe video and audio",
"185": "Reconciled Audit Roles & Assignments",
"186": "instructions.md",
"187": "Phase 3.1 — Human Review Preparation and Master Backlog Critique",
"188": "CLAUDE.md",
"189": ".claude/CLAUDE.md",
"190": "extraction-spec.md",
"191": "User Login API",
"192": "Developer Standards and Architecture",
"193": "Deep Audit Summary Report",
"194": "Operational Rules & Boundaries",
"195": "Comprehensive Change Log",
"196": "Operational Rules & Boundaries",
"197": "1. Summary of Integrity Repairs Performed",
"198": "Operational Rules & Boundaries",
"199": "Operational Rules & Boundaries",
"200": "Operational Rules & Boundaries",
"201": "Vazirmatn Changelog",
"202": "Vazirmatn Font فونت وزیرمتن",
"203": "Operational Rules & Boundaries",
"204": "backend/README.md",
"205": "Repository Map",
"206": "Sahel-Font",
"207": "zibal.service.ts",
"208": "Sahel-Font",
"209": "Role & Core Objective",
"210": "exclude",
"211": "Phase 2 Final Quality Gate Summary Report",
"212": "Task Modifications Log",
"213": "Install",
"214": "BlogsController",
"215": "System Discovery",
"216": "Product Requirement Document (PRD)",
"217": "Baseline Command Plan & Reconciled Command History",
"218": "Architecture Specification",
"219": "Project Health Audit Report",
"220": "Open Questions",
"221": "Final Phase 2 Audit Closure Report",
"222": "📝 Active Agent Working Scratchpad",
"223": "🔍 Code Health Audit Review (01_auditor)",
"224": "Omitted File Inspection Report",
"225": "Phase 3.2 / 3.3 — Implementation Readiness & Architectural Finalization Report",
"226": "Phase 3 Audit Traceability Matrix",
"227": "API Contract Specification",
"228": "⚙️ Backend Technical Review (05_dev_backend)",
"229": "🎨 Frontend & Admin Panel Technical Review (06_dev_frontend)",
"230": "🚀 SEO & Content Strategy Review (12_seo_content)",
"231": "Raw Finding Verification & Disposition Report",
"232": "React + TypeScript + Vite",
"233": "application/README.md",
"234": "🔒 Security & Performance Review (09_devops_security)",
"235": "👁️ UX & Persona Interface Review (08_visual_qa)",
"236": "Compiler Diagnostic Dispositions",
"237": "useCartStore",
"238": "ProductPage.tsx",
"239": "globals",
"240": "prettier",
"241": "prisma",
"242": "supertest",
"243": "ts-loader",
"244": "ts-node",
"245": "@types/express",
"246": "@types/jest",
"247": "@types/js-yaml",
"248": "@types/multer",
"249": "eslint-plugin-react-hooks",
"250": "eslint-plugin-react-refresh",
"251": "tailwindcss",
"252": "typescript",
"253": "@testing-library/jest-dom",
"254": "@testing-library/react",
"255": "@types/react",
"256": "typescript",
"257": "vitest",
"258": "reviews/README.md",
"259": "axios",
"260": "admin-panel/public/fonts/sahel-font-v3.4.0/CHANGELOG.md",
"261": "shabnam-font-v5.0.1/CHANGELOG.md",
"262": "application/CLAUDE.md",
"263": "application/public/fonts/sahel-font-v3.4.0/CHANGELOG.md",
"264": "tailwindcss",
"265": "typescript-eslint",
"266": ".handleZibalCallback",
"267": "PetsService",
"268": "PetsController",
"269": "generate-openapi.js",
"270": "InitiatePaymentDto",
"271": "SmsLogQueryDto",
"272": "CreateHealthLogDto",
"273": "AGENTS.md",
"274": "eslint-config-prettier",
"275": "CreateReminderDto",
"276": "Reviews.tsx",
"277": "Tickets.tsx",
"278": "Videos.tsx",
"279": "@types/passport-jwt",
"280": "@types/supertest",
"281": "typescript",
"282": "@types/react-dom",
"283": "generate-openapi.d.ts",
"285": "eslint-plugin-prettier",
"288": "SmsSettingsPage.tsx",
"290": "@tailwindcss/postcss"
"8": "CmsController",
"9": "tickets.controller.ts",
"10": "useSettingsStore",
"11": "UserDashboard.tsx",
"12": "CreateVideoDto",
"13": "compilerOptions",
"14": "CreateReviewDto",
"15": "ProductsService",
"16": "PrismaService",
"17": "lib/services/api.ts",
"18": "devDependencies",
"19": "JwtAuthGuard",
"20": "BE-001",
"21": "src/services/api.ts",
"22": "RedisService",
"23": "WholesaleApplyDto",
"24": "FE-001",
"25": "ADM-001",
"26": "DB-001",
"27": "TS-001",
"28": "TEST-001",
"29": "DEVOPS-001",
"30": "DOC-001",
"31": "adminRoutes.tsx",
"32": "userStore.ts",
"33": "Spinner.tsx",
"34": "PetProfile.tsx",
"35": "main.ts",
"36": "B2BService",
"37": "ZibalService",
"38": "راهنمای تست سیستم (Software Testing)",
"39": "CategoriesController",
"40": "MediaController",
"41": "What You Must Do When Invoked",
"42": "SslController",
"43": "BannersService",
"44": "What You Must Do When Invoked",
"45": "UITexts.tsx",
"46": "IngredientsService",
"47": ".update",
"48": "HomeClient.tsx",
"49": "SmartAdvisorService",
"50": "TestimonialsService",
"51": "Role & Core Objective",
"52": "PaginationDto",
"53": "ContactService",
"54": "compilerOptions",
"55": "Reports.tsx",
"56": "compilerOptions",
"57": "dependencies",
"58": "PrescriptionsService",
"59": "BlogsController",
"60": "Required Review Group Closures",
"61": "devDependencies",
"62": "Coupons.tsx",
"63": "Operational Rules & Boundaries",
"64": "Operational Rules & Boundaries",
"65": "WikiController",
"66": "PaymentController",
"67": "pets/pets.controller.ts",
"68": "seo.module.ts",
"69": "admin.service.ts",
"70": "🏢 AI Software Agency — Master Orchestration Protocol v3",
"71": "Operational Rules & Boundaries",
"72": "Operational Rules & Boundaries",
"73": "HomeController",
"74": "scripts",
"75": "Role & Core Objective",
"76": ".handleZibalCallback",
"77": "zibal.service.ts",
"78": "Orders.tsx",
"79": "devDependencies",
"80": "exclude",
"81": "seed-products.ts",
"82": "Reconciled Audit Roles & Assignments",
"83": "20260526145407_init/migration.sql",
"84": "Phase 3.1 — Human Review Preparation and Master Backlog Critique",
"85": "dependencies",
"86": "SmsService",
"87": "SafeImage.tsx",
"88": "compilerOptions",
"89": "scripts",
"90": "AdminService",
"91": "Deep Audit Summary Report",
"92": "dependencies",
"93": "Operational Rules & Boundaries",
"94": "jest",
"95": "PetsController",
"96": "Comprehensive Change Log",
"97": "Operational Rules & Boundaries",
"98": "BlogsController",
"99": "PetsService",
"100": "1. Summary of Integrity Repairs Performed",
"101": "Operational Rules & Boundaries",
"102": "Operational Rules & Boundaries",
"103": "Operational Rules & Boundaries",
"104": "AppService",
"105": "AdminTransactionFilterDto",
"106": "Vazirmatn Changelog",
"107": "Vazirmatn Font فونت وزیرمتن",
"108": "Operational Rules & Boundaries",
"109": "backend/README.md",
"110": "Repository Map",
"111": "validate_integrity.js",
"112": "admin-panel/package.json",
"113": "Sahel-Font",
"114": "Sahel-Font",
"115": "Role & Core Objective",
"116": "orchestrate.py",
"117": "backend/package.json",
"118": "graphify reference: extra exports and benchmark",
"119": "Phase 2 Final Quality Gate Summary Report",
"120": "Task Modifications Log",
"121": "Install",
"122": "ErrorBoundary",
"123": "application/package.json",
"124": "generate-openapi.js",
"125": "InitiatePaymentDto",
"126": "SmsLogQueryDto",
"127": "AuthService",
"128": "System Discovery",
"129": "Product Requirement Document (PRD)",
"130": "videos.controller.ts",
"131": "CreateHealthLogDto",
"132": "CreateReminderDto",
"133": "reviews.controller.ts",
"134": "Baseline Command Plan & Reconciled Command History",
"135": "SmsSettingsPage.tsx",
"136": "ErrorPages.tsx",
"137": "compilerOptions",
"138": "with-vpn.sh",
"139": "Architecture Specification",
"140": "Project Health Audit Report",
"141": "nest-cli.json",
"142": "graphify reference: query, path, explain",
"143": "Open Questions",
"144": "Final Phase 2 Audit Closure Report",
"145": "Transactions.tsx",
"146": "open-browsers.js",
"147": "start-dev.js",
"148": "📝 Active Agent Working Scratchpad",
"149": "🔍 Code Health Audit Review (01_auditor)",
"150": "paginated-response.schema.ts",
"151": "PetsController",
"152": "Vazirmatn Font README",
"153": "Omitted File Inspection Report",
"154": "Phase 3.2 / 3.3 — Implementation Readiness & Architectural Finalization Report",
"155": "Phase 3 Audit Traceability Matrix",
"156": "rebuild_honest_ledger.js",
"157": "validate_evidence_grade.js",
"158": "api",
"159": "Reviews.tsx",
"160": "compilerOptions",
"161": "blog/[slug]/page.tsx",
"162": "WikiService",
"163": "API Contract Specification",
"164": "⚙️ Backend Technical Review (05_dev_backend)",
"165": "🎨 Frontend & Admin Panel Technical Review (06_dev_frontend)",
"166": "🚀 SEO & Content Strategy Review (12_seo_content)",
"167": "@types/node",
"168": "typescript",
"169": "seed-ui-texts.ts",
"170": "seed-wiki.ts",
"171": "update-blog.dto.ts",
"172": "update-home.dto.ts",
"173": "update-wiki.dto.ts",
"174": "graphify reference: add a URL and watch a folder",
"175": "graphify reference: commit hook and native CLAUDE.md integration",
"176": "graphify reference: incremental update and cluster-only",
"177": "Raw Finding Verification & Disposition Report",
"178": "React + TypeScript + Vite",
"179": "Select.tsx",
"180": "wiki/[slug]/page.tsx",
"181": "application/README.md",
"182": "NetworkBanner.tsx",
"183": "deploy.sh",
"184": "🔒 Security & Performance Review (09_devops_security)",
"185": "👁️ UX & Persona Interface Review (08_visual_qa)",
"186": "@eslint/eslintrc",
"187": "typescript-eslint",
"188": "20260526160916_add_ui_texts_and_scientific_terms/migration.sql",
"189": "prisma/scientificTerms.ts",
"190": "seed-blogs.ts",
"191": "seed-custom.ts",
"192": "graphify reference: GitHub clone and cross-repo merge",
"193": "graphify reference: transcribe video and audio",
"194": "Compiler Diagnostic Dispositions",
"195": "Master Task Backlog (Phase 3.3)",
"196": "build_manifest.js",
"197": "generate_classification.js",
"198": "generate_evidence.js",
"199": "generate_ledger.js",
"200": "generate_manifest.js",
"201": "sync_honest_manifest.js",
"202": "sync_manifest.js",
"203": "eslint-plugin-prettier",
"204": "globals",
"205": "tailwindcss",
"206": "@nestjs/cli",
"207": "FormField.tsx",
"208": "Input.tsx",
"209": "Textarea.tsx",
"210": "admin-panel/tsconfig.json",
"211": "about/page.tsx",
"212": "privacy/page.tsx",
"213": "next.config.ts",
"214": "Shabnam Font README",
"215": "AGENTS.md",
"216": "rules/graphify.md",
"217": ".agents/workflows/graphify.md",
"218": "instructions.md",
"219": "prettier",
"220": "prisma",
"221": "supertest",
"222": "ts-node",
"223": "@types/express",
"224": "@types/jest",
"225": "@types/js-yaml",
"226": "@types/multer",
"227": "@types/passport-jwt",
"228": "eslint-config-next",
"229": "eslint-plugin-react-hooks",
"230": "eslint-plugin-react-refresh",
"231": "ts-loader",
"232": "@tailwindcss/postcss",
"233": "@types/bcrypt",
"234": "@types/supertest",
"235": "blog.entity.ts",
"236": "home.entity.ts",
"237": "wiki.entity.ts",
"238": "User Profile Photo",
"239": "CLAUDE.md",
"240": ".claude/CLAUDE.md",
"241": "extraction-spec.md",
"242": "Products Table",
"243": "Users Table",
"244": "Architectural Audit Findings",
"245": "Cross Boundary Dependencies & Backend Architecture Specification",
"246": "Next.js Agent Rules & Brand Guidelines",
"247": "robots.ts",
"248": "application/eslint.config.mjs",
"249": "postcss.config.mjs",
"250": "vitest.setup.ts",
"251": "backup_db.sh",
"252": "start.sh",
"253": "reviews/README.md",
"254": "backend/eslint.config.mjs",
"255": "User Login API",
"256": "User Logout API",
"257": "generate-openapi.d.ts",
"258": "ApiOperation",
"259": "typescript",
"260": "@testing-library/jest-dom",
"261": "@testing-library/react",
"262": "@types/react",
"263": "typescript",
"264": "Roles",
"265": "Get",
"266": "vitest",
"267": "axios",
"268": "tailwindcss",
"279": "Canina Pharma GmbH",
"280": "Pets Table",
"281": "Canina Iran Project Introduction",
"282": "Developer Standards and Architecture",
"283": "Frontend & Admin Architecture Route Map Specification",
"284": "Project Backlog and Tasks",
"285": "eslint.config.js",
"286": "postcss.config.js",
"287": "admin-panel/public/fonts/sahel-font-v3.4.0/CHANGELOG.md",
"288": "shabnam-font-v5.0.1/CHANGELOG.md",
"289": "tailwind.config.js",
"290": "vite.config.ts",
"291": "application/CLAUDE.md",
"292": "application/public/fonts/sahel-font-v3.4.0/CHANGELOG.md",
"293": "Sahel Font Sample",
"294": "Shabnam Font Changelog",
"295": "Vazirmatn Changelog",
"296": "vitest.config.ts",
"297": "Sahel Font Variable Sample",
"298": "Shabnam Font Sample",
"299": "Production Docker Compose",
"300": "Staging Docker Compose"
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1 @@
{"nodes": [{"id": "$graphify-root$_scripts_deploy_sh", "label": "deploy.sh", "file_type": "code", "source_file": "scripts/deploy.sh", "source_location": "L1", "metadata": {"language": "bash", "kind": "file"}}, {"id": "$graphify-root$_scripts_deploy_sh__entry", "label": "deploy.sh script", "file_type": "code", "source_file": "scripts/deploy.sh", "source_location": "L1", "metadata": {"language": "bash", "kind": "bash_entrypoint"}}, {"id": "$graphify-root$_scripts_deploy_docker_buildkit", "label": "DOCKER_BUILDKIT", "file_type": "code", "source_file": "scripts/deploy.sh", "source_location": "L4", "metadata": {"language": "bash", "kind": "code"}}, {"id": "$graphify-root$_scripts_deploy_compose_docker_cli_build", "label": "COMPOSE_DOCKER_CLI_BUILD", "file_type": "code", "source_file": "scripts/deploy.sh", "source_location": "L5", "metadata": {"language": "bash", "kind": "code"}}], "edges": [{"source": "$graphify-root$_scripts_deploy_sh", "target": "$graphify-root$_scripts_deploy_sh__entry", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/deploy.sh", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_scripts_deploy_sh", "target": "$graphify-root$_scripts_deploy_docker_buildkit", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/deploy.sh", "source_location": "L4", "weight": 1.0}, {"source": "$graphify-root$_scripts_deploy_sh", "target": "$graphify-root$_scripts_deploy_compose_docker_cli_build", "relation": "defines", "confidence": "EXTRACTED", "source_file": "scripts/deploy.sh", "source_location": "L5", "weight": 1.0}], "raw_calls": [{"language": "bash", "callee": "set", "caller_nid": "$graphify-root$_scripts_deploy_sh__entry", "source_file": "scripts/deploy.sh", "source_location": "L2"}, {"language": "bash", "callee": "docker", "caller_nid": "$graphify-root$_scripts_deploy_sh__entry", "source_file": "scripts/deploy.sh", "source_location": "L8"}, {"language": "bash", "callee": "true", "caller_nid": "$graphify-root$_scripts_deploy_sh__entry", "source_file": "scripts/deploy.sh", "source_location": "L8"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_scripts_deploy_sh__entry", "source_file": "scripts/deploy.sh", "source_location": "L18"}, {"language": "bash", "callee": "mkdir", "caller_nid": "$graphify-root$_scripts_deploy_sh__entry", "source_file": "scripts/deploy.sh", "source_location": "L38"}, {"language": "bash", "callee": "git", "caller_nid": "$graphify-root$_scripts_deploy_sh__entry", "source_file": "scripts/deploy.sh", "source_location": "L42"}, {"language": "bash", "callee": "cd", "caller_nid": "$graphify-root$_scripts_deploy_sh__entry", "source_file": "scripts/deploy.sh", "source_location": "L45"}, {"language": "bash", "callee": "cp", "caller_nid": "$graphify-root$_scripts_deploy_sh__entry", "source_file": "scripts/deploy.sh", "source_location": "L55"}, {"language": "bash", "callee": "sed", "caller_nid": "$graphify-root$_scripts_deploy_sh__entry", "source_file": "scripts/deploy.sh", "source_location": "L56"}, {"language": "bash", "callee": "sleep", "caller_nid": "$graphify-root$_scripts_deploy_sh__entry", "source_file": "scripts/deploy.sh", "source_location": "L76"}], "bash_sources": []}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -90,4 +90,9 @@ else
echo "[PRODUCTION] Seeder skipped to protect production data."
fi
# Auto-cleanup old docker builder cache to keep disk healthy
echo "Cleaning up dangling docker build cache..."
docker builder prune -f --keep-storage 2GB 2>/dev/null || docker builder prune -f 2>/dev/null || true
docker image prune -f 2>/dev/null || true
echo "Deployment for $BRANCH completed successfully!"