/**
 * 여러 builtin 명령이 공통으로 재사용하는 백엔드 규칙 자산을 모아두는 파일이다.
 * commit/review 같은 명령에서 조합할 수 있도록 공통 기준 문서와 파일 참조형 자산을 함께 제공한다.
 */

import { createPromptMarkdownFileAsset } from '../../../prompts/markdown-assets';

import commitRule from './commit.md';
import dspBeGuideRule from './dsp-be-guide.md';
import referenceSummaryRule from './reference-summary.md';

export const sharedBeCommitRuleReference = createPromptMarkdownFileAsset(
  import.meta.url,
  'src/platform/assets/rules/be/commit.md'
);
export const sharedBeDspBeGuideRuleReference = createPromptMarkdownFileAsset(
  import.meta.url,
  'src/platform/assets/rules/be/dsp-be-guide.md'
);
export const sharedBeReferenceSummaryRuleReference = createPromptMarkdownFileAsset(
  import.meta.url,
  'src/platform/assets/rules/be/reference-summary.md'
);

/**
 * `/commit` 등에서 공통으로 재사용하는 백엔드 commit 규칙이다.
 */
export const sharedBeCommitRule = commitRule;

/**
 * `/review` 등에서 공통으로 재사용하는 백엔드 가이드 규칙이다.
 */
export const sharedBeDspBeGuideRule = dspBeGuideRule;

/**
 * `/commit`, `/review` 등에서 함께 사용하는 백엔드 참조 요약 규칙이다.
 */
export const sharedBeReferenceSummaryRule = referenceSummaryRule;

/**
 * 공통 백엔드 규칙 자산 묶음이다.
 */
export const sharedBeRuleAssets = {
  commitRule,
  dspBeGuideRule,
  referenceSummaryRule
};

/**
 * ju-hong-e 내부 프롬프트에서 사용할 파일 경로 참조형 공통 백엔드 규칙 자산 묶음이다.
 */
export const sharedBePromptRuleAssets = {
  commitRule: sharedBeCommitRuleReference,
  dspBeGuideRule: sharedBeDspBeGuideRuleReference,
  referenceSummaryRule: sharedBeReferenceSummaryRuleReference
};
