Appearance
Development Guide
This guide is for developers contributing to RustChat.
Quick Start
- Local Development Setup - Get the dev environment running
- Contributing Guidelines - How to contribute code
- Code Style - Coding conventions
Documentation Sections
Getting Started
- Local Development Setup - Docker-based development
- Contributing Guidelines - PR process, issue templates
- Agent Operating Model - LLM agent workflows
Development Practices
- Code Style - Rust and TypeScript conventions
- Testing - Test layers and requirements
- Ownership Map - Code ownership and review routing
Architecture & Compatibility
- Mattermost Compatibility - API compatibility requirements
- Target Operating Model - Project goals and deferred items
Release Process
- Releasing - Version bumping and release checklist
Project Structure
rustchat/
├── backend/ # Rust API server (Axum + SQLx)
├── frontend/ # Vue 3 + TypeScript SPA
├── push-proxy/ # Mobile push notification gateway
├── docs/ # Documentation
└── scripts/ # Utility scriptsKey Technologies
Backend:
- Rust 1.80+ with Axum 0.8
- PostgreSQL 16+ with SQLx
- Redis 7+ for pub/sub and caching
- S3-compatible storage
Frontend:
- Vue 3.5 with Composition API
- TypeScript 5.9+
- Pinia for state management
- Vite for building
For system architecture: See the Architecture Guide.