What problem does it solve? Deploying a web frontend to the Internet Computer requires correctly configuring an asset canister, and common mistakes like wrong build directories, missing SPA fallback rules, or misconfigured raw access cause silent failures, 404s, or security exposure. ## Core Features & Use Cases - icp.yaml Configuration: Set up the @dfinity/asset-canister recipe with build commands and output directory so icp deploy builds and uploads your frontend automatically. - SPA Routing and Headers: Configure .ic-assets.json5 with index.html fallback, cache headers, security policies, and raw access control. - Programmatic Uploads: Upload, list, and delete assets from Node.js code using AssetManager from @icp-sdk/canisters, with automatic chunking for files over 1.9MB. - Use Case: You built a Vite/React app and want it served on-chain with certified responses. This Skill walks you through the recipe setup, SPA fallback, deployment, and verification via http_request calls. ## Quick Start Deploy my Vite frontend in the dist folder to an Internet Computer asset canister with SPA routing enabled.