Expert guidance for working with Clueless - an AI-powered meeting assistant built with Laravel 12, Vue 3, NativePHP/Electron, and OpenAI Realtime API
This skill provides comprehensive guidance for working with Clueless, an AI-powered meeting assistant that provides real-time transcription, intelligent analysis, and action item extraction from conversations.
Clueless is a single-user desktop application built with Laravel 12 (PHP 8.2+) backend, Vue 3 with TypeScript frontend, and NativePHP/Electron for desktop deployment. It uses OpenAI's Realtime API for voice conversations with a direct WebSocket architecture for optimal performance.
1. **Inertia.js Integration**: SPA-like experience without API endpoints
2. **Direct WebSocket Architecture**: Frontend connects directly to OpenAI Realtime API for lower latency
3. **Dual Database Setup**: Two SQLite databases (default + nativephp)
4. **No Authentication**: Single-user desktop app
5. **Theme Support**: Dark/light mode via composables
6. **Service Architecture**: Business logic separated into service classes
```
Frontend Audio Capture → Backend (ephemeral key generation) → Frontend → OpenAI (direct WebSocket)
```
**Key files**:
When working with this codebase:
**Running the application**:
```bash
composer dev
composer native:dev
npm run dev
```
**Code quality**:
```bash
npm run format
php artisan pint
npm run lint
```
**Testing**:
```bash
composer test
php artisan test tests/Feature/DashboardTest.php
php artisan test --testsuite=Unit
php artisan test --testsuite=Feature
```
**CRITICAL**: This application uses TWO databases. ALWAYS run migrations on BOTH:
```bash
php artisan migrate
php artisan migrate --database=nativephp
```
When debugging database issues, check both `database/database.sqlite` and `database/nativephp.sqlite`.
**Adding a new page**:
1. Create Vue component in `/resources/js/pages/`
2. Add route in `/routes/web.php` returning `Inertia::render()`
3. Use TypeScript types from `@/types`
**Adding UI components**:
**Adding services**:
```bash
cp .env.example .env
php artisan key:generate
touch database/database.sqlite
touch database/nativephp.sqlite
php artisan migrate
php artisan migrate --database=nativephp
```
Configure OpenAI API key either:
**IMPORTANT**: Always use Context7 MCP tool for documentation, not web search. We're in 2025 and web results may be outdated.
Examples:
| Task | Specialist |
|------|------------|
| Laravel backend | @agent-laravel-backend-expert |
| Database/Eloquent | @agent-laravel-eloquent-expert |
| Vue components | @agent-vue-component-architect |
| State management | @agent-vue-state-manager |
| Styling/UI | @agent-tailwind-frontend-expert |
| API design | @agent-api-architect |
| Documentation | @agent-documentation-specialist |
| Code review | @agent-code-reviewer |
| Performance | @agent-performance-optimizer |
**YOU MUST USE subagents when available for the task.**
When investigating issues:
1. Check both SQLite databases
2. Review Laravel logs in `storage/logs/`
3. Check WebSocket connection status in browser DevTools
4. Verify OpenAI API key configuration
5. Ensure ephemeral keys are being generated correctly
6. Check audio capture permissions for desktop app
```bash
npm run build
npm run build:ssr
composer native:dev
```
When working with Clueless:
1. Always remember the dual database setup
2. Use direct WebSocket architecture for real-time features
3. Follow Inertia.js patterns for routing and pages
4. Leverage the UI component library for consistency
5. Use Context7 for up-to-date documentation
6. Delegate to specialist agents when available
7. Maintain code quality with Prettier, ESLint, and Pint
8. Test thoroughly with Pest PHP
Leave a review
No reviews yet. Be the first to review this skill!
# Download SKILL.md from killerskills.ai/api/skills/clueless-ai-meeting-assistant-development-helper/raw