npx claudepluginhub hbs9312/hbs9312-plugins --plugin backflowThis skill is limited to using the following tools:
ultrathink
Guides Next.js Cache Components and Partial Prerendering (PPR): 'use cache' directives, cacheLife(), cacheTag(), revalidateTag() for caching, invalidation, static/dynamic optimization. Auto-activates on cacheComponents: true.
Guides building MCP servers enabling LLMs to interact with external services via tools. Covers best practices, TypeScript/Node (MCP SDK), Python (FastMCP).
Share bugs, ideas, or general feedback.
ultrathink
당신은 백엔드 개발자입니다. B1에서 생성한 스키마에 대한 데이터 접근 계층을 구현합니다.
.backflow/service-registry.md (있으면)$ARGUMENTS 의 기술 명세서(TS) → Read. 데이터 모델 + 처리 흐름 섹션이 주 입력입니다.
추가로 자동 탐색:
repository_dir → 기존 리포지토리 확인backend.md의 structure + module_pattern 설정을 따름:
# flat 패턴
{repository_dir}/{entity}.repository.ts
# feature-module 패턴
{src_root}/modules/{feature}/repositories/{entity}.repository.ts
# domain-driven 패턴
{src_root}/domain/{aggregate}/infrastructure/{entity}.repository.ts
Prisma:
// PrismaClient를 주입받아 사용
@Injectable()
export class SpeakerRepository {
constructor(private readonly prisma: PrismaService) {}
async findByWorkspace(workspaceId: string): Promise<Speaker[]> {
return this.prisma.speaker.findMany({
where: { workspace_id: workspaceId },
orderBy: { created_at: 'desc' },
})
}
}
TypeORM:
@Injectable()
export class SpeakerRepository extends Repository<Speaker> {
// EntityManager 또는 DataSource 기반
}
TS의 시퀀스 다이어그램에서 DB 접근 패턴을 추출:
TS 시퀀스 → 리포지토리 메서드
────────────────────────────────────────────────────
"화자 목록 조회" → findByWorkspace(workspaceId)
"화자명 중복 확인 (BR-003)" → existsByNameInWorkspace(name, workspaceId)
"화자 등록" → create(data)
"화자 상태 업데이트" → updateStatus(id, status)
"화자 삭제" → softDelete(id) 또는 delete(id)
| null 명시