2026-01-22 00:49:03 +07:00
# Developer Guide
## Repository Map
```mermaid
flowchart TD
2026-02-17 11:12:19 -08:00
NIM("< a href = "https://github.com/logos-messaging/logos-chat" > < b > Logos-Chat< / b > < br > c-bingings, process control, networking< / a > ")
2026-01-22 00:49:03 +07:00
LIB("< a href = "https://github.com/logos-messaging/libchat" > < b > libchat< / b > < br > encryption, encoding< / a > ")
2026-02-17 11:12:19 -08:00
PROTO("< a href = "https://github.com/logos-messaging/chat-proto" > < b > chat-proto< / b > < br > protobufs, language specific types< / a > ")
2026-01-22 00:49:03 +07:00
LMN("< a href = "https://github.com/logos-messaging/logos-messaging-nim" > < b > logos-messaging-nim< / b > < br > p2p networking< / a > ")
NIM --> LIB
NIM --> LMN
LIB --> PROTO
%% Mark External Dependencies
style LMN fill:#fff
```
## Repositories
2026-02-17 11:12:19 -08:00
### logos-chat
2026-01-22 00:49:03 +07:00
Root of the Logos chat SDK, written in Nim.
Handles async operations and bridges network operations with the cryptographic backend.
**Responsibilities:**
2026-02-17 11:12:19 -08:00
- C bindings to Libchat
2026-01-22 00:49:03 +07:00
- Async execution (Chronos)
- Network integration
### libchat
Cryptographic logic implementation in Rust.
Operates as a pipeline: accepts either encrypted payloads or plaintext content, returns the other. Encrypted payloads can be sent directly to network clients; decrypted content goes to applications.
**Responsibilities:**
- Cryptographic implementations
- Encoding/decoding
2026-02-17 11:12:19 -08:00
### logos-message-delivery
2026-01-22 00:49:03 +07:00
P2P networking layer using logos-messaging protocol.
Provides decentralized message transport. This is an external dependency.
2026-02-17 11:12:19 -08:00
### chat-proto
2026-01-22 00:49:03 +07:00
Protobuf definitions.
Defines the protobufs used in the logos-chat protocol and provides generated types for various languages.