@@ -11,33 +11,37 @@ Audit or apply the project's file and folder naming conventions.
1111
1212### Folders
1313
14- | Location | Case | Example |
15- | --------------- | ---------- | -------------------------------- |
16- | Top-level dirs | kebab-case | ` lib/ ` , ` modules/ ` , ` config/ ` |
17- | Module dirs | kebab-case | ` modules/tasks/ ` , ` modules/home/ ` |
14+ | Location | Case | Example |
15+ | --------------- | ----------- | - -------------------------------- |
16+ | Top-level dirs | kebab-case | ` lib/ ` , ` modules/ ` , ` config/ ` |
17+ | Module dirs | kebab-case | ` modules/tasks/ ` , ` modules/home/ ` |
1818| Module sub-dirs | fixed names | ` controllers/ ` , ` services/ ` , ` repositories/ ` , ` models/ ` , ` policies/ ` , ` routes/ ` , ` tests/ ` , ` config/ ` , ` doc/ ` |
1919
2020### Files
2121
22- | Type | Pattern | Example |
23- | ----------- | ------------------------------ | -------------------------------- |
24- | Controller | ` {module}.{name}.controller.js ` | ` tasks.crud.controller.js ` |
25- | Service | ` {module}.{name}.service.js ` | ` tasks.crud.service.js ` |
26- | Repository | ` {module}.repository.js ` | ` tasks.repository.js ` |
27- | Model | ` {module}.model.js ` | ` tasks.model.js ` |
28- | Policy | ` {module}.{name}.policy.js ` | ` tasks.crud.policy.js ` |
29- | Router | ` {module}.routes.js ` | ` tasks.routes.js ` |
30- | Test | ` {module}.{type}.tests.js ` | ` tasks.integration.tests.js ` |
31- | Config | ` {name}.js ` | ` app.js ` , ` default.js ` |
22+ | Type | Pattern | Example |
23+ | --------------- | ------------------------------------- | ---------------------------------------------------------- |
24+ | Controller | ` {module}[.{name}].controller.js ` | ` tasks.controller.js ` |
25+ | Service | ` {module}[.{name}].service.js ` | ` tasks.service.js ` , ` tasks.data.service.js ` |
26+ | Repository | ` {module}.repository.js ` | ` tasks.repository.js ` |
27+ | Mongoose Model | ` {module}.model.mongoose.js ` | ` tasks.model.mongoose.js ` |
28+ | Sequelize Model | ` {module}.model.sequelize.js ` | ` tasks.model.sequelize.js ` |
29+ | Schema | ` {module}.schema.js ` | ` tasks.schema.js ` |
30+ | Policy | ` {module}[.{name}].policy.js ` | ` tasks.policy.js ` |
31+ | Router | ` {module}.routes.js ` | ` tasks.routes.js ` |
32+ | Test | ` {module}.{type}.tests.js ` | ` tasks.integration.tests.js ` , ` tasks.unit.tests.js ` |
33+ | Config | ` {name}.js ` | ` app.js ` , ` default.js ` |
34+
35+ > ` [.{name}] ` is optional — the reference ` tasks ` module uses the short form (e.g., ` tasks.controller.js ` , ` tasks.service.js ` ).
3236
3337### Naming Tokens
3438
3539From a module name (e.g., ` my-feature ` ):
3640
3741- ** kebab-case** : ` my-feature ` (folder names, file prefixes, route paths)
38- - ** PascalCase** : ` MyFeature ` (class names, Mongoose model names)
42+ - ** PascalCase** : ` MyFeature ` (Mongoose model names, class names)
3943- ** lowerCamelCase** : ` myFeature ` (variable names, function names, JS exports)
40- - ** UPPER_SNAKE_CASE** : ` MY_FEATURE ` (constants, env keys )
44+ - ** UPPER_SNAKE_CASE** : ` MY_FEATURE ` (constants)
4145
4246## Layer Order
4347
0 commit comments