diff --git a/docs/PROMPTS.md b/docs/PROMPTS.md index c455460..40a0ea1 100644 --- a/docs/PROMPTS.md +++ b/docs/PROMPTS.md @@ -18,387 +18,15 @@ Your task is to create a plan that can be dispatched to a seprate set of AI agen - - "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. +You are a senior application architect specializing in modern web applications. Your task is to create a plan to improve the admin settings screen for managing the vehicle catalog. +Then read @docs/admin*.md files then read README.md CLAUDE.md and AI-INDEX.md to understand this code repository in the context of this change. *** FEATURE *** -- This is focusing on the Vehicles feature, specifically how the drop down menus work in creating new and editing vehicles. +- Admin Settings feature. Specifically improvements in the speed and UX for editing the vehicle catalog. -*** 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. +*** BUGS TO FIX *** +- Loading the data just spins right now. The amount of data overflows the client browser so the UX never shows. -*** 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" - } -] \ No newline at end of file +*** CHANGES TO IMPLEMENT *** +- Recommend an improved workflow to create, update and delete vehicle catalog combinations.