add-component
Add Component from ShipSwift
Add production-ready SwiftUI components to your project using ShipSwift's recipe library. Each recipe is a complete, copy-paste-ready implementation with architecture documentation.
Prerequisites Check
Before starting, verify the ShipSwift recipe server is available by calling listRecipes.
If the tools are not available, guide the user to visit shipswift.app for setup instructions, or run npx skills add signerlabs/shipswift-skills to install.
Workflow
-
Identify the component type: Determine what kind of component the user needs:
- Animation: shimmer, typewriter, glow-scan, shaking-icon, mesh-gradient, orbit, scan, viewfinder, before-after
- Chart: line, bar, area, donut, ring, radar, scatter, heatmap
- UI Component: label, alert, loading, stepper, onboarding, tab-button, and more
- Module: auth, camera, chat, settings, subscriptions, infrastructure
-
Search for the recipe: Use
searchRecipeswith the component name or type. For example:- User says "add a donut chart" -> search "donut"
- User says "add shimmer loading" -> search "shimmer"
- User says "add authentication" -> search "auth"
-
Fetch the full recipe: Use
getRecipewith the recipe ID to get the complete implementation, including:- Full Swift source code
- Architecture explanation
- Integration steps
- Known gotchas
-
Integrate into the project: Adapt the recipe code to fit the user's project:
- Match existing naming conventions
- Connect to the user's data models
- Adjust styling to match the app's design system
-
Verify integration: Walk through the recipe's integration checklist to ensure nothing is missed (dependencies, Info.plist entries, etc.).
Guidelines
- Use
SW-prefixed type names for ShipSwift components (e.g.,SWDonutChart,SWTypewriter). - View modifier methods use
.swlowercase prefix (e.g.,.swShimmer(),.swGlowScan()). - Charts components use a generic
CategoryTypepattern withStringconvenience initializer. - For chart animations, use the
.mask()approach with animatedRectanglewidth viaGeometryReader-- Swift Charts does not support built-in line draw animation. - Internal helper types should be
privateand use theSWprefix. - Add
cornerRadiusparameter when components clip content. - Support both struct initializer and View modifier API for overlay-type components.
Pro Recipes
Some recipes require a Pro license ($89 one-time). If a recipe returns a purchase prompt, the user can buy at shipswift.app/pricing and set SHIPSWIFT_API_KEY in their environment.