115 lines
4.7 KiB
Markdown
115 lines
4.7 KiB
Markdown
---
|
|
name: adding-juozas-auto-listing
|
|
description: Use when adding, improving, publishing, or replacing a Juozas Auto car listing, especially when photos, vehicle details, Lithuanian copy, content collection fields, or post-add verification are involved.
|
|
---
|
|
|
|
# Adding Juozas Auto Listing
|
|
|
|
## Overview
|
|
|
|
Add listings as conversion assets, not data entry. A superb listing has complete facts, strong real photos, calm Lithuanian copy, valid content schema, correct slug, and a verified build before commit or push.
|
|
|
|
## Before Editing
|
|
|
|
Ask only for missing facts. Do not invent vehicle details.
|
|
|
|
Required facts:
|
|
- Make, model, year, city, price, mileage.
|
|
- Fuel, transmission, body type, color.
|
|
- At least one photo, with cover photo identified.
|
|
- Publish date. Use today's date only if the user agrees or asks to publish now.
|
|
|
|
Allowed schema values:
|
|
- Fuel: `benzinas`, `dyzelinas`, `hibridas`, `elektra`, `dujos`.
|
|
- Transmission: `mechaninė`, `automatinė`.
|
|
- Body type: `sedanas`, `universalas`, `hečbekas`, `visureigis`, `kupė`, `kabrioletas`, `vienatūris`.
|
|
- Drivetrain: `priekiniai`, `galiniai`, `visi`.
|
|
|
|
High-value facts to ask when missing:
|
|
- Power in kW, engine size in liters, drivetrain.
|
|
- First registration month, VIN visibility, service history, known defects.
|
|
- Recent maintenance, tire set, ownership/import history.
|
|
- What should be emphasized in the first 2 sentences.
|
|
- Whether plates, faces, documents, or location clues need blurring before publish.
|
|
|
|
If the user has photos but they are not in the workspace, ask where they are. If the photos are poor, say what is missing: exterior front three-quarter, rear, interior, odometer, tires, service book, visible defects.
|
|
|
|
## File Locations
|
|
|
|
Use this exact structure:
|
|
|
|
```text
|
|
src/content/cars/<slug>.md
|
|
src/content/cars/_photos/<slug>/01.jpg
|
|
src/content/cars/_photos/<slug>/02.jpg
|
|
```
|
|
|
|
Slug format:
|
|
|
|
```text
|
|
${make}-${model}-${year}-${city}
|
|
```
|
|
|
|
Lowercase, ASCII-folded Lithuanian diacritics, words separated by hyphens. Example: `skoda-octavia-2020-siauliai`.
|
|
|
|
Before creating files, check whether `src/content/cars/<slug>.md` or `src/content/cars/_photos/<slug>/` already exists. If it does, ask whether this is an update or create a collision-free slug only with user approval.
|
|
|
|
For trim/body naming, keep the model as the buyer would search it, for example `A6 Avant` may use model `A6 Avant` and body type `universalas`. Do not hide meaningful trim names just to simplify the slug.
|
|
|
|
## Listing Quality Bar
|
|
|
|
Frontmatter must satisfy `src/content/config.ts` exactly. `photos` must contain at least one local image path. Keep optional fields absent if unknown rather than guessing.
|
|
|
|
Description pattern:
|
|
- Paragraph 1: the buyer-facing summary in Lithuanian, 1-2 calm sentences.
|
|
- Paragraph 2: condition, service, ownership, or usage context.
|
|
- Paragraph 3: transparent caveats or viewing/contact note if useful.
|
|
|
|
Tone: quiet, premium, honest. No hype, emojis, fake urgency, or all-caps selling.
|
|
|
|
## Photo Workflow
|
|
|
|
1. Put originals in `src/content/cars/_photos/<slug>/`.
|
|
2. Name the best cover image `01.jpg` when the source is JPEG. If the user provides PNG, WebP, HEIC, or another format, either preserve the real extension in frontmatter or convert intentionally with a normal image tool. Do not rename a non-JPEG file to `.jpg` without conversion.
|
|
3. Use meaningful order: exterior, interior, dashboard/odometer, wheels, defects.
|
|
4. Prefer landscape photos. Do not add synthetic stock photos for real listings unless the user explicitly requests placeholders.
|
|
5. If editing photos is needed, preserve originals outside the final committed set or use clearly named processed files.
|
|
|
|
## Verification
|
|
|
|
Run after adding or changing a listing:
|
|
|
|
```sh
|
|
npm test
|
|
npm run build
|
|
```
|
|
|
|
Also inspect the generated or dev listing at 375px width. Confirm:
|
|
- Price is visible quickly.
|
|
- Call or WhatsApp is reachable without hunting.
|
|
- Photos look credible and premium.
|
|
- Markdown renders cleanly.
|
|
- SEO title, OG image, and JSON-LD still build.
|
|
|
|
## Commit And Push
|
|
|
|
Only commit and push when explicitly requested. Stage only intended listing, photo, and related documentation changes unless the user asked to include everything.
|
|
|
|
Use a conventional message:
|
|
|
|
```sh
|
|
git commit -m "feat: add <make> <model> listing"
|
|
```
|
|
|
|
If pushing directly to `main`, first verify the branch and remote state with `git status --short --branch`.
|
|
|
|
## Common Mistakes
|
|
|
|
| Mistake | Fix |
|
|
|---|---|
|
|
| Creating a slug without city | Include city to match route convention. |
|
|
| Guessing specs | Ask or omit optional fields. |
|
|
| Referencing photos outside `src/content/cars/_photos` | Move photos into the content photo folder so Astro can optimize them. |
|
|
| Using loud sales copy | Rewrite as calm Lithuanian buyer guidance. |
|
|
| Skipping build | Build catches schema and image path failures. |
|