{"$schema":"https://soulcraft.com/schemas/kit/v2.json","id":"recipe-manager","type":"soulcraft","role":"primary","status":"released","name":"Recipe Manager","description":"Recipe collection with meal planning, ingredient tracking, and shopping lists","longDescription":"Build a recipe collection and meal planning app with beautiful gallery views. Link recipes to ingredients, plan weekly meals on a calendar, auto-generate shopping lists, and filter by dietary tags. Uses Brainy for document, thing, event, and topic entity modeling.","version":"1.0.0","author":{"name":"Soulcraft Labs","email":"kits@soulcraft.com","url":"https://soulcraft.com"},"icon":"🍳","tags":["recipes","cooking","meal-planning","ingredients","brainy","sveltekit"],"variables":[{"key":"appName","label":"App Name","description":"The name of your recipe manager app","type":"string","required":true,"example":"my-recipes"},{"key":"description","label":"Description","description":"A short description of your recipe collection","type":"string","required":false,"example":"My recipe collection","default":"A beautiful recipe manager and meal planner"}],"shared":{"industry":"food-cooking","category":"creative","aiExpertise":["Recipe creation and scaling","Ingredient substitutions","Meal planning and nutrition","Cuisine exploration","Shopping list optimization"],"dataModelHints":["document","thing","event","topic"],"dataModel":{"entities":[{"domain":"recipe","type":"Document","description":"A recipe with ingredients, instructions, and metadata","products":{"workshop":{"view":"gallery","icon":"🍳"},"academy":{"mapsTo":"learning-artifact","assessable":true},"venue":{"mapsTo":"ContentPageMeta","pos":false}}},{"domain":"ingredient","type":"Thing","description":"A food ingredient used in one or more recipes","products":{"workshop":{"view":"gallery","icon":"🥕"},"academy":{"mapsTo":"resource","assessable":false},"venue":{"mapsTo":"InventoryItemMeta","pos":true}}},{"domain":"meal","type":"Event","description":"A planned meal on the calendar using one or more recipes","products":{"workshop":{"view":"timeline","icon":"🍽️"},"academy":{"mapsTo":"practice-session","assessable":true},"venue":{"mapsTo":"BookingMeta","pos":false}}},{"domain":"tag","type":"Concept","description":"A dietary or cuisine tag such as Vegan or Italian","products":{"workshop":{"view":"graph","icon":"🏷️"},"academy":{"mapsTo":"knowledge-unit","assessable":false}}}],"relationships":[{"from":"recipe","to":"ingredient","verb":"Contains","description":"Recipe requires this ingredient"},{"from":"ingredient","to":"ingredient","verb":"Transforms","description":"Ingredient can substitute for another"},{"from":"meal","to":"recipe","verb":"Uses","description":"Meal is prepared using this recipe"},{"from":"tag","to":"recipe","verb":"Categorizes","description":"Tag applied to this recipe"}]},"suggestions":[{"label":"Add a recipe","prompt":"Help me add a new recipe to my collection"},{"label":"Plan a meal","prompt":"Help me plan meals for this week using recipes in my collection"},{"label":"Find by ingredient","prompt":"What recipes can I make with ingredients I have on hand?"},{"label":"Scale a recipe","prompt":"Help me scale a recipe for a different number of servings"},{"label":"Organize by cuisine","prompt":"Help me organize my recipes by cuisine type"},{"label":"Browse recipes","prompt":"Show me my recipe collection in the gallery view"}]},"academy":{"skillPath":"culinary-arts","level":"beginner","learningObjectives":["Write a recipe with ingredient quantities, preparation steps, and timing accurate enough to reproduce","Identify viable ingredient substitutions and explain how they affect flavour and texture","Plan a weekly meal calendar that minimises food waste through shared ingredients","Scale a recipe up or down and recalculate seasoning ratios correctly"],"assessmentTypes":["portfolio","demo"],"mode":"self-paced","tutorPersona":{"inheritsFrom":"workshop.aiPersona","method":"exploratory","encouragementLevel":"warm","flashcardsEnabled":true},"certification":{"requiresHumanCertifier":false,"aiCertifierAllowed":true,"lineageEnabled":false,"certificationSlug":"recipe-developer"},"gamification":{"enabled":true,"achievements":["connector","deep-thinker","streak","completionist"],"streaks":true,"leaderboard":false}},"workshop":{"difficulty":"intermediate","templateTier":4,"aiPersona":{"role":"You are a culinary assistant helping home cooks build a beautiful recipe collection, plan meals, and discover new culinary ideas.","expertise":["Recipe creation and adaptation","Ingredient substitutions","Meal planning","Cooking techniques","Dietary accommodations"],"tone":"collaborator"},"workspaceConfig":{"paradigm":"creative","defaultTab":"explore","defaultView":"gallery","defaultFile":"recipes/first-recipe.md","layout":{"leftDock":"files","rightDock":"views"},"onboarding":{"showGuide":true,"highlightFeatures":["gallery","calendar","ai-chat"],"suggestedActions":["Add your favorite recipes","Use Gallery view to browse recipe photos","Plan meals in Calendar view","Ask AI for recipe variations"]}},"graphGuidance":{"conceptCreation":{"triggers":["User adds a recipe","User adds an ingredient","User plans a meal","User creates a dietary tag"],"typeMapping":{"recipe":"document","ingredient":"thing","meal":"event","tag":"topic"}},"relationshipPatterns":[{"from":"document","to":"thing","verb":"contains","description":"Recipe contains ingredient"},{"from":"thing","to":"thing","verb":"transforms","description":"Ingredient substitutes for another"},{"from":"event","to":"document","verb":"uses","description":"Meal uses recipe"},{"from":"topic","to":"document","verb":"categorizes","description":"Tag applied to recipe"}],"rules":["Every recipe should have ingredients linked","Track dietary tags for filtering","Link substitutions between ingredients"]},"qualityGates":{"fileChecks":[{"path":"package.json","required":["svelte","@sveltejs/kit","@soulcraft/brainy"],"optional":["typescript"]},{"path":"src/lib/types.ts","required":["Recipe","Ingredient"],"optional":["Meal","Tag"]}],"projectChecks":["App starts with npm run dev","Can create new recipes","Can add ingredients","Can plan meals","Search returns matching recipes"],"exportReady":["No TypeScript errors","All routes load correctly","Error handling in place"]},"sampleData":{"description":"Sample recipes demonstrating the app features","entities":[{"type":"document","name":"Classic Pasta Carbonara","properties":{"servings":4,"prepTime":15,"cookTime":20,"description":"Traditional Roman pasta with crispy guanciale and creamy egg sauce.","status":"tested","rating":5}},{"type":"thing","name":"Spaghetti","properties":{"category":"pasta","unit":"grams","description":"Long thin pasta, essential for carbonara."}},{"type":"topic","name":"Italian","properties":{"color":"#E91E63","description":"Traditional Italian cuisine."}}],"relationships":[{"from":"Classic Pasta Carbonara","verb":"contains","to":"Spaghetti"},{"from":"Italian","verb":"categorizes","to":"Classic Pasta Carbonara"}]},"templateMetadata":{"runnable":true,"runnableCommand":"npm run dev"},"deploy":{"provider":"cloud-run","buildCommand":"npm run build","outputDir":"build","config":{"port":3000,"memory":"512Mi"},"oneClickCommand":"gcloud run deploy"}},"venue":{"bookingNumberPrefix":"RM","subdomainPrefix":"recipes","features":{"blog":true,"cms":true,"customerAccounts":true,"website":true,"subscriptions":true,"notifications":true,"analytics":true,"giftCards":true,"pos":false,"documents":false,"loyalty":false,"waivers":false,"animals":false,"adoption":false,"memories":false,"partners":false,"franchise":false},"fees":{"billingModel":"per-transaction","feeMode":"online-only"},"theme":{"primary":"oklch(0.42 0.16 30)","bgBase":"oklch(0.98 0.01 40)","accent":"oklch(0.62 0.14 120)","textPrimary":"oklch(0.22 0.04 30)","displayFont":"Playfair Display","bodyFont":"Lato"},"experienceTypes":[{"slug":"cooking-class","name":"Cooking Class","description":"A hands-on or virtual cooking class focused on a seasonal ingredient, technique, or cuisine. Learn the recipes, understand the why behind each step, and cook alongside a chef.","priceInCents":6500,"durationMinutes":120,"minGuests":2,"maxGuests":12,"requiresWaiver":false,"isCombo":false,"sortOrder":0,"color":"oklch(0.55 0.14 30)","sessionAttributeDefinitions":[{"key":"cuisineType","label":"Cuisine / Theme","type":"text","perGuest":false,"required":true},{"key":"format","label":"Format","type":"select","perGuest":false,"required":true,"options":["In-person","Virtual / live stream"]}]},{"slug":"meal-plan-consultation","name":"Meal Plan Consultation","description":"A 45-minute one-on-one session to design a personalised meal plan around your dietary needs, schedule, and cooking skill level. Includes a 4-week recipe schedule.","priceInCents":9500,"durationMinutes":45,"minGuests":1,"maxGuests":1,"requiresWaiver":false,"isCombo":false,"sortOrder":1,"color":"oklch(0.55 0.12 120)","sessionAttributeDefinitions":[{"key":"dietaryNeeds","label":"Dietary Requirements","type":"text","perGuest":false,"required":false},{"key":"cookingLevel","label":"Cooking Level","type":"select","perGuest":false,"required":false,"options":["Beginner","Intermediate","Confident cook"]}]}],"staffRoles":[{"id":"chef-instructor","label":"Chef Instructor","defaultCapabilities":["checkin","pos","cms","analytics"]},{"id":"nutritionist","label":"Nutritionist","defaultCapabilities":["checkin","pos"]}],"chatSuggestions":[{"label":"Browse recipes","message":"What recipes do you have? I'm looking for something quick and healthy.","emoji":"🥗"},{"label":"Book a cooking class","message":"I'd like to join a cooking class. What's coming up?","emoji":"👨‍🍳"},{"label":"Meal plan consultation","message":"I need help with a weekly meal plan. Can I book a consultation?","emoji":"📋"},{"label":"Subscribe for recipes","message":"How do I subscribe to get new recipes and cooking tips?","emoji":"📬"}]},"previewImageUrl":"kits/recipe-manager/images/preview.webp"}