Provide brand/name, a tagline of four words or fewer, audience and market. Gather each model’s base price, battery/size variants, specs, categories and approved photos, plus accessories, partner-shop fleet/contact details, warranty/returns and delivery facts. List missing ordinary product data as placeholders; do not invent safety tests, certifications, performance results, reviews, dealer availability or financing terms.
Use the standalone template when no project/stack is named. Inspect an existing/requested framework, preserve unrelated files and build shared components, typed bike/category/equipment/story/dealer collections and actual routes. The package recommends Next.js App Router with TypeScript only when a framework is wanted but unspecified. Keep the hash router for the offline file; do not inject the whole page or iframe it as the framework implementation.
Preserve the hero: paper header, inset orange photographic panel, a complete centered bike in a feathered stage, category eyebrow, two-line white Anton model/tagline capped at 46px desktop/34px phone, one light CTA and bottom-left arrows/counter. It supports one to three slides; hide controls/stop autoplay with one. Keep each stage’s measured edge color aligned with its panel and avoid extra hero stats, model blocks, badges or a second CTA.
Keep Anton display, Archivo reading/UI and Geist Mono data, 1320px container and responsive 72–136px chapter spacing. Use one orange accent with dark ink and paper/stone grounds; small text on orange is ink, with large hero display the limited white-text exception. Maintain dark photographic category cards, macro-photo component tabs, matching catalog sweep and varied home compositions. Do not replace the design with generic pastel cards or purple gradients.
Adapt the catalog and navigation together. Data collections render products, categories, equipment, posts, dealers, counts and search; route renames must also update page IDs, links, nav mapping/resolver/render keys. Two/three categories get adjusted grids; one can omit category cards/pages. Fewer than five products need a smaller grid or relevant accessories instead of a visibly empty rail. Remove comparison when fewer than two products exist, and synchronize headings that state counts.
Give every product useful detail: same-model studio/context gallery, battery price/range, size/fit data and disabled sizes, delivery/warranty facts, grouped specs, truthful owner reviews and related items. Accessory options change price and need appropriate dimensions/compatibility. The sample monthly finance note is a simple price-divided-by-twelve/0% claim, so replace or omit it unless an approved actual finance offer supports it.
Set locale, currency, tax mode/rate/name, postcode pattern/hint, shipping fees/threshold, energy price and promo settings before reviewing totals. Also rewrite static ZIP/input-mode labels, legal/tax wording, delivery tables and calculator text; a settings change alone does not localize all copy. The sample promo discounts equipment only, bike-containing home delivery is free, pickup is free and express can override the normal fee. Added tax is calculated on discounted goods, while included tax extracts a share from the total. Verify these assumptions against the intended market rather than treating a constant rate as a tax service.
Walk the complete local cart path: choose variants, add with feedback, open drawer, adjust quantity, remove/undo, save/restore, apply valid/invalid promo and inspect empty states. Like variants share a cart key; quantities are capped in the demo logic. Cart, saved items, promo and sample order use browser storage with an in-memory fallback when unavailable; this is not a customer account or synchronized inventory.
Validate checkout for address and shop delivery, phone/postcode errors, terms and changing totals. It copies cart lines/totals into a local order with random example number/current date, clears the cart/promo and opens confirmation. No charge, order submission or fulfillment happens. Keep that distinction in the interface and verify refresh/return/empty checkout behavior before adding a backend.
Qualify the range calculator as an estimate. It combines battery Wh, assist consumption, terrain, rider weight and a per-model factor; remaining usable energy is assumed at 90%, and energy cost includes a fixed charging-loss allowance. Special battery IDs map to sample capacities, charging time assumes the configured charger with fixed voltage/efficiency, and new model IDs fall back to a factor of one. Replace these assumptions for another vehicle; do not present the number as a tested range guarantee.
Adapt shops and test rides as enquiries. The sample generates six future dates excluding Mondays and marks some times unavailable by a deterministic pattern, not by contacting a shop calendar. Check chosen shop/model, date reset, disabled-time feedback, name/email and request-again flow. The success note says nothing was sent. If the brand has no test rides, use locations/service enquiries or remove dealers/finder instead of leaving fictional availability.
Plan one consistent photo set: orange hero/model shots, stone catalog profiles, dusk category/lifestyle, orange macro details, journal and workshop. Every model needs its own image, complete mechanics and wheels; never borrow a shipped bike photo as the buyer’s product. A card can reuse that model’s photo on its own detail/bag/compare views. Real founders/team need approved photos; generated riders/workshop people are disclosed stand-ins.
On a small budget start with an orange studio shot per featured/model subject, deriving stage/catalog versions where suitable; add category lifestyle, a split accessory sheet, macros and editorial scenes as budget permits. Neutral equipment/close-up placeholders may be retained only when relevant, while the sample bikes and e-bike-specific parts/lifestyle need replacement for another vehicle. An available agent image tool may charge; approved supplied photos are an alternative.
Normalize with Python, NumPy and Pillow: stage aligns scale/wheel baseline on a 2:1 canvas and prints the panel color; catalog pads/centers on the stone ground; split crops evenly arranged accessory sheets. Orange-background conversion can neutralize genuine orange/tan/wood parts, so use keep-orange or a separate stone shoot when needed. Color masks do not prove perfect product isolation. Inspect texture/seams at full size and tiny pseudo-labels/mechanics at high zoom, not just the printed color values.
Replace identity throughout metadata, brand/accessible labels/footer, hero slide hooks/backgrounds, model defaults, reviews, service claims, part captions, story/contact/delivery/legal text, safety/warranty statements, map/shop content and order prefix/storage key. Keep image-key and face/vehicle subject relationships coherent. Every drafted model/spec/date/price/shop/result and retained placeholder image needs an explicit review list.
For React/Next.js ports the package specifies actual ReUI buttons, fields/selects, radio/toggle groups, tabs, accordions, dialogs and menu/bag sheets styled through mapped tokens and original classes. Quantity stepping needs explicit composition; decorative photo/carousel/tactile motion remains bespoke. Verify non-React support rather than switching stacks or claiming direct Vue/Svelte compatibility.
Prepare the offline file with Node.js 18+ and initial internet access for three font files; embed local images, target under 5 MB and remain under the 8 MB validator cap. The inliner writes before reporting missing assets, so inspect its exit status. Validate final HTML/local-files output, noting that the implementation does check adjacent file existence despite a broader comment suggesting otherwise. Static routing checks are not proof that every dynamic product ID exists; framework output needs its own build/type checks.
Review Home and at least six inner pages at 1440, 1024, 768 and 390px, checking overflow at 360/1920px. Click through product gallery/fit/options, cart/checkout/order, compare, filters/search/sort/reset, calculator and test-ride paths. Test keyboard/focus/Escape on mega/menu/drawer/search, hero autoplay pause/stop rules, reduced motion, mobile buy bar and actual copy contents. Repeat scripts-only iframe paths for standalone delivery, fix/rebuild/recheck and report actual checks separately from code reading and outstanding service/data/photo gaps.