{"$schema":"https://soulcraft.com/schemas/kit/v2.json","id":"web-application","type":"soulcraft","role":"primary","status":"released","name":"Web Application","description":"Clean SvelteKit + Brainy starting point for any web app","longDescription":"A minimal, clean SvelteKit + Brainy application template that serves as the reference implementation for all app templates. Includes modern SvelteKit 2 with Svelte 5 runes, TypeScript, a pre-configured Brainy client, and Workshop-integrated theming.","version":"1.0.0","author":{"name":"Soulcraft Labs","email":"kits@soulcraft.com","url":"https://soulcraft.com"},"icon":"🌐","tags":["sveltekit","brainy","typescript","web-app","starter","reference"],"variables":[{"key":"appName","label":"App Name","description":"The name of your web application","type":"string","required":true,"example":"my-app"},{"key":"description","label":"Description","description":"A short description of your application","type":"string","required":false,"example":"A knowledge-powered web application","default":"A web application built with SvelteKit and Brainy"}],"shared":{"industry":"software-development","category":"development","aiExpertise":["SvelteKit application architecture","Brainy data modeling and querying","TypeScript and Svelte 5 runes","Server-side rendering patterns","Workshop app integration"],"dataModelHints":["system","concept"],"dataModel":{"entities":[{"domain":"component","type":"Concept","description":"A reusable Svelte component in the application","products":{"workshop":{"view":"tree","icon":"🧩"},"academy":{"mapsTo":"knowledge-unit","assessable":true}}},{"domain":"route","type":"Concept","description":"A SvelteKit page or API route","products":{"workshop":{"view":"tree","icon":"🔗"},"academy":{"mapsTo":"knowledge-unit","assessable":true}}},{"domain":"type","type":"Concept","description":"A TypeScript type or interface defining data shape","products":{"workshop":{"view":"graph","icon":"📐"},"academy":{"mapsTo":"knowledge-unit","assessable":true}}}],"relationships":[{"from":"component","to":"component","verb":"Imports","description":"Component imports and uses another component"},{"from":"route","to":"component","verb":"Renders","description":"Route renders this component"}]},"suggestions":[{"label":"Add a route","prompt":"Help me create a new SvelteKit route with a page component"},{"label":"Create a component","prompt":"Help me create a reusable Svelte component"},{"label":"Add Brainy query","prompt":"Help me add a Brainy query to fetch and display data"},{"label":"Add a form","prompt":"Help me create a form that saves data to Brainy"},{"label":"Run the app","prompt":"Run my app and show me the preview"},{"label":"Debug an issue","prompt":"Help me debug an issue with my app"}]},"academy":{"skillPath":"web-development","level":"intermediate","learningObjectives":["Set up a SvelteKit application with server-side rendering, TypeScript strict mode, and Brainy data access","Model application data as typed Brainy entities and write queries with filtering and relationship traversal","Build form actions with server-side validation and optimistic UI feedback","Implement authentication and protect server routes against unauthenticated access","Deploy the application to a cloud provider and verify production behaviour"],"assessmentTypes":["demo","code-review"],"mode":"certification","tutorPersona":{"inheritsFrom":"workshop.aiPersona","method":"socratic","encouragementLevel":"neutral","flashcardsEnabled":true},"certification":{"requiresHumanCertifier":false,"aiCertifierAllowed":true,"lineageEnabled":true,"certificationSlug":"web-developer"},"gamification":{"enabled":true,"achievements":["deep-thinker","completionist","chain-maker"],"streaks":false,"leaderboard":true}},"workshop":{"difficulty":"intermediate","templateTier":4,"aiPersona":{"role":"You are a senior SvelteKit and Brainy developer helping users build clean, well-structured web applications using modern patterns and best practices.","expertise":["SvelteKit routing and layouts","Svelte 5 runes and reactivity","Brainy data modeling","TypeScript strict mode","Workshop app architecture"],"tone":"collaborator"},"workspaceConfig":{"paradigm":"builder","defaultView":"app"},"graphGuidance":{"conceptCreation":{"triggers":["User creates a new component","User adds a new route","User defines a new data type"],"typeMapping":{"component":"system","route":"system","type":"concept"}},"relationshipPatterns":[{"from":"system","to":"system","verb":"imports","description":"Component imports another"},{"from":"system","to":"system","verb":"renders","description":"Route renders component"}],"rules":["Track component dependencies","Map routes to their components"]},"qualityGates":{"fileChecks":[{"path":"package.json","required":["svelte","@sveltejs/kit"]},{"path":"src/lib/brainy.ts","required":["BrainyClient","export"]}],"projectChecks":["App starts with npm run dev","Dashboard loads without errors","Brainy client initializes correctly"],"exportReady":["No TypeScript errors","All routes load correctly"]},"templateMetadata":{"identifyByStructure":true,"runnable":true,"runnableCommand":"npm run dev"},"publishConfig":{"contentType":"app","publishable":true,"appEntry":"src/App.svelte"},"deploy":{"provider":"cloud-run","buildCommand":"npm run build","outputDir":"build","config":{"port":3000,"memory":"512Mi"},"oneClickCommand":"gcloud run deploy"}},"venue":{"bookingNumberPrefix":"WA","subdomainPrefix":"webapp","features":{"blog":true,"cms":true,"customerAccounts":true,"apps":true,"documents":true,"website":true,"subscriptions":true,"support":true,"notifications":true,"analytics":true,"giftCards":false,"pos":false,"loyalty":false,"waivers":false,"animals":false,"adoption":false,"memories":false,"partners":false,"franchise":false},"fees":{"billingModel":"subscription","feeMode":"online-only"},"theme":{"primary":"oklch(0.45 0.20 255)","bgBase":"oklch(0.99 0.005 255)","accent":"oklch(0.62 0.16 175)","textPrimary":"oklch(0.20 0.03 255)","displayFont":"Plus Jakarta Sans","bodyFont":"Inter"},"experienceTypes":[],"chatSuggestions":[{"label":"Start a free trial","message":"I'd like to try the app. How do I get started?","emoji":"🚀"},{"label":"Pricing plans","message":"What pricing plans are available? What's included in each?","emoji":"💳"},{"label":"I need help","message":"I'm stuck on something. Can you help me?","emoji":"🆘"},{"label":"Upgrade my plan","message":"I want to upgrade to a higher tier. What are my options?","emoji":"⬆️"}]},"previewImageUrl":"kits/web-application/images/preview.webp"}