- add CLAUDE.md (project description, architecture, domain notes, git workflow)
- add shared .claude/settings.json (allowed commands, .env read protection)
- pin Prisma agent skills in skills-lock.json and document how to restore them
- ignore generated skills, local settings and Postman skills in .gitignore
- add .gitattributes to normalize line endings to LF
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
POST /sync starts the full synchronization in the background (202, or 409 when one is already running). Entities are synced in dependency order: brands, categories, suppliers, products (with versions and stocks), customers. Each row is synced independently so that a failure is logged without stopping the rest. Replaces the default AppService.
Models mirror Hiboutik entities (categories tree, brands, suppliers, products and their versions, customers) plus addresses and orders for the upcoming sync. Every synced model is matched with Hiboutik through a unique hiboutikId. The generated client is ignored by git and env files other than .env.example are ignored.
Generate the Prisma client on postinstall. Jest now transpiles the ESM-only @nestjs/config and maps the .js imports of the generated Prisma client, in both the unit and e2e configurations.