{"owner":"jitsi","repo":"jitsi-meet","hasSkills":true,"totalSkillsCount":4,"totalTokensCount":3621,"categories":["claude-rule","mcp-config","marketplace","plugin-manifest"],"hasMcp":true,"mcpConfig":{"mcpServers":{"jitsi-meet":{"command":"npx","args":["-y","@modelcontextprotocol/server-jitsi-meet"]}}},"found":["CLAUDE.md",".cursor/mcp.json",".claude-plugin/marketplace.json",".claude-plugin/plugin.json"],"skills":{"CLAUDE.md":"# CLAUDE.md\n\nThis file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.\n\n## Development Commands\n\n### Building and Development\n- `npm run lint-fix` - Automatically fix linting issues\n- `npm run tsc:ci` - Run TypeScript checks for both web and native platforms\n- `npm run tsc:web` - TypeScript check for web platform only\n- `npm run tsc:native` - TypeScript check for native platform only\n- `npm run lint:ci` - Run ESLint without type checking\n- `make dev` - Start development server with webpack-dev-server\n- `make compile` - Build production bundles\n- `make clean` - Clean build directory\n- `make all` - Full build (compile + deploy)\n\n### Testing\n- `npm test` - Run full test suite using WebDriverIO\n- `npm run test-single -- <spec-file>` - Run single test file\n- `npm run test-dev` - Run tests against development environment\n- `npm run test-dev-single -- <spec-file>` - Run single test in dev mode\n\n\n### Language Tools\n- `npm run lang-sort` - Sort language files\n- `npm run lint:lang` - Validate JSON language files\n\n### Platform-Specific TypeScript\nTypeScript configuration is split between web and native platforms with separate tsconfig files.\n\n## Architecture Overview\n\n### Multi-Platform Structure\nJitsi Meet supports both web and React Native platforms with platform-specific file extensions and directories:\n- `.web.ts/.web.tsx` - Web-specific implementations\n- `.native.ts/.native.tsx` - React Native-specific implementations\n- `.any.ts/.any.tsx` - Shared cross-platform code\n- `.android.ts/.android.tsx` - Android-specific code\n- `.ios.ts/.ios.tsx` - iOS-specific code\n- `web/` directories - Web-specific components and modules\n- `native/` directories - React Native-specific components and modules\n- `react/features/mobile/` - Native-only features\n\n### Core Directories\n- `react/features/` - Main application features organized by domain (83+ feature modules)\n- `modules/` - Legacy JavaScript modules and APIs\n- `css/` - SCSS stylesheets compiled to CSS\n- `libs/` - Compiled output directory for JavaScript bundles\n- `static/` - Static assets and HTML files\n- `tests/` - WebDriverIO end-to-end tests\n\n### Feature-Driven Architecture\nThe application is organized under `react/features/` with each feature containing:\n\n- **`actionTypes.ts`** - Redux action type constants\n- **`actions.ts`** - Redux action creators (platform-specific variants with `.any.ts`, `.web.ts`, `.native.ts`)\n- **`reducer.ts`** - Redux reducer functions\n- **`middleware.ts`** - Redux middleware for side effects\n- **`functions.ts`** - Utility functions and selectors\n- **`constants.ts`** - Feature-specific constants\n- **`logger.ts`** - Feature-specific logger instance\n- **`types.ts`** - TypeScript type definitions\n\n### Key Application Files\n- `app.js` - Main web application entry point\n- `webpack.config.js` - Multi-bundle Webpack configuration\n- `Makefile` - Build system for development and production\n- `package.json` - Dependencies and scripts with version requirements\n\n### Bundle Architecture\nThe application builds multiple bundles:\n- `app.bundle.js` / `app.bundle.min.js` - Main application bundle (entry: `./app.js`)\n- `external_api.js` / `external_api.min.js` - External API for embedders (entry: `./modules/API/external/index.js`)\n- `alwaysontop.js` / `alwaysontop.min.js` - Always-on-top window functionality (entry: `./react/features/always-on-top/index.tsx`)\n- `close3.js` / `close3.min.js` - Close3 functionality (entry: `./static/close3.js`)\n- `face-landmarks-worker.js` / `face-landmarks-worker.min.js` - Face landmarks detection worker (entry: `./react/features/face-landmarks/faceLandmarksWorker.ts`)\n- `noise-suppressor-worklet.js` / `noise-suppressor-worklet.min.js` - Audio noise suppression worklet (entry: `./react/features/stream-effects/noise-suppression/NoiseSuppressorWorklet.ts`)\n- `screenshot-capture-worker.js` / `screenshot-capture-worker.min.js` - Screenshot capture worker (entry: `./react/features/screenshot-capture/worker.ts`)\n\n### Redux Architecture\nFeatures follow a Redux-based architecture with:\n- Actions, reducers, and middleware in each feature directory\n- Cross-platform state management\n- Modular feature organization with clear boundaries\n\nThe codebase uses a registry-based Redux architecture:\n- **ReducerRegistry** - Features register their reducers independently\n- **MiddlewareRegistry** - Features register middleware without cross-dependencies\n- **IReduxState** - Global state is strongly typed with 80+ feature states\n\n### Dependencies\n- Uses `lib-jitsi-meet` as the core WebRTC library\n- React with TypeScript support\n- React Native for mobile applications\n- Webpack for bundling with development server\n\n### TypeScript Configuration\n- `tsconfig.web.json` - Web platform TypeScript config (excludes native files)\n- `tsconfig.native.json` - React Native TypeScript config (excludes web files)\n- Strict TypeScript settings with ES2024 target\n- Platform-specific module suffixes (`.web`, `.native`)\n\n### Key Base Features\n- **`base/app/`** - Application lifecycle management\n- **`base/conference/`** - Core conference logic\n- **`base/tracks/`** - Media track management\n- **`base/participants/`** - Participant management\n- **`base/config/`** - Configuration management\n- **`base/redux/`** - Redux infrastructure\n\n### Component Patterns\n- **Abstract Components** - Base classes for cross-platform components\n- **Platform-Specific Components** - Separate implementations in `web/` and `native/` directories\n- **Hook-based patterns** - Modern React patterns for component logic\n### Testing Framework\n- WebDriverIO for end-to-end testing\n- Test files are located in `tests/specs/` and use page objects in `tests/pageobjects/`.\n- Environment configuration via `.env` files\n- Support for Chrome, Firefox, and grid testing\n\n## Development Guidelines\n\n### Adding New Features\n1. Create feature directory under `react/features/[feature-name]/`\n2. Follow the standard file structure (actionTypes, actions, reducer, etc.)\n3. Register reducers and middleware using the registry pattern\n4. Define TypeScript interfaces for state and props\n5. Use platform-specific files for web/native differences\n6. Add feature-specific logger for debugging\n\n### Working with Existing Features\n1. Check for existing `.any.ts`, `.web.ts`, `.native.ts` variants\n2. Follow established action-reducer-middleware patterns\n3. Use existing base utilities rather than creating new ones\n4. Leverage abstract components for cross-platform logic\n5. Maintain type safety across the entire state tree\n\n### Testing\nThe project uses WebDriver (WebdriverIO) for end-to-end testing. Test files are located in `tests/specs/` and use page objects in `tests/pageobjects/`.\n\n### Build System\n- **Webpack** - Main build system for web bundles\n- **Makefile** - Coordinates build process and asset deployment\n- **Metro** - React Native bundler (configured in `metro.config.js`)\n\n### Platform-Specific Notes\n- Web builds exclude files matching `**/native/*`, `**/*.native.ts`, etc.\n- Native builds exclude files matching `**/web/*`, `**/*.web.ts`, etc.\n- Use `moduleSuffixes` in TypeScript config to handle platform-specific imports\n- Check `tsconfig.web.json` and `tsconfig.native.json` for platform-specific exclusions\n\n## Environment and Setup Requirements\n\n### System Requirements\n- **Node.js and npm** are required\n- Development server runs at https://localhost:8080/\n- Certificate errors in development are expected (self-signed certificates)\n\n### Development Workflow\n- Development server proxies to configurable target (default: https://alpha.jitsi.net)\n- Hot module replacement enabled for development\n- Bundle analysis available via `ANALYZE_BUNDLE=true` environment variable\n- Circular dependency detection via `DETECT_CIRCULAR_DEPS=true`\n\n## Code Quality Requirements\n- All code must pass `npm run lint:ci` and `npm run tsc:ci` with 0 warnings before committing\n- TypeScript strict mode enabled - avoid `any` type\n- ESLint config extends `@jitsi/eslint-config`\n- Prefer TypeScript for new features, convert existing JavaScript when possible\n\n## Code Style and Standards\n\n### Conventional Commits Format\nFollow [Conventional Commits](https://www.conventionalcommits.org) with **mandatory scopes**:\n```\nfeat(feature-name): description\nfix(feature-name): description\ndocs(section): description\n```\nAvailable types: build, chore, ci, docs, feat, fix, perf, refactor, revert, style, test\n\n### Feature Layout Structure\nWhen adding new features:\n```\nreact/features/sample/\n├── actionTypes.ts\n├── actions.ts\n├── components/\n│   ├── AnotherComponent.tsx\n│   └── OneComponent.tsx\n├── middleware.ts\n└── reducer.ts\n```\n\n### TypeScript Requirements\n- All new features must be written in TypeScript\n- Convert JavaScript to TypeScript when modifying existing code\n- Import middleware in `react/features/app/middlewares.{any,native,web}.js`\n- Import reducers in appropriate registry files\n- Avoid `index` files\n\n### Bundle Size Management\n- Bundle size limits are enforced to prevent bloat\n- For increases, analyze first: `npx webpack -p --analyze-bundle`\n- Open analyzer: `npx webpack-bundle-analyzer build/app-stats.json`\n- Justify any dependency additions that increase bundle size\n\n## Testing and Quality Assurance\n\n### Tests\n- End-to-end tests are defined in the tests/\n- Tests run automatically for project member PRs via Jenkins\n- Tests cover peer-to-peer, invites, iOS, Android, and web platforms\n- Beta testing available at https://beta.meet.jit.si/\n\n### Manual Testing Checklist\n- Test with 2 participants (P2P mode)\n- Test with 3+ participants (JVB mode)\n- Verify audio/video in both modes\n- Test mobile apps if changes affect mobile\n- Check that TLS certificate chain is complete for mobile app compatibility\n\n## Common Issues and Debugging\n\n### P2P vs JVB Problems\n- **Works with 2 participants, fails with 3+**: JVB/firewall issue, check UDP 10000\n- **Works on web, fails on mobile apps**: TLS certificate chain issue, need fullchain.pem\n- Use the tests from tests/ directory to verify functionality across platforms\n\n### Development Server Issues\n- Certificate warnings are normal for development (self-signed)\n- Use different backend with WEBPACK_DEV_SERVER_PROXY_TARGET environment variable\n- Check firewall settings if local development fails\n\n### Configuration and Customization\n- Extensive configuration options documented in handbook\n- See `config.js` for client-side options\n- Options marked 🚫 are not overwritable through `configOverwrite`\n- Reference [Configuration Guide](https://jitsi.github.io/handbook/docs/dev-guide/dev-guide-configuration) for details\n\n## Architecture Deep Dive\n\n### Core Application Files\n- **`./conference.js`** - Foundation for user-conference interactions (connection, joining, muting)\n- **`./modules/external-api`** - External API for iframe integration and events\n- **`./lang/`** - Translations in `main-[language].json` files\n- **`./css/`** - SCSS files organized by features, matching React feature structure\n\n### State Management Flow\n1. Actions dispatched from components\n2. Middleware processes side effects\n3. Reducers update state\n4. Components re-render based on state changes\n5. Registry pattern keeps features decoupled\n\n### Cross-Platform Strategy\n- Abstract components handle shared logic\n- Platform files (.web.ts, .native.ts) handle platform differences\n- Build system excludes irrelevant platform files\n- TypeScript configs ensure proper platform targeting\n\n## External Resources\n- [Jitsi Handbook](https://jitsi.github.io/handbook/) - Comprehensive documentation\n- [Community Forum](https://community.jitsi.org/) - Ask questions and get support\n- [Architecture Guide](https://jitsi.github.io/handbook/docs/architecture) - System overview\n- [Contributing Guidelines](https://jitsi.github.io/handbook/docs/dev-guide/dev-guide-contributing/) - Detailed contribution process\n",".cursor/mcp.json":"# Model Context Protocol (MCP) Configuration\n\nPath: `.cursor/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/jitsi/jitsi-meet/HEAD/.cursor/mcp.json)",".claude-plugin/marketplace.json":"# Claude Plugin Marketplace Catalog\n\nPath: `.claude-plugin/marketplace.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/jitsi/jitsi-meet/HEAD/.claude-plugin/marketplace.json)",".claude-plugin/plugin.json":"# claude-plugin Plugin Manifest\n\nPath: `.claude-plugin/plugin.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/jitsi/jitsi-meet/HEAD/.claude-plugin/plugin.json)"},"files":{"CLAUDE.md":"# CLAUDE.md\n\nThis file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.\n\n## Development Commands\n\n### Building and Development\n- `npm run lint-fix` - Automatically fix linting issues\n- `npm run tsc:ci` - Run TypeScript checks for both web and native platforms\n- `npm run tsc:web` - TypeScript check for web platform only\n- `npm run tsc:native` - TypeScript check for native platform only\n- `npm run lint:ci` - Run ESLint without type checking\n- `make dev` - Start development server with webpack-dev-server\n- `make compile` - Build production bundles\n- `make clean` - Clean build directory\n- `make all` - Full build (compile + deploy)\n\n### Testing\n- `npm test` - Run full test suite using WebDriverIO\n- `npm run test-single -- <spec-file>` - Run single test file\n- `npm run test-dev` - Run tests against development environment\n- `npm run test-dev-single -- <spec-file>` - Run single test in dev mode\n\n\n### Language Tools\n- `npm run lang-sort` - Sort language files\n- `npm run lint:lang` - Validate JSON language files\n\n### Platform-Specific TypeScript\nTypeScript configuration is split between web and native platforms with separate tsconfig files.\n\n## Architecture Overview\n\n### Multi-Platform Structure\nJitsi Meet supports both web and React Native platforms with platform-specific file extensions and directories:\n- `.web.ts/.web.tsx` - Web-specific implementations\n- `.native.ts/.native.tsx` - React Native-specific implementations\n- `.any.ts/.any.tsx` - Shared cross-platform code\n- `.android.ts/.android.tsx` - Android-specific code\n- `.ios.ts/.ios.tsx` - iOS-specific code\n- `web/` directories - Web-specific components and modules\n- `native/` directories - React Native-specific components and modules\n- `react/features/mobile/` - Native-only features\n\n### Core Directories\n- `react/features/` - Main application features organized by domain (83+ feature modules)\n- `modules/` - Legacy JavaScript modules and APIs\n- `css/` - SCSS stylesheets compiled to CSS\n- `libs/` - Compiled output directory for JavaScript bundles\n- `static/` - Static assets and HTML files\n- `tests/` - WebDriverIO end-to-end tests\n\n### Feature-Driven Architecture\nThe application is organized under `react/features/` with each feature containing:\n\n- **`actionTypes.ts`** - Redux action type constants\n- **`actions.ts`** - Redux action creators (platform-specific variants with `.any.ts`, `.web.ts`, `.native.ts`)\n- **`reducer.ts`** - Redux reducer functions\n- **`middleware.ts`** - Redux middleware for side effects\n- **`functions.ts`** - Utility functions and selectors\n- **`constants.ts`** - Feature-specific constants\n- **`logger.ts`** - Feature-specific logger instance\n- **`types.ts`** - TypeScript type definitions\n\n### Key Application Files\n- `app.js` - Main web application entry point\n- `webpack.config.js` - Multi-bundle Webpack configuration\n- `Makefile` - Build system for development and production\n- `package.json` - Dependencies and scripts with version requirements\n\n### Bundle Architecture\nThe application builds multiple bundles:\n- `app.bundle.js` / `app.bundle.min.js` - Main application bundle (entry: `./app.js`)\n- `external_api.js` / `external_api.min.js` - External API for embedders (entry: `./modules/API/external/index.js`)\n- `alwaysontop.js` / `alwaysontop.min.js` - Always-on-top window functionality (entry: `./react/features/always-on-top/index.tsx`)\n- `close3.js` / `close3.min.js` - Close3 functionality (entry: `./static/close3.js`)\n- `face-landmarks-worker.js` / `face-landmarks-worker.min.js` - Face landmarks detection worker (entry: `./react/features/face-landmarks/faceLandmarksWorker.ts`)\n- `noise-suppressor-worklet.js` / `noise-suppressor-worklet.min.js` - Audio noise suppression worklet (entry: `./react/features/stream-effects/noise-suppression/NoiseSuppressorWorklet.ts`)\n- `screenshot-capture-worker.js` / `screenshot-capture-worker.min.js` - Screenshot capture worker (entry: `./react/features/screenshot-capture/worker.ts`)\n\n### Redux Architecture\nFeatures follow a Redux-based architecture with:\n- Actions, reducers, and middleware in each feature directory\n- Cross-platform state management\n- Modular feature organization with clear boundaries\n\nThe codebase uses a registry-based Redux architecture:\n- **ReducerRegistry** - Features register their reducers independently\n- **MiddlewareRegistry** - Features register middleware without cross-dependencies\n- **IReduxState** - Global state is strongly typed with 80+ feature states\n\n### Dependencies\n- Uses `lib-jitsi-meet` as the core WebRTC library\n- React with TypeScript support\n- React Native for mobile applications\n- Webpack for bundling with development server\n\n### TypeScript Configuration\n- `tsconfig.web.json` - Web platform TypeScript config (excludes native files)\n- `tsconfig.native.json` - React Native TypeScript config (excludes web files)\n- Strict TypeScript settings with ES2024 target\n- Platform-specific module suffixes (`.web`, `.native`)\n\n### Key Base Features\n- **`base/app/`** - Application lifecycle management\n- **`base/conference/`** - Core conference logic\n- **`base/tracks/`** - Media track management\n- **`base/participants/`** - Participant management\n- **`base/config/`** - Configuration management\n- **`base/redux/`** - Redux infrastructure\n\n### Component Patterns\n- **Abstract Components** - Base classes for cross-platform components\n- **Platform-Specific Components** - Separate implementations in `web/` and `native/` directories\n- **Hook-based patterns** - Modern React patterns for component logic\n### Testing Framework\n- WebDriverIO for end-to-end testing\n- Test files are located in `tests/specs/` and use page objects in `tests/pageobjects/`.\n- Environment configuration via `.env` files\n- Support for Chrome, Firefox, and grid testing\n\n## Development Guidelines\n\n### Adding New Features\n1. Create feature directory under `react/features/[feature-name]/`\n2. Follow the standard file structure (actionTypes, actions, reducer, etc.)\n3. Register reducers and middleware using the registry pattern\n4. Define TypeScript interfaces for state and props\n5. Use platform-specific files for web/native differences\n6. Add feature-specific logger for debugging\n\n### Working with Existing Features\n1. Check for existing `.any.ts`, `.web.ts`, `.native.ts` variants\n2. Follow established action-reducer-middleware patterns\n3. Use existing base utilities rather than creating new ones\n4. Leverage abstract components for cross-platform logic\n5. Maintain type safety across the entire state tree\n\n### Testing\nThe project uses WebDriver (WebdriverIO) for end-to-end testing. Test files are located in `tests/specs/` and use page objects in `tests/pageobjects/`.\n\n### Build System\n- **Webpack** - Main build system for web bundles\n- **Makefile** - Coordinates build process and asset deployment\n- **Metro** - React Native bundler (configured in `metro.config.js`)\n\n### Platform-Specific Notes\n- Web builds exclude files matching `**/native/*`, `**/*.native.ts`, etc.\n- Native builds exclude files matching `**/web/*`, `**/*.web.ts`, etc.\n- Use `moduleSuffixes` in TypeScript config to handle platform-specific imports\n- Check `tsconfig.web.json` and `tsconfig.native.json` for platform-specific exclusions\n\n## Environment and Setup Requirements\n\n### System Requirements\n- **Node.js and npm** are required\n- Development server runs at https://localhost:8080/\n- Certificate errors in development are expected (self-signed certificates)\n\n### Development Workflow\n- Development server proxies to configurable target (default: https://alpha.jitsi.net)\n- Hot module replacement enabled for development\n- Bundle analysis available via `ANALYZE_BUNDLE=true` environment variable\n- Circular dependency detection via `DETECT_CIRCULAR_DEPS=true`\n\n## Code Quality Requirements\n- All code must pass `npm run lint:ci` and `npm run tsc:ci` with 0 warnings before committing\n- TypeScript strict mode enabled - avoid `any` type\n- ESLint config extends `@jitsi/eslint-config`\n- Prefer TypeScript for new features, convert existing JavaScript when possible\n\n## Code Style and Standards\n\n### Conventional Commits Format\nFollow [Conventional Commits](https://www.conventionalcommits.org) with **mandatory scopes**:\n```\nfeat(feature-name): description\nfix(feature-name): description\ndocs(section): description\n```\nAvailable types: build, chore, ci, docs, feat, fix, perf, refactor, revert, style, test\n\n### Feature Layout Structure\nWhen adding new features:\n```\nreact/features/sample/\n├── actionTypes.ts\n├── actions.ts\n├── components/\n│   ├── AnotherComponent.tsx\n│   └── OneComponent.tsx\n├── middleware.ts\n└── reducer.ts\n```\n\n### TypeScript Requirements\n- All new features must be written in TypeScript\n- Convert JavaScript to TypeScript when modifying existing code\n- Import middleware in `react/features/app/middlewares.{any,native,web}.js`\n- Import reducers in appropriate registry files\n- Avoid `index` files\n\n### Bundle Size Management\n- Bundle size limits are enforced to prevent bloat\n- For increases, analyze first: `npx webpack -p --analyze-bundle`\n- Open analyzer: `npx webpack-bundle-analyzer build/app-stats.json`\n- Justify any dependency additions that increase bundle size\n\n## Testing and Quality Assurance\n\n### Tests\n- End-to-end tests are defined in the tests/\n- Tests run automatically for project member PRs via Jenkins\n- Tests cover peer-to-peer, invites, iOS, Android, and web platforms\n- Beta testing available at https://beta.meet.jit.si/\n\n### Manual Testing Checklist\n- Test with 2 participants (P2P mode)\n- Test with 3+ participants (JVB mode)\n- Verify audio/video in both modes\n- Test mobile apps if changes affect mobile\n- Check that TLS certificate chain is complete for mobile app compatibility\n\n## Common Issues and Debugging\n\n### P2P vs JVB Problems\n- **Works with 2 participants, fails with 3+**: JVB/firewall issue, check UDP 10000\n- **Works on web, fails on mobile apps**: TLS certificate chain issue, need fullchain.pem\n- Use the tests from tests/ directory to verify functionality across platforms\n\n### Development Server Issues\n- Certificate warnings are normal for development (self-signed)\n- Use different backend with WEBPACK_DEV_SERVER_PROXY_TARGET environment variable\n- Check firewall settings if local development fails\n\n### Configuration and Customization\n- Extensive configuration options documented in handbook\n- See `config.js` for client-side options\n- Options marked 🚫 are not overwritable through `configOverwrite`\n- Reference [Configuration Guide](https://jitsi.github.io/handbook/docs/dev-guide/dev-guide-configuration) for details\n\n## Architecture Deep Dive\n\n### Core Application Files\n- **`./conference.js`** - Foundation for user-conference interactions (connection, joining, muting)\n- **`./modules/external-api`** - External API for iframe integration and events\n- **`./lang/`** - Translations in `main-[language].json` files\n- **`./css/`** - SCSS files organized by features, matching React feature structure\n\n### State Management Flow\n1. Actions dispatched from components\n2. Middleware processes side effects\n3. Reducers update state\n4. Components re-render based on state changes\n5. Registry pattern keeps features decoupled\n\n### Cross-Platform Strategy\n- Abstract components handle shared logic\n- Platform files (.web.ts, .native.ts) handle platform differences\n- Build system excludes irrelevant platform files\n- TypeScript configs ensure proper platform targeting\n\n## External Resources\n- [Jitsi Handbook](https://jitsi.github.io/handbook/) - Comprehensive documentation\n- [Community Forum](https://community.jitsi.org/) - Ask questions and get support\n- [Architecture Guide](https://jitsi.github.io/handbook/docs/architecture) - System overview\n- [Contributing Guidelines](https://jitsi.github.io/handbook/docs/dev-guide/dev-guide-contributing/) - Detailed contribution process\n",".cursor/mcp.json":"# Model Context Protocol (MCP) Configuration\n\nPath: `.cursor/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/jitsi/jitsi-meet/HEAD/.cursor/mcp.json)",".claude-plugin/marketplace.json":"# Claude Plugin Marketplace Catalog\n\nPath: `.claude-plugin/marketplace.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/jitsi/jitsi-meet/HEAD/.claude-plugin/marketplace.json)",".claude-plugin/plugin.json":"# claude-plugin Plugin Manifest\n\nPath: `.claude-plugin/plugin.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/jitsi/jitsi-meet/HEAD/.claude-plugin/plugin.json)"},"items":[{"name":"CLAUDE.md","path":"CLAUDE.md","rawUrl":"https://raw.githubusercontent.com/jitsi/jitsi-meet/HEAD/CLAUDE.md","title":"Claude Agent Guidelines & System Prompt","category":"claude-rule","format":"markdown","content":"# CLAUDE.md\n\nThis file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.\n\n## Development Commands\n\n### Building and Development\n- `npm run lint-fix` - Automatically fix linting issues\n- `npm run tsc:ci` - Run TypeScript checks for both web and native platforms\n- `npm run tsc:web` - TypeScript check for web platform only\n- `npm run tsc:native` - TypeScript check for native platform only\n- `npm run lint:ci` - Run ESLint without type checking\n- `make dev` - Start development server with webpack-dev-server\n- `make compile` - Build production bundles\n- `make clean` - Clean build directory\n- `make all` - Full build (compile + deploy)\n\n### Testing\n- `npm test` - Run full test suite using WebDriverIO\n- `npm run test-single -- <spec-file>` - Run single test file\n- `npm run test-dev` - Run tests against development environment\n- `npm run test-dev-single -- <spec-file>` - Run single test in dev mode\n\n\n### Language Tools\n- `npm run lang-sort` - Sort language files\n- `npm run lint:lang` - Validate JSON language files\n\n### Platform-Specific TypeScript\nTypeScript configuration is split between web and native platforms with separate tsconfig files.\n\n## Architecture Overview\n\n### Multi-Platform Structure\nJitsi Meet supports both web and React Native platforms with platform-specific file extensions and directories:\n- `.web.ts/.web.tsx` - Web-specific implementations\n- `.native.ts/.native.tsx` - React Native-specific implementations\n- `.any.ts/.any.tsx` - Shared cross-platform code\n- `.android.ts/.android.tsx` - Android-specific code\n- `.ios.ts/.ios.tsx` - iOS-specific code\n- `web/` directories - Web-specific components and modules\n- `native/` directories - React Native-specific components and modules\n- `react/features/mobile/` - Native-only features\n\n### Core Directories\n- `react/features/` - Main application features organized by domain (83+ feature modules)\n- `modules/` - Legacy JavaScript modules and APIs\n- `css/` - SCSS stylesheets compiled to CSS\n- `libs/` - Compiled output directory for JavaScript bundles\n- `static/` - Static assets and HTML files\n- `tests/` - WebDriverIO end-to-end tests\n\n### Feature-Driven Architecture\nThe application is organized under `react/features/` with each feature containing:\n\n- **`actionTypes.ts`** - Redux action type constants\n- **`actions.ts`** - Redux action creators (platform-specific variants with `.any.ts`, `.web.ts`, `.native.ts`)\n- **`reducer.ts`** - Redux reducer functions\n- **`middleware.ts`** - Redux middleware for side effects\n- **`functions.ts`** - Utility functions and selectors\n- **`constants.ts`** - Feature-specific constants\n- **`logger.ts`** - Feature-specific logger instance\n- **`types.ts`** - TypeScript type definitions\n\n### Key Application Files\n- `app.js` - Main web application entry point\n- `webpack.config.js` - Multi-bundle Webpack configuration\n- `Makefile` - Build system for development and production\n- `package.json` - Dependencies and scripts with version requirements\n\n### Bundle Architecture\nThe application builds multiple bundles:\n- `app.bundle.js` / `app.bundle.min.js` - Main application bundle (entry: `./app.js`)\n- `external_api.js` / `external_api.min.js` - External API for embedders (entry: `./modules/API/external/index.js`)\n- `alwaysontop.js` / `alwaysontop.min.js` - Always-on-top window functionality (entry: `./react/features/always-on-top/index.tsx`)\n- `close3.js` / `close3.min.js` - Close3 functionality (entry: `./static/close3.js`)\n- `face-landmarks-worker.js` / `face-landmarks-worker.min.js` - Face landmarks detection worker (entry: `./react/features/face-landmarks/faceLandmarksWorker.ts`)\n- `noise-suppressor-worklet.js` / `noise-suppressor-worklet.min.js` - Audio noise suppression worklet (entry: `./react/features/stream-effects/noise-suppression/NoiseSuppressorWorklet.ts`)\n- `screenshot-capture-worker.js` / `screenshot-capture-worker.min.js` - Screenshot capture worker (entry: `./react/features/screenshot-capture/worker.ts`)\n\n### Redux Architecture\nFeatures follow a Redux-based architecture with:\n- Actions, reducers, and middleware in each feature directory\n- Cross-platform state management\n- Modular feature organization with clear boundaries\n\nThe codebase uses a registry-based Redux architecture:\n- **ReducerRegistry** - Features register their reducers independently\n- **MiddlewareRegistry** - Features register middleware without cross-dependencies\n- **IReduxState** - Global state is strongly typed with 80+ feature states\n\n### Dependencies\n- Uses `lib-jitsi-meet` as the core WebRTC library\n- React with TypeScript support\n- React Native for mobile applications\n- Webpack for bundling with development server\n\n### TypeScript Configuration\n- `tsconfig.web.json` - Web platform TypeScript config (excludes native files)\n- `tsconfig.native.json` - React Native TypeScript config (excludes web files)\n- Strict TypeScript settings with ES2024 target\n- Platform-specific module suffixes (`.web`, `.native`)\n\n### Key Base Features\n- **`base/app/`** - Application lifecycle management\n- **`base/conference/`** - Core conference logic\n- **`base/tracks/`** - Media track management\n- **`base/participants/`** - Participant management\n- **`base/config/`** - Configuration management\n- **`base/redux/`** - Redux infrastructure\n\n### Component Patterns\n- **Abstract Components** - Base classes for cross-platform components\n- **Platform-Specific Components** - Separate implementations in `web/` and `native/` directories\n- **Hook-based patterns** - Modern React patterns for component logic\n### Testing Framework\n- WebDriverIO for end-to-end testing\n- Test files are located in `tests/specs/` and use page objects in `tests/pageobjects/`.\n- Environment configuration via `.env` files\n- Support for Chrome, Firefox, and grid testing\n\n## Development Guidelines\n\n### Adding New Features\n1. Create feature directory under `react/features/[feature-name]/`\n2. Follow the standard file structure (actionTypes, actions, reducer, etc.)\n3. Register reducers and middleware using the registry pattern\n4. Define TypeScript interfaces for state and props\n5. Use platform-specific files for web/native differences\n6. Add feature-specific logger for debugging\n\n### Working with Existing Features\n1. Check for existing `.any.ts`, `.web.ts`, `.native.ts` variants\n2. Follow established action-reducer-middleware patterns\n3. Use existing base utilities rather than creating new ones\n4. Leverage abstract components for cross-platform logic\n5. Maintain type safety across the entire state tree\n\n### Testing\nThe project uses WebDriver (WebdriverIO) for end-to-end testing. Test files are located in `tests/specs/` and use page objects in `tests/pageobjects/`.\n\n### Build System\n- **Webpack** - Main build system for web bundles\n- **Makefile** - Coordinates build process and asset deployment\n- **Metro** - React Native bundler (configured in `metro.config.js`)\n\n### Platform-Specific Notes\n- Web builds exclude files matching `**/native/*`, `**/*.native.ts`, etc.\n- Native builds exclude files matching `**/web/*`, `**/*.web.ts`, etc.\n- Use `moduleSuffixes` in TypeScript config to handle platform-specific imports\n- Check `tsconfig.web.json` and `tsconfig.native.json` for platform-specific exclusions\n\n## Environment and Setup Requirements\n\n### System Requirements\n- **Node.js and npm** are required\n- Development server runs at https://localhost:8080/\n- Certificate errors in development are expected (self-signed certificates)\n\n### Development Workflow\n- Development server proxies to configurable target (default: https://alpha.jitsi.net)\n- Hot module replacement enabled for development\n- Bundle analysis available via `ANALYZE_BUNDLE=true` environment variable\n- Circular dependency detection via `DETECT_CIRCULAR_DEPS=true`\n\n## Code Quality Requirements\n- All code must pass `npm run lint:ci` and `npm run tsc:ci` with 0 warnings before committing\n- TypeScript strict mode enabled - avoid `any` type\n- ESLint config extends `@jitsi/eslint-config`\n- Prefer TypeScript for new features, convert existing JavaScript when possible\n\n## Code Style and Standards\n\n### Conventional Commits Format\nFollow [Conventional Commits](https://www.conventionalcommits.org) with **mandatory scopes**:\n```\nfeat(feature-name): description\nfix(feature-name): description\ndocs(section): description\n```\nAvailable types: build, chore, ci, docs, feat, fix, perf, refactor, revert, style, test\n\n### Feature Layout Structure\nWhen adding new features:\n```\nreact/features/sample/\n├── actionTypes.ts\n├── actions.ts\n├── components/\n│   ├── AnotherComponent.tsx\n│   └── OneComponent.tsx\n├── middleware.ts\n└── reducer.ts\n```\n\n### TypeScript Requirements\n- All new features must be written in TypeScript\n- Convert JavaScript to TypeScript when modifying existing code\n- Import middleware in `react/features/app/middlewares.{any,native,web}.js`\n- Import reducers in appropriate registry files\n- Avoid `index` files\n\n### Bundle Size Management\n- Bundle size limits are enforced to prevent bloat\n- For increases, analyze first: `npx webpack -p --analyze-bundle`\n- Open analyzer: `npx webpack-bundle-analyzer build/app-stats.json`\n- Justify any dependency additions that increase bundle size\n\n## Testing and Quality Assurance\n\n### Tests\n- End-to-end tests are defined in the tests/\n- Tests run automatically for project member PRs via Jenkins\n- Tests cover peer-to-peer, invites, iOS, Android, and web platforms\n- Beta testing available at https://beta.meet.jit.si/\n\n### Manual Testing Checklist\n- Test with 2 participants (P2P mode)\n- Test with 3+ participants (JVB mode)\n- Verify audio/video in both modes\n- Test mobile apps if changes affect mobile\n- Check that TLS certificate chain is complete for mobile app compatibility\n\n## Common Issues and Debugging\n\n### P2P vs JVB Problems\n- **Works with 2 participants, fails with 3+**: JVB/firewall issue, check UDP 10000\n- **Works on web, fails on mobile apps**: TLS certificate chain issue, need fullchain.pem\n- Use the tests from tests/ directory to verify functionality across platforms\n\n### Development Server Issues\n- Certificate warnings are normal for development (self-signed)\n- Use different backend with WEBPACK_DEV_SERVER_PROXY_TARGET environment variable\n- Check firewall settings if local development fails\n\n### Configuration and Customization\n- Extensive configuration options documented in handbook\n- See `config.js` for client-side options\n- Options marked 🚫 are not overwritable through `configOverwrite`\n- Reference [Configuration Guide](https://jitsi.github.io/handbook/docs/dev-guide/dev-guide-configuration) for details\n\n## Architecture Deep Dive\n\n### Core Application Files\n- **`./conference.js`** - Foundation for user-conference interactions (connection, joining, muting)\n- **`./modules/external-api`** - External API for iframe integration and events\n- **`./lang/`** - Translations in `main-[language].json` files\n- **`./css/`** - SCSS files organized by features, matching React feature structure\n\n### State Management Flow\n1. Actions dispatched from components\n2. Middleware processes side effects\n3. Reducers update state\n4. Components re-render based on state changes\n5. Registry pattern keeps features decoupled\n\n### Cross-Platform Strategy\n- Abstract components handle shared logic\n- Platform files (.web.ts, .native.ts) handle platform differences\n- Build system excludes irrelevant platform files\n- TypeScript configs ensure proper platform targeting\n\n## External Resources\n- [Jitsi Handbook](https://jitsi.github.io/handbook/) - Comprehensive documentation\n- [Community Forum](https://community.jitsi.org/) - Ask questions and get support\n- [Architecture Guide](https://jitsi.github.io/handbook/docs/architecture) - System overview\n- [Contributing Guidelines](https://jitsi.github.io/handbook/docs/dev-guide/dev-guide-contributing/) - Detailed contribution process\n","isInternal":false,"tokens":2721,"sizeBytes":11917},{"name":"marketplace.json","path":".claude-plugin/marketplace.json","rawUrl":"https://raw.githubusercontent.com/jitsi/jitsi-meet/HEAD/.claude-plugin/marketplace.json","title":"Claude Plugin Marketplace Catalog","category":"marketplace","format":"json","content":"# Claude Plugin Marketplace Catalog\n\nPath: `.claude-plugin/marketplace.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/jitsi/jitsi-meet/HEAD/.claude-plugin/marketplace.json)","tokens":300,"sizeBytes":195},{"name":"plugin.json","path":".claude-plugin/plugin.json","rawUrl":"https://raw.githubusercontent.com/jitsi/jitsi-meet/HEAD/.claude-plugin/plugin.json","title":"claude-plugin Plugin Manifest","category":"plugin-manifest","format":"json","content":"# claude-plugin Plugin Manifest\n\nPath: `.claude-plugin/plugin.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/jitsi/jitsi-meet/HEAD/.claude-plugin/plugin.json)","tokens":300,"sizeBytes":181},{"name":"mcp.json","path":".cursor/mcp.json","rawUrl":"https://raw.githubusercontent.com/jitsi/jitsi-meet/HEAD/.cursor/mcp.json","title":"Model Context Protocol (MCP) Configuration","category":"mcp-config","format":"json","content":"# Model Context Protocol (MCP) Configuration\n\nPath: `.cursor/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/jitsi/jitsi-meet/HEAD/.cursor/mcp.json)","tokens":300,"sizeBytes":174}],"systemPromptSnippet":"<yakaai_skills repo=\"jitsi/jitsi-meet\">\n<!-- File: CLAUDE.md (Tokens: ~2721 | Category: claude-rule) -->\n# CLAUDE.md\n\nThis file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.\n\n## Development Commands\n\n### Building and Development\n- `npm run lint-fix` - Automatically fix linting issues\n- `npm run tsc:ci` - Run TypeScript checks for both web and native platforms\n- `npm run tsc:web` - TypeScript check for web platform only\n- `npm run tsc:native` - TypeScript check for native platform only\n- `npm run lint:ci` - Run ESLint without type checking\n- `make dev` - Start development server with webpack-dev-server\n- `make compile` - Build production bundles\n- `make clean` - Clean build directory\n- `make all` - Full build (compile + deploy)\n\n### Testing\n- `npm test` - Run full test suite using WebDriverIO\n- `npm run test-single -- <spec-file>` - Run single test file\n- `npm run test-dev` - Run tests against development environment\n- `npm run test-dev-single -- <spec-file>` - Run single test in dev mode\n\n\n### Language Tools\n- `npm run lang-sort` - Sort language files\n- `npm run lint:lang` - Validate JSON language files\n\n### Platform-Specific TypeScript\nTypeScript configuration is split between web and native platforms with separate tsconfig files.\n\n## Architecture Overview\n\n### Multi-Platform Structure\nJitsi Meet supports both web and React Native platforms with platform-specific file extensions and directories:\n- `.web.ts/.web.tsx` - Web-specific implementations\n- `.native.ts/.native.tsx` - React Native-specific implementations\n- `.any.ts/.any.tsx` - Shared cross-platform code\n- `.android.ts/.android.tsx` - Android-specific code\n- `.ios.ts/.ios.tsx` - iOS-specific code\n- `web/` directories - Web-specific components and modules\n- `native/` directories - React Native-specific components and modules\n- `react/features/mobile/` - Native-only features\n\n### Core Directories\n- `react/features/` - Main application features organized by domain (83+ feature modules)\n- `modules/` - Legacy JavaScript modules and APIs\n- `css/` - SCSS stylesheets compiled to CSS\n- `libs/` - Compiled output directory for JavaScript bundles\n- `static/` - Static assets and HTML files\n- `tests/` - WebDriverIO end-to-end tests\n\n### Feature-Driven Architecture\nThe application is organized under `react/features/` with each feature containing:\n\n- **`actionTypes.ts`** - Redux action type constants\n- **`actions.ts`** - Redux action creators (platform-specific variants with `.any.ts`, `.web.ts`, `.native.ts`)\n- **`reducer.ts`** - Redux reducer functions\n- **`middleware.ts`** - Redux middleware for side effects\n- **`functions.ts`** - Utility functions and selectors\n- **`constants.ts`** - Feature-specific constants\n- **`logger.ts`** - Feature-specific logger instance\n- **`types.ts`** - TypeScript type definitions\n\n### Key Application Files\n- `app.js` - Main web application entry point\n- `webpack.config.js` - Multi-bundle Webpack configuration\n- `Makefile` - Build system for development and production\n- `package.json` - Dependencies and scripts with version requirements\n\n### Bundle Architecture\nThe application builds multiple bundles:\n- `app.bundle.js` / `app.bundle.min.js` - Main application bundle (entry: `./app.js`)\n- `external_api.js` / `external_api.min.js` - External API for embedders (entry: `./modules/API/external/index.js`)\n- `alwaysontop.js` / `alwaysontop.min.js` - Always-on-top window functionality (entry: `./react/features/always-on-top/index.tsx`)\n- `close3.js` / `close3.min.js` - Close3 functionality (entry: `./static/close3.js`)\n- `face-landmarks-worker.js` / `face-landmarks-worker.min.js` - Face landmarks detection worker (entry: `./react/features/face-landmarks/faceLandmarksWorker.ts`)\n- `noise-suppressor-worklet.js` / `noise-suppressor-worklet.min.js` - Audio noise suppression worklet (entry: `./react/features/stream-effects/noise-suppression/NoiseSuppressorWorklet.ts`)\n- `screenshot-capture-worker.js` / `screenshot-capture-worker.min.js` - Screenshot capture worker (entry: `./react/features/screenshot-capture/worker.ts`)\n\n### Redux Architecture\nFeatures follow a Redux-based architecture with:\n- Actions, reducers, and middleware in each feature directory\n- Cross-platform state management\n- Modular feature organization with clear boundaries\n\nThe codebase uses a registry-based Redux architecture:\n- **ReducerRegistry** - Features register their reducers independently\n- **MiddlewareRegistry** - Features register middleware without cross-dependencies\n- **IReduxState** - Global state is strongly typed with 80+ feature states\n\n### Dependencies\n- Uses `lib-jitsi-meet` as the core WebRTC library\n- React with TypeScript support\n- React Native for mobile applications\n- Webpack for bundling with development server\n\n### TypeScript Configuration\n- `tsconfig.web.json` - Web platform TypeScript config (excludes native files)\n- `tsconfig.native.json` - React Native TypeScript config (excludes web files)\n- Strict TypeScript settings with ES2024 target\n- Platform-specific module suffixes (`.web`, `.native`)\n\n### Key Base Features\n- **`base/app/`** - Application lifecycle management\n- **`base/conference/`** - Core conference logic\n- **`base/tracks/`** - Media track management\n- **`base/participants/`** - Participant management\n- **`base/config/`** - Configuration management\n- **`base/redux/`** - Redux infrastructure\n\n### Component Patterns\n- **Abstract Components** - Base classes for cross-platform components\n- **Platform-Specific Components** - Separate implementations in `web/` and `native/` directories\n- **Hook-based patterns** - Modern React patterns for component logic\n### Testing Framework\n- WebDriverIO for end-to-end testing\n- Test files are located in `tests/specs/` and use page objects in `tests/pageobjects/`.\n- Environment configuration via `.env` files\n- Support for Chrome, Firefox, and grid testing\n\n## Development Guidelines\n\n### Adding New Features\n1. Create feature directory under `react/features/[feature-name]/`\n2. Follow the standard file structure (actionTypes, actions, reducer, etc.)\n3. Register reducers and middleware using the registry pattern\n4. Define TypeScript interfaces for state and props\n5. Use platform-specific files for web/native differences\n6. Add feature-specific logger for debugging\n\n### Working with Existing Features\n1. Check for existing `.any.ts`, `.web.ts`, `.native.ts` variants\n2. Follow established action-reducer-middleware patterns\n3. Use existing base utilities rather than creating new ones\n4. Leverage abstract components for cross-platform logic\n5. Maintain type safety across the entire state tree\n\n### Testing\nThe project uses WebDriver (WebdriverIO) for end-to-end testing. Test files are located in `tests/specs/` and use page objects in `tests/pageobjects/`.\n\n### Build System\n- **Webpack** - Main build system for web bundles\n- **Makefile** - Coordinates build process and asset deployment\n- **Metro** - React Native bundler (configured in `metro.config.js`)\n\n### Platform-Specific Notes\n- Web builds exclude files matching `**/native/*`, `**/*.native.ts`, etc.\n- Native builds exclude files matching `**/web/*`, `**/*.web.ts`, etc.\n- Use `moduleSuffixes` in TypeScript config to handle platform-specific imports\n- Check `tsconfig.web.json` and `tsconfig.native.json` for platform-specific exclusions\n\n## Environment and Setup Requirements\n\n### System Requirements\n- **Node.js and npm** are required\n- Development server runs at https://localhost:8080/\n- Certificate errors in development are expected (self-signed certificates)\n\n### Development Workflow\n- Development server proxies to configurable target (default: https://alpha.jitsi.net)\n- Hot module replacement enabled for development\n- Bundle analysis available via `ANALYZE_BUNDLE=true` environment variable\n- Circular dependency detection via `DETECT_CIRCULAR_DEPS=true`\n\n## Code Quality Requirements\n- All code must pass `npm run lint:ci` and `npm run tsc:ci` with 0 warnings before committing\n- TypeScript strict mode enabled - avoid `any` type\n- ESLint config extends `@jitsi/eslint-config`\n- Prefer TypeScript for new features, convert existing JavaScript when possible\n\n## Code Style and Standards\n\n### Conventional Commits Format\nFollow [Conventional Commits](https://www.conventionalcommits.org) with **mandatory scopes**:\n```\nfeat(feature-name): description\nfix(feature-name): description\ndocs(section): description\n```\nAvailable types: build, chore, ci, docs, feat, fix, perf, refactor, revert, style, test\n\n### Feature Layout Structure\nWhen adding new features:\n```\nreact/features/sample/\n├── actionTypes.ts\n├── actions.ts\n├── components/\n│   ├── AnotherComponent.tsx\n│   └── OneComponent.tsx\n├── middleware.ts\n└── reducer.ts\n```\n\n### TypeScript Requirements\n- All new features must be written in TypeScript\n- Convert JavaScript to TypeScript when modifying existing code\n- Import middleware in `react/features/app/middlewares.{any,native,web}.js`\n- Import reducers in appropriate registry files\n- Avoid `index` files\n\n### Bundle Size Management\n- Bundle size limits are enforced to prevent bloat\n- For increases, analyze first: `npx webpack -p --analyze-bundle`\n- Open analyzer: `npx webpack-bundle-analyzer build/app-stats.json`\n- Justify any dependency additions that increase bundle size\n\n## Testing and Quality Assurance\n\n### Tests\n- End-to-end tests are defined in the tests/\n- Tests run automatically for project member PRs via Jenkins\n- Tests cover peer-to-peer, invites, iOS, Android, and web platforms\n- Beta testing available at https://beta.meet.jit.si/\n\n### Manual Testing Checklist\n- Test with 2 participants (P2P mode)\n- Test with 3+ participants (JVB mode)\n- Verify audio/video in both modes\n- Test mobile apps if changes affect mobile\n- Check that TLS certificate chain is complete for mobile app compatibility\n\n## Common Issues and Debugging\n\n### P2P vs JVB Problems\n- **Works with 2 participants, fails with 3+**: JVB/firewall issue, check UDP 10000\n- **Works on web, fails on mobile apps**: TLS certificate chain issue, need fullchain.pem\n- Use the tests from tests/ directory to verify functionality across platforms\n\n### Development Server Issues\n- Certificate warnings are normal for development (self-signed)\n- Use different backend with WEBPACK_DEV_SERVER_PROXY_TARGET environment variable\n- Check firewall settings if local development fails\n\n### Configuration and Customization\n- Extensive configuration options documented in handbook\n- See `config.js` for client-side options\n- Options marked 🚫 are not overwritable through `configOverwrite`\n- Reference [Configuration Guide](https://jitsi.github.io/handbook/docs/dev-guide/dev-guide-configuration) for details\n\n## Architecture Deep Dive\n\n### Core Application Files\n- **`./conference.js`** - Foundation for user-conference interactions (connection, joining, muting)\n- **`./modules/external-api`** - External API for iframe integration and events\n- **`./lang/`** - Translations in `main-[language].json` files\n- **`./css/`** - SCSS files organized by features, matching React feature structure\n\n### State Management Flow\n1. Actions dispatched from components\n2. Middleware processes side effects\n3. Reducers update state\n4. Components re-render based on state changes\n5. Registry pattern keeps features decoupled\n\n### Cross-Platform Strategy\n- Abstract components handle shared logic\n- Platform files (.web.ts, .native.ts) handle platform differences\n- Build system excludes irrelevant platform files\n- TypeScript configs ensure proper platform targeting\n\n## External Resources\n- [Jitsi Handbook](https://jitsi.github.io/handbook/) - Comprehensive documentation\n- [Community Forum](https://community.jitsi.org/) - Ask questions and get support\n- [Architecture Guide](https://jitsi.github.io/handbook/docs/architecture) - System overview\n- [Contributing Guidelines](https://jitsi.github.io/handbook/docs/dev-guide/dev-guide-contributing/) - Detailed contribution process\n\n<!-- File: .claude-plugin/marketplace.json (Tokens: ~300 | Category: marketplace) -->\n# Claude Plugin Marketplace Catalog\n\nPath: `.claude-plugin/marketplace.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/jitsi/jitsi-meet/HEAD/.claude-plugin/marketplace.json)\n\n<!-- File: .claude-plugin/plugin.json (Tokens: ~300 | Category: plugin-manifest) -->\n# claude-plugin Plugin Manifest\n\nPath: `.claude-plugin/plugin.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/jitsi/jitsi-meet/HEAD/.claude-plugin/plugin.json)\n\n<!-- File: .cursor/mcp.json (Tokens: ~300 | Category: mcp-config) -->\n# Model Context Protocol (MCP) Configuration\n\nPath: `.cursor/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/jitsi/jitsi-meet/HEAD/.cursor/mcp.json)\n</yakaai_skills>"}