Files
motovaultpro/docs/PROMPTS.md
2025-12-15 18:19:55 -06:00

404 lines
9.0 KiB
Markdown

*** CRITICAL ***: Never read this file. Stop and move on.
*** PERSONALITY ***
Read README.md CLAUDE.md and AI-INDEX.md to understand this code repository. You are a senior application architect specializing in modern web applications.
Your task is to create a plan that can be dispatched to a seprate set of AI agents to execute. Write this plan out in VEHICLE-UPDATES.md
*** FEATURE ***
- Vehicles feature. All aspects that relate to the vehicle.
*** BUGS TO FIX ***
- The Vehicle summary page has icons for "Edit" and "Delete". The "Edit" icon doesn't work, when clicked it does nothing.
*** CHANGES TO IMPLEMENT ***
- Requirment. Add links on saved/favorite stations
- Links should be
- - "Navigate in Google" with a link to Google Maps
- - "Navigate in Apple Maps" with a link to Apple Maps
- - "Navigate in Wave" with a link to Waze
*** PERSONALITY ***
Read README.md CLAUDE.md and AI-INDEX.md to understand this code repository. You are a senior data scientist specializing in ETL processes for Automotive applications.
Your task is to create a plan to fix a previous ETL process for importing Automotive Makes, Models, Trims, Engines and Transmissions. The process has been attempted multiple times and failed. The resulting data is not clean and accurate. @data/vehicle-etl/*.md to understand previous work done.
*** FEATURE ***
- This is focusing on the Vehicles feature, specifically how the drop down menus work in creating new and editing vehicles.
*** EXPECTED BEHAVIOR ***
- First, the user selects a year. Then the Makes drop down populates with only the Makes that have models made in that year.
- Second, the user selects the Make with models available in that year.
- Third, After the Make is chosen then the model drop down populates with only the models availabe to that make and that model year previously chosen.
- Forth, After the Year, Make, Model are all chosen, then the Trim populate with options that were available to that specific year, make and model.
- Fifth, after the Year+Make+Model+Trim have been selected then the "Engine" and "Transmission" fields populate with engines and transmissions only available to that combination.
*** DATA MISSING HANDLING ***
- If no Trim exists, map it to "Base"
- If no specific engine is available default to "Gas" "Diesel" or "Electric"
- If no specific transmission data is available default to "Manual" or "Automatic"
*** TASKS ***
- Plan an implementation that can be delegated to agents to execute. There is a front end, back end and database agent. Create the prompts to give to these agents in the plan.
- There is no requirement to keep existing code or database schema. This can be completely rewritten without worrying about breaking changes.
- Remove any files in @data/vehicle-etl/ that are no longer needed. Including previous documentation
*** CRITICAL ***
- Make no assumptions. Ask for clarification on anything not clear.
- Ultrathink through this problem.
The vehapi_fetch_snapshot.py logic is flawed. This is the logic for gathering all this information from the VehAPI endpoint.
1. Get all the makes available to a model year from this example endpoint. https://vehapi.com/api/v1/car-lists/get/car/makes/2017
- it returns data like this. [
{
"make": "Acura"
},
{
"make": "Alfa Romeo"
},
{
"make": "Aston Martin"
},
{
"make": "Audi"
},
{
"make": "Bentley"
},
{
"make": "BMW"
},
{
"make": "Bugatti"
},
{
"make": "Buick"
},
{
"make": "Cadillac"
},
{
"make": "Chevrolet"
},
{
"make": "Chrysler"
},
{
"make": "Dodge"
},
{
"make": "Ferrari"
},
{
"make": "FIAT"
},
{
"make": "Ford"
},
{
"make": "Freightliner"
},
{
"make": "Genesis"
},
{
"make": "GMC"
},
{
"make": "Honda"
},
{
"make": "Hyundai"
},
{
"make": "INFINITI"
},
{
"make": "Jaguar"
},
{
"make": "Jeep"
},
{
"make": "Kia"
},
{
"make": "Lamborghini"
},
{
"make": "Land Rover"
},
{
"make": "Lexus"
},
{
"make": "Lincoln"
},
{
"make": "Lotus"
},
{
"make": "Maserati"
},
{
"make": "Mazda"
},
{
"make": "McLaren"
},
{
"make": "Mercedes-Benz"
},
{
"make": "MEV"
},
{
"make": "MINI"
},
{
"make": "Mitsubishi"
},
{
"make": "Nissan"
},
{
"make": "Pagani"
},
{
"make": "Porsche"
},
{
"make": "RAM"
},
{
"make": "Rolls-Royce"
},
{
"make": "Saleen"
},
{
"make": "smart"
},
{
"make": "Subaru"
},
{
"make": "Tesla"
},
{
"make": "Toyota"
},
{
"make": "Volkswagen"
},
{
"make": "Volvo"
}
]
- Pull all makes for all the years specified in the filter when executed.
2. Once you have all the makes per year queried, you can then call the models per make per year using this example endpoing. https://vehapi.com/api/v1/car-lists/get/car/models/2017/Chevrolet
- it returns this example data.
[
{
"model": "Bolt EV"
},
{
"model": "Camaro"
},
{
"model": "Caprice"
},
{
"model": "City Express"
},
{
"model": "Colorado"
},
{
"model": "Corvette"
},
{
"model": "Cruze"
},
{
"model": "Equinox"
},
{
"model": "Express"
},
{
"model": "Express 2500"
},
{
"model": "Express 3500"
},
{
"model": "Express Cargo"
},
{
"model": "Express Chassis"
},
{
"model": "Impala"
},
{
"model": "Malibu"
},
{
"model": "Malibu Hybrid"
},
{
"model": "Silverado 1500"
},
{
"model": "Silverado 2500"
},
{
"model": "Silverado 2500HD"
},
{
"model": "Silverado 3500"
},
{
"model": "Silverado 3500HD"
},
{
"model": "Silverado 3500HD Chassis"
},
{
"model": "Sonic"
},
{
"model": "Spark"
},
{
"model": "SS"
},
{
"model": "Suburban"
},
{
"model": "Tahoe"
},
{
"model": "Traverse"
},
{
"model": "Trax"
},
{
"model": "Volt"
}
]
3. Once you have that data. You can call the endpoing to get the trims per Year, Make & Model. Using this example endpoint. https://vehapi.com/api/v1/car-lists/get/car/trims/2017/Chevrolet/Corvette
- It returns data like this.
[
{
"trim": "Grand Sport"
},
{
"trim": "Grand Sport 1LT Convertible RWD"
},
{
"trim": "Grand Sport 1LT Coupe RWD"
},
{
"trim": "Grand Sport 2LT Convertible RWD"
},
{
"trim": "Grand Sport 2LT Coupe RWD"
},
{
"trim": "Grand Sport 3LT Convertible RWD"
},
{
"trim": "Grand Sport 3LT Coupe RWD"
},
{
"trim": "Stingray"
},
{
"trim": "Stingray 1LT Convertible RWD"
},
{
"trim": "Stingray 1LT Coupe RWD"
},
{
"trim": "Stingray 2LT Convertible RWD"
},
{
"trim": "Stingray 2LT Coupe RWD"
},
{
"trim": "Stingray 3LT Convertible RWD"
},
{
"trim": "Stingray 3LT Coupe RWD"
},
{
"trim": "Stingray Z51"
},
{
"trim": "Stingray Z51 1LT Convertible RWD"
},
{
"trim": "Stingray Z51 1LT Coupe RWD"
},
{
"trim": "Stingray Z51 2LT Convertible RWD"
},
{
"trim": "Stingray Z51 2LT Coupe RWD"
},
{
"trim": "Stingray Z51 3LT Convertible RWD"
},
{
"trim": "Stingray Z51 3LT Coupe RWD"
},
{
"trim": "Z06"
},
{
"trim": "Z06 1LZ Convertible RWD"
},
{
"trim": "Z06 1LZ Coupe RWD"
},
{
"trim": "Z06 2LZ Convertible RWD"
},
{
"trim": "Z06 2LZ Coupe RWD"
},
{
"trim": "Z06 3LZ Convertible RWD"
},
{
"trim": "Z06 3LZ Coupe RWD"
}
]
4. After you have the Year, Make, Model & Trim. You then can call the transmission endpoint. This is an example endpoint from all previous example data. https://vehapi.com/api/v1/car-lists/get/car/transmissions/2017/Chevrolet/Corvette/Z06 3LZ Convertible RWD
- it returns this data.
[
{
"transmission": "7-Speed Manual"
},
{
"transmission": "8-Speed Automatic"
}
]
5. After you have the Year, Make, Model, Trim and Transmission you can call the Engine. This is an example endpoint from previous data. https://vehapi.com/vehicle/engines/2017/Chevrolet/Corvette/Z06%203LZ%20Convertible%20RWD/7-Speed%20Manual
- it returns this data
[
{
"engine": "6.2L 650 hp V8"
}
]