dev-playbooks-cn 2.3.0 → 2.3.2
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
CHANGED
|
@@ -72,6 +72,23 @@ AI 编码助手很强大,但往往**不可预测**:
|
|
|
72
72
|
|
|
73
73
|
## 快速开始
|
|
74
74
|
|
|
75
|
+
**不知道怎么用?** 查看 [使用指南](docs/使用指南.md) 或直接运行:
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
/devbooks-delivery-workflow
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
这个 skill 会自动编排完整的开发闭环,从提案到归档。
|
|
82
|
+
|
|
83
|
+
### 文档
|
|
84
|
+
|
|
85
|
+
- [使用指南](docs/使用指南.md) - 最佳实践和推荐工作流程
|
|
86
|
+
- [Skill 详解](docs/Skill详解.md) - 19 个 Skills 的特色和功能
|
|
87
|
+
- [配置指南](dev-playbooks/docs/DevBooks配置指南.md) - 配置说明
|
|
88
|
+
- [推荐 MCP](dev-playbooks/docs/推荐MCP.md) - MCP 服务器推荐
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
75
92
|
### 支持的 AI 工具
|
|
76
93
|
|
|
77
94
|
| 工具 | 支持级别 | 配置文件 |
|
package/package.json
CHANGED
|
@@ -321,6 +321,11 @@ check_layering_constraints() {
|
|
|
321
321
|
return 0
|
|
322
322
|
fi
|
|
323
323
|
|
|
324
|
+
if ! command -v rg >/dev/null 2>&1; then
|
|
325
|
+
echo "error: missing dependency: rg (ripgrep) required for layering checks" >&2
|
|
326
|
+
return 2
|
|
327
|
+
fi
|
|
328
|
+
|
|
324
329
|
# Get changed files
|
|
325
330
|
local changed_files=""
|
|
326
331
|
if [[ -d "${project_root}/.git" ]]; then
|
|
@@ -403,6 +408,11 @@ check_circular_dependencies() {
|
|
|
403
408
|
# Fallback: use simple grep to detect common circular patterns
|
|
404
409
|
echo "info: madge not available, using basic circular detection"
|
|
405
410
|
|
|
411
|
+
if ! command -v rg >/dev/null 2>&1; then
|
|
412
|
+
echo "error: missing dependency: rg (ripgrep) required for fallback circular checks" >&2
|
|
413
|
+
return 2
|
|
414
|
+
fi
|
|
415
|
+
|
|
406
416
|
# Check if files both import each other (simple heuristic)
|
|
407
417
|
if [[ -d "${project_root}/.git" ]]; then
|
|
408
418
|
local changed_files
|
|
@@ -499,42 +509,73 @@ check_hotspot_changes() {
|
|
|
499
509
|
|
|
500
510
|
exit_code=0
|
|
501
511
|
|
|
512
|
+
update_exit_code() {
|
|
513
|
+
local rc="$1"
|
|
514
|
+
|
|
515
|
+
if [[ $rc -eq 0 ]]; then
|
|
516
|
+
return 0
|
|
517
|
+
fi
|
|
518
|
+
|
|
519
|
+
# Preserve usage/tooling errors for callers that rely on exit code semantics.
|
|
520
|
+
if [[ $rc -eq 2 ]]; then
|
|
521
|
+
exit_code=2
|
|
522
|
+
return 0
|
|
523
|
+
fi
|
|
524
|
+
|
|
525
|
+
# If we have already hit a tooling error, keep 2 as the final status.
|
|
526
|
+
if [[ $exit_code -ne 2 ]]; then
|
|
527
|
+
exit_code=1
|
|
528
|
+
fi
|
|
529
|
+
|
|
530
|
+
return 0
|
|
531
|
+
}
|
|
532
|
+
|
|
502
533
|
# Role permission check
|
|
503
534
|
if [[ -n "$role" ]]; then
|
|
504
535
|
change_path=$(dirname "$file")
|
|
505
|
-
if
|
|
506
|
-
|
|
536
|
+
if check_role_permissions "$role" "$change_path"; then
|
|
537
|
+
:
|
|
538
|
+
else
|
|
539
|
+
update_exit_code $?
|
|
507
540
|
fi
|
|
508
541
|
fi
|
|
509
542
|
|
|
510
543
|
# Lockfile check
|
|
511
544
|
if [[ "$check_lockfile" == "true" ]]; then
|
|
512
545
|
change_path=$(dirname "$file")
|
|
513
|
-
if
|
|
514
|
-
|
|
546
|
+
if check_lockfile_changes "$change_path"; then
|
|
547
|
+
:
|
|
548
|
+
else
|
|
549
|
+
update_exit_code $?
|
|
515
550
|
fi
|
|
516
551
|
fi
|
|
517
552
|
|
|
518
553
|
# Engineering system change check
|
|
519
554
|
if [[ "$check_engineering" == "true" ]]; then
|
|
520
555
|
change_path=$(dirname "$file")
|
|
521
|
-
if
|
|
522
|
-
|
|
556
|
+
if check_engineering_changes "$change_path"; then
|
|
557
|
+
:
|
|
558
|
+
else
|
|
559
|
+
update_exit_code $?
|
|
523
560
|
fi
|
|
524
561
|
fi
|
|
525
562
|
|
|
526
563
|
# Layering constraint check (Dependency Guard)
|
|
527
564
|
if [[ "$check_layers" == "true" ]]; then
|
|
528
565
|
change_path=$(dirname "$file")
|
|
529
|
-
if
|
|
530
|
-
|
|
566
|
+
if check_layering_constraints "$change_path"; then
|
|
567
|
+
:
|
|
568
|
+
else
|
|
569
|
+
update_exit_code $?
|
|
531
570
|
fi
|
|
532
571
|
fi
|
|
533
572
|
|
|
534
573
|
# Circular dependency check
|
|
535
574
|
if [[ "$check_cycles" == "true" ]]; then
|
|
536
|
-
if
|
|
537
|
-
|
|
575
|
+
if check_circular_dependencies; then
|
|
576
|
+
:
|
|
577
|
+
else
|
|
578
|
+
update_exit_code $?
|
|
538
579
|
fi
|
|
539
580
|
fi
|
|
540
581
|
|