code-changelog
19
总安装量
15
周安装量
#18674
全站排名
安装命令
npx skills add https://github.com/bear2u/my-skills --skill code-changelog
Agent 安装分布
claude-code
13
opencode
11
gemini-cli
10
antigravity
10
cursor
10
windsurf
9
Skill 文档
Code Changelog with Simple HTML Viewer
AIê° ìì±í 모ë ì½ë ë³ê²½ì¬íì reviews í´ëì 기ë¡íê³ , ê°ë¨í HTML ë·°ì´ë¡ ë¸ë¼ì°ì ìì ì¤ìê°ì¼ë¡ íì¸í ì ìë ì루ì ì ëë¤.
ð¯ íµì¬ 기ë¥
- â ìë 문ì ìì±: 매 ìì ë§ë¤ reviews í´ëì MD íì¼ ìì±
- â ê°ë¨í HTML ë·°ì´: ì¤ì¹ ë¶íì, Pythonë§ì¼ë¡ ìë
- â ìë index.html ì ë°ì´í¸: ì 문ì ì¶ê° ì ìëì¼ë¡ íì¼ ëª©ë¡ ê°±ì
- â ì¤ìê° ìë²: http://localhost:4000ìì ì¦ì íì¸
- â ë¤í¬ 모ë UI: GitHub ì¤íì¼ì ìë¦ë¤ì´ 문ì ì¬ì´í¸
- â ë¤ë¹ê²ì´ì : ìë íì¼ ëª©ë¡ ìì±ì¼ë¡ ì¬ì´ íì
- â Markdown ë ëë§: ì½ë íì´ë¼ì´í ë° diff íì
- â ìµì 문ì ì°ì : ê°ì¥ ìµê·¼ ìì±í 문ìê° ê¸°ë³¸ì¼ë¡ íìë¨
ð ë¹ ë¥¸ ìì
1. ì´ê¸° ì¤ì (ìµì´ 1í)
# ì¤ì¹ ë¶íì! Pythonë§ ìì¼ë©´ OK
python3 create_changelog.py
2. ê°ë°íë©´ì ì¬ì©
from code_changelog_tracker import CodeChangeLogger
# ë¡ê±° ìì±
logger = CodeChangeLogger("íë¡ì í¸ëª
", user_request="ì구ì¬í")
# ë³ê²½ì¬í 기ë¡
logger.log_file_creation("main.py", "ì½ë", "ì´ì ")
logger.save_and_build() # ì ì¥!
3. 문ì ìë² ì¤í
# reviews í´ëìì Python ìë² ì¤í
cd reviews
python3 -m http.server 4000
# ë¸ë¼ì°ì ìì íì¸
# http://localhost:4000
ëë 백그ë¼ì´ë ì¤í:
cd reviews && python3 -m http.server 4000 &
ð íë¡ì í¸ êµ¬ì¡°
your-project/
âââ reviews/ # 문ì 루í¸
â âââ index.html # HTML ë·°ì´ (ìë ìì±)
â âââ README.md # ííì´ì§
â âââ SUMMARY.md # ë¤ë¹ê²ì´ì
(ìë ìì±)
â â
â âââ 20251020_140000.md # ë³ê²½ ì´ë ¥ 1
â âââ 20251020_140530.md # ë³ê²½ ì´ë ¥ 2
â âââ 20251020_141200.md # ë³ê²½ ì´ë ¥ 3
â âââ ...
â
âââ code_changelog_tracker.py # ë¡ê±° ì¤í¬ë¦½í¸
âââ create_changelog.py # ë³ê²½ì¬í ê¸°ë¡ ì¤í¬ë¦½í¸
ð¡ ì¬ì© ìë리ì¤
ìëë¦¬ì¤ 1: ì°ì ê°ë°íë©´ì 문ìí
logger = CodeChangeLogger("ë¡ê·¸ì¸ 기ë¥")
# 첫 ë²ì§¸ ìì
logger.log_file_creation("auth.py", "def login(): pass", "ë¡ê·¸ì¸ í¨ì")
logger.save_and_build()
# â reviews/20251020_140000.md ìì±
# â index.html ìë ì
ë°ì´í¸ (íì¼ ëª©ë¡ì ì¶ê°)
# â 기본 íì´ì§ê° 20251020_140000.mdë¡ ë³ê²½
# ë ë²ì§¸ ìì
logger.log_file_modification("auth.py", "old", "new", "ìí¸í ì¶ê°")
logger.save_and_build()
# â reviews/20251020_140530.md ìì±
# â index.html ìë ì
ë°ì´í¸ (íì¼ ëª©ë¡ ê°±ì )
# â 기본 íì´ì§ê° 20251020_140530.mdë¡ ë³ê²½
# ì¸ ë²ì§¸ ìì
logger.log_file_creation("test_auth.py", "test code", "í
ì¤í¸")
logger.save_and_build()
# â reviews/20251020_141200.md ìì±
# â index.html ìë ì
ë°ì´í¸ (íì¼ ëª©ë¡ ê°±ì )
# â 기본 íì´ì§ê° 20251020_141200.mdë¡ ë³ê²½
# ë¸ë¼ì°ì ìì http://localhost:4000 방문
# â ìµì 문ìê° ìëì¼ë¡ íìë¨!
# â ì¢ì¸¡ ë¤ë¹ê²ì´ì
ìì ì´ì ë²ì ë¤ë íì¸ ê°ë¥
ìëë¦¬ì¤ 2: 백그ë¼ì´ë ìë² ì¤í
# í°ë¯¸ë 1: 문ì ìë² ì¤í (ê³ì ì¼ë )
cd reviews && python3 -m http.server 4000
# í°ë¯¸ë 2: ê°ë° ìì
python3 your_dev_script.py # logger.save_and_build() í¸ì¶
# ë¸ë¼ì°ì ìë¡ê³ 침íì¬ ìµì 문ì íì¸!
ìëë¦¬ì¤ 3: í ê³µì
# reviews í´ë를 íìë¤ê³¼ ê³µì
# GitHub Pages, Netlify ë±ì ë°°í¬
# ëë ë´ë¶ ì¹ìë²ì í¸ì¤í
ð ï¸ êµ¬í ì½ë
code_changelog_tracker.py (ë©ì¸ ë¡ê±°)
ì´ë¯¸ ìì±ë íì¼ ì¬ì©. 주ì ë©ìë:
log_file_creation()– íì¼ ìì± ê¸°ë¡log_file_modification()– íì¼ ìì 기ë¡log_file_deletion()– íì¼ ìì 기ë¡update_index_html()– index.html íì¼ ëª©ë¡ ìë ì ë°ì´í¸ â NEW!save_and_build()– ì ì¥ + SUMMARY ì ë°ì´í¸ + index.html ì ë°ì´í¸
reviews/index.html (HTML ë·°ì´)
ìëì¼ë¡ ìì± ë° ì
ë°ì´í¸ë©ëë¤! save_and_build() í¸ì¶ ì ë§¤ë² ìµì íì¼ ëª©ë¡ì¼ë¡ ê°±ì ë©ëë¤.
ì ê³µ 기ë¥:
- Markdown ìë ë ëë§ (marked.js)
- ë¤í¬ 모ë UI (GitHub ì¤íì¼)
- íì¼ ëª©ë¡ ë¤ë¹ê²ì´ì (ìë ì ë°ì´í¸)
- ì½ë íì´ë¼ì´í
- ìµì 문ìê° ê¸°ë³¸ì¼ë¡ íìë¨
- íì± ë§í¬ íì´ë¼ì´í¸
ð ê°ë¨í ì¬ì©ë²
1ë¨ê³: ë³ê²½ì¬í 기ë¡
# create_changelog.py ìì
from code_changelog_tracker import CodeChangeLogger
logger = CodeChangeLogger(
"Daily Signal App - íì ê°ì
기ë¥",
user_request="ì´ë©ì¼/ë¹ë°ë²í¸ ê¸°ë° íì ê°ì
구í"
)
# íì¼ ìì± ê¸°ë¡
logger.log_file_creation(
"lib/screens/signup_screen.dart",
"SignUpScreen ì½ë...",
"íì ê°ì
íë©´ 구í"
)
# íì¼ ìì 기ë¡
logger.log_file_modification(
"lib/providers/auth_provider.dart",
"old code",
"new code",
"signUp ë©ìë ì¶ê°"
)
# ì ì¥
logger.save_and_build()
2ë¨ê³: ìë² ì¤í
cd reviews
python3 -m http.server 4000
3ë¨ê³: ë¸ë¼ì°ì ìì íì¸
http://localhost:4000
ð¨ HTML ë·°ì´ í¹ì§
ë¤í¬ 모ë UI
- GitHub ì¤íì¼ì ë§í¬ë¤ì´ ë ëë§
- ì½ë ë¸ë¡ íì´ë¼ì´í
- ë°ìí ë ì´ìì
ë¤ë¹ê²ì´ì
- ì¢ì¸¡ì íì¼ ëª©ë¡ ìë íì
- ë ì§/ìê°ë³ ì ë ¬
- í´ë¦ì¼ë¡ ì¬ì´ ì´ë
Markdown ë ëë§
- ì 목, 목ë¡, ì½ë ë¸ë¡ ì§ì
- Diff íì
- ì´ëª¨ì§ ì§ì
ð» ëª ë ¹ì´ ê°ì´ë
ìë² ìì
cd reviews
python3 -m http.server 4000
í¬í¸ ë³ê²½
python3 -m http.server 3000
python3 -m http.server 8080
백그ë¼ì´ë ì¤í
cd reviews && python3 -m http.server 4000 &
ìë² ì¢ ë£
# í¬ê·¸ë¼ì´ë: Ctrl+C
# 백그ë¼ì´ë: íë¡ì¸ì¤ ID ì°¾ìì ì¢
ë£
lsof -ti:4000 | xargs kill -9
ð§ í¬í¸ ì¤ì
기본 í¬í¸: 4000
python3 -m http.server 4000
# â http://localhost:4000
ë¤ë¥¸ í¬í¸ ì¬ì©
python3 -m http.server 3000
# â http://localhost:3000
í¬í¸ ì¶©ë í´ê²°
# ë¤ë¥¸ í¬í¸ ì¬ì©
python3 -m http.server 4001
# ëë 기존 íë¡ì¸ì¤ ì¢
ë£
lsof -ti:4000 | xargs kill -9
ð ë°°í¬ ìµì
GitHub Pages
# reviews í´ë를 gh-pages ë¸ëì¹ì í¸ì
git subtree push --prefix reviews origin gh-pages
Netlify
# Netlifyì reviews í´ë ë°°í¬
# Build command: (ìì)
# Publish directory: reviews
Vercel
# Vercelì reviews í´ë ë°°í¬
vercel reviews
ð Best Practices
- ìë² íì ì¤í: ê°ë° ì¤ìë ìë²ë¥¼ ê³ì ì¼ë기
- ìì ë¨ì: ê° ìì ì ìì ë¨ìë¡ ëëì´ ë¬¸ìí
- ëª íí ì 목: íë¡ì í¸ëª ì ëª ííê² ìì±
- ì 기ì ë°±ì : reviews í´ë를 Gitì¼ë¡ ê´ë¦¬
- ë¸ë¼ì°ì ë¶ë§í¬: http://localhost:4000 ë¶ë§í¬ ì¶ê°
ð íì© ìì
íì ê°ì ê¸°ë¥ êµ¬í
logger = CodeChangeLogger(
"Daily Signal App - íì ê°ì
",
user_request="ì´ë©ì¼/ë¹ë°ë²í¸ íì ê°ì
기ë¥"
)
# CustomTextField ìì±
logger.log_file_creation(
"lib/widgets/custom_text_field.dart",
"CustomTextField ì½ë...",
"ì¬ì¬ì© ê°ë¥í ì
ë ¥ íë ìì ¯"
)
# SignUpScreen ìì±
logger.log_file_creation(
"lib/screens/signup_screen.dart",
"SignUpScreen ì½ë...",
"íì ê°ì
íë©´ 구í"
)
# AuthProvider ìì
logger.log_file_modification(
"lib/providers/auth_provider.dart",
"old code",
"new code with signUp",
"signUp ë©ìë ì¶ê°"
)
# ì ì¥
logger.save_and_build()
# ìë²ìì íì¸: http://localhost:4000
ð¨ 문ì í´ê²°
í¬í¸ê° ì´ë¯¸ ì¬ì© ì¤
# ë¤ë¥¸ í¬í¸ ì¬ì©
python3 -m http.server 4001
# ëë íë¡ì¸ì¤ ì¢
ë£
lsof -ti:4000 | xargs kill -9
íì¼ì´ íìëì§ ìì
# index.htmlì´ ìëì§ íì¸
ls reviews/index.html
# ìì¼ë©´ logger.save_and_build() í¸ì¶ ì ìë ìì±ë¨
ì¤ì: logger.save_and_build()를 í¸ì¶íë©´ index.htmlì´ ìëì¼ë¡ ì
ë°ì´í¸ë©ëë¤!
- ì ë§í¬ë¤ì´ íì¼ ì¶ê° ì íì¼ ëª©ë¡ ìë ê°±ì
- ìµì íì¼ì´ 기본 íì´ì§ë¡ ìë ì¤ì
- ë¸ë¼ì°ì ìë¡ê³ 침ë§ì¼ë¡ ìµì 문ì íì¸ ê°ë¥
Markdownì´ ë ëë§ëì§ ìì
- ë¸ë¼ì°ì ìºì ìì (Cmd+Shift+R / Ctrl+Shift+R)
- ìë² ì¬ìì
- index.htmlì´ ìµì ì¸ì§ íì¸ (save_and_build() ì¬ì¤í)
ð¯ ì¥ì
ì¤ì¹ ë¶íì
- Node.js, npm, HonKit ì¤ì¹ ë¶íì
- Pythonë§ ìì¼ë©´ ì¦ì ì¬ì© ê°ë¥
- ìì¡´ì± ìì
ë¹ ë¥¸ ì¤í
- 1ì´ ìì ìë² ìì
- ì¦ì 문ì íì¸ ê°ë¥
ê°ë¨í ë°°í¬
- reviews í´ëë§ ë°°í¬íë©´ ë
- ì ì ì¬ì´í¸ë¡ ì´ëë í¸ì¤í ê°ë¥
ìë ì ë°ì´í¸ â NEW!
save_and_build()í¸ì¶ ì index.html ìë ê°±ì- ìë í¸ì§ ë¶íì
- íì ìµì íì¼ ëª©ë¡ ì ì§
- ìµì 문ìê° ê¸°ë³¸ íì´ì§ë¡ ìë ì¤ì
ð ë¹êµ: HonKit vs Simple HTML
| ê¸°ë¥ | HonKit | Simple HTML |
|---|---|---|
| ì¤ì¹ | npm, Node.js íì | Pythonë§ íì |
| ë¹ë ìê° | 5-10ì´ | ì¦ì |
| ìì¡´ì± | ë§ì | ìì |
| 커ì¤í°ë§ì´ì§ | ëì | ì¤ê° |
| ê²ì ê¸°ë¥ | ìì | ë¸ë¼ì°ì ê²ì |
| ë°°í¬ | _book í´ë | reviews í´ë |
ë¼ì´ì ì¤
MIT License
ì¤ì¹ ë¶íì! Pythonì¼ë¡ ë°ë¡ ì¤ííê³ ì¹ ë¸ë¼ì°ì ìì íì¸íì¸ì! ð