literate-docs
2
总安装量
2
周安装量
#72026
全站排名
安装命令
npx skills add https://github.com/ssiumha/dots --skill literate-docs
Agent 安装分布
opencode
2
gemini-cli
2
claude-code
2
github-copilot
2
codex
2
kimi-cli
2
Skill 文档
Literate Docs
ì½ëì 문ì를 íµí©íì¬ “ì”를 기ë¡íë 문ìí í¨í´ì ì ê³µí©ëë¤.
íµì¬ ì² í (Knuth’s Literate Programming):
- ì½ëì 문ì를 ë£ë ê² ìëë¼, 문ìì ì½ë를 ë£ëë¤
- ì ì´ë ê² íëì§ ì¤ëª (whatì´ ìë why)
- ëìê³¼ ê±°ë¶ ì´ì 기ë¡
- ì¬ëì´ ì½ê¸° ì¢ì ììë¡ êµ¬ì±
Instructions
ìí¬íë¡ì° 1: ì¸ì´ ê°ì§ â íì¤ ì ì©
íì¼ íì¥ìë¡ ì¸ì´ ê°ì§ í í´ë¹ íì¤ ì ì©:
| íì¥ì | ì¸ì´ | íì¤ | 리ìì¤ |
|---|---|---|---|
.py |
Python | PEP 257 Docstrings | 02-python.md |
.js, .ts, .jsx, .tsx |
JavaScript/TypeScript | JSDoc/TSDoc | 03-javascript.md |
.go |
Go | GoDoc | 04-go.md |
.rs |
Rust | rustdoc | 05-rust.md |
.java, .kt, .kts |
Java/Kotlin | Javadoc/KDoc | 06-java.md |
.md |
Markdown | GitHub Alerts + Frontmatter | 07-markdown.md |
ìí¬íë¡ì° 2: ì½ë íê·¸ ì½ì
ë²ì© ì½ë íê·¸ (resources/01-codetags.md):
| íê·¸ | ì©ë | ìì |
|---|---|---|
TODO |
ì¶í ìì | # TODO(#123): 리í©í ë§ |
FIXME |
ë²ê·¸/ìì íì | // FIXME: ê²½ê³ ì¡°ê±´ ì²ë¦¬ |
HACK |
ìì í´ê²°ì± | /* HACK: ì°í ì²ë¦¬ */ |
NOTE |
ì°¸ê³ ì¬í | /// NOTE: ìì ì¤ì |
WHY |
ê²°ì ì´ì | # WHY: ì±ë¥ ì´ìë¡ ì í |
Best Practice: í°ì¼ ë²í¸ ëë ë ì§ í¬í¨
# TODO(2025-02-01): ë¤ì 릴리ì¦ì 구í
// FIXME(#456): ë©ëª¨ë¦¬ ëì í´ê²°
ìí¬íë¡ì° 3: íì¤í 리/ê²°ì 기ë¡
Markdown (prompts, skills):
---
name: skill-name
history:
- 2025-01-08: ì´ê¸° ìì±
- 2025-01-15: ë²ì í¸íì± ì¶ê°
decisions:
- "ë구 ì¤í 기ë°: ëª
ë ¹ì´ ìì±ì´ 주 목ì "
---
ì½ë íì¼:
# HISTORY:
# 2025-01-08: ì´ê¸° 구í
# 2025-01-15: ì±ë¥ ìµì í (O(n²) â O(n log n))
#
# DECISION: dict ëì dataclass ì¬ì©
# - ì´ì : íì
íí¸ì ë¶ë³ì± ë³´ì¥
# - ëì: NamedTuple (ë©ìë ì¶ê° ì´ë ¤ì)
Quick Reference
Python (PEP 257)
def fetch_data(url: str, timeout: int = 30) -> dict:
"""URLìì ë°ì´í°ë¥¼ ê°ì ¸ì¨ë¤.
Args:
url: ìì²í URL
timeout: íììì ì´ (기본 30)
Returns:
JSON ìëµì dictë¡ ë°í
Raises:
TimeoutError: íììì ì´ê³¼ ì
Note:
WHY: requests ëì httpx ì¬ì©
- ì´ì : async ì§ì íì
"""
JavaScript (JSDoc)
/**
* ì¬ì©ì ì 보를 ê°ì ¸ì¨ë¤.
*
* @param {string} userId - ì¬ì©ì ID
* @returns {Promise<User>} ì¬ì©ì ê°ì²´
* @throws {NotFoundError} ì¬ì©ì ìì ë
*
* @example
* const user = await getUser('123');
*
* NOTE: ìºì ì°ì ì¡°í í API í¸ì¶
* WHY: API í¸ì¶ ë¹ì© ì ê°
*/
Go (GoDoc)
// FetchData fetches data from the given URL.
//
// It returns the response body as bytes. If the request fails,
// it returns an error describing what went wrong.
//
// NOTE: Uses exponential backoff for retries.
// WHY: Network instability in production environment.
func FetchData(url string) ([]byte, error) {
Markdown (GitHub Alerts)
> [!NOTE]
> ì´ ì¤ì ì 0.30+ ë²ì ììë§ ì§ìë©ëë¤.
> [!WARNING]
> ì´ ìµì
ì deprecated ìì ì
ëë¤.
> [!TIP]
> `fd` ì¬ì© ì ì±ë¥ì´ 10ë°° í¥ìë©ëë¤.
ì¤ì ìì¹
- Why over What: ì½ëê° “무ì”ì íëì§ë³´ë¤ “ì” ê·¸ë ê² íëì§ ì¤ëª
- ëì 기ë¡: ì ííì§ ìì ë°©ë²ê³¼ ê·¸ ì´ì ë í¨ê» 기ë¡
- í°ì¼ ì°ë: TODO/FIXMEìë ì´ì ë²í¸ í¬í¨ (
TODO(#123)) - ì¸ì´ íì¤ ì¤ì: ê° ì¸ì´ì ê³µì 문ìí ê·ê²© ë°ë¥´ê¸°
- ì ì§ì ì ì©: ì ì½ëë¶í° ì ì©, 기존 ì½ëë ìì ì ì¶ê°
Examples
ê²°ì 문ìí
User: "ì ì´ë ê² êµ¬ííëì§ ê¸°ë¡í´ì¤"
â ìí¬íë¡ì° 2 (ì½ë íê·¸)
â WHY/DECISION íê·¸ + ëìê³¼ ì í ì´ì ìì±
íì¤í 리 ì¶ê°
User: "ë³ê²½ ì´ë ¥ ë¨ê²¨ì¤"
â ìí¬íë¡ì° 3 (íì¤í 리/ê²°ì )
â HISTORY ë¸ë¡ ëë frontmatter history íë
ì¸ì´ë³ 문ìí
User: "ì´ Python í¨ìì docstring ì¶ê°í´ì¤"
â ìí¬íë¡ì° 1 (ì¸ì´ ê°ì§)
â .py íì¸ â 02-python.md 참조 â PEP 257 íì ì ì©
Technical Details
REFERENCE.md: Literate Programming ì² í, ADR ì°ëresources/01-codetags.md: ë²ì© ì½ë íê·¸ (PEP 350 기ë°)resources/02-python.md: PEP 257 Docstringsresources/03-javascript.md: JSDoc/TSDocresources/04-go.md: GoDocresources/05-rust.md: rustdocresources/06-java.md: Javadocresources/07-markdown.md: GitHub Alerts, YAML frontmatter