用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/edfenton/claude-skills --skill nean-std命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
Scaffold a pnpm + Turborepo MERN monorepo with Next.js, tooling, tests, CI, and optional GitHub repo creation.
Configure GitHub repository security with branch protection, Dependabot, security scanning, and CI workflows. Integrates with mern-scaffold, nean-scaffold, and iOS projects.
Harden a Vercel deployment with security headers, CSP, bot protection, and deployment configuration
正在显示 SKILL.md
基于 SOC 职业分类
| name | nean-std |
| description | Coding standards for NEAN apps in an Nx monorepo. |
Ensure consistent, maintainable code. Complements stack, security, and NFR skills.
apps/
├── api/ # NestJS backend
│ └── src/
│ ├── app/ # Root module, bootstrap
│ ├── modules/ # Feature modules
│ └── main.ts # Entry point
└── web/ # Angular frontend
└── src/
├── app/ # Root component, routing
├── environments/ # Environment configs
└── main.ts # Bootstrap
libs/
├── shared/
│ ├── types/ # DTOs, interfaces, enums
│ ├── constants/ # Shared constants
│ └── utils/ # Shared utilities
├── api/
│ ├── auth/ # Auth module (guards, strategies)
│ ├── database/ # TypeORM config, entities, migrations
│ └── common/ # Interceptors, filters, pipes, decorators
└── web/
├── auth/ # Auth components, guards, interceptors
├── ui/ # Shared UI components
└── data-access/ # API services, NgRx state
@myapp/ path aliasesnx.jsonprocess.env directly in app code; use ConfigService (NestJS) or environment files (Angular)libs/shared/types for request/response contracts// libs/shared/types/src/user.dto.ts
export class CreateUserDto {
@IsEmail()
email: string;
@IsString()
@MinLength(8)
password: string;
}
export class UserResponseDto {
id: string;
email: string;
createdAt: Date;
// Never expose passwordHash
}
index.ts) for public API// Feature module structure
modules/users/
├── users.module.ts
├── users.controller.ts
├── users.service.ts
├── dto/
│ ├── create-user.dto.ts
│ └── update-user.dto.ts
└── __tests__/
├── users.controller.spec.ts
└── users.service.spec.ts
// Component structure
@Component({
selector: 'app-user-card',
standalone: true,
imports: [CommonModule, PrimeNgModule],
changeDetection: ChangeDetectionStrategy.OnPush,
template: `...`,
})
export class UserCardComponent {
@Input({ required: true }) user!: User;
@Output() edit = new EventEmitter<User>();
}
@Controller('users')
@ApiTags('users')
export class UsersController {
@Get()
@ApiOperation({ summary: 'List users' })
@ApiPaginatedResponse(UserResponseDto)
findAll(@Query() query: PaginationDto) {
return this.usersService.findAll(query);
}
@Get(':id')
@ApiOperation({ summary: 'Get user by ID' })
findOne(@Param('id', ParseUUIDPipe) id: string) {
return this.usersService.findOne(id);
}
}
synchronize: true in production@InjectRepository@Entity('users')
export class UserEntity {
@PrimaryGeneratedColumn('uuid')
id: string;
@Column({ unique: true })
@Index() // Used for login lookup
email: string;
@CreateDateColumn()
createdAt: Date;
@UpdateDateColumn()
updatedAt: Date;
}
kebab-casePascalCase with .component.ts suffixPascalCase with appropriate suffix (.service.ts, .controller.ts)PascalCase with Dto suffixPascalCase with Entity suffixPascalCase, no I prefixTDD is mandatory — see /shared-tdd for the red-green-refactor workflow and evidence requirements.
Test command: npm run test
| Source | Test |
|---|---|
apps/api/src/modules/foo/foo.service.ts | apps/api/src/modules/foo/foo.service.spec.ts |
apps/api/src/modules/foo/foo.controller.ts | apps/api/src/modules/foo/foo.controller.spec.ts |
apps/web/src/app/features/bar/bar.component.ts | apps/web/src/app/features/bar/bar.component.spec.ts |
libs/shared/types/src/lib/baz.dto.ts | libs/shared/types/src/lib/baz.dto.spec.ts |
For significant code changes, briefly note:
For detailed patterns and examples, see reference/nean-std-reference.md