{"id":48947028,"url":"https://github.com/vibesmiths/craft","last_synced_at":"2026-04-17T17:08:03.437Z","repository":{"id":346677755,"uuid":"1191028599","full_name":"VibeSmiths/CRAFT","owner":"VibeSmiths","description":"Documentation site for CRAFT Studio (GitHub Pages)","archived":false,"fork":false,"pushed_at":"2026-04-04T18:05:36.000Z","size":48175,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"gh-pages","last_synced_at":"2026-04-04T20:56:56.771Z","etag":null,"topics":["documentation","github-pages","vitepress"],"latest_commit_sha":null,"homepage":null,"language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/VibeSmiths.png","metadata":{"files":{"readme":"README.html","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-24T21:13:46.000Z","updated_at":"2026-04-04T18:05:41.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/VibeSmiths/CRAFT","commit_stats":null,"previous_names":["vibesmiths/craft"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/VibeSmiths/CRAFT","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VibeSmiths%2FCRAFT","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VibeSmiths%2FCRAFT/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VibeSmiths%2FCRAFT/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VibeSmiths%2FCRAFT/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/VibeSmiths","download_url":"https://codeload.github.com/VibeSmiths/CRAFT/tar.gz/refs/heads/gh-pages","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VibeSmiths%2FCRAFT/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31937768,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-17T12:37:54.787Z","status":"ssl_error","status_checked_at":"2026-04-17T12:37:25.095Z","response_time":62,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["documentation","github-pages","vitepress"],"created_at":"2026-04-17T17:07:57.190Z","updated_at":"2026-04-17T17:08:03.432Z","avatar_url":"https://github.com/VibeSmiths.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!DOCTYPE html\u003e\n\u003chtml lang=\"en-US\" dir=\"ltr\"\u003e\n  \u003chead\u003e\n    \u003cmeta charset=\"utf-8\"\u003e\n    \u003cmeta name=\"viewport\" content=\"width=device-width,initial-scale=1\"\u003e\n    \u003ctitle\u003eCRAFT — Documentation | CRAFT Studio\u003c/title\u003e\n    \u003cmeta name=\"description\" content=\"Content Refinement \u0026 Authoring Framework Toolkit — User Guide\"\u003e\n    \u003cmeta name=\"generator\" content=\"VitePress v1.6.4\"\u003e\n    \u003clink rel=\"preload stylesheet\" href=\"/CRAFT/assets/style.CtXOG_Uk.css\" as=\"style\"\u003e\n    \u003clink rel=\"preload stylesheet\" href=\"/CRAFT/vp-icons.css\" as=\"style\"\u003e\n    \n    \u003cscript type=\"module\" src=\"/CRAFT/assets/app.Bg5XxIX5.js\"\u003e\u003c/script\u003e\n    \u003clink rel=\"preload\" href=\"/CRAFT/assets/inter-roman-latin.Di8DUHzh.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"\"\u003e\n    \u003clink rel=\"modulepreload\" href=\"/CRAFT/assets/chunks/theme.Bq3m_LOz.js\"\u003e\n    \u003clink rel=\"modulepreload\" href=\"/CRAFT/assets/chunks/framework.BKqeivun.js\"\u003e\n    \u003clink rel=\"modulepreload\" href=\"/CRAFT/assets/README.md.B-5Jzb14.lean.js\"\u003e\n    \u003cscript id=\"check-dark-mode\"\u003e(()=\u003e{const e=localStorage.getItem(\"vitepress-theme-appearance\")||\"dark\",a=window.matchMedia(\"(prefers-color-scheme: dark)\").matches;(!e||e===\"auto\"?a:e===\"dark\")\u0026\u0026document.documentElement.classList.add(\"dark\")})();\u003c/script\u003e\n    \u003cscript id=\"check-mac-os\"\u003edocument.documentElement.classList.toggle(\"mac\",/Mac|iPhone|iPod|iPad/i.test(navigator.platform));\u003c/script\u003e\n  \u003c/head\u003e\n  \u003cbody\u003e\n    \u003cdiv id=\"app\"\u003e\u003cdiv class=\"Layout\" data-v-d8b57b2d\u003e\u003c!--[--\u003e\u003c!--]--\u003e\u003c!--[--\u003e\u003cspan tabindex=\"-1\" data-v-fcbfc0e0\u003e\u003c/span\u003e\u003ca href=\"#VPContent\" class=\"VPSkipLink visually-hidden\" data-v-fcbfc0e0\u003eSkip to content\u003c/a\u003e\u003c!--]--\u003e\u003c!----\u003e\u003cheader class=\"VPNav\" data-v-d8b57b2d data-v-7ad780c2\u003e\u003cdiv class=\"VPNavBar\" data-v-7ad780c2 data-v-9fd4d1dd\u003e\u003cdiv class=\"wrapper\" data-v-9fd4d1dd\u003e\u003cdiv class=\"container\" data-v-9fd4d1dd\u003e\u003cdiv class=\"title\" data-v-9fd4d1dd\u003e\u003cdiv class=\"VPNavBarTitle has-sidebar\" data-v-9fd4d1dd data-v-9f43907a\u003e\u003ca class=\"title\" href=\"/CRAFT/\" data-v-9f43907a\u003e\u003c!--[--\u003e\u003c!--]--\u003e\u003c!--[--\u003e\u003cimg class=\"VPImage logo\" src=\"/CRAFT/logo.png\" alt data-v-ab19afbb\u003e\u003c!--]--\u003e\u003cspan data-v-9f43907a\u003eCRAFT Studio\u003c/span\u003e\u003c!--[--\u003e\u003c!--]--\u003e\u003c/a\u003e\u003c/div\u003e\u003c/div\u003e\u003cdiv class=\"content\" data-v-9fd4d1dd\u003e\u003cdiv class=\"content-body\" data-v-9fd4d1dd\u003e\u003c!--[--\u003e\u003c!--]--\u003e\u003cdiv class=\"VPNavBarSearch search\" data-v-9fd4d1dd\u003e\u003c!--[--\u003e\u003c!----\u003e\u003cdiv id=\"local-search\"\u003e\u003cbutton type=\"button\" class=\"DocSearch DocSearch-Button\" aria-label=\"Search\"\u003e\u003cspan class=\"DocSearch-Button-Container\"\u003e\u003cspan class=\"vp-icon DocSearch-Search-Icon\"\u003e\u003c/span\u003e\u003cspan class=\"DocSearch-Button-Placeholder\"\u003eSearch\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"DocSearch-Button-Keys\"\u003e\u003ckbd class=\"DocSearch-Button-Key\"\u003e\u003c/kbd\u003e\u003ckbd class=\"DocSearch-Button-Key\"\u003eK\u003c/kbd\u003e\u003c/span\u003e\u003c/button\u003e\u003c/div\u003e\u003c!--]--\u003e\u003c/div\u003e\u003cnav aria-labelledby=\"main-nav-aria-label\" class=\"VPNavBarMenu menu\" data-v-9fd4d1dd data-v-afb2845e\u003e\u003cspan id=\"main-nav-aria-label\" class=\"visually-hidden\" data-v-afb2845e\u003e Main Navigation \u003c/span\u003e\u003c!--[--\u003e\u003c!--[--\u003e\u003ca class=\"VPLink link VPNavBarMenuLink\" href=\"/CRAFT/guide/\" tabindex=\"0\" data-v-afb2845e data-v-815115f5\u003e\u003c!--[--\u003e\u003cspan data-v-815115f5\u003eGuide\u003c/span\u003e\u003c!--]--\u003e\u003c/a\u003e\u003c!--]--\u003e\u003c!--[--\u003e\u003ca class=\"VPLink link VPNavBarMenuLink\" href=\"/CRAFT/mobile/\" tabindex=\"0\" data-v-afb2845e data-v-815115f5\u003e\u003c!--[--\u003e\u003cspan data-v-815115f5\u003eMobile\u003c/span\u003e\u003c!--]--\u003e\u003c/a\u003e\u003c!--]--\u003e\u003c!--[--\u003e\u003ca class=\"VPLink link vp-external-link-icon VPNavBarMenuLink\" href=\"https://dev.rudolphhome.com/studio/\" target=\"_blank\" rel=\"noreferrer\" tabindex=\"0\" data-v-afb2845e data-v-815115f5\u003e\u003c!--[--\u003e\u003cspan data-v-815115f5\u003eOpen Studio\u003c/span\u003e\u003c!--]--\u003e\u003c/a\u003e\u003c!--]--\u003e\u003c!--]--\u003e\u003c/nav\u003e\u003c!----\u003e\u003cdiv class=\"VPNavBarAppearance appearance\" data-v-9fd4d1dd data-v-3f90c1a5\u003e\u003cbutton class=\"VPSwitch VPSwitchAppearance\" type=\"button\" role=\"switch\" title aria-checked=\"true\" data-v-3f90c1a5 data-v-be9742d9 data-v-b4ccac88\u003e\u003cspan class=\"check\" data-v-b4ccac88\u003e\u003cspan class=\"icon\" data-v-b4ccac88\u003e\u003c!--[--\u003e\u003cspan class=\"vpi-sun sun\" data-v-be9742d9\u003e\u003c/span\u003e\u003cspan class=\"vpi-moon moon\" data-v-be9742d9\u003e\u003c/span\u003e\u003c!--]--\u003e\u003c/span\u003e\u003c/span\u003e\u003c/button\u003e\u003c/div\u003e\u003cdiv class=\"VPSocialLinks VPNavBarSocialLinks social-links\" data-v-9fd4d1dd data-v-ef6192dc data-v-e71e869c\u003e\u003c!--[--\u003e\u003ca class=\"VPSocialLink no-icon\" href=\"https://github.com/VibeSmiths/CRAFT\" aria-label=\"github\" target=\"_blank\" rel=\"noopener\" data-v-e71e869c data-v-60a9a2d3\u003e\u003cspan class=\"vpi-social-github\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c!--]--\u003e\u003c/div\u003e\u003cdiv class=\"VPFlyout VPNavBarExtra extra\" data-v-9fd4d1dd data-v-f953d92f data-v-bfe7971f\u003e\u003cbutton type=\"button\" class=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" aria-label=\"extra navigation\" data-v-bfe7971f\u003e\u003cspan class=\"vpi-more-horizontal icon\" data-v-bfe7971f\u003e\u003c/span\u003e\u003c/button\u003e\u003cdiv class=\"menu\" data-v-bfe7971f\u003e\u003cdiv class=\"VPMenu\" data-v-bfe7971f data-v-20ed86d6\u003e\u003c!----\u003e\u003c!--[--\u003e\u003c!--[--\u003e\u003c!----\u003e\u003cdiv class=\"group\" data-v-f953d92f\u003e\u003cdiv class=\"item appearance\" data-v-f953d92f\u003e\u003cp class=\"label\" data-v-f953d92f\u003eAppearance\u003c/p\u003e\u003cdiv class=\"appearance-action\" data-v-f953d92f\u003e\u003cbutton class=\"VPSwitch VPSwitchAppearance\" type=\"button\" role=\"switch\" title aria-checked=\"true\" data-v-f953d92f data-v-be9742d9 data-v-b4ccac88\u003e\u003cspan class=\"check\" data-v-b4ccac88\u003e\u003cspan class=\"icon\" data-v-b4ccac88\u003e\u003c!--[--\u003e\u003cspan class=\"vpi-sun sun\" data-v-be9742d9\u003e\u003c/span\u003e\u003cspan class=\"vpi-moon moon\" data-v-be9742d9\u003e\u003c/span\u003e\u003c!--]--\u003e\u003c/span\u003e\u003c/span\u003e\u003c/button\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e\u003cdiv class=\"group\" data-v-f953d92f\u003e\u003cdiv class=\"item social-links\" data-v-f953d92f\u003e\u003cdiv class=\"VPSocialLinks social-links-list\" data-v-f953d92f data-v-e71e869c\u003e\u003c!--[--\u003e\u003ca class=\"VPSocialLink no-icon\" href=\"https://github.com/VibeSmiths/CRAFT\" aria-label=\"github\" target=\"_blank\" rel=\"noopener\" data-v-e71e869c data-v-60a9a2d3\u003e\u003cspan class=\"vpi-social-github\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c!--]--\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e\u003c!--]--\u003e\u003c!--]--\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e\u003c!--[--\u003e\u003c!--]--\u003e\u003cbutton type=\"button\" class=\"VPNavBarHamburger hamburger\" aria-label=\"mobile navigation\" aria-expanded=\"false\" aria-controls=\"VPNavScreen\" data-v-9fd4d1dd data-v-6bee1efd\u003e\u003cspan class=\"container\" data-v-6bee1efd\u003e\u003cspan class=\"top\" data-v-6bee1efd\u003e\u003c/span\u003e\u003cspan class=\"middle\" data-v-6bee1efd\u003e\u003c/span\u003e\u003cspan class=\"bottom\" data-v-6bee1efd\u003e\u003c/span\u003e\u003c/span\u003e\u003c/button\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e\u003cdiv class=\"divider\" data-v-9fd4d1dd\u003e\u003cdiv class=\"divider-line\" data-v-9fd4d1dd\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e\u003c!----\u003e\u003c/header\u003e\u003cdiv class=\"VPLocalNav has-sidebar empty\" data-v-d8b57b2d data-v-2488c25a\u003e\u003cdiv class=\"container\" data-v-2488c25a\u003e\u003cbutton class=\"menu\" aria-expanded=\"false\" aria-controls=\"VPSidebarNav\" data-v-2488c25a\u003e\u003cspan class=\"vpi-align-left menu-icon\" data-v-2488c25a\u003e\u003c/span\u003e\u003cspan class=\"menu-text\" data-v-2488c25a\u003eMenu\u003c/span\u003e\u003c/button\u003e\u003cdiv class=\"VPLocalNavOutlineDropdown\" style=\"--vp-vh:0px;\" data-v-2488c25a data-v-6b867909\u003e\u003cbutton data-v-6b867909\u003eReturn to top\u003c/button\u003e\u003c!----\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e\u003caside class=\"VPSidebar\" data-v-d8b57b2d data-v-42c4c606\u003e\u003cdiv class=\"curtain\" data-v-42c4c606\u003e\u003c/div\u003e\u003cnav class=\"nav\" id=\"VPSidebarNav\" aria-labelledby=\"sidebar-aria-label\" tabindex=\"-1\" data-v-42c4c606\u003e\u003cspan class=\"visually-hidden\" id=\"sidebar-aria-label\" data-v-42c4c606\u003e Sidebar Navigation \u003c/span\u003e\u003c!--[--\u003e\u003c!--]--\u003e\u003c!--[--\u003e\u003cdiv class=\"no-transition group\" data-v-51288d80\u003e\u003csection class=\"VPSidebarItem level-0\" data-v-51288d80 data-v-0009425e\u003e\u003cdiv class=\"item\" role=\"button\" tabindex=\"0\" data-v-0009425e\u003e\u003cdiv class=\"indicator\" data-v-0009425e\u003e\u003c/div\u003e\u003ch2 class=\"text\" data-v-0009425e\u003eGetting Started\u003c/h2\u003e\u003c!----\u003e\u003c/div\u003e\u003cdiv class=\"items\" data-v-0009425e\u003e\u003c!--[--\u003e\u003cdiv class=\"VPSidebarItem level-1 is-link\" data-v-0009425e data-v-0009425e\u003e\u003cdiv class=\"item\" data-v-0009425e\u003e\u003cdiv class=\"indicator\" data-v-0009425e\u003e\u003c/div\u003e\u003ca class=\"VPLink link link\" href=\"/CRAFT/guide/\" data-v-0009425e\u003e\u003c!--[--\u003e\u003cp class=\"text\" data-v-0009425e\u003eIntroduction\u003c/p\u003e\u003c!--]--\u003e\u003c/a\u003e\u003c!----\u003e\u003c/div\u003e\u003c!----\u003e\u003c/div\u003e\u003cdiv class=\"VPSidebarItem level-1 is-link\" data-v-0009425e data-v-0009425e\u003e\u003cdiv class=\"item\" data-v-0009425e\u003e\u003cdiv class=\"indicator\" data-v-0009425e\u003e\u003c/div\u003e\u003ca class=\"VPLink link link\" href=\"/CRAFT/guide/kubernetes.html\" data-v-0009425e\u003e\u003c!--[--\u003e\u003cp class=\"text\" data-v-0009425e\u003eKubernetes / Helm\u003c/p\u003e\u003c!--]--\u003e\u003c/a\u003e\u003c!----\u003e\u003c/div\u003e\u003c!----\u003e\u003c/div\u003e\u003cdiv class=\"VPSidebarItem level-1 is-link\" data-v-0009425e data-v-0009425e\u003e\u003cdiv class=\"item\" data-v-0009425e\u003e\u003cdiv class=\"indicator\" data-v-0009425e\u003e\u003c/div\u003e\u003ca class=\"VPLink link link\" href=\"/CRAFT/guide/setup.html\" data-v-0009425e\u003e\u003c!--[--\u003e\u003cp class=\"text\" data-v-0009425e\u003eLocal Dev (Docker)\u003c/p\u003e\u003c!--]--\u003e\u003c/a\u003e\u003c!----\u003e\u003c/div\u003e\u003c!----\u003e\u003c/div\u003e\u003cdiv class=\"VPSidebarItem level-1 is-link\" data-v-0009425e data-v-0009425e\u003e\u003cdiv class=\"item\" data-v-0009425e\u003e\u003cdiv class=\"indicator\" data-v-0009425e\u003e\u003c/div\u003e\u003ca class=\"VPLink link link\" href=\"/CRAFT/guide/ai-providers.html\" data-v-0009425e\u003e\u003c!--[--\u003e\u003cp class=\"text\" data-v-0009425e\u003eAI Providers\u003c/p\u003e\u003c!--]--\u003e\u003c/a\u003e\u003c!----\u003e\u003c/div\u003e\u003c!----\u003e\u003c/div\u003e\u003cdiv class=\"VPSidebarItem level-1 is-link\" data-v-0009425e data-v-0009425e\u003e\u003cdiv class=\"item\" data-v-0009425e\u003e\u003cdiv class=\"indicator\" data-v-0009425e\u003e\u003c/div\u003e\u003ca class=\"VPLink link link\" href=\"/CRAFT/guide/auth.html\" data-v-0009425e\u003e\u003c!--[--\u003e\u003cp class=\"text\" data-v-0009425e\u003eAuthentication \u0026 Roles\u003c/p\u003e\u003c!--]--\u003e\u003c/a\u003e\u003c!----\u003e\u003c/div\u003e\u003c!----\u003e\u003c/div\u003e\u003c!--]--\u003e\u003c/div\u003e\u003c/section\u003e\u003c/div\u003e\u003cdiv class=\"no-transition group\" data-v-51288d80\u003e\u003csection class=\"VPSidebarItem level-0\" data-v-51288d80 data-v-0009425e\u003e\u003cdiv class=\"item\" role=\"button\" tabindex=\"0\" data-v-0009425e\u003e\u003cdiv class=\"indicator\" data-v-0009425e\u003e\u003c/div\u003e\u003ch2 class=\"text\" data-v-0009425e\u003eContent Studio\u003c/h2\u003e\u003c!----\u003e\u003c/div\u003e\u003cdiv class=\"items\" data-v-0009425e\u003e\u003c!--[--\u003e\u003cdiv class=\"VPSidebarItem level-1 is-link\" data-v-0009425e data-v-0009425e\u003e\u003cdiv class=\"item\" data-v-0009425e\u003e\u003cdiv class=\"indicator\" data-v-0009425e\u003e\u003c/div\u003e\u003ca class=\"VPLink link link\" href=\"/CRAFT/guide/channels.html\" data-v-0009425e\u003e\u003c!--[--\u003e\u003cp class=\"text\" data-v-0009425e\u003eChannels\u003c/p\u003e\u003c!--]--\u003e\u003c/a\u003e\u003c!----\u003e\u003c/div\u003e\u003c!----\u003e\u003c/div\u003e\u003cdiv class=\"VPSidebarItem level-1 is-link\" data-v-0009425e data-v-0009425e\u003e\u003cdiv class=\"item\" data-v-0009425e\u003e\u003cdiv class=\"indicator\" data-v-0009425e\u003e\u003c/div\u003e\u003ca class=\"VPLink link link\" href=\"/CRAFT/guide/ideas.html\" data-v-0009425e\u003e\u003c!--[--\u003e\u003cp class=\"text\" data-v-0009425e\u003eIdeas\u003c/p\u003e\u003c!--]--\u003e\u003c/a\u003e\u003c!----\u003e\u003c/div\u003e\u003c!----\u003e\u003c/div\u003e\u003cdiv class=\"VPSidebarItem level-1 is-link\" data-v-0009425e data-v-0009425e\u003e\u003cdiv class=\"item\" data-v-0009425e\u003e\u003cdiv class=\"indicator\" data-v-0009425e\u003e\u003c/div\u003e\u003ca class=\"VPLink link link\" href=\"/CRAFT/guide/scripts.html\" data-v-0009425e\u003e\u003c!--[--\u003e\u003cp class=\"text\" data-v-0009425e\u003eScripts\u003c/p\u003e\u003c!--]--\u003e\u003c/a\u003e\u003c!----\u003e\u003c/div\u003e\u003c!----\u003e\u003c/div\u003e\u003cdiv class=\"VPSidebarItem level-1 is-link\" data-v-0009425e data-v-0009425e\u003e\u003cdiv class=\"item\" data-v-0009425e\u003e\u003cdiv class=\"indicator\" data-v-0009425e\u003e\u003c/div\u003e\u003ca class=\"VPLink link link\" href=\"/CRAFT/guide/episodes.html\" data-v-0009425e\u003e\u003c!--[--\u003e\u003cp class=\"text\" data-v-0009425e\u003eEpisodes\u003c/p\u003e\u003c!--]--\u003e\u003c/a\u003e\u003c!----\u003e\u003c/div\u003e\u003c!----\u003e\u003c/div\u003e\u003cdiv class=\"VPSidebarItem level-1 is-link\" data-v-0009425e data-v-0009425e\u003e\u003cdiv class=\"item\" data-v-0009425e\u003e\u003cdiv class=\"indicator\" data-v-0009425e\u003e\u003c/div\u003e\u003ca class=\"VPLink link link\" href=\"/CRAFT/guide/proposals.html\" data-v-0009425e\u003e\u003c!--[--\u003e\u003cp class=\"text\" data-v-0009425e\u003eProposals\u003c/p\u003e\u003c!--]--\u003e\u003c/a\u003e\u003c!----\u003e\u003c/div\u003e\u003c!----\u003e\u003c/div\u003e\u003cdiv class=\"VPSidebarItem level-1 is-link\" data-v-0009425e data-v-0009425e\u003e\u003cdiv class=\"item\" data-v-0009425e\u003e\u003cdiv class=\"indicator\" data-v-0009425e\u003e\u003c/div\u003e\u003ca class=\"VPLink link link\" href=\"/CRAFT/guide/discover.html\" data-v-0009425e\u003e\u003c!--[--\u003e\u003cp class=\"text\" data-v-0009425e\u003eDiscover\u003c/p\u003e\u003c!--]--\u003e\u003c/a\u003e\u003c!----\u003e\u003c/div\u003e\u003c!----\u003e\u003c/div\u003e\u003cdiv class=\"VPSidebarItem level-1 is-link\" data-v-0009425e data-v-0009425e\u003e\u003cdiv class=\"item\" data-v-0009425e\u003e\u003cdiv class=\"indicator\" data-v-0009425e\u003e\u003c/div\u003e\u003ca class=\"VPLink link link\" href=\"/CRAFT/guide/audio.html\" data-v-0009425e\u003e\u003c!--[--\u003e\u003cp class=\"text\" data-v-0009425e\u003eAudio (TTS)\u003c/p\u003e\u003c!--]--\u003e\u003c/a\u003e\u003c!----\u003e\u003c/div\u003e\u003c!----\u003e\u003c/div\u003e\u003cdiv class=\"VPSidebarItem level-1 is-link\" data-v-0009425e data-v-0009425e\u003e\u003cdiv class=\"item\" data-v-0009425e\u003e\u003cdiv class=\"indicator\" data-v-0009425e\u003e\u003c/div\u003e\u003ca class=\"VPLink link link\" href=\"/CRAFT/guide/resources.html\" data-v-0009425e\u003e\u003c!--[--\u003e\u003cp class=\"text\" data-v-0009425e\u003eResources\u003c/p\u003e\u003c!--]--\u003e\u003c/a\u003e\u003c!----\u003e\u003c/div\u003e\u003c!----\u003e\u003c/div\u003e\u003cdiv class=\"VPSidebarItem level-1 is-link\" data-v-0009425e data-v-0009425e\u003e\u003cdiv class=\"item\" data-v-0009425e\u003e\u003cdiv class=\"indicator\" data-v-0009425e\u003e\u003c/div\u003e\u003ca class=\"VPLink link link\" href=\"/CRAFT/guide/feedback.html\" data-v-0009425e\u003e\u003c!--[--\u003e\u003cp class=\"text\" data-v-0009425e\u003eFeedback\u003c/p\u003e\u003c!--]--\u003e\u003c/a\u003e\u003c!----\u003e\u003c/div\u003e\u003c!----\u003e\u003c/div\u003e\u003cdiv class=\"VPSidebarItem level-1 is-link\" data-v-0009425e data-v-0009425e\u003e\u003cdiv class=\"item\" data-v-0009425e\u003e\u003cdiv class=\"indicator\" data-v-0009425e\u003e\u003c/div\u003e\u003ca class=\"VPLink link link\" href=\"/CRAFT/guide/settings.html\" data-v-0009425e\u003e\u003c!--[--\u003e\u003cp class=\"text\" data-v-0009425e\u003eSettings\u003c/p\u003e\u003c!--]--\u003e\u003c/a\u003e\u003c!----\u003e\u003c/div\u003e\u003c!----\u003e\u003c/div\u003e\u003cdiv class=\"VPSidebarItem level-1 is-link\" data-v-0009425e data-v-0009425e\u003e\u003cdiv class=\"item\" data-v-0009425e\u003e\u003cdiv class=\"indicator\" data-v-0009425e\u003e\u003c/div\u003e\u003ca class=\"VPLink link link\" href=\"/CRAFT/guide/mcp-guide.html\" data-v-0009425e\u003e\u003c!--[--\u003e\u003cp class=\"text\" data-v-0009425e\u003eMCP Servers\u003c/p\u003e\u003c!--]--\u003e\u003c/a\u003e\u003c!----\u003e\u003c/div\u003e\u003c!----\u003e\u003c/div\u003e\u003c!--]--\u003e\u003c/div\u003e\u003c/section\u003e\u003c/div\u003e\u003cdiv class=\"no-transition group\" data-v-51288d80\u003e\u003csection class=\"VPSidebarItem level-0\" data-v-51288d80 data-v-0009425e\u003e\u003cdiv class=\"item\" role=\"button\" tabindex=\"0\" data-v-0009425e\u003e\u003cdiv class=\"indicator\" data-v-0009425e\u003e\u003c/div\u003e\u003ch2 class=\"text\" data-v-0009425e\u003eInfrastructure\u003c/h2\u003e\u003c!----\u003e\u003c/div\u003e\u003cdiv class=\"items\" data-v-0009425e\u003e\u003c!--[--\u003e\u003cdiv class=\"VPSidebarItem level-1 is-link\" data-v-0009425e data-v-0009425e\u003e\u003cdiv class=\"item\" data-v-0009425e\u003e\u003cdiv class=\"indicator\" data-v-0009425e\u003e\u003c/div\u003e\u003ca class=\"VPLink link link\" href=\"/CRAFT/guide/agents.html\" data-v-0009425e\u003e\u003c!--[--\u003e\u003cp class=\"text\" data-v-0009425e\u003eAI Agents\u003c/p\u003e\u003c!--]--\u003e\u003c/a\u003e\u003c!----\u003e\u003c/div\u003e\u003c!----\u003e\u003c/div\u003e\u003cdiv class=\"VPSidebarItem level-1 is-link\" data-v-0009425e data-v-0009425e\u003e\u003cdiv class=\"item\" data-v-0009425e\u003e\u003cdiv class=\"indicator\" data-v-0009425e\u003e\u003c/div\u003e\u003ca class=\"VPLink link link\" href=\"/CRAFT/guide/jobs.html\" data-v-0009425e\u003e\u003c!--[--\u003e\u003cp class=\"text\" data-v-0009425e\u003eJobs \u0026 Workers\u003c/p\u003e\u003c!--]--\u003e\u003c/a\u003e\u003c!----\u003e\u003c/div\u003e\u003c!----\u003e\u003c/div\u003e\u003c!--]--\u003e\u003c/div\u003e\u003c/section\u003e\u003c/div\u003e\u003cdiv class=\"no-transition group\" data-v-51288d80\u003e\u003csection class=\"VPSidebarItem level-0\" data-v-51288d80 data-v-0009425e\u003e\u003cdiv class=\"item\" role=\"button\" tabindex=\"0\" data-v-0009425e\u003e\u003cdiv class=\"indicator\" data-v-0009425e\u003e\u003c/div\u003e\u003ch2 class=\"text\" data-v-0009425e\u003eMobile App\u003c/h2\u003e\u003c!----\u003e\u003c/div\u003e\u003cdiv class=\"items\" data-v-0009425e\u003e\u003c!--[--\u003e\u003cdiv class=\"VPSidebarItem level-1 is-link\" data-v-0009425e data-v-0009425e\u003e\u003cdiv class=\"item\" data-v-0009425e\u003e\u003cdiv class=\"indicator\" data-v-0009425e\u003e\u003c/div\u003e\u003ca class=\"VPLink link link\" href=\"/CRAFT/mobile/\" data-v-0009425e\u003e\u003c!--[--\u003e\u003cp class=\"text\" data-v-0009425e\u003eOverview\u003c/p\u003e\u003c!--]--\u003e\u003c/a\u003e\u003c!----\u003e\u003c/div\u003e\u003c!----\u003e\u003c/div\u003e\u003cdiv class=\"VPSidebarItem level-1 is-link\" data-v-0009425e data-v-0009425e\u003e\u003cdiv class=\"item\" data-v-0009425e\u003e\u003cdiv class=\"indicator\" data-v-0009425e\u003e\u003c/div\u003e\u003ca class=\"VPLink link link\" href=\"/CRAFT/mobile/setup.html\" data-v-0009425e\u003e\u003c!--[--\u003e\u003cp class=\"text\" data-v-0009425e\u003eSetup\u003c/p\u003e\u003c!--]--\u003e\u003c/a\u003e\u003c!----\u003e\u003c/div\u003e\u003c!----\u003e\u003c/div\u003e\u003cdiv class=\"VPSidebarItem level-1 is-link\" data-v-0009425e data-v-0009425e\u003e\u003cdiv class=\"item\" data-v-0009425e\u003e\u003cdiv class=\"indicator\" data-v-0009425e\u003e\u003c/div\u003e\u003ca class=\"VPLink link link\" href=\"/CRAFT/mobile/features.html\" data-v-0009425e\u003e\u003c!--[--\u003e\u003cp class=\"text\" data-v-0009425e\u003eFeatures\u003c/p\u003e\u003c!--]--\u003e\u003c/a\u003e\u003c!----\u003e\u003c/div\u003e\u003c!----\u003e\u003c/div\u003e\u003c!--]--\u003e\u003c/div\u003e\u003c/section\u003e\u003c/div\u003e\u003c!--]--\u003e\u003c!--[--\u003e\u003c!--]--\u003e\u003c/nav\u003e\u003c/aside\u003e\u003cdiv class=\"VPContent has-sidebar\" id=\"VPContent\" data-v-d8b57b2d data-v-9a6c75ad\u003e\u003cdiv class=\"VPDoc has-sidebar has-aside\" data-v-9a6c75ad data-v-e6f2a212\u003e\u003c!--[--\u003e\u003c!--]--\u003e\u003cdiv class=\"container\" data-v-e6f2a212\u003e\u003cdiv class=\"aside\" data-v-e6f2a212\u003e\u003cdiv class=\"aside-curtain\" data-v-e6f2a212\u003e\u003c/div\u003e\u003cdiv class=\"aside-container\" data-v-e6f2a212\u003e\u003cdiv class=\"aside-content\" data-v-e6f2a212\u003e\u003cdiv class=\"VPDocAside\" data-v-e6f2a212 data-v-cb998dce\u003e\u003c!--[--\u003e\u003c!--]--\u003e\u003c!--[--\u003e\u003c!--]--\u003e\u003cnav aria-labelledby=\"doc-outline-aria-label\" class=\"VPDocAsideOutline\" data-v-cb998dce data-v-f610f197\u003e\u003cdiv class=\"content\" data-v-f610f197\u003e\u003cdiv class=\"outline-marker\" data-v-f610f197\u003e\u003c/div\u003e\u003cdiv aria-level=\"2\" class=\"outline-title\" id=\"doc-outline-aria-label\" role=\"heading\" data-v-f610f197\u003eOn this page\u003c/div\u003e\u003cul class=\"VPDocOutlineItem root\" data-v-f610f197 data-v-53c99d69\u003e\u003c!--[--\u003e\u003c!--]--\u003e\u003c/ul\u003e\u003c/div\u003e\u003c/nav\u003e\u003c!--[--\u003e\u003c!--]--\u003e\u003cdiv class=\"spacer\" data-v-cb998dce\u003e\u003c/div\u003e\u003c!--[--\u003e\u003c!--]--\u003e\u003c!----\u003e\u003c!--[--\u003e\u003c!--]--\u003e\u003c!--[--\u003e\u003c!--]--\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e\u003cdiv class=\"content\" data-v-e6f2a212\u003e\u003cdiv class=\"content-container\" data-v-e6f2a212\u003e\u003c!--[--\u003e\u003c!--]--\u003e\u003cmain class=\"main\" data-v-e6f2a212\u003e\u003cdiv style=\"position:relative;\" class=\"vp-doc _CRAFT_README\" data-v-e6f2a212\u003e\u003cdiv\u003e\u003ch1 id=\"craft-—-documentation\" tabindex=\"-1\"\u003eCRAFT — Documentation \u003ca class=\"header-anchor\" href=\"#craft-—-documentation\" aria-label=\"Permalink to \u0026quot;CRAFT — Documentation\u0026quot;\"\u003e​\u003c/a\u003e\u003c/h1\u003e\u003cp\u003eUser guide built with \u003ca href=\"https://vitepress.dev/\" target=\"_blank\" rel=\"noreferrer\"\u003eVitePress\u003c/a\u003e, with automated screenshots via \u003ca href=\"https://playwright.dev/\" target=\"_blank\" rel=\"noreferrer\"\u003ePlaywright\u003c/a\u003e.\u003c/p\u003e\u003ch2 id=\"local-development\" tabindex=\"-1\"\u003eLocal Development \u003ca class=\"header-anchor\" href=\"#local-development\" aria-label=\"Permalink to \u0026quot;Local Development\u0026quot;\"\u003e​\u003c/a\u003e\u003c/h2\u003e\u003cdiv class=\"language-bash vp-adaptive-theme\"\u003e\u003cbutton title=\"Copy Code\" class=\"copy\"\u003e\u003c/button\u003e\u003cspan class=\"lang\"\u003ebash\u003c/span\u003e\u003cpre class=\"shiki shiki-themes github-light github-dark vp-code\" tabindex=\"0\"\u003e\u003ccode\u003e\u003cspan class=\"line\"\u003e\u003cspan style=\"--shiki-light:#005CC5;--shiki-dark:#79B8FF;\"\u003ecd\u003c/span\u003e\u003cspan style=\"--shiki-light:#032F62;--shiki-dark:#9ECBFF;\"\u003e docs\u003c/span\u003e\u003c/span\u003e\n\u003cspan class=\"line\"\u003e\u003cspan style=\"--shiki-light:#6F42C1;--shiki-dark:#B392F0;\"\u003enpm\u003c/span\u003e\u003cspan style=\"--shiki-light:#032F62;--shiki-dark:#9ECBFF;\"\u003e install\u003c/span\u003e\u003cspan style=\"--shiki-light:#6A737D;--shiki-dark:#6A737D;\"\u003e        # first time only\u003c/span\u003e\u003c/span\u003e\n\u003cspan class=\"line\"\u003e\u003cspan style=\"--shiki-light:#6F42C1;--shiki-dark:#B392F0;\"\u003enpm\u003c/span\u003e\u003cspan style=\"--shiki-light:#032F62;--shiki-dark:#9ECBFF;\"\u003e run\u003c/span\u003e\u003cspan style=\"--shiki-light:#032F62;--shiki-dark:#9ECBFF;\"\u003e dev\u003c/span\u003e\u003cspan style=\"--shiki-light:#6A737D;--shiki-dark:#6A737D;\"\u003e        # starts at http://localhost:5173/CRAFT/\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003ch2 id=\"build\" tabindex=\"-1\"\u003eBuild \u003ca class=\"header-anchor\" href=\"#build\" aria-label=\"Permalink to \u0026quot;Build\u0026quot;\"\u003e​\u003c/a\u003e\u003c/h2\u003e\u003cdiv class=\"language-bash vp-adaptive-theme\"\u003e\u003cbutton title=\"Copy Code\" class=\"copy\"\u003e\u003c/button\u003e\u003cspan class=\"lang\"\u003ebash\u003c/span\u003e\u003cpre class=\"shiki shiki-themes github-light github-dark vp-code\" tabindex=\"0\"\u003e\u003ccode\u003e\u003cspan class=\"line\"\u003e\u003cspan style=\"--shiki-light:#6F42C1;--shiki-dark:#B392F0;\"\u003enpm\u003c/span\u003e\u003cspan style=\"--shiki-light:#032F62;--shiki-dark:#9ECBFF;\"\u003e run\u003c/span\u003e\u003cspan style=\"--shiki-light:#032F62;--shiki-dark:#9ECBFF;\"\u003e build\u003c/span\u003e\u003cspan style=\"--shiki-light:#6A737D;--shiki-dark:#6A737D;\"\u003e      # outputs to .vitepress/dist/\u003c/span\u003e\u003c/span\u003e\n\u003cspan class=\"line\"\u003e\u003cspan style=\"--shiki-light:#6F42C1;--shiki-dark:#B392F0;\"\u003enpm\u003c/span\u003e\u003cspan style=\"--shiki-light:#032F62;--shiki-dark:#9ECBFF;\"\u003e run\u003c/span\u003e\u003cspan style=\"--shiki-light:#032F62;--shiki-dark:#9ECBFF;\"\u003e preview\u003c/span\u003e\u003cspan style=\"--shiki-light:#6A737D;--shiki-dark:#6A737D;\"\u003e    # preview the built site\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003ch2 id=\"screenshots\" tabindex=\"-1\"\u003eScreenshots \u003ca class=\"header-anchor\" href=\"#screenshots\" aria-label=\"Permalink to \u0026quot;Screenshots\u0026quot;\"\u003e​\u003c/a\u003e\u003c/h2\u003e\u003cp\u003eScreenshots are captured automatically by Playwright against the running studio Docker container.\u003c/p\u003e\u003ch3 id=\"take-screenshots-locally\" tabindex=\"-1\"\u003eTake Screenshots Locally \u003ca class=\"header-anchor\" href=\"#take-screenshots-locally\" aria-label=\"Permalink to \u0026quot;Take Screenshots Locally\u0026quot;\"\u003e​\u003c/a\u003e\u003c/h3\u003e\u003col\u003e\u003cli\u003e\u003cp\u003eStart the studio with seed data:\u003c/p\u003e\u003cdiv class=\"language-bash vp-adaptive-theme\"\u003e\u003cbutton title=\"Copy Code\" class=\"copy\"\u003e\u003c/button\u003e\u003cspan class=\"lang\"\u003ebash\u003c/span\u003e\u003cpre class=\"shiki shiki-themes github-light github-dark vp-code\" tabindex=\"0\"\u003e\u003ccode\u003e\u003cspan class=\"line\"\u003e\u003cspan style=\"--shiki-light:#6A737D;--shiki-dark:#6A737D;\"\u003e# From the repo root\u003c/span\u003e\u003c/span\u003e\n\u003cspan class=\"line\"\u003e\u003cspan style=\"--shiki-light:#6F42C1;--shiki-dark:#B392F0;\"\u003edocker\u003c/span\u003e\u003cspan style=\"--shiki-light:#032F62;--shiki-dark:#9ECBFF;\"\u003e build\u003c/span\u003e\u003cspan style=\"--shiki-light:#005CC5;--shiki-dark:#79B8FF;\"\u003e -t\u003c/span\u003e\u003cspan style=\"--shiki-light:#032F62;--shiki-dark:#9ECBFF;\"\u003e studio-local\u003c/span\u003e\u003cspan style=\"--shiki-light:#005CC5;--shiki-dark:#79B8FF;\"\u003e -f\u003c/span\u003e\u003cspan style=\"--shiki-light:#032F62;--shiki-dark:#9ECBFF;\"\u003e app/Dockerfile\u003c/span\u003e\u003cspan style=\"--shiki-light:#032F62;--shiki-dark:#9ECBFF;\"\u003e app/\u003c/span\u003e\u003c/span\u003e\n\u003cspan class=\"line\"\u003e\u003cspan style=\"--shiki-light:#6F42C1;--shiki-dark:#B392F0;\"\u003edocker\u003c/span\u003e\u003cspan style=\"--shiki-light:#032F62;--shiki-dark:#9ECBFF;\"\u003e run\u003c/span\u003e\u003cspan style=\"--shiki-light:#005CC5;--shiki-dark:#79B8FF;\"\u003e -d\u003c/span\u003e\u003cspan style=\"--shiki-light:#005CC5;--shiki-dark:#79B8FF;\"\u003e --name\u003c/span\u003e\u003cspan style=\"--shiki-light:#032F62;--shiki-dark:#9ECBFF;\"\u003e studio-screenshots\u003c/span\u003e\u003cspan style=\"--shiki-light:#005CC5;--shiki-dark:#79B8FF;\"\u003e \\\u003c/span\u003e\u003c/span\u003e\n\u003cspan class=\"line\"\u003e\u003cspan style=\"--shiki-light:#005CC5;--shiki-dark:#79B8FF;\"\u003e  -p\u003c/span\u003e\u003cspan style=\"--shiki-light:#032F62;--shiki-dark:#9ECBFF;\"\u003e 8080:8080\u003c/span\u003e\u003cspan style=\"--shiki-light:#005CC5;--shiki-dark:#79B8FF;\"\u003e \\\u003c/span\u003e\u003c/span\u003e\n\u003cspan class=\"line\"\u003e\u003cspan style=\"--shiki-light:#005CC5;--shiki-dark:#79B8FF;\"\u003e  -v\u003c/span\u003e\u003cspan style=\"--shiki-light:#032F62;--shiki-dark:#9ECBFF;\"\u003e \u0026quot;$(\u003c/span\u003e\u003cspan style=\"--shiki-light:#005CC5;--shiki-dark:#79B8FF;\"\u003epwd\u003c/span\u003e\u003cspan style=\"--shiki-light:#032F62;--shiki-dark:#9ECBFF;\"\u003e)/docs/seed/channels:/channels\u0026quot;\u003c/span\u003e\u003cspan style=\"--shiki-light:#005CC5;--shiki-dark:#79B8FF;\"\u003e \\\u003c/span\u003e\u003c/span\u003e\n\u003cspan class=\"line\"\u003e\u003cspan style=\"--shiki-light:#005CC5;--shiki-dark:#79B8FF;\"\u003e  -e\u003c/span\u003e\u003cspan style=\"--shiki-light:#032F62;--shiki-dark:#9ECBFF;\"\u003e GEMINI_API_KEY=\u0026quot;\u0026quot;\u003c/span\u003e\u003cspan style=\"--shiki-light:#005CC5;--shiki-dark:#79B8FF;\"\u003e \\\u003c/span\u003e\u003c/span\u003e\n\u003cspan class=\"line\"\u003e\u003cspan style=\"--shiki-light:#005CC5;--shiki-dark:#79B8FF;\"\u003e  -e\u003c/span\u003e\u003cspan style=\"--shiki-light:#032F62;--shiki-dark:#9ECBFF;\"\u003e ANTHROPIC_API_KEY=\u0026quot;\u0026quot;\u003c/span\u003e\u003cspan style=\"--shiki-light:#005CC5;--shiki-dark:#79B8FF;\"\u003e \\\u003c/span\u003e\u003c/span\u003e\n\u003cspan class=\"line\"\u003e\u003cspan style=\"--shiki-light:#032F62;--shiki-dark:#9ECBFF;\"\u003e  studio-local\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003eRun Playwright:\u003c/p\u003e\u003cdiv class=\"language-bash vp-adaptive-theme\"\u003e\u003cbutton title=\"Copy Code\" class=\"copy\"\u003e\u003c/button\u003e\u003cspan class=\"lang\"\u003ebash\u003c/span\u003e\u003cpre class=\"shiki shiki-themes github-light github-dark vp-code\" tabindex=\"0\"\u003e\u003ccode\u003e\u003cspan class=\"line\"\u003e\u003cspan style=\"--shiki-light:#005CC5;--shiki-dark:#79B8FF;\"\u003ecd\u003c/span\u003e\u003cspan style=\"--shiki-light:#032F62;--shiki-dark:#9ECBFF;\"\u003e docs\u003c/span\u003e\u003c/span\u003e\n\u003cspan class=\"line\"\u003e\u003cspan style=\"--shiki-light:#6F42C1;--shiki-dark:#B392F0;\"\u003enpx\u003c/span\u003e\u003cspan style=\"--shiki-light:#032F62;--shiki-dark:#9ECBFF;\"\u003e playwright\u003c/span\u003e\u003cspan style=\"--shiki-light:#032F62;--shiki-dark:#9ECBFF;\"\u003e install\u003c/span\u003e\u003cspan style=\"--shiki-light:#005CC5;--shiki-dark:#79B8FF;\"\u003e --with-deps\u003c/span\u003e\u003cspan style=\"--shiki-light:#032F62;--shiki-dark:#9ECBFF;\"\u003e chromium\u003c/span\u003e\u003cspan style=\"--shiki-light:#6A737D;--shiki-dark:#6A737D;\"\u003e   # first time only\u003c/span\u003e\u003c/span\u003e\n\u003cspan class=\"line\"\u003e\u003cspan style=\"--shiki-light:#6F42C1;--shiki-dark:#B392F0;\"\u003enpm\u003c/span\u003e\u003cspan style=\"--shiki-light:#032F62;--shiki-dark:#9ECBFF;\"\u003e run\u003c/span\u003e\u003cspan style=\"--shiki-light:#032F62;--shiki-dark:#9ECBFF;\"\u003e screenshots\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003eScreenshots are saved to \u003ccode\u003epublic/screenshots/\u003c/code\u003e.\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003eClean up:\u003c/p\u003e\u003cdiv class=\"language-bash vp-adaptive-theme\"\u003e\u003cbutton title=\"Copy Code\" class=\"copy\"\u003e\u003c/button\u003e\u003cspan class=\"lang\"\u003ebash\u003c/span\u003e\u003cpre class=\"shiki shiki-themes github-light github-dark vp-code\" tabindex=\"0\"\u003e\u003ccode\u003e\u003cspan class=\"line\"\u003e\u003cspan style=\"--shiki-light:#6F42C1;--shiki-dark:#B392F0;\"\u003edocker\u003c/span\u003e\u003cspan style=\"--shiki-light:#032F62;--shiki-dark:#9ECBFF;\"\u003e stop\u003c/span\u003e\u003cspan style=\"--shiki-light:#032F62;--shiki-dark:#9ECBFF;\"\u003e studio-screenshots\u003c/span\u003e\u003cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8;\"\u003e \u0026amp;\u0026amp; \u003c/span\u003e\u003cspan style=\"--shiki-light:#6F42C1;--shiki-dark:#B392F0;\"\u003edocker\u003c/span\u003e\u003cspan style=\"--shiki-light:#032F62;--shiki-dark:#9ECBFF;\"\u003e rm\u003c/span\u003e\u003cspan style=\"--shiki-light:#032F62;--shiki-dark:#9ECBFF;\"\u003e studio-screenshots\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003c/li\u003e\u003c/ol\u003e\u003ch3 id=\"ci-pipeline\" tabindex=\"-1\"\u003eCI Pipeline \u003ca class=\"header-anchor\" href=\"#ci-pipeline\" aria-label=\"Permalink to \u0026quot;CI Pipeline\u0026quot;\"\u003e​\u003c/a\u003e\u003c/h3\u003e\u003cp\u003eOn \u003cstrong\u003epull requests\u003c/strong\u003e, the CI pipeline automatically:\u003c/p\u003e\u003col\u003e\u003cli\u003eBuilds the studio Docker image\u003c/li\u003e\u003cli\u003eStarts it with the seed data from \u003ccode\u003edocs/seed/\u003c/code\u003e\u003c/li\u003e\u003cli\u003eRuns Playwright to capture screenshots\u003c/li\u003e\u003cli\u003eUploads them as a build artifact\u003c/li\u003e\u003c/ol\u003e\u003cp\u003eScreenshots are \u003cstrong\u003enot\u003c/strong\u003e auto-committed — download the artifact from the PR checks and commit manually if they look good.\u003c/p\u003e\u003ch2 id=\"seed-data\" tabindex=\"-1\"\u003eSeed Data \u003ca class=\"header-anchor\" href=\"#seed-data\" aria-label=\"Permalink to \u0026quot;Seed Data\u0026quot;\"\u003e​\u003c/a\u003e\u003c/h2\u003e\u003cp\u003eThe \u003ccode\u003eseed/\u003c/code\u003e directory contains demo channel data used for screenshots:\u003c/p\u003e\u003cdiv class=\"language- vp-adaptive-theme\"\u003e\u003cbutton title=\"Copy Code\" class=\"copy\"\u003e\u003c/button\u003e\u003cspan class=\"lang\"\u003e\u003c/span\u003e\u003cpre class=\"shiki shiki-themes github-light github-dark vp-code\" tabindex=\"0\"\u003e\u003ccode\u003e\u003cspan class=\"line\"\u003e\u003cspan\u003eseed/channels/demo-channel/\u003c/span\u003e\u003c/span\u003e\n\u003cspan class=\"line\"\u003e\u003cspan\u003e  channel.json         # Channel config (Lorem Ipsum Tech)\u003c/span\u003e\u003c/span\u003e\n\u003cspan class=\"line\"\u003e\u003cspan\u003e  ideas/               # 3 sample ideas (manual, AI, discover)\u003c/span\u003e\u003c/span\u003e\n\u003cspan class=\"line\"\u003e\u003cspan\u003e  scripts/\u003c/span\u003e\u003c/span\u003e\n\u003cspan class=\"line\"\u003e\u003cspan\u003e    drafts/            # 1 draft Short script\u003c/span\u003e\u003c/span\u003e\n\u003cspan class=\"line\"\u003e\u003cspan\u003e    final/             # 1 final Long script\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003eTo add more seed data, follow the JSON/Markdown formats in \u003ccode\u003eapp/backend/src/lib/fileStore.ts\u003c/code\u003e.\u003c/p\u003e\u003ch2 id=\"directory-structure\" tabindex=\"-1\"\u003eDirectory Structure \u003ca class=\"header-anchor\" href=\"#directory-structure\" aria-label=\"Permalink to \u0026quot;Directory Structure\u0026quot;\"\u003e​\u003c/a\u003e\u003c/h2\u003e\u003cdiv class=\"language- vp-adaptive-theme\"\u003e\u003cbutton title=\"Copy Code\" class=\"copy\"\u003e\u003c/button\u003e\u003cspan class=\"lang\"\u003e\u003c/span\u003e\u003cpre class=\"shiki shiki-themes github-light github-dark vp-code\" tabindex=\"0\"\u003e\u003ccode\u003e\u003cspan class=\"line\"\u003e\u003cspan\u003edocs/\u003c/span\u003e\u003c/span\u003e\n\u003cspan class=\"line\"\u003e\u003cspan\u003e  .vitepress/\u003c/span\u003e\u003c/span\u003e\n\u003cspan class=\"line\"\u003e\u003cspan\u003e    config.mts         # VitePress config (sidebar, nav, theme)\u003c/span\u003e\u003c/span\u003e\n\u003cspan class=\"line\"\u003e\u003cspan\u003e  public/\u003c/span\u003e\u003c/span\u003e\n\u003cspan class=\"line\"\u003e\u003cspan\u003e    screenshots/       # Playwright-captured images\u003c/span\u003e\u003c/span\u003e\n\u003cspan class=\"line\"\u003e\u003cspan\u003e  guide/               # 10 guide pages (setup, ideas, scripts, etc.)\u003c/span\u003e\u003c/span\u003e\n\u003cspan class=\"line\"\u003e\u003cspan\u003e  mobile/              # 3 mobile app pages\u003c/span\u003e\u003c/span\u003e\n\u003cspan class=\"line\"\u003e\u003cspan\u003e  seed/                # Demo data for screenshots\u003c/span\u003e\u003c/span\u003e\n\u003cspan class=\"line\"\u003e\u003cspan\u003e  index.md             # Landing page with hero\u003c/span\u003e\u003c/span\u003e\n\u003cspan class=\"line\"\u003e\u003cspan\u003e  screenshots.spec.ts  # Playwright test spec\u003c/span\u003e\u003c/span\u003e\n\u003cspan class=\"line\"\u003e\u003cspan\u003e  playwright.config.ts # Playwright config\u003c/span\u003e\u003c/span\u003e\n\u003cspan class=\"line\"\u003e\u003cspan\u003e  package.json         # VitePress + Playwright deps\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003ch2 id=\"deployment\" tabindex=\"-1\"\u003eDeployment \u003ca class=\"header-anchor\" href=\"#deployment\" aria-label=\"Permalink to \u0026quot;Deployment\u0026quot;\"\u003e​\u003c/a\u003e\u003c/h2\u003e\u003cp\u003eThe docs deploy to GitHub Pages automatically on push to \u003ccode\u003emain\u003c/code\u003e via the CI workflow. The site is available at:\u003c/p\u003e\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://vibesmiths.github.io/CRAFT/\" target=\"_blank\" rel=\"noreferrer\"\u003ehttps://vibesmiths.github.io/CRAFT/\u003c/a\u003e\u003c/strong\u003e\u003c/p\u003e\u003c/div\u003e\u003c/div\u003e\u003c/main\u003e\u003cfooter class=\"VPDocFooter\" data-v-e6f2a212 data-v-1bcd8184\u003e\u003c!--[--\u003e\u003c!--]--\u003e\u003c!----\u003e\u003cnav class=\"prev-next\" aria-labelledby=\"doc-footer-aria-label\" data-v-1bcd8184\u003e\u003cspan class=\"visually-hidden\" id=\"doc-footer-aria-label\" data-v-1bcd8184\u003ePager\u003c/span\u003e\u003cdiv class=\"pager\" data-v-1bcd8184\u003e\u003c!----\u003e\u003c/div\u003e\u003cdiv class=\"pager\" data-v-1bcd8184\u003e\u003ca class=\"VPLink link pager-link next\" href=\"/CRAFT/guide/\" data-v-1bcd8184\u003e\u003c!--[--\u003e\u003cspan class=\"desc\" data-v-1bcd8184\u003eNext page\u003c/span\u003e\u003cspan class=\"title\" data-v-1bcd8184\u003eIntroduction\u003c/span\u003e\u003c!--]--\u003e\u003c/a\u003e\u003c/div\u003e\u003c/nav\u003e\u003c/footer\u003e\u003c!--[--\u003e\u003c!--]--\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e\u003c!--[--\u003e\u003c!--]--\u003e\u003c/div\u003e\u003c/div\u003e\u003cfooter class=\"VPFooter has-sidebar\" data-v-d8b57b2d data-v-566314d4\u003e\u003cdiv class=\"container\" data-v-566314d4\u003e\u003cp class=\"message\" data-v-566314d4\u003eBuilt by \u003ca href=\"https://github.com/VibeSmiths\" target=\"_blank\"\u003eVibeSmiths\u003c/a\u003e\u003c/p\u003e\u003c!----\u003e\u003c/div\u003e\u003c/footer\u003e\u003c!--[--\u003e\u003cdiv class=\"scheme-picker\" title=\"Color scheme\"\u003e\u003c!--[--\u003e\u003cbutton class=\"active scheme-swatch\" style=\"background-color:#14b8a6;\" title=\"Classic\"\u003e\u003c/button\u003e\u003cbutton class=\"scheme-swatch\" style=\"background-color:#a855f7;\" title=\"Purple\"\u003e\u003c/button\u003e\u003cbutton class=\"scheme-swatch\" style=\"background-color:#3b82f6;\" title=\"Blue\"\u003e\u003c/button\u003e\u003cbutton class=\"scheme-swatch\" style=\"background-color:#f59e0b;\" title=\"Amber\"\u003e\u003c/button\u003e\u003cbutton class=\"scheme-swatch\" style=\"background-color:#f43f5e;\" title=\"Rose\"\u003e\u003c/button\u003e\u003cbutton class=\"scheme-swatch\" style=\"background-color:#f5a623;\" title=\"Liquid Gold\"\u003e\u003c/button\u003e\u003cbutton class=\"scheme-swatch\" style=\"background-color:#7ab88a;\" title=\"Otter\"\u003e\u003c/button\u003e\u003c!--]--\u003e\u003c/div\u003e\u003c!--]--\u003e\u003c/div\u003e\u003c/div\u003e\n    \u003cscript\u003ewindow.__VP_HASH_MAP__=JSON.parse(\"{\\\"fixtures_channels_lorem-ipsum-tech_claude.md\\\":\\\"CQZnKbPZ\\\",\\\"fixtures_channels_lorem-ipsum-tech_scripts_drafts_script-001.md\\\":\\\"CREnlMAf\\\",\\\"fixtures_channels_lorem-ipsum-tech_scripts_drafts_script-002.md\\\":\\\"DG7koHac\\\",\\\"guide_agents.md\\\":\\\"CmG3Bc_S\\\",\\\"guide_ai-providers.md\\\":\\\"DW6UmJpK\\\",\\\"guide_audio.md\\\":\\\"BRab-B4J\\\",\\\"guide_auth.md\\\":\\\"BbwAU28P\\\",\\\"guide_channels.md\\\":\\\"B7PU6BUC\\\",\\\"guide_discover.md\\\":\\\"DSD1U-Lt\\\",\\\"guide_episodes.md\\\":\\\"y4AqTEJi\\\",\\\"guide_feedback.md\\\":\\\"Dvjp2Xe-\\\",\\\"guide_ideas.md\\\":\\\"BeP5LQ-v\\\",\\\"guide_index.md\\\":\\\"C2yk0xjX\\\",\\\"guide_jobs.md\\\":\\\"Ctdg0G8U\\\",\\\"guide_kubernetes.md\\\":\\\"CWatKc7U\\\",\\\"guide_mcp-guide.md\\\":\\\"CL5me7MQ\\\",\\\"guide_proposals.md\\\":\\\"B7fu5pu9\\\",\\\"guide_resources.md\\\":\\\"1TQjXO3W\\\",\\\"guide_scripts.md\\\":\\\"CFKB3Txa\\\",\\\"guide_settings.md\\\":\\\"B8PXaqnj\\\",\\\"guide_setup.md\\\":\\\"PUlIeAge\\\",\\\"index.md\\\":\\\"CFcvJXx6\\\",\\\"mobile_features.md\\\":\\\"BoYACL6T\\\",\\\"mobile_index.md\\\":\\\"lYxutdp_\\\",\\\"mobile_setup.md\\\":\\\"B9DndvsJ\\\",\\\"readme.md\\\":\\\"B-5Jzb14\\\",\\\"seed_channels_demo-channel_scripts_drafts_script-draft-01.md\\\":\\\"UyrBnJ9R\\\",\\\"seed_channels_demo-channel_scripts_final_script-final-01.md\\\":\\\"VDqAba82\\\",\\\"studio.md\\\":\\\"BPWculfk\\\"}\");window.__VP_SITE_DATA__=JSON.parse(\"{\\\"lang\\\":\\\"en-US\\\",\\\"dir\\\":\\\"ltr\\\",\\\"title\\\":\\\"CRAFT Studio\\\",\\\"description\\\":\\\"Content Refinement \u0026 Authoring Framework Toolkit — User Guide\\\",\\\"base\\\":\\\"/CRAFT/\\\",\\\"head\\\":[],\\\"router\\\":{\\\"prefetchLinks\\\":true},\\\"appearance\\\":\\\"dark\\\",\\\"themeConfig\\\":{\\\"logo\\\":\\\"/logo.png\\\",\\\"nav\\\":[{\\\"text\\\":\\\"Guide\\\",\\\"link\\\":\\\"/guide/\\\"},{\\\"text\\\":\\\"Mobile\\\",\\\"link\\\":\\\"/mobile/\\\"},{\\\"text\\\":\\\"Open Studio\\\",\\\"link\\\":\\\"https://dev.rudolphhome.com/studio/\\\",\\\"target\\\":\\\"_blank\\\"}],\\\"sidebar\\\":[{\\\"text\\\":\\\"Getting Started\\\",\\\"items\\\":[{\\\"text\\\":\\\"Introduction\\\",\\\"link\\\":\\\"/guide/\\\"},{\\\"text\\\":\\\"Kubernetes / Helm\\\",\\\"link\\\":\\\"/guide/kubernetes\\\"},{\\\"text\\\":\\\"Local Dev (Docker)\\\",\\\"link\\\":\\\"/guide/setup\\\"},{\\\"text\\\":\\\"AI Providers\\\",\\\"link\\\":\\\"/guide/ai-providers\\\"},{\\\"text\\\":\\\"Authentication \u0026 Roles\\\",\\\"link\\\":\\\"/guide/auth\\\"}]},{\\\"text\\\":\\\"Content Studio\\\",\\\"items\\\":[{\\\"text\\\":\\\"Channels\\\",\\\"link\\\":\\\"/guide/channels\\\"},{\\\"text\\\":\\\"Ideas\\\",\\\"link\\\":\\\"/guide/ideas\\\"},{\\\"text\\\":\\\"Scripts\\\",\\\"link\\\":\\\"/guide/scripts\\\"},{\\\"text\\\":\\\"Episodes\\\",\\\"link\\\":\\\"/guide/episodes\\\"},{\\\"text\\\":\\\"Proposals\\\",\\\"link\\\":\\\"/guide/proposals\\\"},{\\\"text\\\":\\\"Discover\\\",\\\"link\\\":\\\"/guide/discover\\\"},{\\\"text\\\":\\\"Audio (TTS)\\\",\\\"link\\\":\\\"/guide/audio\\\"},{\\\"text\\\":\\\"Resources\\\",\\\"link\\\":\\\"/guide/resources\\\"},{\\\"text\\\":\\\"Feedback\\\",\\\"link\\\":\\\"/guide/feedback\\\"},{\\\"text\\\":\\\"Settings\\\",\\\"link\\\":\\\"/guide/settings\\\"},{\\\"text\\\":\\\"MCP Servers\\\",\\\"link\\\":\\\"/guide/mcp-guide\\\"}]},{\\\"text\\\":\\\"Infrastructure\\\",\\\"items\\\":[{\\\"text\\\":\\\"AI Agents\\\",\\\"link\\\":\\\"/guide/agents\\\"},{\\\"text\\\":\\\"Jobs \u0026 Workers\\\",\\\"link\\\":\\\"/guide/jobs\\\"}]},{\\\"text\\\":\\\"Mobile App\\\",\\\"items\\\":[{\\\"text\\\":\\\"Overview\\\",\\\"link\\\":\\\"/mobile/\\\"},{\\\"text\\\":\\\"Setup\\\",\\\"link\\\":\\\"/mobile/setup\\\"},{\\\"text\\\":\\\"Features\\\",\\\"link\\\":\\\"/mobile/features\\\"}]}],\\\"socialLinks\\\":[{\\\"icon\\\":\\\"github\\\",\\\"link\\\":\\\"https://github.com/VibeSmiths/CRAFT\\\"}],\\\"search\\\":{\\\"provider\\\":\\\"local\\\"},\\\"footer\\\":{\\\"message\\\":\\\"Built by \u003ca href=\\\\\\\"https://github.com/VibeSmiths\\\\\\\" target=\\\\\\\"_blank\\\\\\\"\u003eVibeSmiths\u003c/a\u003e\\\"}},\\\"locales\\\":{},\\\"scrollOffset\\\":134,\\\"cleanUrls\\\":false}\");\u003c/script\u003e\n    \n  \u003c/body\u003e\n\u003c/html\u003e","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvibesmiths%2Fcraft","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvibesmiths%2Fcraft","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvibesmiths%2Fcraft/lists"}