---
title: "AGENTS.md — JustIdea Prestashop DEMO"
description: "Conventions for AI coding agents integrating with this store."
canonical: "https://prestashop.justidea.dev/AGENTS.md"
last-updated: 2026-10-16
---
# AGENTS.md

Read this before writing code against JustIdea Prestashop DEMO. It describes the machine-facing contract of this store: what exists, what is guaranteed, and what will break if you assume otherwise.

## Start here

| Purpose | URL |
| --- | --- |
| Machine-readable API contract | https://prestashop.justidea.dev/.well-known/openapi.json |
| Human documentation | https://prestashop.justidea.dev/agent/docs |
| Store summary | https://prestashop.justidea.dev/llms.txt |
| Capability catalogue | https://prestashop.justidea.dev/.well-known/ai-catalog.json |
| Authentication | https://prestashop.justidea.dev/auth.md |
| Live health and limits | https://prestashop.justidea.dev/v1/status |

## Conventions

- **Generate clients from the OpenAPI document, do not hand-roll them.** It is generated from the same route table the server dispatches on, so it cannot drift from the implementation.
- **Every operation is a read.** Nothing here creates, changes or deletes. Retrying is always safe.
- **Paginate with the `Link` header**, not by incrementing offsets until you get an empty page. `rel="next"` is absent on the last page.
- **Read `RateLimit-Remaining` and back off before you hit zero.** On `429` honour `Retry-After` rather than retrying immediately.
- **Send `Accept: application/json`** on API paths. Without it, error bodies may come back as text for browsers.
- **Prices are per-shop and per-currency.** Never cache a price across currencies or across shops in a multistore install.

## Things that will bite you

- Product URLs change when a merchant edits the name. Key on the numeric id, not the slug.
- Stock is live. A product listed as in stock can be gone a second later; confirm at checkout rather than trusting a cached listing.
- The catalogue is multilingual. A request without a language lands on the shop default, which may not be the one you want.
- `.md` on any page URL returns the same page as markdown. Use it instead of scraping HTML.

## Authentication

Catalogue, pricing, stock, shipping and policies need no credentials at all. Only the MCP endpoint uses a bearer token, issued by the shop owner from the Back Office. See https://prestashop.justidea.dev/auth.md.

## Reporting a problem

If a document here contradicts what the server actually does, the server is right and the document is a bug. Tell the shop owner.
