87 lines
2.2 KiB
Markdown
87 lines
2.2 KiB
Markdown
---
|
|
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. | |