
    (<i
                         d Z ddlZddlmZ  ed      ZddgZd Zded	eee	e
e
f      fd
Zdedeee	e
e
f      d	efdZd Zedk(  r e        yy)u   task-1058.1: Before Starting 명칭 통일 스크립트

모든 SKILL.md 파일에서 "시작 전 확인" 관련 섹션 헤더를 "Before Starting"으로 통일.
    N)Pathz/home/jay/.claude/skills)u   ^## 시작 전 확인사항$## Before Starting)u   ^## 시작 전 확인$r   c                  >    t        t        j                  d            S )u   SKILL.md 파일 목록 반환.z
*/SKILL.md)list
SKILLS_DIRglob     N/home/jay/workspace/.worktrees/task-2057-dev2/scripts/unify_before_starting.pyfind_skill_filesr      s    
-..r
   filepathreturnc                 <   g }	 | j                  d      j                  d      }t        |d      D ]?  \  }}t        D ]1  \  }}t	        j
                  ||      s|j                  |||f        ? A 	 |S # t        $ r}t        d|  d|        Y d}~|S d}~ww xY w)uF   변경이 필요한 라인 반환 [(line_no, old_text, new_text), ...]utf-8encoding
   zError reading : N)		read_textsplit	enumeratePATTERNSrematchappend	Exceptionprint)r   changeslinesilinepatternreplacementes           r   check_needs_changer&      s    G0""G"4::4@ * 	GAt(0 $88GT*NNAt[#9:	 N  0xj1#.//N0s   AA6 A6 6	B?BBr   c                    |sy	 | j                  d      j                  d      }|D ]  \  }}}|||dz
  <    | j                  dj                  |      d       y# t        $ r}t        d|  d|        Y d	}~yd	}~ww xY w)
u   변경 적용.Fr   r   r   r   TzError writing r   N)r   r   
write_textjoinr   r   )r   r   r    line_noold_textnew_textr%   s          r   apply_changesr-   '   s    	""G"4::4@+2 	*'GXx!)E'A+	* 	DIIe,w? xj1#./s   AA 	B %A;;B c                     t               } t        dt        |        d       i }| D ]  }t        |      }|s|||<    t        dt        |       d       |j	                         D ]  \  }}|j                  t        j                        }t        d| d       |D ]1  \  }}}t        d| d       t        d|        t        d|        3 t        ||      rt        d	       t        d
        t        dd        t        d       t        dt        |               t        dt        |              t        dt        d |j                         D                      |S )u   메인 함수.zFound z SKILL.md files
zFiles needing changes: r   :z  Line z    - z    + u     ✅ Appliedu     ❌ Failedz<============================================================zSummary:z  Total files scanned: z  Files changed: z  Total lines changed: c              3   2   K   | ]  }t        |        y w)N)len).0cs     r   	<genexpr>zmain.<locals>.<genexpr>Z   s     'M1A'Ms   )r   r   r1   r&   itemsrelative_tor   parentr-   sumvalues)skill_filesall_changesr   r   relative_pathr*   r+   r,   s           r   mainr=   8   s   "$K	F3{#$$5
67K   ,$X.$+K!,
 
#C$4#5R
89 )..0 #' ,,Z->->?=/#$+2 	''GXxGG9A&'F8*%&F8*%&	'
 7+M#L"# 
Bvh-	H	#C$4#5
67	c+./
01	#C'M8J8J8L'M$M#N
OPr
   __main__)__doc__r   pathlibr   r   r   r   r   tupleintstrr&   boolr-   r=   __name__r	   r
   r   <module>rF      s   
 
 ,-
 <5/
 $uS#s]/C*D D 4c3m0D+E $ "$N zF r
   