> For the complete documentation index, see [llms.txt](https://xeavin.gitbook.io/the-insurgents-forge/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://xeavin.gitbook.io/the-insurgents-forge/overview/configuration.md).

# Configuration

### Configuration

There are several configurable files which are all loaded from the `{game}/x64/scripts/config/TheInsurgentsForgeConfig/...` directory when opening the game. All of these configuration files can be modified via any text editor.

There are 6 modules that provide the ground framework for this mod. This includes:

* Formulas
* Functions
* Classes
* Helpers
* Assemblies
* Middlewares

All of these files are maintained in the `scripts/TheInsurgentsForge/...` directory by me and me only.

However, every single file can be overwritten and expanded on by you via the configuration folder. So if you want to modify a function, you copy it from `scripts/TheInsurgentsForge/functions` to `config/TheInsurgentsForgeConfig/functions` and then tweak it to your desire.

All files in the  `functions`, `classes`, `helpers`, and `assemblies` base directories are completely replaced by those in the configuration directories.

The `classes.lua`, `helpers.lua`, and `assemblies.lua` files from the base directory are expanded on with those in the configuration directory. All filenames listed in the base files have a higher priority than those listed in the configuration files.

The `formulas.lua` and `middlewares.lua` files from the base directory are merged with those in the configuration directory. If you want, you can overwrite anything from the base file by naming things exactly the same in the configuration file.

The point of this approach is that whenever there is an issue with functions, classes or anything else, I can publish a bugfix without worrying about whether you actually modified it in your mod or not. So a player always gets the latest features and bug fixes from this mod, as long as you don't overwrite them in your mod. However, once you do, you will be responsible for any of the issues caused by it.

It is entirely possible than an update to this mod will break things in yours that makes use of it as some things may be renamed or expanded on. However, I will try to keep this to a minimum as much as I can. So as long as you keep up to date with this mod every once in a while, there is nothing to worry about.

The purpose of every one of the base files in described in the following pages.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://xeavin.gitbook.io/the-insurgents-forge/overview/configuration.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
