> ## Documentation Index
> Fetch the complete documentation index at: https://docs.getcellm.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Development

> Get started with Cellm development and contributions

This guide will walk you through the build process step by step.

## Build with command line

1. Clone this repository:
   ```cmd theme={null}
   git clone https://github.com/getcellm/cellm.git
   ```

2. In your terminal, navigate to the root of the project directory:
   ```cmd theme={null}
   cd cellm
   ```

3. Install dependencies:
   ```cmd theme={null}
   dotnet restore
   ```

4. Build the project:
   ```cmd theme={null}
   dotnet build --configuration Debug
   ```

Once the build is complete, you load Cellm into Excel:

1. Navigate to the output folder `src/Cellm/bin/net9.0-windows/publish/`

2. Double-click `Cellm-AddIn64-packed.xll`

Excel will open with Cellm ready to use test.

### Troubleshooting

If the build fails, here are some common things you can try:

* Make sure you have .NET 9.0 SDK installed (not just the runtime). You can verify your .NET installation by running dotnet --version in your terminal.
* Try running `dotnet clean` followed by `dotnet restore` and `dotnet build` again.
* Check that you're in the correct directory (cellm folder).

## Build with Visual Studio

1. In Visual Studio, go to File > Clone Repository.

2. Set the Repository Location to `https://github.com/getcellm/cellm`, the Path to a directory of your choice, and click Clone.

3. Run the "Excel" configuration. Visual Studio will build Cellm and open Excel. Click on "Enable this add-in for this session only" to load the build into Excel.

All Visual Studio's usual debugging tools works when you run the "Excel" configuration. You can set breakpoints, inspect runtime variables, and view log messages in the Output window.

## Build the installer

1. Copy `src/Cellm.Installers/Cellm.Installer.wixproj.user.sign` to `src/Cellm.Installers/Cellm.Installer.wixproj.user` and set `CERTIFICATE_PATH` and `CERTIFICATE_PATH`. Don't just rename the file. It is tracked by git and you risk committing your sensitive information later.

2. In Visual Studio, select the `Release` configuration and build the `Cellm.Installer` target.

You need the Windows 10 SDK or Windows 11 SDK which includes the sign tool. If you get errors about `signtool.exe` not being found, run the Visual Studio Installer and modify your Visual Studio installation to include one of these SDKs.

## Contributing

We welcome contributions to Cellm! This section will guide you through the process.

1. Fork the repository on GitHub
2. Create a new branch from `main` for your feature or bug fix:
   ```cmd theme={null}
   git checkout -b your-feature-name
   ```
3. Make your changes.
4. Commit your changes with clear, descriptive commit messages with [Conventional Commits](https://gist.github.com/qoomon/5dfcdf8eec66a051ecd85625518cfd13) prefixes (fix, feat, docs, refactor):
   ```cmd theme={null}
   git commit -m "feat: descriptive message"
   ```
5. Push your branch to your fork:
   ```cmd theme={null}
   git push origin your-feature-name
   ```
6. Open a Pull Request (PR) against our `main` branch

### Contributor License Agreement (CLA)

You must sign our [Contributor License Agreement (CLA)](https://github.com/getcellm/cellm/blob/main/CLA.md). This is a one-time requirement that grants us the necessary rights to use your contributions. The CLA signing process will be automatically initiated when you submit your first PR. Our bot will guide you through the process.

### Getting Help

If you have questions about contributing:

* Open a GitHub issue for bug reports or feature discussions
* Check existing issues and PRs to avoid duplicates
* Join our community discussions in [Discord](https://discord.gg/zApxYpe2ZW) for general questions

We review or respond to all PRs.
