# SeaCogs

[![Discord](https://img.shields.io/discord/1070058354925383681?logo=discord&color=%235661f6)](https://discord.gg/eMUMe77Yb8)
[![Documentation](https://img.shields.io/badge/docs-CoastalCommits%20Pages-3e83fd?logo=materialformkdocs)](https://seacogs.csw.im)
![Python Versions](https://img.shields.io/badge/python-3.10%20%7C%203.11-%233776ab?logo=python)

My assorted cogs for Red-DiscordBot.

## Developing

You'll need some prerequisites before you can start working on my cogs.  
[git](https://git-scm.com) - [uv](https://docs.astral.sh/uv)  
Additionally, I recommend a code editor of some variety. [Visual Studio Code](https://code.visualstudio.com) is a good, beginner-friendly option.

### Installing Prerequisites

_This section of the guide only applies to Windows systems.
If you're on Linux, refer to the documentation of the projects listed above. I also offer a [Nix Flake](./flake.nix) that contains all of the required prerequisites, if you're a Nix user._

#### [`git`](https://git-scm.com)

You can download git from the [git download page](https://git-scm.com/downloads/win).

Alternatively, you can use `winget`:

```ps1
winget install --id=Git.Git -e --source=winget
```

#### [`uv`](https://docs.astral.sh/uv)

You can install uv with the following Powershell command:

```ps1
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
```

Alternatively, you can use `winget`:

```ps1
winget install --id=astral-sh.uv -e
```

### Getting the Source Code

Once you have [`git`](https://git-scm.com) installed, you can use the `git clone` command to get a copy of the repository on your system.

```bash
git clone https://c.csw.im/cswimr/SeaCogs.git
```

Then, you can use `uv` to install the Python dependencies required for development.

```bash
uv sync --frozen
```