Markdown Converter
Agent skill for markdown-converter
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
Sign in to like and favorite skills
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
Clueless is an AI-powered meeting assistant that provides real-time transcription, intelligent analysis, and action item extraction from conversations. It's built as a single-user desktop application using Electron/NativePHP with OpenAI's Realtime API for voice conversations.
# Full development environment (Laravel + Vite + Queue + Logs) composer dev # Development with Server-Side Rendering composer dev:ssr # Desktop application mode (NativePHP) composer native:dev # Frontend only (Vite dev server) npm run dev
# Build frontend for production npm run build # Build with SSR support npm run build:ssr
# Format code with Prettier npm run format # Check formatting without fixing npm run format:check # Fix ESLint issues npm run lint # PHP code style (Laravel Pint) php artisan pint
# Run all tests composer test # or php artisan test # Run specific test file php artisan test tests/Feature/DashboardTest.php # Run tests with coverage (if configured) php artisan test --coverage # Run tests in parallel php artisan test --parallel # Run only unit tests php artisan test --testsuite=Unit # Run only feature tests php artisan test --testsuite=Feature
/app/ - Laravel backend logic
/Http/Controllers/ - Request handlers (Conversations, Realtime, Settings)/Models/ - Eloquent models (Conversation, Transcript, etc.)/Services/ - Business logic (ApiKeyService, TranscriptionService)/Providers/ - Service providers/resources/js/ - Vue frontend application
/components/ - Reusable Vue components/components/ui/ - UI component library (Reka UI based, shadcn/ui-inspired)/pages/ - Inertia.js page components/layouts/ - Layout components (App, Settings)/composables/ - Vue composables (useAppearance, useRealtime, etc.)/services/ - Frontend services (audioCaptureService, realtimeClient)/types/ - TypeScript type definitions/routes/ - Application routing (web.php)/database/ - Migrations, factories, seeders/tests/ - Pest PHP test suites/resources/js/components/ui/ follow Reka UI patterns@/ for /resources/js/useAppearance composablevite.config.ts - Vite configuration with Laravel plugintsconfig.json - TypeScript configurationeslint.config.js - ESLint rules (ignores UI components)resources/js/app.ts - Frontend entry pointresources/js/ssr.ts - SSR entry point/resources/js/pages//routes/web.php returning Inertia::render()@/typesUI components are in
/resources/js/components/ui/ and follow Reka UI patterns. Import and use them directly - they're excluded from ESLint checks.
# Run migrations php artisan migrate # Create new migration php artisan make:migration create_example_table # Seed database php artisan db:seed
.env.example to .envphp artisan key:generatetouch database/database.sqlitephp artisan migrate.env file: OPENAI_API_KEY=sk-...IMPORTANT: This application uses TWO databases:
database/database.sqlitedatabase/nativephp.sqliteWhen creating or running migrations, you MUST run them on BOTH databases:
# Run on default database php artisan migrate # Run on nativephp database (REQUIRED!) php artisan migrate --database=nativephp # For specific migrations: php artisan migrate --database=nativephp --path=database/migrations/your_migration.php
Always check both databases when debugging database-related issues!
When you need to access documentation for any library or framework, use the Context7 MCP tool. This is especially important as we're in 2025 and web search results from 2024 may be outdated. Always prefer Context7 for the latest documentation.
Example usage:
mcp__context7__get-library-docs with library ID /prism-php/prismmcp__context7__resolve-library-id to find the libraryThe application uses a direct frontend WebSocket architecture for optimal performance:
/resources/js/services/audioCaptureService.ts/resources/js/pages/RealtimeAgent/Main.vue
gpt-4o-mini-transcribe model for cost-effective transcription/app/Http/Controllers/RealtimeController.php
Frontend → Backend (ephemeral key) → Frontend → OpenAI (direct WebSocket)
This architecture provides lower latency and better scalability compared to backend relay approaches.
The application uses a simple API key management system:
.env OPENAI_API_KEY if not configuredThis project uses MIT License with Commons Clause:
COMMONS_CLAUSE.md for details/resources/js/components/ui/* (third-party UI components)/resources/ directoryImportant: YOU MUST USE subagents when available for the task.
| Task | Agent | Notes |
|---|---|---|
| Laravel backend development | @agent-laravel-backend-expert | Controllers, services, models, Inertia.js integration |
| Database and Eloquent queries | @agent-laravel-eloquent-expert | ORM optimization, complex queries, migrations |
| Vue component development | @agent-vue-component-architect | Vue 3 Composition API, component patterns |
| State management (Pinia) | @agent-vue-state-manager | Pinia stores, state architecture |
| Frontend styling and UI | @agent-tailwind-frontend-expert | Tailwind CSS, responsive design, Reka UI components |
| API design and architecture | @agent-api-architect | RESTful design, API best practices |
| Documentation updates | @agent-documentation-specialist | README, API docs, architecture guides |
| Code review | @agent-code-reviewer | Security, quality, maintainability checks |
| Performance optimization | @agent-performance-optimizer | Bottleneck identification, optimization |