An open API service indexing awesome lists of open source software.

https://github.com/vibesmiths/craft

Documentation site for CRAFT Studio (GitHub Pages)
https://github.com/vibesmiths/craft

documentation github-pages vitepress

Last synced: 2 months ago
JSON representation

Documentation site for CRAFT Studio (GitHub Pages)

Awesome Lists containing this project

README

          




CRAFT — Documentation | CRAFT Studio










(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"dark",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();
document.documentElement.classList.toggle("mac",/Mac|iPhone|iPod|iPad/i.test(navigator.platform));



Skip to content





Main Navigation GuideMobileOpen Studio











Menu
Return to top



Sidebar Navigation




Infrastructure








Mobile App











On this page








    CRAFT — Documentation


    User guide built with VitePress, with automated screenshots via Playwright.


    Local Development



    bash
    cd docs
    
    npm install # first time only
    npm run dev # starts at http://localhost:5173/CRAFT/


    Build



    bash
    npm run build      # outputs to .vitepress/dist/
    
    npm run preview # preview the built site


    Screenshots


    Screenshots are captured automatically by Playwright against the running studio Docker container.


    Take Screenshots Locally




    1. Start the studio with seed data:



      bash
      # From the repo root
      
      docker build -t studio-local -f app/Dockerfile app/
      docker run -d --name studio-screenshots \
      -p 8080:8080 \
      -v "$(pwd)/docs/seed/channels:/channels" \
      -e GEMINI_API_KEY="" \
      -e ANTHROPIC_API_KEY="" \
      studio-local




    2. Run Playwright:



      bash
      cd docs
      
      npx playwright install --with-deps chromium # first time only
      npm run screenshots



    3. Screenshots are saved to public/screenshots/.



    4. Clean up:



      bash
      docker stop studio-screenshots && docker rm studio-screenshots




    CI Pipeline


    On pull requests, the CI pipeline automatically:



    1. Builds the studio Docker image

    2. Starts it with the seed data from docs/seed/

    3. Runs Playwright to capture screenshots

    4. Uploads them as a build artifact


    Screenshots are not auto-committed — download the artifact from the PR checks and commit manually if they look good.


    Seed Data


    The seed/ directory contains demo channel data used for screenshots:



    seed/channels/demo-channel/
    
    channel.json # Channel config (Lorem Ipsum Tech)
    ideas/ # 3 sample ideas (manual, AI, discover)
    scripts/
    drafts/ # 1 draft Short script
    final/ # 1 final Long script


    To add more seed data, follow the JSON/Markdown formats in app/backend/src/lib/fileStore.ts.


    Directory Structure



    docs/
    
    .vitepress/
    config.mts # VitePress config (sidebar, nav, theme)
    public/
    screenshots/ # Playwright-captured images
    guide/ # 10 guide pages (setup, ideas, scripts, etc.)
    mobile/ # 3 mobile app pages
    seed/ # Demo data for screenshots
    index.md # Landing page with hero
    screenshots.spec.ts # Playwright test spec
    playwright.config.ts # Playwright config
    package.json # VitePress + Playwright deps


    Deployment


    The docs deploy to GitHub Pages automatically on push to main via the CI workflow. The site is available at:


    https://vibesmiths.github.io/CRAFT/



    Pager




    Built by VibeSmiths




    window.__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 & 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 & 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 & 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 <a href=\\\"https://github.com/VibeSmiths\\\" target=\\\"_blank\\\">VibeSmiths</a>\"}},\"locales\":{},\"scrollOffset\":134,\"cleanUrls\":false}");