TaskCreate/Update/List/Getλ₯Ό μ‚¬μš©ν•΄ μ˜μ‘΄μ„± μžˆλŠ” μž‘μ—…μ„ λ³‘λ ¬λ‘œ κ΄€λ¦¬ν•˜λŠ” 방법을 μ„€λͺ…ν•©λ‹ˆλ‹€.

λΉ λ₯΄κ²Œ μ‹€ν–‰ (볡뢙)

TaskCreate({ subject: "Build frontend" })
TaskCreate({ subject: "Run integration tests", blockedBy: ["T-001","T-002"] })
TaskList()
TaskUpdate({ id: "T-001", status: "completed" })
flowchart LR
A[TaskCreate] --> B[병렬 μ‹€ν–‰]
B --> C[blockedBy ν•΄μ œ]
C --> D[TaskUpdate μ™„λ£Œ]

단계별 적용

1) Task μŠ€ν‚€λ§ˆ 이해

  • μ„€λͺ…: subject, blockedBy, blocks, status ν•„λ“œ 의미λ₯Ό λ¨Όμ € μ΄ν•΄ν•©λ‹ˆλ‹€.
  • μ‹€ν–‰ μ˜ˆμ‹œ: TaskCreate({ subject: "Build frontend" })

2) 독립 μž‘μ—… λ¨Όμ € 생성

  • μ„€λͺ…: blockedByκ°€ 빈 νƒœμŠ€ν¬λΆ€ν„° λ§Œλ“€λ©΄ μžλ™ λ³‘λ ¬ν™”λ©λ‹ˆλ‹€.
  • μ‹€ν–‰ μ˜ˆμ‹œ: TaskCreate({ subject: "Run integration tests", blockedBy: ["T-001","T-002"] })

3) 의쑴 μž‘μ—… μ—°κ²°

  • μ„€λͺ…: 톡합 ν…ŒμŠ€νŠΈ/배포처럼 ν›„ν–‰ μž‘μ—…μ— blockedByλ₯Ό μ—°κ²°ν•©λ‹ˆλ‹€.
  • μ‹€ν–‰ μ˜ˆμ‹œ: TaskList()

4) μƒνƒœ κ°±μ‹ μœΌλ‘œ μ§„ν–‰

  • μ„€λͺ…: TaskUpdate둜 μ™„λ£Œ ν‘œμ‹œν•˜λ©΄ λ‹€μŒ μž‘μ—…μ΄ μžλ™ unblocked λ©λ‹ˆλ‹€.
  • μ‹€ν–‰ μ˜ˆμ‹œ: TaskUpdate({ id: "T-001", status: "completed" })

5) μ €μž₯ 경둜 확인

  • μ„€λͺ…: .sisyphus/tasks JSON μ €μž₯으둜 μ„Έμ…˜ μž¬μ‹œμž‘ 후에도 μ΄μ–΄μ„œ μ§„ν–‰ν•©λ‹ˆλ‹€.
  • μ‹€ν–‰ μ˜ˆμ‹œ: TaskUpdate({ id: "T-001", status: "completed" })

뢀둝) 원문 μ½”λ“œ μŠ€λ‹ˆνŽ« (κ²€μˆ˜μš©, μ΄ˆλ³΄μžλŠ” κ±΄λ„ˆλ›°κΈ°)

[Build Frontend]    ──┐
                      β”œβ”€β”€β†’ [Integration Tests] ──→ [Deploy]
[Build Backend]     β”€β”€β”˜
TaskCreate({ subject: "Build frontend" })                    // T-001
TaskCreate({ subject: "Build backend" })                     // T-002
TaskCreate({ subject: "Run integration tests",
             blockedBy: ["T-001", "T-002"] })                 // T-003
TaskList()
// T-001 [pending] Build frontend        blockedBy: []
// T-002 [pending] Build backend         blockedBy: []
// T-003 [pending] Integration tests     blockedBy: [T-001, T-002]
TaskUpdate({ id: "T-001", status: "completed" })
TaskUpdate({ id: "T-002", status: "completed" })
// T-003 now unblocked

마무리 체크

  • μœ„ β€œλΉ λ₯΄κ²Œ 싀행” λͺ…령을 μ΅œμ†Œ 1개 μ‹€ν–‰ν–ˆλ‹€.
  • μ‹€νŒ¨ μ‹œ β€œμ›λ¬Έ μ‹€ν–‰ μ½”λ“œ ν™•μž₯β€μ˜ κ΄€λ ¨ μ½”λ“œλ₯Ό μ‚¬μš©ν•΄ μž¬κ²€μ¦ν–ˆλ‹€.
  • 원본 ν•­λͺ© λŒ€μ‘° μΈλ±μŠ€μ—μ„œ λΉ μ§„ κΈ°λŠ₯이 μ—†λŠ”μ§€ ν™•μΈν–ˆλ‹€.

좜처