> For the complete documentation index, see [llms.txt](https://docs.cremawork.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.cremawork.com/v-4/overview/folder-structure/libs.md).

# libs

It's a good convention to put applications-specific libraries into the directory matching the application name. This provides enough organization for small to mid-size applications(Crema is using this) like below.<br>

```
crema-4.x/
├── apps/
│   ├── source/
│   ├── source-e2e/
│   ├── adminapp/
│   └── adminapp-e2e/
├── libs/
│   ├── constants/
│   ├── context/
│   ├── helpers/
│   ├── hooks/
│   ├── services/
│   ├── source/
│   │   ├── feature-main/
│   │   ├── ui-table/
│   │   └── utils-testing/
│   ├── adminapp/
│   │   ├── feature-main/
│   │   ├── feature-login/
│   │   ├── ui/
│   │   └── utils-testing/
│   └── shared/
│       ├── ui/
│       └── utils-testing/
├── tools/
├── nx.json
├── package.json
└── tsconfig.base.json
```

\
For larger projects, it is a good idea to group libraries into application sections like below

```
crema-4.x/
├── apps/
│   ├── source/
│   ├── source-e2e/
│   ├── adminapp/
│   └── adminapp-e2e/
├── libs/
│   ├── constants/
│   ├── context/
│   ├── helpers/
│   ├── hooks/
│   ├── services/
│   ├── source/
│   │    ├── registration/
│   │    │   ├── feature-main/
│   │    │   ├── feature-login/
│   │    │   ├── ui-form/
│   │    │   └── utils-testing/
│   │    ├── search/
│   │    │   ├── feature-results/
│   │    │   └── utils-testing/
│   │    └── shared/
│   │        └── ui/
│   ├── source/
|   └── shared/
│       ├── ui/
│       └── utils-testing/
├── tools/
├── nx.json
├── package.json
└── tsconfig.base.jso
```
