# Dockerfiles, compose files, CI workflows and deploy configs nobody asked for

*Files and folders*: one of the ways AI coding agents bloat software, from lessloc's [pattern catalog](https://lessloc.org/patterns/index.md). lessloc catches it as [`unrequested-file`](https://lessloc.org/guide/reference.md#tier-2).

## What makes CI workflows and Dockerfiles nobody asked for a bad practice?

The standards that call it a bad practice: YAGNI; Google engineering practices: "functionality that isn't presently needed".

## What does lessloc do about CI workflows and Dockerfiles nobody asked for?

lessloc catches it as [`unrequested-file`](https://lessloc.org/guide/reference.md#tier-2).

- `unrequested-file` (tier 2): A deployment, container or CI file nobody asked for.

## Related patterns

The other patterns in [Files and folders](https://lessloc.org/patterns/index.md#files-and-folders):

- [Scratch, backup, copy and harness files](https://lessloc.org/patterns/index.md#scratch-files): lessloc catches it as `junk-file` and refuses it before it lands.
- [Caches, build output and logs about to be committed](https://lessloc.org/patterns/index.md#caches): lessloc catches it as `junk-file`.
- [Tiny one-function files; file-per-concern splits](https://lessloc.org/patterns/tiny-files.md): lessloc catches it as `tiny-file` and `new-files`.
- [New folders for one or two files; layer trees for small apps](https://lessloc.org/patterns/one-file-folders.md): lessloc catches it as `new-folder`.
- [Junk-drawer utils and helpers modules and folders](https://lessloc.org/patterns/junk-drawer.md): lessloc catches it as `junk-drawer`.
- [Vague names (process\_data, handle)](https://lessloc.org/patterns/vague-name.md): lessloc catches it as `vague-name`.
- [Moving or renaming files without a reason](https://lessloc.org/patterns/moved-files.md): lessloc catches it as `moved-files`.
- [Secrets: a committed .env, API keys, private keys](https://lessloc.org/patterns/secrets.md): lessloc catches it as `secret`.
