sockudo 2.3.2

A simple, fast, and secure WebSocket server for real-time applications.
Documentation
# Contributing to Sockudo ๐Ÿš€

Welcome! ๐ŸŽ‰ We're thrilled that you'd like to contribute to **Sockudo**, a high-performance WebSocket server built in Rust. Your support helps improve the real-time ecosystem and benefits the community.

---

## ๐Ÿง  Before You Start

- **Read the [README]./README.md** for project setup and usage.
- **Check existing issues and discussions** before opening a new one.
- Contributions of *all kinds* are welcome โ€” code, docs, tests, issues, etc.

---

## ๐Ÿ› ๏ธ Getting Started

### 1. Clone the Repository

```bash
git clone https://github.com/RustNSparks/sockudo
cd sockudo
```

### 2. Set Up Your Environment

* Copy and edit the example `.env` file:

  ```bash
  cp .env.example .env
  ```

* Run locally (Docker preferred):

  ```bash
  make quick-start
  ```

* Or using Cargo:

  ```bash
  cargo build
  cargo run
  ```

---

## ๐Ÿค How to Contribute

### โœ… Good First Tasks

* Fix typos or improve documentation
* Tidy up logs or improve CLI feedback
* Add test coverage to critical modules
* Enhance monitoring or error handling

### ๐Ÿ’ก Feature Contributions

1. Open a discussion or issue before implementing large changes.
2. Write clean, idiomatic Rust code.
3. Add tests for new features and ensure existing tests pass.

---

## ๐ŸŽฏ Code Style & Tools

* Run `cargo fmt` before committing.
* Use `cargo clippy` to lint your code.
* Follow Rust best practices and Sockudoโ€™s architecture (channels, adapters, services).
* Ensure your feature fits into the modular structure: `core`, `adapters`, `config`, etc.

---

## ๐Ÿงช Running Tests

```bash
cargo test
```

To run integration tests (requires Redis, etc.):

```bash
make test
```

---

## ๐Ÿš€ Submitting a Pull Request

1. Fork this repo and create your branch:

   ```bash
   git checkout -b feature/your-change
   ```

2. Make your changes with descriptive commit messages.

3. Push and open a PR to `main`:

   ```bash
   git push origin feature/your-change
   ```

4. Link related issues (e.g., `Closes #123`).

---

### ๐Ÿ” Code Review Process

All contributions go through a **code review**.
Please **do not merge your own pull requests**, even if all checks pass.
One of the maintainers will review your changes, suggest improvements if needed, and handle the merge. โœ…

---

## ๐Ÿ’ฌ Community & Conduct

* Be kind, inclusive, and respectful.
* All contributions are governed by our [Code of Conduct]./CODE_OF_CONDUCT.md.

* ๐Ÿ’ฌ **Join us on [Discord]https://discord.gg/BSdkg2JR** โ€” we discuss new features, ideas, and help new contributors get onboarded!  
  If you're not sure where to start, just post in the `#contributions` channel and we'll figure something out together. ๐Ÿ’ก

---


## ๐Ÿ“œ License

By contributing, you agree that your contributions will be licensed under the [AGPL-3.0](./LICENSE).

Thank you for making Sockudo better! ๐Ÿฆ€๐Ÿ’ฌ