원클릭으로
new-be-module
Add a new NestJS module to the backend (apps/be). Use when creating a new domain/feature in the backend.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Add a new NestJS module to the backend (apps/be). Use when creating a new domain/feature in the backend.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Implement a feature from docs/ROADMAP.md end-to-end: branch, code, test, commit, push, open PR, fix CI. Use when user says "implement feature X from roadmap" or "start with feature X".
Deterministic LLM-first SEO audits for websites, blog posts, and GitHub repositories. Use this when the user asks to "perform SEO analysis", "run SEO audit", "analyze SEO", "check technical SEO", "review schema", "Core Web Vitals", "E-E-A-T", "hreflang", "GEO", "AEO", or GitHub repository SEO optimization. For full/page/repo audits, run bundled scripts for evidence and return prioritized, confidence-labeled fixes.
Use when implementing or reviewing accessibility (a11y) — ARIA attributes, keyboard navigation, focus management, color contrast, screen reader support, semantic HTML, form labels, error handling, or any WCAG compliance task. Trigger on keywords like a11y, accessibility, ARIA, keyboard, focus, screen reader, WCAG, contrast, VoiceOver, NVDA.
Use when implementing or reviewing frontend performance — bundle optimization, lazy loading, image optimization, caching, Core Web Vitals (LCP, FID/INP, CLS), code splitting, rendering strategies, or any speed/performance task. Trigger on keywords like performance, speed, bundle size, lazy load, Web Vitals, LCP, CLS, INP, cache, optimize, lighthouse, Core Web Vitals.
Check existing @arcadeum/ui components before implementing any new UI. Use before writing any component — reuse what exists, add to packages/ui if missing.
Create a git commit following the project's Conventional Commits convention with ARC ticket reference. Use when committing changes.
| name | new-be-module |
| description | Add a new NestJS module to the backend (apps/be). Use when creating a new domain/feature in the backend. |
The backend uses NestJS with Mongoose (MongoDB), JWT auth, and Socket.io for real-time.
apps/be/src/<module-name>/
<name>.module.ts ← NestJS module, registers all providers and Mongoose schemas
<name>.controller.ts ← REST endpoints (use @JwtAuthGuard for protected routes)
<name>.service.ts ← Business logic
<name>.gateway.ts ← (optional) WebSocket gateway for real-time features
schemas/
<name>.schema.ts ← Mongoose schema + type export
dtos/
create-<name>.dto.ts ← DTOs with class-validator decorators
Schema (schemas/<name>.schema.ts):
import { Prop, Schema, SchemaFactory } from '@nestjs/mongoose';
import { Document } from 'mongoose';
export type <Name>Document = <Name> & Document;
@Schema({ timestamps: true })
export class <Name> { ... }
export const <Name>Schema = SchemaFactory.createForClass(<Name>);
DTOs with class-validator:
import { IsString, IsNotEmpty } from 'class-validator';
export class Create<Name>Dto { @IsString() @IsNotEmpty() field: string; }
Service — inject @InjectModel(<Name>.name) private model: Model<<Name>Document>
Controller — use @UseGuards(JwtAuthGuard) for protected routes, @Controller('<name>') prefix
Module — register MongooseModule.forFeature([{ name: <Name>.name, schema: <Name>Schema }]), declare controller and service
Register the new module in apps/be/src/app.module.ts
import { JwtAuthGuard } from '../auth/jwt/jwt-auth.guard';
import { MongooseModule } from '@nestjs/mongoose';
import { Module, Controller, Injectable } from '@nestjs/common';
import { InjectModel } from '@nestjs/mongoose';
import { Model } from 'mongoose';