> For the complete documentation index, see [llms.txt](https://docs.platformnx.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.platformnx.com/using-git-to-develop-applications/single-vs.-multi-module-repositories.md).

# Single vs. Multi-Module Repositories

A **single-module repository** contains one application or service, usually managed in a single Git repository. It's straightforward and ideal for small projects with limited scope. All code, dependencies, and configurations reside in one place, simplifying builds, testing, and deployment.

In contrast, a **multi-module repository** organizes multiple applications, services, or libraries within a single Git repository. This structure is common in large-scale projects using modular architectures (e.g., microservices or plugin-based systems). Each module can often be built and tested independently while sharing common infrastructure or code.

## Choosing the Right Approach

Consider the following criteria:

1. **Project Size & Complexity**
   * Use a single-module repo for simple or single-purpose projects.
   * Use a multi-module repo for complex systems with shared components.
2. **Team Structure**
   * Small teams benefit from simplicity with a single module.
   * Larger teams may prefer modular repos for separation of concerns.
3. **Build & Deployment Needs**
   * Single-module repos simplify CI/CD pipelines.
   * Multi-module setups offer granular control over builds and deployments.
4. **Code Sharing & Reuse**
   * Multi-module repos enable efficient code reuse without dependency overhead.
5. **Tooling & Maintenance**
   * Multi-module projects require more advanced tooling and maintenance practices.

Choose the structure that aligns with your team size, project scope, and development workflow.


---

# 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://docs.platformnx.com/using-git-to-develop-applications/single-vs.-multi-module-repositories.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.
