agentsclimarketplace

Audit object model

Skill jeffsenso/prestashop-skills/skills/prestashop-module-development/ps9-core-ai/Component/Migration/skills/audit-object-model

Prestashop Developer Skills

Install
npx -y skills add jeffsenso/prestashop-skills --skill audit-object-model

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 4 stars4 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Read the legacy ObjectModel class for the domain and extract its database schema, field definitions, multilingual fields, and validation rules. This is the authoritative source for what columns the Doctrine repository must handle.

SKILL.md

1.7 KB, as published. Nobody here has run it

audit-object-model

Instructions

  1. Open classes/{Domain}.php — read the $definition array fully.
  2. Extract the table name — this is the primary DB table.
  3. List every field in $definition['fields']: field name, type, validate rule, required flag, lang flag, shop flag.
  4. Identify multilingual fields ('lang' => true) — these need TranslatableType in the form and multilingual handling in handlers.
  5. Identify shop-scoped fields ('shop' => true) — these require multistore-aware repository methods.
  6. If classes/lang/{Domain}Lang.php exists, read it and confirm the lang table structure.
  7. Note any hasMany or hasManyToMany relations defined — these become sub-resources (handled by dedicated commands and repositories when the domain is non-trivial).
  8. Record every $validateFields() rule — these inform ValueObject validation.
  9. Output: structured schema map (table, columns, lang columns, shop columns, relations, validation rules).

Rules

  • Never modify ObjectModel files — read-only audit
  • Flag any field with a custom validate method (Validate::isXxx) — these need a custom ValueObject
  • Note $identifier field name — it becomes the {Domain}Id ValueObject
  • Relations declared in ObjectModel that link to another entity's table are sub-resource candidates

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.