AgentSkillsCN

naming

为本 Node 项目检查或应用文件与文件夹命名规范。在创建新文件或文件夹、重命名现有文件或文件夹、对模块进行命名一致性审核,或在不确定文件的正确名称或路径时使用。

SKILL.md
--- frontmatter
name: naming
description: Check or apply file and folder naming conventions for this Node project. Use when creating new files or folders, renaming existing ones, auditing a module for naming consistency, or any time the correct name/path for a file is unclear.

Naming Skill

Audit or apply the project's file and folder naming conventions.

Conventions

Folders

LocationCaseExample
Top-level dirskebab-caselib/, modules/, config/
Module dirskebab-casemodules/tasks/, modules/home/
Module sub-dirsfixed namescontrollers/, services/, repositories/, models/, policies/, routes/, tests/, config/, doc/

Files

TypePatternExample
Controller{module}[.{name}].controller.jstasks.controller.js
Service{module}[.{name}].service.jstasks.service.js, tasks.data.service.js
Repository{module}.repository.jstasks.repository.js
Mongoose Model{module}.model.mongoose.jstasks.model.mongoose.js
Sequelize Model{module}.model.sequelize.jstasks.model.sequelize.js
Schema{module}.schema.jstasks.schema.js
Policy{module}[.{name}].policy.jstasks.policy.js
Router{module}.routes.jstasks.routes.js
Test{module}.{type}.tests.jstasks.integration.tests.js, tasks.unit.tests.js
Config{name}.jsapp.js, default.js

[.{name}] is optional — the reference tasks module uses the short form (e.g., tasks.controller.js, tasks.service.js).

Naming Tokens

From a module name (e.g., my-feature):

  • kebab-case: my-feature (folder names, file prefixes, route paths)
  • PascalCase: MyFeature (Mongoose model names, class names)
  • lowerCamelCase: myFeature (variable names, function names, JS exports)
  • UPPER_SNAKE_CASE: MY_FEATURE (constants)

Layer Order

Controllers → Services → Repositories → Models

Never skip layers. Controllers must not call repositories directly.