--- sidebar_position: 1 --- # Contributing MetoYou is an npm-managed monorepo. ## Packages | Path | Purpose | | --- | --- | | `toju-app/` | Angular renderer, chat client, voice UI, plugin runtime. | | `electron/` | Electron main process, preload bridge, local database, local REST API, docs host. | | `server/` | Node/TypeScript signaling server and server-directory HTTP API. | | `website/` | Angular marketing site. | | `docs-site/` | Docusaurus documentation site. | | `e2e/` | Playwright browser and WebRTC tests. | ## Setup Install root dependencies: ```bash npm install ``` Install server dependencies when working on the signaling server: ```bash cd server npm install ``` ## Development Commands From the repository root: ```bash npm run dev ``` Useful focused commands: ```bash npm run build npm run build:electron npm run build:docs npm run server:build npm run lint npm run test npm run test:e2e -- tests/chat-dm-flow.spec.ts ``` Run the Docusaurus dev server: ```bash cd docs-site npm install npm run start ``` Build static docs for Electron packaging: ```bash npm run build:docs ``` ## Repository Rules - Keep changes inside the package that owns the behavior. - Do not edit generated output in `dist/`, `dist-electron/`, `dist-server/`, `server/dist/`, `.angular/`, or `node_modules/`. - Renderer-facing Electron capabilities must stay aligned across implementation, preload, and renderer bridge types. - Signal-server plugin support stores metadata only. Plugin execution belongs to the client runtime. - Update this documentation when user workflows, plugin APIs, REST routes, DOM structure, or development commands change. ## Documentation Checklist When you change a related area, update these pages: | Change | Docs to check | | --- | --- | | Voice UI or settings | User Guide: Voice Channels and Calls, Developer Guide: App Pages and DOM Structure. | | Text channels, messages, DMs | User Guide: Text and Direct Messages, plugin message API pages. | | Plugin manifest/API/runtime | Plugin Development pages and LLM Plugin Builder Guide. | | Local REST API routes or schemas | Developer Guide: Local REST API and `electron/api/openapi.ts`. | | Docusaurus hosting | Developer Guide: Docusaurus Site and Desktop and Local API. |