A modern SvelteKit application for building and managing AI workflows, featuring a comprehensive UI component library and workflow management system.
npm install -g pnpm
)pnpm install
pnpm run dev
The application will be available at http://localhost:5173
(or the next available port if 5173 is in use)
pnpm run dev -- --open
pnpm run dev
- Start development serverpnpm run dev -- --open
- Start dev server and open in browserpnpm run build
- Create production buildpnpm run preview
- Preview production build locallypnpm run check
- Run TypeScript and Svelte checkspnpm run check:watch
- Run checks in watch modepnpm run test
- Run unit testspnpm run test:unit
- Run unit tests with Vitestpnpm run test:e2e
- Run end-to-end tests with Playwrightpnpm run test:e2e:ui
- Run E2E tests with UIpnpm run test:e2e:headed
- Run E2E tests in headed modepnpm run test:e2e:debug
- Run E2E tests in debug modepnpm run test:e2e:report
- Show E2E test reportpnpm run test:all
- Run all tests (unit + E2E)src/
├── lib/
│ ├── components/ # Reusable UI components
│ │ ├── ui/ # shadcn-svelte components
│ │ ├── app-sidebar.svelte
│ │ ├── flow-canvas.svelte
│ │ └── ...
│ ├── hooks/ # Custom Svelte hooks
│ ├── routes/ # Route-specific components
│ └── utils.ts # Utility functions
├── routes/ # SvelteKit routes
│ ├── workflows/ # Workflow-specific pages
│ └── ...
└── app.css # Global styles with Tailwind CSS
The project uses shadcn-svelte for UI components with a custom design system. Components are located in src/lib/components/ui/
.
Build Scripts Warning: If you see warnings about build scripts, run:
pnpm approve-builds
TypeScript Errors: Run type checking:
pnpm run check
Test Failures: Ensure all dependencies are installed:
pnpm install
Svelte Warnings: The project has some Svelte component warnings (unused exports, accessibility). These are non-blocking but can be addressed by:
export let
to export const
for external referencesTest Environment Issues: Some tests may fail due to environment variable mocking. The test setup includes mocks for API keys, but complex workflows may need additional configuration.
The project includes environment variables for API integrations. Copy the example file and configure your API keys:
cp .env.example .env
Edit .env
with your API keys:
OPENAI_API_KEY
- OpenAI API key for GPT modelsGEMINI_API_KEY
- Google Gemini API keyANTHROPIC_API_KEY
- Anthropic Claude API keyLUMA_AI_API_KEY
- Luma AI API key for video generationPEXELS_API_KEY
- Pexels API key for stock imagesNote: The application will work without these keys for basic development, but workflow functionality requires proper API configuration.
pnpm install
pnpm run check
pnpm run test:all
pnpm run dev
The project is configured for Vercel deployment with the @sveltejs/adapter-vercel
adapter. Build artifacts are generated in the .svelte-kit/output/
directory.