> For the complete documentation index, see [llms.txt](https://jadelab.gitbook.io/jadegit/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://jadelab.gitbook.io/jadegit/0.18.1/developers/getting-started.md).

# Getting Started

The following steps cover manual installation of JadeGit, useful for getting started in a local development environment. Developers of existing systems may want to skip ahead to look at [migration strategies](/jadegit/0.18.1/migration/overview.md) for adopting JadeGit.

## Prerequisites

The following need to be installed on the machine running the Jade IDE:

* The latest [Microsoft Visual C++ Redistributable for Visual Studio 2022](https://aka.ms/vs/17/release/vc_redist.x64.exe).
* [Git for Windows](https://git-scm.com/downloads/win), with `git` available on the command line (the `Path` environment variable needs to include the git cmd folder). JadeGit depends on this to invoke [git credential](https://git-scm.com/docs/git-credential) commands when authenticating with remote repositories.

## Installation

Download the [latest release](https://gitlab.com/jadelab/jadegit/-/releases) for the Jade platform version you're using, and copy the binaries into the bin folder of the database being setup.

### Configuration

Configure the database to use JadeGit for development by adding the following settings to the [Jade initialization file](https://secure.jadeworld.com/developer-centre/Jade2025/OnlineDocumentation/?#resources/jadeini/ch1jadeinifile/ch1jadeinifile.htm).

```ini
[JadeSecurity]
JadePatchControlSecurity=true
DevelopmentSecurityLibrary=jadegitdev
```

{% hint style="success" icon="lightbulb" %}
JadeGit can also be enabled or disabled by [specifying the INI settings as part of the command line parameters](https://secure.jadeworld.com/developer-centre/Jade2022/OnlineDocumentation/#resources/installconfig/ch2configuringjade/placing_initialization_file_parameters_on_the_command_line.htm) for a Jade shortcut (running in single-user mode).
{% endhint %}

### Upgrading

To upgrade, replace the JadeGit binaries in the bin folder with those from the [latest release](https://gitlab.com/jadelab/jadegit/-/releases) for the Jade platform version you're using. The JadeGitSchema is updated automatically the next time you sign on after the binaries have been upgraded.

Some versions may also require existing repositories to be updated. Check the [upgrade notes](/jadegit/0.18.1/developers/upgrade-notes.md) for any changes since the version you're upgrading from.

## Sign On

On start up of the Jade IDE, the JadeGitSchema will be installed automatically during logon.

{% hint style="warning" %}
You may be shown an error about a missing MSVC library. To fix this, you'll need to install the Microsoft Visual C++ Redistributable listed in the [prerequisites](#prerequisites).
{% endhint %}

Following logon, the JadeGit Changes explorer appears to the right of the screen. It cannot be closed directly and will be restarted if terminated, but may be minimized if preferred during development.

<figure><img src="https://content.gitbook.com/content/X3w9V1BpiLGevP76735i/blobs/Qy9Udq8DPSbsRPjdyhrl/image.png" alt=""><figcaption></figcaption></figure>

{% hint style="info" icon="screwdriver-wrench" %}
To keep both visible at the same time, the Jade IDE needs to be resized/positioned to the left of the JadeGit Changes explorer. In future, this may be streamlined with JadeGit being integrated within the IDE, if [JEDI #383](https://jedi.ideas.jadeworld.com/ideas/JAD-I-383) is progressed.
{% endhint %}

## Multi-User Support

Due to a [platform limitation](https://jedi.ideas.jadeworld.com/ideas/JAD-I-402), JadeGit cannot be used in a traditional multi-user environment with multiple client nodes connecting to a remote database server.

However, JadeGit can be used with an application server running in single-user mode, which enables multiple developers to work in a shared environment with the IDE running in thin-client mode.

{% hint style="info" icon="screwdriver-wrench" %}
Further work is needed to support developers working on independent changes simultaneously within the same environment. Until then, all changes are tracked under the same branch.
{% endhint %}

{% hint style="info" icon="shuffle" %}
If changes need to be tested in multi-user mode during local development, the limitation above can be worked around by complementing single-user shortcuts for development with those needed to start the database server and client nodes in multi-user mode for testing (while the IDE isn't open).
{% endhint %}
