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-003TaskList()
// 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κ° μ€ννλ€.
- μ€ν¨ μ βμλ¬Έ μ€ν μ½λ νμ₯βμ κ΄λ ¨ μ½λλ₯Ό μ¬μ©ν΄ μ¬κ²μ¦νλ€.
- μλ³Έ νλͺ© λμ‘° μΈλ±μ€μμ λΉ μ§ κΈ°λ₯μ΄ μλμ§ νμΈνλ€.
μΆμ²
- μλ¬Έ(λ‘컬):
oh-my-opencode/docs/task-system.md - μλ¬Έ(GitHub): https://github.com/code-yeongyu/oh-my-opencode/blob/dev/docs/task-system.md