monoco-toolkit 0.3.9__py3-none-any.whl → 0.3.11__py3-none-any.whl

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.
Files changed (132) hide show
  1. monoco/__main__.py +8 -0
  2. monoco/core/artifacts/__init__.py +16 -0
  3. monoco/core/artifacts/manager.py +575 -0
  4. monoco/core/artifacts/models.py +161 -0
  5. monoco/core/config.py +38 -4
  6. monoco/core/git.py +23 -0
  7. monoco/core/hooks/builtin/git_cleanup.py +1 -1
  8. monoco/core/ingestion/__init__.py +20 -0
  9. monoco/core/ingestion/discovery.py +248 -0
  10. monoco/core/ingestion/watcher.py +343 -0
  11. monoco/core/ingestion/worker.py +436 -0
  12. monoco/core/injection.py +63 -29
  13. monoco/core/integrations.py +2 -2
  14. monoco/core/loader.py +633 -0
  15. monoco/core/output.py +5 -5
  16. monoco/core/registry.py +34 -19
  17. monoco/core/resource/__init__.py +5 -0
  18. monoco/core/resource/finder.py +98 -0
  19. monoco/core/resource/manager.py +91 -0
  20. monoco/core/resource/models.py +35 -0
  21. monoco/core/skill_framework.py +292 -0
  22. monoco/core/skills.py +524 -385
  23. monoco/core/sync.py +73 -1
  24. monoco/core/workflow_converter.py +420 -0
  25. monoco/daemon/app.py +77 -1
  26. monoco/daemon/commands.py +10 -0
  27. monoco/daemon/mailroom_service.py +196 -0
  28. monoco/daemon/models.py +1 -0
  29. monoco/daemon/scheduler.py +236 -0
  30. monoco/daemon/services.py +185 -0
  31. monoco/daemon/triggers.py +55 -0
  32. monoco/features/agent/__init__.py +2 -2
  33. monoco/features/agent/adapter.py +41 -0
  34. monoco/features/agent/apoptosis.py +44 -0
  35. monoco/features/agent/cli.py +101 -144
  36. monoco/features/agent/config.py +35 -21
  37. monoco/features/agent/defaults.py +6 -49
  38. monoco/features/agent/engines.py +32 -6
  39. monoco/features/agent/manager.py +47 -6
  40. monoco/features/agent/models.py +2 -2
  41. monoco/features/agent/resources/atoms/atom-code-dev.yaml +61 -0
  42. monoco/features/agent/resources/atoms/atom-issue-lifecycle.yaml +73 -0
  43. monoco/features/agent/resources/atoms/atom-knowledge.yaml +55 -0
  44. monoco/features/agent/resources/atoms/atom-review.yaml +60 -0
  45. monoco/{core/resources/en → features/agent/resources/en/skills/monoco_atom_core}/SKILL.md +3 -1
  46. monoco/features/agent/resources/en/skills/monoco_workflow_agent_engineer/SKILL.md +94 -0
  47. monoco/features/agent/resources/en/skills/monoco_workflow_agent_manager/SKILL.md +93 -0
  48. monoco/features/agent/resources/en/skills/monoco_workflow_agent_planner/SKILL.md +85 -0
  49. monoco/features/agent/resources/en/skills/monoco_workflow_agent_reviewer/SKILL.md +114 -0
  50. monoco/features/agent/resources/workflows/workflow-dev.yaml +83 -0
  51. monoco/features/agent/resources/workflows/workflow-issue-create.yaml +72 -0
  52. monoco/features/agent/resources/workflows/workflow-review.yaml +94 -0
  53. monoco/features/agent/resources/zh/roles/monoco_role_engineer.yaml +49 -0
  54. monoco/features/agent/resources/zh/roles/monoco_role_manager.yaml +46 -0
  55. monoco/features/agent/resources/zh/roles/monoco_role_planner.yaml +46 -0
  56. monoco/features/agent/resources/zh/roles/monoco_role_reviewer.yaml +47 -0
  57. monoco/{core/resources/zh → features/agent/resources/zh/skills/monoco_atom_core}/SKILL.md +3 -1
  58. monoco/features/agent/resources/{skills/flow_engineer → zh/skills/monoco_workflow_agent_engineer}/SKILL.md +2 -2
  59. monoco/features/agent/resources/{skills/flow_manager → zh/skills/monoco_workflow_agent_manager}/SKILL.md +2 -2
  60. monoco/features/agent/resources/zh/skills/monoco_workflow_agent_planner/SKILL.md +259 -0
  61. monoco/features/agent/resources/zh/skills/monoco_workflow_agent_reviewer/SKILL.md +137 -0
  62. monoco/features/agent/session.py +59 -11
  63. monoco/features/agent/worker.py +38 -2
  64. monoco/features/artifact/__init__.py +0 -0
  65. monoco/features/artifact/adapter.py +33 -0
  66. monoco/features/artifact/resources/zh/AGENTS.md +14 -0
  67. monoco/features/artifact/resources/zh/skills/monoco_atom_artifact/SKILL.md +278 -0
  68. monoco/features/glossary/__init__.py +0 -0
  69. monoco/features/glossary/adapter.py +42 -0
  70. monoco/features/glossary/config.py +5 -0
  71. monoco/features/glossary/resources/en/AGENTS.md +29 -0
  72. monoco/features/glossary/resources/en/skills/monoco_atom_glossary/SKILL.md +35 -0
  73. monoco/features/glossary/resources/zh/AGENTS.md +29 -0
  74. monoco/features/glossary/resources/zh/skills/monoco_atom_glossary/SKILL.md +35 -0
  75. monoco/features/hooks/__init__.py +11 -0
  76. monoco/features/hooks/adapter.py +67 -0
  77. monoco/features/hooks/commands.py +309 -0
  78. monoco/features/hooks/core.py +441 -0
  79. monoco/features/hooks/resources/ADDING_HOOKS.md +234 -0
  80. monoco/features/i18n/adapter.py +18 -5
  81. monoco/features/i18n/core.py +482 -17
  82. monoco/features/i18n/resources/en/{SKILL.md → skills/monoco_atom_i18n/SKILL.md} +3 -1
  83. monoco/features/i18n/resources/en/skills/monoco_workflow_i18n_scan/SKILL.md +105 -0
  84. monoco/features/i18n/resources/zh/{SKILL.md → skills/monoco_atom_i18n/SKILL.md} +3 -1
  85. monoco/features/i18n/resources/{skills/i18n_scan_workflow → zh/skills/monoco_workflow_i18n_scan}/SKILL.md +2 -2
  86. monoco/features/issue/adapter.py +19 -6
  87. monoco/features/issue/commands.py +281 -7
  88. monoco/features/issue/core.py +272 -19
  89. monoco/features/issue/engine/machine.py +118 -5
  90. monoco/features/issue/linter.py +60 -5
  91. monoco/features/issue/models.py +3 -2
  92. monoco/features/issue/resources/en/AGENTS.md +109 -0
  93. monoco/features/issue/resources/en/{SKILL.md → skills/monoco_atom_issue/SKILL.md} +3 -1
  94. monoco/features/issue/resources/en/skills/monoco_workflow_issue_creation/SKILL.md +167 -0
  95. monoco/features/issue/resources/en/skills/monoco_workflow_issue_development/SKILL.md +224 -0
  96. monoco/features/issue/resources/en/skills/monoco_workflow_issue_management/SKILL.md +159 -0
  97. monoco/features/issue/resources/en/skills/monoco_workflow_issue_refinement/SKILL.md +203 -0
  98. monoco/features/issue/resources/hooks/post-checkout.sh +39 -0
  99. monoco/features/issue/resources/hooks/pre-commit.sh +41 -0
  100. monoco/features/issue/resources/hooks/pre-push.sh +35 -0
  101. monoco/features/issue/resources/zh/AGENTS.md +109 -0
  102. monoco/features/issue/resources/zh/{SKILL.md → skills/monoco_atom_issue_lifecycle/SKILL.md} +3 -1
  103. monoco/features/issue/resources/zh/skills/monoco_workflow_issue_creation/SKILL.md +167 -0
  104. monoco/features/issue/resources/zh/skills/monoco_workflow_issue_development/SKILL.md +224 -0
  105. monoco/features/issue/resources/{skills/issue_lifecycle_workflow → zh/skills/monoco_workflow_issue_management}/SKILL.md +2 -2
  106. monoco/features/issue/resources/zh/skills/monoco_workflow_issue_refinement/SKILL.md +203 -0
  107. monoco/features/issue/validator.py +101 -1
  108. monoco/features/memo/adapter.py +21 -8
  109. monoco/features/memo/cli.py +103 -10
  110. monoco/features/memo/core.py +178 -92
  111. monoco/features/memo/models.py +53 -0
  112. monoco/features/memo/resources/en/skills/monoco_atom_memo/SKILL.md +77 -0
  113. monoco/features/memo/resources/en/skills/monoco_workflow_note_processing/SKILL.md +140 -0
  114. monoco/features/memo/resources/zh/{SKILL.md → skills/monoco_atom_memo/SKILL.md} +3 -1
  115. monoco/features/memo/resources/{skills/note_processing_workflow → zh/skills/monoco_workflow_note_processing}/SKILL.md +2 -2
  116. monoco/features/spike/adapter.py +18 -5
  117. monoco/features/spike/resources/en/{SKILL.md → skills/monoco_atom_spike/SKILL.md} +3 -1
  118. monoco/features/spike/resources/en/skills/monoco_workflow_research/SKILL.md +121 -0
  119. monoco/features/spike/resources/zh/{SKILL.md → skills/monoco_atom_spike/SKILL.md} +3 -1
  120. monoco/features/spike/resources/{skills/research_workflow → zh/skills/monoco_workflow_research}/SKILL.md +2 -2
  121. monoco/main.py +38 -1
  122. monoco_toolkit-0.3.11.dist-info/METADATA +130 -0
  123. monoco_toolkit-0.3.11.dist-info/RECORD +181 -0
  124. monoco/features/agent/reliability.py +0 -106
  125. monoco/features/agent/resources/skills/flow_reviewer/SKILL.md +0 -114
  126. monoco_toolkit-0.3.9.dist-info/METADATA +0 -127
  127. monoco_toolkit-0.3.9.dist-info/RECORD +0 -115
  128. /monoco/{core → features/agent}/resources/en/AGENTS.md +0 -0
  129. /monoco/{core → features/agent}/resources/zh/AGENTS.md +0 -0
  130. {monoco_toolkit-0.3.9.dist-info → monoco_toolkit-0.3.11.dist-info}/WHEEL +0 -0
  131. {monoco_toolkit-0.3.9.dist-info → monoco_toolkit-0.3.11.dist-info}/entry_points.txt +0 -0
  132. {monoco_toolkit-0.3.9.dist-info → monoco_toolkit-0.3.11.dist-info}/licenses/LICENSE +0 -0
@@ -25,22 +25,56 @@ class SessionManager:
25
25
  self._sessions: Dict[str, RuntimeSession] = {}
26
26
  self.project_root = project_root or find_monoco_root()
27
27
  self.config = config
28
-
28
+
29
+ self.sessions_dir = self.project_root / ".monoco" / "sessions"
30
+ self.sessions_dir.mkdir(parents=True, exist_ok=True)
31
+
29
32
  # Initialize hook registry
30
33
  self.hook_registry = hook_registry or get_registry()
31
-
34
+
32
35
  # Load hooks from config if available
33
36
  self._load_hooks_from_config()
34
37
 
38
+ # Load persisted sessions
39
+ self._load_sessions()
40
+
41
+ def _load_sessions(self):
42
+ """Load sessions from disk."""
43
+ import json
44
+
45
+ for session_file in self.sessions_dir.glob("*.json"):
46
+ try:
47
+ data = json.loads(session_file.read_text())
48
+ session_model = Session(**data)
49
+ # Rehydrate as Observer
50
+ runtime = RuntimeSession(
51
+ session_model,
52
+ worker=None, # No worker for loaded sessions initially (Observer mode)
53
+ hook_registry=self.hook_registry,
54
+ project_root=self.project_root,
55
+ save_callback=self._save_session,
56
+ )
57
+ self._sessions[session_model.id] = runtime
58
+ # Check status immediately to see if it's still running
59
+ runtime.refresh_status()
60
+ except Exception as e:
61
+ print(f"Failed to load session {session_file}: {e}")
62
+
63
+ def _save_session(self, session: Session):
64
+ """Save session to disk."""
65
+ file_path = self.sessions_dir / f"{session.id}.json"
66
+ file_path.write_text(session.model_dump_json(indent=2))
67
+
35
68
  def _load_hooks_from_config(self) -> None:
36
69
  """Load and register hooks from configuration."""
37
70
  if self.config is None:
38
71
  try:
39
72
  from monoco.core.config import get_config
73
+
40
74
  self.config = get_config(str(self.project_root))
41
75
  except Exception:
42
76
  return
43
-
77
+
44
78
  # Load hooks from config
45
79
  if self.config and hasattr(self.config, "session_hooks"):
46
80
  hooks_config = self.config.session_hooks
@@ -60,14 +94,21 @@ class SessionManager:
60
94
  branch_name=branch_name,
61
95
  )
62
96
 
63
- worker = Worker(role, issue_id)
97
+ # Get timeout from config
98
+ timeout = 900
99
+ if self.config and hasattr(self.config, "agent"):
100
+ timeout = self.config.agent.timeout_seconds
101
+
102
+ worker = Worker(role, issue_id, timeout=timeout)
64
103
  runtime = RuntimeSession(
65
- session_model,
104
+ session_model,
66
105
  worker,
67
106
  hook_registry=self.hook_registry,
68
107
  project_root=self.project_root,
108
+ save_callback=self._save_session,
69
109
  )
70
110
  self._sessions[session_id] = runtime
111
+ self._save_session(session_model)
71
112
  return runtime
72
113
 
73
114
  def get_session(self, session_id: str) -> Optional[RuntimeSession]:
@@ -82,5 +123,5 @@ class SessionManager:
82
123
  session = self.get_session(session_id)
83
124
  if session:
84
125
  session.terminate()
85
- # We might want to keep the record for a while, so don't delete immediately
126
+ # We keep the record for history
86
127
  # del self._sessions[session_id]
@@ -19,9 +19,9 @@ class RoleTemplate(BaseModel):
19
19
  )
20
20
 
21
21
 
22
- class AgentConfig(BaseModel):
22
+ class AgentRoleConfig(BaseModel):
23
23
  roles: List[RoleTemplate] = Field(default_factory=list)
24
24
 
25
25
 
26
26
  # Backward compatibility alias
27
- SchedulerConfig = AgentConfig
27
+ SchedulerConfig = AgentRoleConfig
@@ -0,0 +1,61 @@
1
+ ---
2
+ name: atom-code-dev
3
+ type: atom
4
+ domain: code
5
+ description: 代码开发的原子操作 - 调研、实现、测试、文档
6
+ version: 1.0.0
7
+ author: Monoco Toolkit
8
+
9
+ # 系统级合规规则
10
+ compliance_rules:
11
+ - rule: "遵循项目代码规范"
12
+ severity: warning
13
+
14
+ - rule: "优先编写测试"
15
+ severity: warning
16
+ mindset: "TDD"
17
+
18
+ - rule: "保持代码简单直观"
19
+ severity: info
20
+ mindset: "KISS"
21
+
22
+ # 原子操作定义
23
+ operations:
24
+ - name: investigate
25
+ description: 理解需求与上下文,识别相关代码和依赖
26
+ reminder: "理解需求后再开始编码,识别相关文件和依赖 Issue"
27
+ checkpoints:
28
+ - "阅读并理解 Issue 描述"
29
+ - "识别相关代码文件"
30
+ - "检查依赖 Issue 状态"
31
+ - "评估技术可行性"
32
+ output: "技术方案草稿、风险清单"
33
+
34
+ - name: implement
35
+ description: 实现代码变更
36
+ reminder: "遵循项目代码规范,小步提交,处理边界情况"
37
+ checkpoints:
38
+ - "遵循项目代码规范"
39
+ - "编写/更新必要的文档"
40
+ - "处理边界情况"
41
+ - "保持代码可审查性(单次提交 < 400 行)"
42
+
43
+ - name: test
44
+ description: 运行测试确保代码质量
45
+ reminder: "所有测试必须通过,检查测试覆盖率"
46
+ checkpoints:
47
+ - "编写/更新单元测试"
48
+ - "运行测试套件 (pytest, cargo test, etc.)"
49
+ - "修复失败的测试"
50
+ - "检查测试覆盖率"
51
+ compliance_rules:
52
+ - rule: "所有单元测试必须通过后才能提交"
53
+ severity: error
54
+
55
+ - name: document
56
+ description: 更新文档
57
+ reminder: "代码变更必须同步更新文档"
58
+ checkpoints:
59
+ - "更新代码注释"
60
+ - "更新相关文档"
61
+ - "更新 CHANGELOG(如适用)"
@@ -0,0 +1,73 @@
1
+ ---
2
+ name: atom-issue-lifecycle
3
+ type: atom
4
+ domain: issue
5
+ description: Issue 生命周期管理的原子操作 - 创建、启动、提交、关闭工作单元
6
+ version: 1.0.0
7
+ author: Monoco Toolkit
8
+
9
+ # 系统级合规规则(定义一次,全局生效)
10
+ compliance_rules:
11
+ - rule: "禁止在 main/master 分支直接修改代码"
12
+ severity: error
13
+ check: "git branch --show-current"
14
+ fail_if: "main|master"
15
+
16
+ - rule: "必须使用 feature 分支进行开发"
17
+ severity: error
18
+ command: "monoco issue start <ID> --branch"
19
+
20
+ - rule: "提交前必须通过 lint 检查"
21
+ severity: error
22
+ command: "monoco issue lint"
23
+
24
+ - rule: "每个 Issue 必须至少包含 2 个 Checkbox"
25
+ severity: error
26
+ check: "checkbox_count >= 2"
27
+
28
+ - rule: "Review/Done 阶段必须包含 Review Comments"
29
+ severity: warning
30
+ check: "review_comments_section exists"
31
+
32
+ # 原子操作定义
33
+ operations:
34
+ - name: create
35
+ description: 创建新的 Issue 工作单元
36
+ command: "monoco issue create <type> -t <title>"
37
+ reminder: "选择合适的类型 (epic/feature/chore/fix),编写清晰的描述"
38
+ checkpoints:
39
+ - "必须包含至少 2 个 Checkbox"
40
+ - "标题必须与 Front Matter 一致"
41
+
42
+ - name: start
43
+ description: 启动开发,创建功能分支
44
+ command: "monoco issue start <ID> --branch"
45
+ reminder: "确保使用 --branch 创建功能分支,禁止在 main/master 上开发"
46
+ checkpoints:
47
+ - "禁止在 main/master 分支直接修改代码"
48
+ - "必须创建 feature 分支"
49
+
50
+ - name: sync
51
+ description: 同步文件追踪,记录修改的文件
52
+ command: "monoco issue sync-files"
53
+ reminder: "定期同步文件追踪,保持 Issue 与代码变更同步"
54
+
55
+ - name: lint
56
+ description: 检查 Issue 合规性
57
+ command: "monoco issue lint"
58
+ reminder: "提交前必须运行 lint 检查"
59
+ checkpoints:
60
+ - "必须通过所有合规检查"
61
+
62
+ - name: submit
63
+ description: 提交代码进行评审
64
+ command: "monoco issue submit <ID>"
65
+ reminder: "确保所有测试通过,lint 无错误后再提交"
66
+ checkpoints:
67
+ - "所有单元测试必须通过"
68
+ - "必须通过 lint 检查"
69
+
70
+ - name: close
71
+ description: 关闭 Issue,清理环境
72
+ command: "monoco issue close <ID> --solution completed --prune"
73
+ reminder: "代码合并后及时关闭 Issue,清理 feature 分支"
@@ -0,0 +1,55 @@
1
+ ---
2
+ name: atom-knowledge
3
+ type: atom
4
+ domain: knowledge
5
+ description: 知识管理的原子操作 - 捕获、处理、转化、归档
6
+ version: 1.0.0
7
+ author: Monoco Toolkit
8
+
9
+ # 系统级合规规则
10
+ compliance_rules:
11
+ - rule: "Memo 是临时的,不应无限堆积"
12
+ severity: warning
13
+
14
+ - rule: "可执行的想法必须转为 Issue 追踪"
15
+ severity: error
16
+
17
+ # 原子操作定义
18
+ operations:
19
+ - name: capture
20
+ description: 快速捕获 fleeting ideas
21
+ command: "monoco memo add <content>"
22
+ reminder: "保持简洁,不中断当前工作流,添加上下文"
23
+ checkpoints:
24
+ - "使用简洁的描述"
25
+ - "添加上下文(-c file:line 如适用)"
26
+ - "不中断当前任务流"
27
+
28
+ - name: process
29
+ description: 定期处理 Memo,评估价值
30
+ command: "monoco memo list"
31
+ reminder: "定期回顾和分类 Memo(建议每周)"
32
+ checkpoints:
33
+ - "运行 monoco memo list 查看所有 Memo"
34
+ - "评估每个 Memo 的价值"
35
+ - "分类:可执行 / 纯参考 / 无价值"
36
+
37
+ - name: convert
38
+ description: 将可执行的 Memo 转化为 Issue
39
+ command: "monoco issue create <type> -t <title>"
40
+ reminder: "有价值的想法尽快转为 Issue"
41
+ checkpoints:
42
+ - "判断 Issue 类型 (feature/chore/fix)"
43
+ - "编写清晰的描述和验收标准"
44
+ - "关联原始 Memo"
45
+ compliance_rules:
46
+ - rule: "可执行的想法必须转为 Issue 追踪"
47
+ severity: error
48
+
49
+ - name: archive
50
+ description: 归档纯参考资料
51
+ reminder: "纯参考资料归档保存,无价值的直接删除"
52
+ checkpoints:
53
+ - "确认 Memo 内容为纯参考资料"
54
+ - "移动到知识库或文档"
55
+ - "从 Memo 列表中移除"
@@ -0,0 +1,60 @@
1
+ ---
2
+ name: atom-review
3
+ type: atom
4
+ domain: review
5
+ description: 代码评审的原子操作 - 检出、验证、对抗、反馈
6
+ version: 1.0.0
7
+ author: Monoco Toolkit
8
+
9
+ # 系统级合规规则
10
+ compliance_rules:
11
+ - rule: "必须先通过 Engineer 的测试 (Verify),再进行对抗测试 (Challenge)"
12
+ severity: error
13
+
14
+ - rule: "必须尝试编写至少一个边界测试用例"
15
+ severity: warning
16
+
17
+ - rule: "禁止未经测试直接 Approve"
18
+ severity: error
19
+
20
+ # 原子操作定义
21
+ operations:
22
+ - name: checkout
23
+ description: 检出待评审的代码
24
+ reminder: "获取待评审的 PR/Branch,确认与 Base 分支的差异"
25
+ checkpoints:
26
+ - "检出 PR/Branch"
27
+ - "确认与 Base 分支的差异"
28
+ - "检查环境配置"
29
+
30
+ - name: verify
31
+ description: 验证 Engineer 提交的测试 (White-box)
32
+ reminder: "先运行 Engineer 编写的测试,验证功能正确性"
33
+ checkpoints:
34
+ - "运行 Engineer 编写的单元测试"
35
+ - "运行集成测试(如适用)"
36
+ - "检查测试覆盖率报告"
37
+ compliance_rules:
38
+ - rule: "如果现有测试失败,直接进入 Reject 流程"
39
+ severity: error
40
+
41
+ - name: challenge
42
+ description: 对抗测试,尝试破坏代码 (Black-box / Edge Cases)
43
+ reminder: "Try to break it - 寻找边界情况和安全漏洞"
44
+ checkpoints:
45
+ - "分析代码逻辑,寻找盲区(并发、大/小数值、注入攻击等)"
46
+ - "编写新的 Challenge Test Cases"
47
+ - "运行这些新测试"
48
+ compliance_rules:
49
+ - rule: "必须尝试编写至少一个边界测试用例"
50
+ severity: warning
51
+
52
+ - name: feedback
53
+ description: 提供评审反馈
54
+ reminder: "明确批准、拒绝或请求修改,提供具体反馈"
55
+ checkpoints:
56
+ - "功能是否正确实现"
57
+ - "代码是否符合设计规范"
58
+ - "测试是否充分"
59
+ - "文档是否同步更新"
60
+ - "是否遵循项目规范"
@@ -1,6 +1,8 @@
1
1
  ---
2
- name: monoco-core
2
+ name: monoco_atom_core
3
3
  description: Core skill for Monoco Toolkit. Provides essential commands for project initialization, configuration, and workspace management.
4
+ type: atom
5
+ version: 1.0.0
4
6
  ---
5
7
 
6
8
  # Monoco Core
@@ -0,0 +1,94 @@
1
+ ---
2
+ name: monoco_workflow_agent_engineer
3
+ description: Standardized workflow for the Engineer role (Flow Skill). Defines the standard operating procedure from requirement investigation to code submission, ensuring test coverage and code quality.
4
+ type: workflow
5
+ role: engineer
6
+ version: 1.0.0
7
+ ---
8
+
9
+ # Engineer Flow
10
+
11
+ Standardized workflow for the Engineer role, ensuring code development follows the "Investigate → Code → Test → Report → Submit" process.
12
+
13
+ ## Workflow State Machine
14
+
15
+ ```mermaid
16
+ stateDiagram-v2
17
+ [*] --> Investigate: Receive Task
18
+
19
+ Investigate --> Code: Requirements Clear
20
+ Investigate --> Investigate: Requirements Fuzzy<br/>(Request Clarification)
21
+
22
+ Code --> Test: Coding Complete
23
+
24
+ Test --> Test: Test Failed<br/>(Fix Code)
25
+ Test --> Report: Test Passed
26
+
27
+ Report --> Submit: Report Complete
28
+
29
+ Submit --> [*]: Submission Successful
30
+ ```
31
+
32
+ ## Execution Steps
33
+
34
+ ### 1. Investigate
35
+
36
+ - **Goal**: Fully understand requirements, identify technical risks and dependencies
37
+ - **Input**: Issue description, relevant code, dependent Issues
38
+ - **Output**: Technical solution draft, risk checklist
39
+ - **Checkpoints**:
40
+ - [ ] Read and understand Issue description
41
+ - [ ] Identify relevant code files
42
+ - [ ] Check dependent Issue status
43
+ - [ ] Assess technical feasibility
44
+
45
+ ### 2. Code
46
+
47
+ - **Goal**: Implement feature or fix defect
48
+ - **Prerequisites**: Requirements are clear, branch is created (`monoco issue start <ID> --branch`)
49
+ - **Checkpoints**:
50
+ - [ ] Follow project coding standards
51
+ - [ ] Write/update necessary documentation
52
+ - [ ] Handle edge cases
53
+
54
+ ### 3. Test
55
+
56
+ - **Goal**: Ensure code quality and functional correctness
57
+ - **Strategy**: Loop testing until passed
58
+ - **Checkpoints**:
59
+ - [ ] Write/update unit tests
60
+ - [ ] Run test suite (`pytest`, `cargo test`, etc.)
61
+ - [ ] Fix failed tests
62
+ - [ ] Check test coverage
63
+
64
+ ### 4. Report
65
+
66
+ - **Goal**: Document changes, update Issue status
67
+ - **Checkpoints**:
68
+ - [ ] Update Issue file tracking (`monoco issue sync-files`)
69
+ - [ ] Write change summary
70
+ - [ ] Update task checklist (Checkboxes)
71
+
72
+ ### 5. Submit
73
+
74
+ - **Goal**: Complete code submission, enter review process
75
+ - **Checkpoints**:
76
+ - [ ] Run `monoco issue lint` for compliance check
77
+ - [ ] Run `monoco issue submit <ID>`
78
+ - [ ] Wait for review results
79
+
80
+ ## Decision Branches
81
+
82
+ | Condition | Action |
83
+ |-----------|--------|
84
+ | Requirements unclear | Return to Investigate, request clarification |
85
+ | Test failed | Return to Code, fix issues |
86
+ | Lint failed | Fix compliance issues, resubmit |
87
+ | Review rejected | Return to Code, modify according to feedback |
88
+
89
+ ## Compliance Requirements
90
+
91
+ - **Prohibited**: Skip tests and submit directly
92
+ - **Prohibited**: Modify code directly on main/master branch
93
+ - **Required**: Use `monoco issue start --branch` to create feature branch
94
+ - **Required**: All unit tests must pass before Submit
@@ -0,0 +1,93 @@
1
+ ---
2
+ name: monoco_workflow_agent_manager
3
+ description: Standardized workflow for the Manager role (Flow Skill). Defines the standard operating procedure from inbox organization to task assignment, ensuring clear requirements and reasonable task breakdown.
4
+ type: workflow
5
+ role: manager
6
+ version: 1.0.0
7
+ ---
8
+
9
+ # Manager Flow
10
+
11
+ Standardized workflow for the Manager role, focusing on inbox organization, requirement refinement, and task assignment.
12
+
13
+ ## Workflow State Machine
14
+
15
+ ```mermaid
16
+ stateDiagram-v2
17
+ [*] --> Inbox: New Input
18
+
19
+ Inbox --> Triage: Review
20
+
21
+ Triage --> Refine: Needs Clarification
22
+ Triage --> Assign: Ready
23
+ Triage --> Archive: Not Actionable
24
+
25
+ Refine --> Assign: Refined
26
+ Refine --> Refine: Still Unclear
27
+
28
+ Assign --> [*]: Task Assigned
29
+ Archive --> [*]: Discarded
30
+ ```
31
+
32
+ ## Execution Steps
33
+
34
+ ### 1. Inbox (收件箱)
35
+
36
+ - **Goal**: Collect all new inputs (Memos, external requests, ideas)
37
+ - **Input**: Raw notes, meeting minutes, user feedback
38
+ - **Checkpoints**:
39
+ - [ ] Run `monoco memo list` to check pending memos
40
+ - [ ] Review external issue trackers (if any)
41
+ - [ ] Collect stakeholder requests
42
+
43
+ ### 2. Triage (分类)
44
+
45
+ - **Goal**: Quick classification of inbox items
46
+ - **Checkpoints**:
47
+ - [ ] Is this actionable?
48
+ - [ ] Is this a bug, feature, chore, or epic?
49
+ - [ ] Does it need immediate attention?
50
+ - [ ] Is there enough context to proceed?
51
+
52
+ ### 3. Refine (细化)
53
+
54
+ - **Goal**: Transform vague ideas into actionable requirements
55
+ - **Checkpoints**:
56
+ - [ ] Clarify the "Why" (business value)
57
+ - [ ] Define the "What" (acceptance criteria)
58
+ - [ ] Identify dependencies and blockers
59
+ - [ ] Estimate effort (rough sizing)
60
+
61
+ ### 4. Assign (指派)
62
+
63
+ - **Goal**: Create proper Issues and assign to team members
64
+ - **Checkpoints**:
65
+ - [ ] Create Issue using `monoco issue create <type> -t "Title"`
66
+ - [ ] Link related Memos or Issues
67
+ - [ ] Set appropriate priority and labels
68
+ - [ ] Assign to team member (or leave unassigned for pickup)
69
+
70
+ ### 5. Archive (归档)
71
+
72
+ - **Goal**: Clean up non-actionable items
73
+ - **Checkpoints**:
74
+ - [ ] Document why it's not actionable
75
+ - [ ] Move to appropriate archive location
76
+ - [ ] Update stakeholders if needed
77
+
78
+ ## Decision Matrix
79
+
80
+ | Input Type | Action | Next Step |
81
+ |------------|--------|-----------|
82
+ | Clear bug report | Create Fix Issue | Assign |
83
+ | Vague feature idea | Needs refinement | Refine |
84
+ | Technical debt | Create Chore Issue | Assign |
85
+ | Strategic initiative | Create Epic | Refine |
86
+ | Pure reference material | Archive | Archive |
87
+
88
+ ## Best Practices
89
+
90
+ 1. **Inbox Zero**: Process inbox regularly, don't let items accumulate
91
+ 2. **Clear Acceptance Criteria**: Every Issue must have verifiable acceptance criteria
92
+ 3. **Right Sizing**: Break down large tasks into manageable Issues
93
+ 4. **Context Preservation**: Always link back to original memos or requests
@@ -0,0 +1,85 @@
1
+ ---
2
+ name: monoco_workflow_agent_planner
3
+ description: Standardized workflow for the Planner role (Flow Skill). Responsible for analysis, design, planning, and handoff.
4
+ type: workflow
5
+ role: planner
6
+ version: 1.0.0
7
+ ---
8
+
9
+ # Planner Flow
10
+
11
+ Standardized workflow for the Planner role, focusing on technical analysis, architecture design, and implementation planning.
12
+
13
+ ## Workflow State Machine
14
+
15
+ ```mermaid
16
+ stateDiagram-v2
17
+ [*] --> Analyze: Receive Requirements
18
+
19
+ Analyze --> Design: Requirements Understood
20
+ Analyze --> Analyze: Needs More Info
21
+
22
+ Design --> Plan: Design Approved
23
+ Design --> Design: Design Rejected
24
+
25
+ Plan --> Handoff: Plan Complete
26
+
27
+ Handoff --> [*]: Ready for Implementation
28
+ ```
29
+
30
+ ## Execution Steps
31
+
32
+ ### 1. Analyze (分析)
33
+
34
+ - **Goal**: Deep understanding of requirements and constraints
35
+ - **Input**: Feature/Chore Issue, stakeholder requirements
36
+ - **Output**: Analysis document, technical constraints list
37
+ - **Checkpoints**:
38
+ - [ ] Read and understand requirements thoroughly
39
+ - [ ] Identify technical constraints (performance, security, compatibility)
40
+ - [ ] Research existing solutions and patterns
41
+ - [ ] Document assumptions and risks
42
+
43
+ ### 2. Design (设计)
44
+
45
+ - **Goal**: Create technical design and architecture
46
+ - **Checkpoints**:
47
+ - [ ] Define system architecture and components
48
+ - [ ] Design data models and interfaces
49
+ - [ ] Consider scalability and maintainability
50
+ - [ ] Document design decisions (ADR)
51
+
52
+ ### 3. Plan (规划)
53
+
54
+ - **Goal**: Break down design into implementable tasks
55
+ - **Checkpoints**:
56
+ - [ ] Create sub-tasks or child Issues
57
+ - [ ] Define dependencies between tasks
58
+ - [ ] Estimate effort for each task
59
+ - [ ] Identify required skills and resources
60
+
61
+ ### 4. Handoff (交接)
62
+
63
+ - **Goal**: Prepare comprehensive handoff to Engineering
64
+ - **Checkpoints**:
65
+ - [ ] Document implementation guidelines
66
+ - [ ] Create technical specification (if needed)
67
+ - [ ] Update parent Issue with plan summary
68
+ - [ ] Link all child Issues to parent
69
+
70
+ ## Output Artifacts
71
+
72
+ | Artifact | Purpose | Location |
73
+ |----------|---------|----------|
74
+ | Analysis Notes | Document findings and constraints | Issue comments or linked doc |
75
+ | Architecture Diagram | Visual representation of design | `docs/architecture/` or Issue |
76
+ | ADR | Record design decisions | `docs/adr/` |
77
+ | Task Breakdown | List of implementable sub-tasks | Child Issues |
78
+ | Technical Spec | Detailed implementation guide | Issue description or linked doc |
79
+
80
+ ## Best Practices
81
+
82
+ 1. **Design for Change**: Anticipate future changes in your design
83
+ 2. **Prototype When Uncertain**: Build quick prototypes to validate approaches
84
+ 3. **Review Early**: Get feedback on designs before full planning
85
+ 4. **Document Trade-offs**: Always document why certain decisions were made