devlog-tracker 1.1.0 → 1.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/README.zh-TW.md +1 -1
- package/core/scripts/enforce-devlog.sh +26 -4
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
*English | [繁體中文](README.zh-TW.md)*
|
|
4
4
|
|
|
5
|
-
**Version** 1.1.
|
|
5
|
+
**Version** 1.1.1
|
|
6
6
|
|
|
7
7
|
Maintains a `.devlog/devlog.md` in your project, turning each conversation round's requests, decisions, and outcomes into a permanent record. A conversation disappears the moment you `/clear` or switch sessions; this file fills that gap so work can pause and resume. Nothing is touched until you explicitly run `/devlog-tracker:start` — installing the plugin alone doesn't create or modify any files.
|
|
8
8
|
|
package/README.zh-TW.md
CHANGED
|
@@ -36,6 +36,28 @@ SCRIPT_DIR="$(cd "${_src%/*}" && pwd)"
|
|
|
36
36
|
# shellcheck source=handoff-fields.sh
|
|
37
37
|
. "$SCRIPT_DIR/handoff-fields.sh"
|
|
38
38
|
|
|
39
|
+
# 擋下時附上的最小格式:agent 在 /clear 之後通常沒載入 skill,只寫「依
|
|
40
|
+
# SKILL.md」會讓它每輪去 grep/sed 整份 SKILL.md,輸出攤在使用者面前。
|
|
41
|
+
# 這裡給夠填完一輪的骨架;細節錯誤由後面各道檢查的訊息各自說明。
|
|
42
|
+
round_format_hint() {
|
|
43
|
+
cat <<'EOF'
|
|
44
|
+
格式如下,不用另外讀 SKILL.md(Status 只留一個值):
|
|
45
|
+
### Summary
|
|
46
|
+
2–4 句結論
|
|
47
|
+
### Reply
|
|
48
|
+
對使用者說了什麼
|
|
49
|
+
### Handoff
|
|
50
|
+
<handoff>
|
|
51
|
+
<state>
|
|
52
|
+
做到哪、卡在哪
|
|
53
|
+
</state>
|
|
54
|
+
</handoff>
|
|
55
|
+
### Status
|
|
56
|
+
DONE
|
|
57
|
+
IN_PROGRESS/BLOCKED 另需:<handoff> 內依序 decisions→files→workspace→state→done-when→next,必寫 <workspace>(git 快照,如 `main @ a1b2c3d,工作樹乾淨`)、<done-when>、<next>;再加 ### Session Handoff,內含 <session-handoff> 包 <decisions>/<open-questions>/<failed-attempts>(沒有寫 - (無))。標籤各佔一行。
|
|
58
|
+
EOF
|
|
59
|
+
}
|
|
60
|
+
|
|
39
61
|
# --- loop guard -------------------------------------------------------
|
|
40
62
|
# 有 jq 就用 jq 精準解析;沒有 jq 就退化成字串比對(沒有更嚴謹的 parse,但
|
|
41
63
|
# 足以涵蓋 Claude Code 實際送出的 stop_hook_active 欄位形狀),兩種環境都要生效。
|
|
@@ -132,9 +154,9 @@ fi
|
|
|
132
154
|
|
|
133
155
|
if [ "$CURRENT_HASH" = "$TURN_START_HASH" ]; then
|
|
134
156
|
if [ "$SPAN_VALID" -eq 1 ]; then
|
|
135
|
-
echo "
|
|
157
|
+
{ echo "這一輪尚未寫入。請在 .devlog/${ROUND_CURRENT##*/} 建立一個新的 ## Round(編號接在 devlog.md 目前最後一輪之後),包含 User Input / Summary / Reply / Handoff / Status;收尾成功後 hook 會自動併回 devlog.md,不要自己直接寫進 devlog.md。"; round_format_hint; } >&2
|
|
136
158
|
else
|
|
137
|
-
echo "這一輪的 Round 只有 hook 寫的 User Input skeleton
|
|
159
|
+
{ echo "這一輪的 Round 只有 hook 寫的 User Input skeleton,還沒有收尾。請在 .devlog/${ROUND_CURRENT##*/} 裡編輯最後一個 Round,補上 User Input / Summary / Reply / Handoff / Status。不要再新增一個 ## Round。"; round_format_hint; } >&2
|
|
138
160
|
fi
|
|
139
161
|
exit 2
|
|
140
162
|
fi
|
|
@@ -171,7 +193,7 @@ if [ -n "$LAST_ROUND" ]; then
|
|
|
171
193
|
printf '%s\n' "$LAST_ROUND" | grep -q '^### Reply' && HAS_REPLY=1
|
|
172
194
|
printf '%s\n' "$LAST_ROUND" | grep -q '^### Handoff' && HAS_HANDOFF=1
|
|
173
195
|
if [ "$HAS_SUMMARY" -eq 0 ] || [ "$HAS_REPLY" -eq 0 ] || [ "$HAS_HANDOFF" -eq 0 ]; then
|
|
174
|
-
echo "最後一個 Round 缺少 \`### Summary\`、\`### Reply\` 或 \`### Handoff
|
|
196
|
+
{ echo "最後一個 Round 缺少 \`### Summary\`、\`### Reply\` 或 \`### Handoff\`。請補上這三個標題(Summary 給人掃、Reply 記對使用者說過的話、Handoff 給下一輪接續),寫在同一個 Round 裡,不要再新增一個 ## Round。"; round_format_hint; } >&2
|
|
175
197
|
exit 2
|
|
176
198
|
fi
|
|
177
199
|
|
|
@@ -224,7 +246,7 @@ if [ -n "$LAST_ROUND" ]; then
|
|
|
224
246
|
nonempty_body '^### Reply' && REPLY_BODY_OK=1
|
|
225
247
|
nonempty_body '^### Handoff' && HAN_BODY_OK=1
|
|
226
248
|
if [ "$SUM_BODY_OK" -eq 0 ] || [ "$REPLY_BODY_OK" -eq 0 ] || [ "$HAN_BODY_OK" -eq 0 ]; then
|
|
227
|
-
echo "最後一個 Round 的 ### Summary、### Reply 或 ### Handoff
|
|
249
|
+
{ echo "最後一個 Round 的 ### Summary、### Reply 或 ### Handoff 是空的。請寫上內容(不要只留標題),寫在同一個 Round 裡,不要再新增一個 ## Round。"; round_format_hint; } >&2
|
|
228
250
|
exit 2
|
|
229
251
|
fi
|
|
230
252
|
|