# CLAUDE.md — [Store name]

<!--
Template from procadena.com: "Designing and launching a PrestaShop shop with
AI assistance". Fill in every [bracket], delete what does not apply, and keep
this file at the root of the repository. Claude Code reads it at the start of
every session, so keep it short, current and specific.
-->

## What this project is

- **Store:** [name], selling [what] to [whom].
- **Markets:** [countries], currencies [..], languages [..].
- **Platform:** PrestaShop [version] on PHP [version]. Both must still receive
  security fixes; do not suggest downgrades.
- **Theme:** child theme `[child-theme]` of `[parent-theme]`. Never edit the
  parent theme.
- **Custom modules:** `modules/[prefix]_*`, all in this repository.
- **Multistore:** [yes/no]. If yes, every change must state which shops it affects.

## Repository layout

```
themes/[child-theme]/     templates, assets, translations
modules/[prefix]_*/       custom modules
config/                   non-secret configuration only
tests/                    automated tests
docs/                     brief, decisions, runbooks
```

## Environments

| Environment | URL | What the assistant may do |
| --- | --- | --- |
| Local | [url] | Read, write, run commands |
| Staging | [url] | Read; deploy only when asked |
| Production | [url] | Read only, through the read-only MCP server |

## Commands

- Start locally: `[command, e.g. docker compose up -d]`
- Clear cache: `php bin/console cache:clear`
- Tests: `[command]`
- Static analysis: `vendor/bin/phpstan analyse` (level [n])
- Coding standards: `[php-cs-fixer / phpcs command]`
- Secret scan: `gitleaks git --staged`

## Conventions

- Use hooks; avoid overrides. Never modify PrestaShop core files.
- Prefix every module, class, configuration key and database table with `[prefix]`.
- Escape all output in templates; cast or sanitise all input (`(int)`, `pSQL()`,
  or prepared statements in modern modules).
- Every visible string is translatable and exists in all store languages.
- Keep each change small enough to review in one sitting.

## Data and privacy

- Never paste customer data into prompts. Use the read-only MCP server, which
  masks personal data, or an anonymised database copy.
- No database dumps, logs or `.env` files in the repository.

## MCP servers

- `[read-only store server]`: files and database of [environment], read-only.
- `[optional] Figma`: design context for frames, variables and components.

## Never

- Write to the production database or files.
- Edit core files or the parent theme.
- Commit secrets, `.env` or `app/config/parameters.php`.
- Disable or skip a review gate to make a commit pass.
- Change prices, taxes, payment or shipping modules, or legal texts without
  explicit approval from [owner].

## Before every commit

- [ ] Tests, PHPStan, coding standards and the secret scan pass.
- [ ] The diff does one thing and is small enough to review.
- [ ] Translations exist for every new string, in every language.
- [ ] The change was checked in the browser after clearing the cache.

## When unsure

Ask. A question costs less than a wrong assumption.
