Skip to content

Contributing

Welcome!

First off, thank you for considering contributing to Mirumoji !

How to Contribute

This section outlines the different ways you can contribute to the Mirumoji project.

Development Environment

Setting up the development environment using VSCode Dev Containers is the recommended way to get started. This provides a consistent environment with all necessary dependencies pre-configured.

Benefits of using Dev Containers
  • Pre-configured dependencies and tools.
  • Consistent environment across different operating systems.
  • Isolates development environment from your local system.
Prerequisites

Make sure you have VSCode, Docker Desktop and the VSCode Dev Containers Extension installed.

Make sure Docker Desktop is running.

Clone Repository

Clone the Mirumoji repository to your local machine:

git clone https://github.com/svdC1/mirumoji.git

Open in VSCode

code mirumoji

Starting Dev Containers

Inside VSCode open the Command Pallet with Ctrl+Shift+P

Type in Dev Containers

Click the option Reopen in Container

Info

A prompt will appear allowing you to choose between starting up the Mirumoji (GPU) development container (~30GB Uncompressed) and the Mirumoji (CPU) development container (~5.5GB Uncompressed).

Choose the GPU option if your machine has an NVIDIA GPU, otherwise choose the CPU option.

Warning

The first startup might take a few minutes since the development image needs to be pulled from the repository

Running Services

Once inside the development container environment, you can start up the Python backend by running the following command in a terminal. The 8000 port is already forwarded in the container and should be visible in your localhost:8000.

cd apps/backend
# Run Uvicorn
uvicorn main:app --reload --host 0.0.0.0 --port 8000

Once inside the development container environment, you can start up the frontend by running the following command in a terminal. The 5173 port is already forwarded in the container and should be visible in your localhost:5173

cd apps/frontend
# Install package.json requirements
npm install
# Run Vite Dev Server
npm run dev -- --host

Once inside the development container environment, you can install the Python CLI launcher package in editable mode by running the following command.

cd apps/cli/mirumoji
pip install --editable .

Repository

  1. Fork Repository
  2. Open fork in development container (Optional)
  3. Create a new branch
git chekout -b <BRANCH_NAME>
  1. Commit new changes
  2. Open a pull request according to the Pull Request Template
  1. Go to the repository's Issues page
  2. Click on New Issue
  3. Choose a pre-made template such as the Bug Issue Template and Feature Request Template or open a new blank issue.
  4. Edit the template / blank issue with required information.

Rules

Following these guidelines helps to communicate that you respect the time of the developers managing and developing this open source project. In return, they should reciprocate that respect in addressing your issue, assessing changes, and helping you finalize your pull requests.

When submiting contributions, please adhere to the Code of Conduct

Responsibilities

  • Create issues for any major changes and enhancements that you wish to make. Discuss things transparently and get community feedback.
  • Follow provided issue templates when submitting.
  • Keep feature versions as small as possible, preferably one new feature per version.
  • Be welcoming to newcomers and encourage diverse new contributors from all backgrounds. See the Python Community Code of Conduct.