monoco-toolkit 0.3.5__py3-none-any.whl → 0.3.9__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.
- monoco/cli/workspace.py +1 -1
- monoco/core/config.py +51 -0
- monoco/core/hooks/__init__.py +19 -0
- monoco/core/hooks/base.py +104 -0
- monoco/core/hooks/builtin/__init__.py +11 -0
- monoco/core/hooks/builtin/git_cleanup.py +266 -0
- monoco/core/hooks/builtin/logging_hook.py +78 -0
- monoco/core/hooks/context.py +131 -0
- monoco/core/hooks/registry.py +222 -0
- monoco/core/integrations.py +6 -0
- monoco/core/registry.py +2 -0
- monoco/core/setup.py +1 -1
- monoco/core/skills.py +226 -42
- monoco/features/{scheduler → agent}/__init__.py +4 -2
- monoco/features/{scheduler → agent}/cli.py +134 -80
- monoco/features/{scheduler → agent}/config.py +17 -3
- monoco/features/agent/defaults.py +55 -0
- monoco/features/agent/flow_skills.py +281 -0
- monoco/features/{scheduler → agent}/manager.py +39 -2
- monoco/features/{scheduler → agent}/models.py +6 -3
- monoco/features/{scheduler → agent}/reliability.py +1 -1
- monoco/features/agent/resources/skills/flow_engineer/SKILL.md +94 -0
- monoco/features/agent/resources/skills/flow_manager/SKILL.md +88 -0
- monoco/features/agent/resources/skills/flow_reviewer/SKILL.md +114 -0
- monoco/features/{scheduler → agent}/session.py +39 -5
- monoco/features/{scheduler → agent}/worker.py +2 -2
- monoco/features/i18n/resources/skills/i18n_scan_workflow/SKILL.md +105 -0
- monoco/features/issue/commands.py +427 -21
- monoco/features/issue/core.py +104 -0
- monoco/features/issue/criticality.py +553 -0
- monoco/features/issue/domain/models.py +28 -2
- monoco/features/issue/engine/machine.py +65 -37
- monoco/features/issue/git_service.py +185 -0
- monoco/features/issue/linter.py +291 -62
- monoco/features/issue/models.py +91 -14
- monoco/features/issue/resources/en/SKILL.md +48 -0
- monoco/features/issue/resources/skills/issue_lifecycle_workflow/SKILL.md +159 -0
- monoco/features/issue/resources/zh/SKILL.md +50 -0
- monoco/features/issue/test_priority_integration.py +1 -0
- monoco/features/issue/validator.py +185 -65
- monoco/features/memo/__init__.py +4 -0
- monoco/features/memo/adapter.py +32 -0
- monoco/features/memo/cli.py +112 -0
- monoco/features/memo/core.py +146 -0
- monoco/features/memo/resources/skills/note_processing_workflow/SKILL.md +140 -0
- monoco/features/memo/resources/zh/AGENTS.md +8 -0
- monoco/features/memo/resources/zh/SKILL.md +75 -0
- monoco/features/spike/resources/skills/research_workflow/SKILL.md +121 -0
- monoco/main.py +6 -3
- {monoco_toolkit-0.3.5.dist-info → monoco_toolkit-0.3.9.dist-info}/METADATA +1 -1
- {monoco_toolkit-0.3.5.dist-info → monoco_toolkit-0.3.9.dist-info}/RECORD +56 -35
- monoco/features/scheduler/defaults.py +0 -54
- monoco/features/skills/__init__.py +0 -0
- monoco/features/skills/core.py +0 -102
- /monoco/core/{hooks.py → githooks.py} +0 -0
- /monoco/features/{scheduler → agent}/engines.py +0 -0
- {monoco_toolkit-0.3.5.dist-info → monoco_toolkit-0.3.9.dist-info}/WHEEL +0 -0
- {monoco_toolkit-0.3.5.dist-info → monoco_toolkit-0.3.9.dist-info}/entry_points.txt +0 -0
- {monoco_toolkit-0.3.5.dist-info → monoco_toolkit-0.3.9.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,24 +1,31 @@
|
|
|
1
|
-
monoco/main.py,sha256=
|
|
1
|
+
monoco/main.py,sha256=JVrKvrd2U6lOJBu9O6bSvgsUXCPU6_8AFV_vgjiB8Iw,5616
|
|
2
2
|
monoco/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
3
3
|
monoco/cli/project.py,sha256=FqLaDD3hiWxa0_TKzxEF7PYH9RPsvmLyjO3NYVckgGs,2737
|
|
4
|
-
monoco/cli/workspace.py,sha256=
|
|
4
|
+
monoco/cli/workspace.py,sha256=vcUHjSarRZk8k3SNjtLSVD2VUPhBIUyx5J1OPtGa7-Q,1541
|
|
5
5
|
monoco/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
6
|
-
monoco/core/config.py,sha256=
|
|
6
|
+
monoco/core/config.py,sha256=ftO_hKCpBnGXerEVVl6I2KQxLjz-qcB6GQbuZK9VSv8,15282
|
|
7
7
|
monoco/core/execution.py,sha256=7522s7uVWiNdMKtWlIb8JHzbAcJgLVuxUFp_6VmhWNQ,1801
|
|
8
8
|
monoco/core/feature.py,sha256=bcK0C1CaQgNLcdMF0RuniaaQRCYSA-0JdOpQz9W_1xM,1968
|
|
9
9
|
monoco/core/git.py,sha256=d3A8L30nlEj0F1pwSHk_cOoRYi1dMCiZc7KD70ViMyw,8335
|
|
10
|
-
monoco/core/
|
|
10
|
+
monoco/core/githooks.py,sha256=QY4c74LIYDtcjtWYax1PrK5CtVNKYTfVVVBOj-SCulo,1826
|
|
11
11
|
monoco/core/injection.py,sha256=zs9RpXaBfwP-fbwOU_X2nm-AH94tQN9tVWXNtV4tCYM,6887
|
|
12
|
-
monoco/core/integrations.py,sha256=
|
|
12
|
+
monoco/core/integrations.py,sha256=3RAx4OYgbKHWXR9AAFgXuk-Z_HlztK6kNDFWBJ6tlaA,7914
|
|
13
13
|
monoco/core/lsp.py,sha256=GOrHzubkMWS3iBpP4H2fTFW-0JXa6D2YlU0ZEhp5zmY,2018
|
|
14
14
|
monoco/core/output.py,sha256=ZlUydZ65FIP5a32_eESIIvMrhcSwghIqZ3N23OSx6Ss,3878
|
|
15
|
-
monoco/core/registry.py,sha256=
|
|
16
|
-
monoco/core/setup.py,sha256=
|
|
17
|
-
monoco/core/skills.py,sha256=
|
|
15
|
+
monoco/core/registry.py,sha256=WF02zg_3StPTYupi5FxEndZyq-6rcKxajZOv1Ob4D1Y,1264
|
|
16
|
+
monoco/core/setup.py,sha256=CYADZjUF1tNu6OQ5oVZ_3X_HN7TxnyrvOWbQwluIA_E,11490
|
|
17
|
+
monoco/core/skills.py,sha256=OvvKViDw2GiuYHEANSNX_ry6VIdDvd4QPmExDUQv9iU,22546
|
|
18
18
|
monoco/core/state.py,sha256=dfoTH1Sj_TSjtTEXuv4w0ZOp_Fd30XNymVSZo30Xshg,1820
|
|
19
19
|
monoco/core/sync.py,sha256=1p37pTfGBanogzcLhdTfMTxDqq79B5iiwiPS4fiuQaA,8378
|
|
20
20
|
monoco/core/telemetry.py,sha256=GQDbtgrZwAL1ZpjgbJZuawbTyH6J0NjMXMi4ogq-Ang,2915
|
|
21
21
|
monoco/core/workspace.py,sha256=H_PHD5A0HZFq841u1JtLoFjkXdQg9D6x6I7QcFtJge4,3000
|
|
22
|
+
monoco/core/hooks/__init__.py,sha256=8dWjDSwJG9JdghWBxgk7zH1U1FlJCiRo66mfbWcDK3M,437
|
|
23
|
+
monoco/core/hooks/base.py,sha256=GQ59E_VX8RmtWezyg5sMFqmKRDsD7PJflcAb2TTy8S8,3276
|
|
24
|
+
monoco/core/hooks/context.py,sha256=A0xwwU6JcsBH3t4h9jlodAdEMuajU8QeW_3bSMTWfPY,4005
|
|
25
|
+
monoco/core/hooks/registry.py,sha256=O_IO1c7R9NbHk3F-xtLowQQkzPBs6qM1Xii398ZfbNU,7100
|
|
26
|
+
monoco/core/hooks/builtin/__init__.py,sha256=R_e04bOLnBKy7pX5QVBkDjgUNeQ82o1IHq--CKgIX_I,177
|
|
27
|
+
monoco/core/hooks/builtin/git_cleanup.py,sha256=PTrc9Ud1P4MCY-zpptBWqlv7e618uPuaODIFgJi4eIw,9700
|
|
28
|
+
monoco/core/hooks/builtin/logging_hook.py,sha256=F5iN3zeczEeoumK0nUXf6ZVrO4_5gcA9dne8y4KSiXo,2796
|
|
22
29
|
monoco/core/resources/en/AGENTS.md,sha256=vf9z43UU-LPwYKPWCrtw8TpWrmkeZ6zfMyHP4Q9JqdQ,1178
|
|
23
30
|
monoco/core/resources/en/SKILL.md,sha256=wBXNpPqATOxO8TGiOM8S091gMNZ8du_WhQubO6TfNyg,3504
|
|
24
31
|
monoco/core/resources/zh/AGENTS.md,sha256=KBNZSCPBIals6jDdvG5wJgjZuswi_1nKljggJSMtfy8,1156
|
|
@@ -31,6 +38,20 @@ monoco/daemon/reproduce_stats.py,sha256=LghJ8o1jTeDpA1zVPI2vF0okGU3h4esEI1thNa6s
|
|
|
31
38
|
monoco/daemon/services.py,sha256=jkkDwX5mBRiy4DZPNxWmHNe_EE-hiX53FoIlWGiCBoM,5070
|
|
32
39
|
monoco/daemon/stats.py,sha256=XTtuFWx68O1OA44SmN0BGVa6sswts2ExmkiavUzCYiA,4800
|
|
33
40
|
monoco/features/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
41
|
+
monoco/features/agent/__init__.py,sha256=DccKv_HfN51eHO5d03Irzy2lNlnxmohoE8BEEvceX1o,559
|
|
42
|
+
monoco/features/agent/cli.py,sha256=L4dyjz8q6dZcQCPLF0e-AmshTRCUU3VhWmN6E3jk7rU,10339
|
|
43
|
+
monoco/features/agent/config.py,sha256=fPClrGeBriQm4oD5HCpg0ePQ3eBIOOLkAaORPi_fS8U,2685
|
|
44
|
+
monoco/features/agent/defaults.py,sha256=sxUm3AHLCi_x0iq7pzWpctSPNA12cX6P4s7LcCBmOUQ,2519
|
|
45
|
+
monoco/features/agent/engines.py,sha256=ICKw4Kfme6UNl_JLJvT7hADKHo76Yr8wpFFEvtEV6z4,3799
|
|
46
|
+
monoco/features/agent/flow_skills.py,sha256=9YQZvhebS_J2oERsGMfWd6WjDKkAWGzlJ0guIrYgsMw,9079
|
|
47
|
+
monoco/features/agent/manager.py,sha256=0pm0t95uYTOqcMhQmwHhAM3GlHWsUYMa5sMMxnWDcyE,3009
|
|
48
|
+
monoco/features/agent/models.py,sha256=og2ptQvM2gNqattaPMyhaGKaO30wd9h6V3kB6X3xpgA,848
|
|
49
|
+
monoco/features/agent/reliability.py,sha256=zXC-WKYCo46a5w_i1RAsAb1rbcOEPuj7Cqpv4c9pDks,3846
|
|
50
|
+
monoco/features/agent/session.py,sha256=ILW0JGY6Nsi_-PqS25z63LqhuczEyZyleAbXfqEtZRo,4388
|
|
51
|
+
monoco/features/agent/worker.py,sha256=63Lllm01pNZncZRDEr2bYh8u8qEb3iNKP1oxIVhoEOI,4538
|
|
52
|
+
monoco/features/agent/resources/skills/flow_engineer/SKILL.md,sha256=wPIh9Tl6jCau2yKUeMZ4ZcvuVZ3XfToooNH7GyHtkUk,2643
|
|
53
|
+
monoco/features/agent/resources/skills/flow_manager/SKILL.md,sha256=GGx1OkhbaN6YIwxXERo_J91-SqIrSAtp96w-cdEm1sI,2582
|
|
54
|
+
monoco/features/agent/resources/skills/flow_reviewer/SKILL.md,sha256=waV-sXpPyO3ZKWvfsuQP8AA9ClzMtac-NZEVggQcuXc,2746
|
|
34
55
|
monoco/features/config/commands.py,sha256=i6_fKhSGLeO8RCbWrYKxelFgaHWcPiQERS2uxUdq7H0,4894
|
|
35
56
|
monoco/features/i18n/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
36
57
|
monoco/features/i18n/adapter.py,sha256=-ifDKQ7UH8tDoOdB_fSKoIrNRJROIPNuzZor2FPJVfo,932
|
|
@@ -38,57 +59,57 @@ monoco/features/i18n/commands.py,sha256=NJ2lZRRjiTW-3UbqxhEKURdWSDxQPkfnBAUgnwoV
|
|
|
38
59
|
monoco/features/i18n/core.py,sha256=bnEV9D7KgxbC5I3l-1RN1-H8hek1loDL6KFXzmdq0pQ,9658
|
|
39
60
|
monoco/features/i18n/resources/en/AGENTS.md,sha256=zzuF7BW6x8Mj6LZZmeM6wTbG5CSCDMShf4rwtN7XITg,197
|
|
40
61
|
monoco/features/i18n/resources/en/SKILL.md,sha256=Z8fAAqeMvpLDw1D_9AzZIykS5-HLVM9nnlRZLWBTPqM,2203
|
|
62
|
+
monoco/features/i18n/resources/skills/i18n_scan_workflow/SKILL.md,sha256=d7mS9i_xOHCaD-qugqnIoVer1Ei5h4VgE4NQGSGtJEE,2748
|
|
41
63
|
monoco/features/i18n/resources/zh/AGENTS.md,sha256=lKkwLLCADRH7UDq9no4eQY2sRfJrb64JoZ_HNved8vA,175
|
|
42
64
|
monoco/features/i18n/resources/zh/SKILL.md,sha256=Wynk7zVBW7CO0_6AEQNUvlD_3eMW_7EPnzEn9QUaiDs,1884
|
|
43
65
|
monoco/features/issue/adapter.py,sha256=4dzKg4-0XH63uORoh8qcolvKxJR6McBDIYxYEcZJJkA,1204
|
|
44
|
-
monoco/features/issue/commands.py,sha256=
|
|
45
|
-
monoco/features/issue/core.py,sha256=
|
|
66
|
+
monoco/features/issue/commands.py,sha256=2iyjzRdtRiWcc6GeZHa-tDZHOHcsJqJhYnQKZ8tv54o,50578
|
|
67
|
+
monoco/features/issue/core.py,sha256=4RY4AKhc2vpP94JHk9WtnaVFdQt1E_spUmqviK_JnLQ,55522
|
|
68
|
+
monoco/features/issue/criticality.py,sha256=Bw0xH0vpx8z59bL-WQjfy4a5zmjXNM0f-aWBzQ5JZCA,18931
|
|
46
69
|
monoco/features/issue/domain_commands.py,sha256=eatSF_uZp4nGpVr2PIgb00MWfEBm0OnyAd4JvUJEAAA,1535
|
|
47
70
|
monoco/features/issue/domain_service.py,sha256=bEs_WXOWmotgIR-lGwyWekF4nonvjsgrK1YG3pyVfwk,2564
|
|
48
|
-
monoco/features/issue/
|
|
71
|
+
monoco/features/issue/git_service.py,sha256=57FSWiY9qHzOWw_e-IOKinOsiqVJz-ycE1zRtRWuBw8,5956
|
|
72
|
+
monoco/features/issue/linter.py,sha256=EUVsnucLIo32adu2TNP6vFwlUvWrwj18cNN9viRr-7U,38697
|
|
49
73
|
monoco/features/issue/migration.py,sha256=i0xlxZjrpmuHGHOAIN4iu31EwwVIvZn7yjveS-kU22c,4896
|
|
50
|
-
monoco/features/issue/models.py,sha256=
|
|
74
|
+
monoco/features/issue/models.py,sha256=xkM4Bnot2iv8NnWNdfFopIlyWtR1bZK52IseUk_BsEo,8976
|
|
51
75
|
monoco/features/issue/monitor.py,sha256=vZN0TbR3V5fHKHRGkIhimO6UwWcwYjDHQs2qzjEG174,3549
|
|
52
76
|
monoco/features/issue/resolver.py,sha256=mAU9s7TNNHY9A2278JTwJvxU-jalGKTDJfJdjONev3E,5655
|
|
53
|
-
monoco/features/issue/test_priority_integration.py,sha256=
|
|
77
|
+
monoco/features/issue/test_priority_integration.py,sha256=pTBg3Wjv6lLYxWL6vjbo2NGVE-X0MRB3Ha8bqObZrU4,2791
|
|
54
78
|
monoco/features/issue/test_resolver.py,sha256=luFhK37DUvh4a3TTcFYVO-oOIJljQVCSYicwSWyDleQ,2530
|
|
55
|
-
monoco/features/issue/validator.py,sha256=
|
|
79
|
+
monoco/features/issue/validator.py,sha256=TgXg9MolCI8kPzjaqGVfXMIekaubOc_vTybfakGjteE,33127
|
|
56
80
|
monoco/features/issue/domain/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
57
81
|
monoco/features/issue/domain/lifecycle.py,sha256=oIuLYTVy1RRHGngAzbNU4kTWOHMBhjuw_TuYCwNqMJw,4991
|
|
58
|
-
monoco/features/issue/domain/models.py,sha256=
|
|
82
|
+
monoco/features/issue/domain/models.py,sha256=s4gezUIlSlKxwJ3Byfxtsemj2-qsu4wRiXTNfaesSYQ,6830
|
|
59
83
|
monoco/features/issue/domain/parser.py,sha256=axfB9BjY-m4DQqYwTQBm_38plOidZaDqFtsIejW_kYI,9095
|
|
60
84
|
monoco/features/issue/domain/workspace.py,sha256=nyTEFNmpLPuX7nssMCBiFI1XBhY9zbqG877Ppp_s0Fg,3658
|
|
61
85
|
monoco/features/issue/engine/__init__.py,sha256=-SBvzjlZJz0O-IB1c95d9pbhr3lydJNLq2vhnfkZ8PQ,747
|
|
62
86
|
monoco/features/issue/engine/config.py,sha256=7enjPW4J_fpuK08ov6LpfQ-9h2T1D4Hc5yIXOPuQvLs,5761
|
|
63
|
-
monoco/features/issue/engine/machine.py,sha256=
|
|
87
|
+
monoco/features/issue/engine/machine.py,sha256=iFZMZyD0rDAg3AMd9JtXZ0CuuQ6dPuv9wXLgvtudlTQ,8668
|
|
64
88
|
monoco/features/issue/engine/models.py,sha256=595Sx3ncrpg_PhnbBLthohAvuhnjA-_9oXcrsT6Lv0k,574
|
|
65
89
|
monoco/features/issue/lsp/__init__.py,sha256=8bl8-WzSj3C4SkPKgVGnCeyemmvHVWBsuMZsJuJggG8,77
|
|
66
90
|
monoco/features/issue/lsp/definition.py,sha256=cF6Quw1OztuKMJ1zLvgA_ek7lTAdzHF0m4LVznpbAPw,3203
|
|
67
91
|
monoco/features/issue/resources/en/AGENTS.md,sha256=eHHXjLRDAV7IKrYPQSilxu0X5D0SBCAFBXmlSoc9r48,1278
|
|
68
|
-
monoco/features/issue/resources/en/SKILL.md,sha256=
|
|
92
|
+
monoco/features/issue/resources/en/SKILL.md,sha256=_soSTGcoHjwdv5N-X31uVsmdmvS4CUSfTqWNOHTZt_0,5556
|
|
93
|
+
monoco/features/issue/resources/skills/issue_lifecycle_workflow/SKILL.md,sha256=efaneBOYrEGlsk4egyf_KupLGf_meRDmIFLx3b9VYYk,4476
|
|
69
94
|
monoco/features/issue/resources/zh/AGENTS.md,sha256=oRHHqeDYx6aEc5FfdL7a-zqT7uh4SYIYt8QBRKEKrYM,1351
|
|
70
|
-
monoco/features/issue/resources/zh/SKILL.md,sha256=
|
|
71
|
-
monoco/features/
|
|
72
|
-
monoco/features/
|
|
73
|
-
monoco/features/
|
|
74
|
-
monoco/features/
|
|
75
|
-
monoco/features/
|
|
76
|
-
monoco/features/
|
|
77
|
-
monoco/features/
|
|
78
|
-
monoco/features/scheduler/reliability.py,sha256=zVwtnksug5wr0_tigC2Qjl_C8VNyrheN_34ItUceGoo,3846
|
|
79
|
-
monoco/features/scheduler/session.py,sha256=V1xFXA65BaERhBwRYIecaye2TjDtFvAzuIy2gZ68ag8,2954
|
|
80
|
-
monoco/features/scheduler/worker.py,sha256=4OU2Y7nG5EKadNIKDF5GWl5V7vgVl3OPlYHShfiEeBI,4538
|
|
81
|
-
monoco/features/skills/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
82
|
-
monoco/features/skills/core.py,sha256=BXVvMot8E457-pj9U19lPHypBVhdLQRsx0zEAXJxpGY,3436
|
|
95
|
+
monoco/features/issue/resources/zh/SKILL.md,sha256=Gx6nuGciNh63QiyZ8kXU8PhaNidM2oiKYAr5GulEmes,6866
|
|
96
|
+
monoco/features/memo/__init__.py,sha256=LC5vwsJw-kwzd5O5oeRo-FNSbnZnuFynanec-hA72nw,88
|
|
97
|
+
monoco/features/memo/adapter.py,sha256=XBOGkP66AMD6Pelz-heH_EhxkYoMRLaH8qsYnX9NSLk,1117
|
|
98
|
+
monoco/features/memo/cli.py,sha256=rw2nEJ3P0eJvjuv4WLOwV6aNM8Dt2J_2R2py_FgHlDg,3329
|
|
99
|
+
monoco/features/memo/core.py,sha256=wq4bf2uS3axoZ5Xsm-YhJZGL8bu1EjcrQuwXgQbPqOk,4193
|
|
100
|
+
monoco/features/memo/resources/skills/note_processing_workflow/SKILL.md,sha256=JE3LEhQYRuvU_GAQ_C6Oob4t-BEY7OWxGpBM6mkgato,4286
|
|
101
|
+
monoco/features/memo/resources/zh/AGENTS.md,sha256=AFlzvhGxAk77np-E8XLb-tkWJCo0bLGItCrV0IiXdHQ,292
|
|
102
|
+
monoco/features/memo/resources/zh/SKILL.md,sha256=9J_tAM-HuMEgOtZ7sVMp-Qjg2heVJvS2ovLro4Msh1M,2143
|
|
83
103
|
monoco/features/spike/adapter.py,sha256=ZIpw-xNVoA2IIP18dbR-dmQGbQmK5ua_P-uGXuDjCeI,1021
|
|
84
104
|
monoco/features/spike/commands.py,sha256=EuJ7trDaobIe7ae7pJ-ftpo_cO8-19R_fAZZCh2JcMg,3871
|
|
85
105
|
monoco/features/spike/core.py,sha256=OuNWXQ-cBttP2oIF0B5iy0aEUH2MUMyGANG8ayEmjPo,4120
|
|
86
106
|
monoco/features/spike/resources/en/AGENTS.md,sha256=NG3CMnlDk_0J8hnRUcueAM9lgIQr_dZ42R_31-LC48E,306
|
|
87
107
|
monoco/features/spike/resources/en/SKILL.md,sha256=qKDcVh0D3pDRvfNLh1Bzo4oQU3obpl4tqdlzxeiWYMk,1911
|
|
108
|
+
monoco/features/spike/resources/skills/research_workflow/SKILL.md,sha256=tv9dIEfRNKrfxa3dI657QZDkMO-4-X_ZZRm6V3WS3VM,3333
|
|
88
109
|
monoco/features/spike/resources/zh/AGENTS.md,sha256=5RHNl7fc3RdYYTFH483ojJl_arGPKkyYziOuGgFbqqg,290
|
|
89
110
|
monoco/features/spike/resources/zh/SKILL.md,sha256=Q82e9lCQOAYIwBs5rGnvlVUDq7bp0pz8yvO10KTWFYQ,1710
|
|
90
|
-
monoco_toolkit-0.3.
|
|
91
|
-
monoco_toolkit-0.3.
|
|
92
|
-
monoco_toolkit-0.3.
|
|
93
|
-
monoco_toolkit-0.3.
|
|
94
|
-
monoco_toolkit-0.3.
|
|
111
|
+
monoco_toolkit-0.3.9.dist-info/METADATA,sha256=OgCaiDGMobCNpQTm5lksMX4VxxZmBmuuQUht5LBY4sc,4732
|
|
112
|
+
monoco_toolkit-0.3.9.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
113
|
+
monoco_toolkit-0.3.9.dist-info/entry_points.txt,sha256=iYj7FWYBdtClU15-Du1skqD0s6SFSIhJvxJ29VWp8ng,43
|
|
114
|
+
monoco_toolkit-0.3.9.dist-info/licenses/LICENSE,sha256=ACAGGjV6aod4eIlVUTx1q9PZbnZGN5bBwkSs9RHj83s,1071
|
|
115
|
+
monoco_toolkit-0.3.9.dist-info/RECORD,,
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
from .models import RoleTemplate
|
|
2
|
-
|
|
3
|
-
DEFAULT_ROLES = [
|
|
4
|
-
RoleTemplate(
|
|
5
|
-
name="crafter",
|
|
6
|
-
description="Responsible for initial design, research, and drafting issues from descriptions.",
|
|
7
|
-
trigger="task.received",
|
|
8
|
-
goal="Produce a structured Issue file and/or detailed design document.",
|
|
9
|
-
tools=[
|
|
10
|
-
"create_issue_file",
|
|
11
|
-
"read_file",
|
|
12
|
-
"search_web",
|
|
13
|
-
"view_file_outline",
|
|
14
|
-
"write_to_file",
|
|
15
|
-
],
|
|
16
|
-
system_prompt=(
|
|
17
|
-
"You are a Crafter agent. Your goal is to turn vague ideas into structured engineering plans.\n"
|
|
18
|
-
"If the user provides a description, use 'monoco issue create' and 'monoco issue update' to build the task.\n"
|
|
19
|
-
"If the user provides an existing Issue, analyze the context and provide a detailed design or implementation plan."
|
|
20
|
-
),
|
|
21
|
-
engine="gemini",
|
|
22
|
-
),
|
|
23
|
-
RoleTemplate(
|
|
24
|
-
name="builder",
|
|
25
|
-
description="Responsible for implementation.",
|
|
26
|
-
trigger="design.approved",
|
|
27
|
-
goal="Implement code and tests",
|
|
28
|
-
tools=["read_file", "write_to_file", "run_command", "git"],
|
|
29
|
-
system_prompt="You are a Builder agent. Your job is to implement the code based on the design.",
|
|
30
|
-
engine="gemini",
|
|
31
|
-
),
|
|
32
|
-
RoleTemplate(
|
|
33
|
-
name="auditor",
|
|
34
|
-
description="Responsible for code review.",
|
|
35
|
-
trigger="implementation.submitted",
|
|
36
|
-
goal="Review code and provide feedback",
|
|
37
|
-
tools=[
|
|
38
|
-
"read_file",
|
|
39
|
-
"read_terminal",
|
|
40
|
-
"run_command",
|
|
41
|
-
], # Assumed read_diff and lint are via run_command
|
|
42
|
-
system_prompt="You are an Auditor agent. Your job is to review the code for quality and correctness.",
|
|
43
|
-
engine="gemini",
|
|
44
|
-
),
|
|
45
|
-
RoleTemplate(
|
|
46
|
-
name="coroner",
|
|
47
|
-
description="Responsible for analyzing failure root causes (Autopsy).",
|
|
48
|
-
trigger="session.crashed",
|
|
49
|
-
goal="Produce a post-mortem report",
|
|
50
|
-
tools=["read_file", "read_terminal", "git_log"],
|
|
51
|
-
system_prompt="You are a Coroner agent. Your job is to analyze why the previous session failed and write a post-mortem report.",
|
|
52
|
-
engine="gemini",
|
|
53
|
-
),
|
|
54
|
-
]
|
|
File without changes
|
monoco/features/skills/core.py
DELETED
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
import re
|
|
2
|
-
from pathlib import Path
|
|
3
|
-
from typing import Dict, List, Any
|
|
4
|
-
from rich.console import Console
|
|
5
|
-
|
|
6
|
-
console = Console()
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
def init(root: Path, resources: List[Dict[str, Any]]):
|
|
10
|
-
"""
|
|
11
|
-
Initialize the Skills module.
|
|
12
|
-
|
|
13
|
-
Args:
|
|
14
|
-
root: Project root directory.
|
|
15
|
-
resources: List of resource dicts from modules.
|
|
16
|
-
Expected format:
|
|
17
|
-
{
|
|
18
|
-
"skills": { "name": "content" },
|
|
19
|
-
"prompts": { "name": "content" }
|
|
20
|
-
}
|
|
21
|
-
"""
|
|
22
|
-
skills_root = root / "Toolkit" / "skills"
|
|
23
|
-
skills_root.mkdir(parents=True, exist_ok=True)
|
|
24
|
-
|
|
25
|
-
# 1. Write Skills
|
|
26
|
-
for res in resources:
|
|
27
|
-
if "skills" in res:
|
|
28
|
-
for name, content in res["skills"].items():
|
|
29
|
-
target_dir = skills_root / name
|
|
30
|
-
target_dir.mkdir(exist_ok=True)
|
|
31
|
-
target_file = target_dir / "SKILL.md"
|
|
32
|
-
# Idempotency: Overwrite if content is different? Or just always overwrite?
|
|
33
|
-
# User asked for "scaffold", implies creation.
|
|
34
|
-
# Let's overwrite to ensure extensive "Repair" capability.
|
|
35
|
-
target_file.write_text(content, encoding="utf-8")
|
|
36
|
-
console.print(f"[dim] - Scaffolding skill:[/dim] {name}")
|
|
37
|
-
|
|
38
|
-
# 2. Update Agent Docs
|
|
39
|
-
update_agent_docs(root, resources)
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
def update_agent_docs(root: Path, resources: List[Dict[str, Any]]):
|
|
43
|
-
"""
|
|
44
|
-
Inject prompts into AGENTS.md, GEMINI.md, CLAUDE.md.
|
|
45
|
-
"""
|
|
46
|
-
target_files = ["AGENTS.md", "GEMINI.md", "CLAUDE.md"]
|
|
47
|
-
|
|
48
|
-
# Aggregate Prompts
|
|
49
|
-
aggregated_prompt = "\n\n".join(
|
|
50
|
-
[
|
|
51
|
-
res["prompts"][name]
|
|
52
|
-
for res in resources
|
|
53
|
-
if "prompts" in res
|
|
54
|
-
for name in res["prompts"]
|
|
55
|
-
]
|
|
56
|
-
)
|
|
57
|
-
|
|
58
|
-
injection_content = f"""
|
|
59
|
-
## Monoco Toolkit
|
|
60
|
-
|
|
61
|
-
The following tools and skills are available in this environment.
|
|
62
|
-
|
|
63
|
-
{aggregated_prompt}
|
|
64
|
-
"""
|
|
65
|
-
|
|
66
|
-
for filename in target_files:
|
|
67
|
-
_inject_section(root / filename, injection_content)
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
def _inject_section(file_path: Path, content: str):
|
|
71
|
-
if not file_path.exists():
|
|
72
|
-
# Create if not exists? User said "Edit AGENTS.md...", implies existence.
|
|
73
|
-
# But if we init in a fresh repo, maybe we should create them?
|
|
74
|
-
# Let's create if missing.
|
|
75
|
-
file_path.write_text(f"# Project Guidelines\n{content}", encoding="utf-8")
|
|
76
|
-
console.print(f"[green]✔[/green] Created {file_path.name}")
|
|
77
|
-
return
|
|
78
|
-
|
|
79
|
-
original_content = file_path.read_text(encoding="utf-8")
|
|
80
|
-
|
|
81
|
-
# Regex to find existing section
|
|
82
|
-
# Matches ## Monoco Toolkit ... until next ## or End of String
|
|
83
|
-
pattern = r"(## Monoco Toolkit.*?)(\n## |\Z)"
|
|
84
|
-
|
|
85
|
-
# Check if section exists
|
|
86
|
-
if re.search(pattern, original_content, re.DOTALL):
|
|
87
|
-
# Replace
|
|
88
|
-
new_content = re.sub(
|
|
89
|
-
pattern, f"{content.strip()}\n\n\\2", original_content, flags=re.DOTALL
|
|
90
|
-
)
|
|
91
|
-
if new_content != original_content:
|
|
92
|
-
file_path.write_text(new_content, encoding="utf-8")
|
|
93
|
-
console.print(f"[green]✔[/green] Updated {file_path.name}")
|
|
94
|
-
else:
|
|
95
|
-
console.print(f"[dim] - {file_path.name} is up to date.[/dim]")
|
|
96
|
-
else:
|
|
97
|
-
# Append
|
|
98
|
-
with open(file_path, "a", encoding="utf-8") as f:
|
|
99
|
-
if not original_content.endswith("\n"):
|
|
100
|
-
f.write("\n")
|
|
101
|
-
f.write(content)
|
|
102
|
-
console.print(f"[green]✔[/green] Appended to {file_path.name}")
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|