# How to Clone the Meetily Repository: Complete Setup Guide

> Easily clone the Meetily repository with git clone and set up your local privacy-first AI meeting assistant. Follow our complete guide to install dependencies and build Meetily.

- Repository: [Zackriya Solutions/meetily](https://github.com/Zackriya-Solutions/meetily)
- Tags: how-to-guide
- Published: 2026-08-03

---

**Clone the Meetily repository using `git clone https://github.com/Zackriya-Solutions/meetily.git`, then initialize submodules if exploring the legacy backend, and install dependencies via pnpm and Cargo to build the privacy-first AI meeting assistant locally.**

Meetily is an open-source, privacy-first AI meeting assistant built with a Tauri-based desktop stack. To start contributing or running the application locally, you must first clone the Meetily repository from GitHub. This guide walks through the complete process from initial clone to running the development server, including optional submodule initialization and dependency installation.

## Prerequisites

Before you clone the Meetily repository, ensure your system meets the following requirements:

- **Git** installed (for cloning and submodule management)
- **Node.js** (v18 or later) and **pnpm** (preferred) or npm/yarn
- **Rust toolchain** (latest stable) with Cargo
- **Operating System**: macOS, Linux, or Windows

## Cloning the Meetily Repository

### Basic Clone Command

Open your terminal and run the following command to download the full codebase:

```bash
git clone https://github.com/Zackriya-Solutions/meetily.git

```

This creates a local `meetily` directory containing the complete source tree. Navigate into the project folder:

```bash
cd meetily

```

### Initializing Git Submodules (Optional)

Meetily includes an archived Python/FastAPI backend as a Git submodule. If you plan to explore this legacy code, initialize the submodules:

```bash
git submodule update --init --recursive

```

**Note**: Most modern development targets the Tauri desktop application (Rust + Next.js), so you can skip this step if you only need the current active stack.

## Project Structure Overview

After you clone the Meetily repository, you'll find the following key directories:

- **`frontend/`** – Contains the Tauri desktop application with Rust core and Next.js UI
  - Core Tauri entry: [`frontend/src-tauri/src/lib.rs`](https://github.com/Zackriya-Solutions/meetily/blob/main/frontend/src-tauri/src/lib.rs) – registers commands and manages the application lifecycle
  - Audio processing: [`frontend/src-tauri/src/audio/pipeline.rs`](https://github.com/Zackriya-Solutions/meetily/blob/main/frontend/src-tauri/src/audio/pipeline.rs) – handles audio mixing and VAD processing
  - Transcription engine: [`frontend/src-tauri/src/whisper_engine/whisper_engine.rs`](https://github.com/Zackriya-Solutions/meetily/blob/main/frontend/src-tauri/src/whisper_engine/whisper_engine.rs) – orchestrates Whisper model loading
  - UI entry point: [`frontend/src/app/page.tsx`](https://github.com/Zackriya-Solutions/meetily/blob/main/frontend/src/app/page.tsx) – React/TypeScript interface for initiating recordings

- **`backend/`** – Archived Python/FastAPI service (legacy, not required for current builds). Reference [`backend/README.md`](https://github.com/Zackriya-Solutions/meetily/blob/main/backend/README.md) for historical context.

- **`docs/`** – Architecture and build documentation
  - [`docs/architecture.md`](https://github.com/Zackriya-Solutions/meetily/blob/main/docs/architecture.md) – High-level component overview and data flow
  - [`docs/BUILDING.md`](https://github.com/Zackriya-Solutions/meetily/blob/main/docs/BUILDING.md) – Platform-specific compilation instructions
  - [`docs/GPU_ACCELERATION.md`](https://github.com/Zackriya-Solutions/meetily/blob/main/docs/GPU_ACCELERATION.md) – GPU optimization for transcription

## Installing Dependencies

Once inside the cloned directory, install the required dependencies for both the frontend and Rust backend.

### Frontend Dependencies (Node.js)

Navigate to the frontend directory and install Node packages:

```bash
cd frontend
pnpm install

```

You may substitute `npm install` or `yarn install` if you prefer those package managers, though pnpm is recommended according to the source configuration.

### Rust/Tauri Backend (Cargo)

Build the Rust core that powers the desktop application:

```bash
cd frontend/src-tauri
cargo build

```

For optimized production builds, use `cargo build --release` instead.

## Building and Running the Application

Meetily provides convenience scripts to streamline development and production builds.

### Development Mode

Run the application with hot-reloading UI and debug logging enabled:

**macOS/Linux:**

```bash
./clean_run.sh

```

**Windows:**

```batch
clean_run_windows.bat

```

For verbose debugging output, append the `debug` flag on macOS/Linux:

```bash
./clean_run.sh debug

```

### Production Build

Create a distributable release build:

**macOS/Linux:**

```bash
./clean_build.sh

```

**Windows:**

```batch
clean_build_windows.bat

```

After the build completes, the Tauri desktop application launches automatically, allowing you to record, transcribe, and summarize meetings using local AI processing.

## Summary

- **Clone the Meetily repository** with `git clone https://github.com/Zackriya-Solutions/meetily.git` to obtain the full source code
- **Initialize submodules** only if exploring the archived Python backend; skip for standard Tauri development
- **Install Node dependencies** via `pnpm install` in the `frontend/` directory
- **Compile the Rust core** using `cargo build` in `frontend/src-tauri/`
- **Run locally** using [`./clean_run.sh`](https://github.com/Zackriya-Solutions/meetily/blob/main/./clean_run.sh) (Unix) or `clean_run_windows.bat` (Windows) for development, or [`./clean_build.sh`](https://github.com/Zackriya-Solutions/meetily/blob/main/./clean_build.sh) for production

## Frequently Asked Questions

### Do I need to initialize the Git submodules to run Meetily?

No, initializing submodules is optional. The `git submodule update --init --recursive` command only retrieves the archived Python/FastAPI backend code. The current active development stack resides entirely in the `frontend/` directory as a Tauri application (Rust + Next.js), making submodule initialization unnecessary for standard usage.

### What is the difference between [`clean_run.sh`](https://github.com/Zackriya-Solutions/meetily/blob/main/clean_run.sh) and [`clean_build.sh`](https://github.com/Zackriya-Solutions/meetily/blob/main/clean_build.sh)?

The [`clean_run.sh`](https://github.com/Zackriya-Solutions/meetily/blob/main/clean_run.sh) script launches the application in development mode with hot-reloading enabled for the Next.js frontend and debug logging for the Rust backend, ideal for active development. The [`clean_build.sh`](https://github.com/Zackriya-Solutions/meetily/blob/main/clean_build.sh) script compiles an optimized production release suitable for distribution, which takes longer but produces better performance and smaller binary sizes.

### Where is the main entry point for the Rust/Tauri backend?

The main entry point is located at [`frontend/src-tauri/src/lib.rs`](https://github.com/Zackriya-Solutions/meetily/blob/main/frontend/src-tauri/src/lib.rs). This file registers Tauri commands, initializes the audio pipeline from [`frontend/src-tauri/src/audio/pipeline.rs`](https://github.com/Zackriya-Solutions/meetily/blob/main/frontend/src-tauri/src/audio/pipeline.rs), and sets up the Whisper transcription engine referenced in [`frontend/src-tauri/src/whisper_engine/whisper_engine.rs`](https://github.com/Zackriya-Solutions/meetily/blob/main/frontend/src-tauri/src/whisper_engine/whisper_engine.rs).

### Can I use npm instead of pnpm to install dependencies?

Yes, while pnpm is the preferred package manager for the Meetily project, you can substitute `npm install` or `yarn install` when installing dependencies in the `frontend/` directory. However, pnpm offers faster installation speeds and better disk space efficiency for this monorepo structure.