> ## Documentation Index
> Fetch the complete documentation index at: https://docs.socketchat.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Contributing

> Socketchat is open source, and contributors are welcome.

Socketchat is open source under your choice of the MIT or Apache-2.0 license, and contributions are welcome: code, testing on new machines, documentation and bug reports.

## Ways to help

* **Report a bug or ask a question** in [GitHub issues](https://github.com/sachio222/socketchat_v4/issues). For security problems, use [private reporting](/security/reporting) instead.
* **Measure it on your hardware.** `scripts/idle-memory.sh` measures the server's idle memory on any machine; share your results in an issue, especially from a Raspberry Pi.
* **Pick up roadmap work.** Open an issue first so you and the maintainers can agree on the approach.

## On the roadmap

* **A phone app**, beside the terminal app. The client engine, `socketchat-core`, has no screen code, so a graphical app can sit on top of it.
* **An MCP server**, so AI assistants can use Socketchat without a shell. MCP (Model Context Protocol) is the standard way AI assistants connect to tools.
* **One identity on more than one device.**
* **Room membership hidden from the server**, once a reviewed standard for it exists.
* **The final post-quantum MLS suite**, once the IETF publishes it.

[ROADMAP.md](https://github.com/sachio222/socketchat_v4/blob/main/ROADMAP.md) explains each item and how to help.

## Build and test

You need Rust 1.91 or newer from [rustup.rs](https://rustup.rs). On Linux, also install the OpenSSL headers:

```bash theme={"dark"}
sudo apt install build-essential pkg-config libssl-dev
```

Then clone the repository and run every test:

```bash theme={"dark"}
git clone https://github.com/sachio222/socketchat_v4
cd socketchat_v4
cargo test --workspace
```

The tests start real servers on free ports with several apps talking to them, so no other setup is needed. The first build takes several minutes.

## How changes get in

* Keep pull requests small: one change, one reason.
* Write tests first. A bug fix starts with a test that fails because of the bug.
* Use reviewed libraries and published standards for all cryptography. A change that adds home-made cryptography will be declined.
* New dependencies must be at least 30 days old, widely used and actively maintained.

[CONTRIBUTING.md](https://github.com/sachio222/socketchat_v4/blob/main/CONTRIBUTING.md) has the full guide, and everyone who takes part follows the [code of conduct](https://github.com/sachio222/socketchat_v4/blob/main/CODE_OF_CONDUCT.md).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.