claude-mpm 2.1.1__py3-none-any.whl → 3.0.0__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 (31) hide show
  1. claude_mpm/_version.py +2 -2
  2. claude_mpm/agents/agent_loader.py +682 -102
  3. claude_mpm/agents/base_agent_loader.py +23 -8
  4. claude_mpm/agents/schema/agent_schema.json +237 -83
  5. claude_mpm/agents/templates/data_engineer.json +6 -3
  6. claude_mpm/agents/templates/documentation.json +6 -3
  7. claude_mpm/agents/templates/engineer.json +7 -4
  8. claude_mpm/agents/templates/ops.json +6 -3
  9. claude_mpm/agents/templates/qa.json +10 -5
  10. claude_mpm/agents/templates/research.json +31 -42
  11. claude_mpm/agents/templates/security.json +14 -6
  12. claude_mpm/agents/templates/version_control.json +9 -5
  13. claude_mpm/core/base_service.py +61 -1
  14. claude_mpm/hooks/claude_hooks/hook_handler.py +224 -20
  15. claude_mpm/schemas/README_SECURITY.md +92 -0
  16. claude_mpm/schemas/agent_schema.json +130 -51
  17. claude_mpm/schemas/agent_schema_security_notes.md +165 -0
  18. claude_mpm/services/agent_capabilities_generator.py +0 -1
  19. claude_mpm/services/agent_deployment.py +479 -91
  20. claude_mpm/services/agent_lifecycle_manager.py +62 -4
  21. claude_mpm/services/deployed_agent_discovery.py +0 -1
  22. claude_mpm/services/version_control/semantic_versioning.py +165 -16
  23. claude_mpm/validation/agent_validator.py +147 -13
  24. {claude_mpm-2.1.1.dist-info → claude_mpm-3.0.0.dist-info}/METADATA +2 -2
  25. {claude_mpm-2.1.1.dist-info → claude_mpm-3.0.0.dist-info}/RECORD +29 -29
  26. claude_mpm/cli_old/__init__.py +0 -1
  27. claude_mpm/cli_old/ticket_cli.py +0 -102
  28. {claude_mpm-2.1.1.dist-info → claude_mpm-3.0.0.dist-info}/WHEEL +0 -0
  29. {claude_mpm-2.1.1.dist-info → claude_mpm-3.0.0.dist-info}/entry_points.txt +0 -0
  30. {claude_mpm-2.1.1.dist-info → claude_mpm-3.0.0.dist-info}/licenses/LICENSE +0 -0
  31. {claude_mpm-2.1.1.dist-info → claude_mpm-3.0.0.dist-info}/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  claude_mpm/__init__.py,sha256=sAbTZkHe3vWYAKDWdGyGVue5zwLD7nCOHZwZrLALM8A,395
2
2
  claude_mpm/__main__.py,sha256=smBw-5J3nf5s6GgQjj384GUr28YotIX-WNOxqpP0wnE,310
3
- claude_mpm/_version.py,sha256=HBkjBFMyGB0Jyz0lTkWhWTEalldfBZqkqfHkyuIxBJk,159
3
+ claude_mpm/_version.py,sha256=XOBUW134_JPZxC1dQDfnUpr93VyEj_9jTy9j5A-WR_s,159
4
4
  claude_mpm/cli.py,sha256=_6tUSY0FqBN6cHR6awuXgqm2-Hlh-L508rB-RDgflPU,26036
5
5
  claude_mpm/cli_enhancements.py,sha256=nwdOrbXITRqvcq_vrJtPKW1GDS7dLIG4UqjoUet2vR0,10890
6
6
  claude_mpm/cli_main.py,sha256=KCAe-ws73NrIg5qmFhPdZ1a4uoiaEZ-lldYzQ6KfnJg,306
@@ -10,22 +10,22 @@ claude_mpm/agents/BASE_AGENT_TEMPLATE.md,sha256=TYgSd9jNBMWp4mAOBUl9dconX4RcGbvm
10
10
  claude_mpm/agents/INSTRUCTIONS.md,sha256=X6bOhSII3pZVZh_Vw_zMYRdfLtyl5Mmf_jhrVYfNxFs,7200
11
11
  claude_mpm/agents/__init__.py,sha256=r-p7ervzjLPD7_8dm2tXX_fwvdTZy6KwKA03ofxN3sA,3275
12
12
  claude_mpm/agents/agent-template.yaml,sha256=koKJn8MCAJx0QNQMHouvIZrwvw5qjPV0U-aV-YVyk6s,2036
13
- claude_mpm/agents/agent_loader.py,sha256=aZiTX8u0__8ueHzwney98PHfVMSkrpF3Nh-DoFlso74,18675
13
+ claude_mpm/agents/agent_loader.py,sha256=UZf3Od23gSKe_k-EokatQdQKqS38lRQq_ifUYU5I0qU,44024
14
14
  claude_mpm/agents/agent_loader_integration.py,sha256=z_DXxAIeuUD71HBYdxxvcFKoQYQxITLo8oAdN_M4LTA,7610
15
15
  claude_mpm/agents/agents_metadata.py,sha256=Xju9Yim6XSv2u1J_Swre5VJySbdxxC-9TzpOfXG8ibg,5170
16
16
  claude_mpm/agents/base_agent.json,sha256=wvopTu58PEdvgvjBi45J5aBA6bxs5_v1KC84CbJeRzY,3820
17
- claude_mpm/agents/base_agent_loader.py,sha256=DJ0BDP_7ic3q0Zv5YQFZCYZp2V3bC3bB1v11ohbN8yU,18418
17
+ claude_mpm/agents/base_agent_loader.py,sha256=0cVD__2y-kPHr3G2YxqRazMGYUZvqKWp0O-VCFN6cxg,18993
18
18
  claude_mpm/agents/system_agent_config.py,sha256=Lke4FFjU0Vq3LLo4O7KvtHxadP7agAwC-ljCXK40h_A,23526
19
- claude_mpm/agents/schema/agent_schema.json,sha256=Ca_8E0QkFpGwQd7XjVy3jnBMv_-Yo2rL7Po-ziHut2U,5472
19
+ claude_mpm/agents/schema/agent_schema.json,sha256=7zuSk4VfBNTlQN33AkfJp0Y1GltlviwengIM0mb7dGg,8741
20
20
  claude_mpm/agents/templates/__init__.py,sha256=7UyIChghCnkrDctvmCRYr0Wrnn8Oj-eCdgL0KpFy1Mo,2668
21
- claude_mpm/agents/templates/data_engineer.json,sha256=3qLAOSBO47O5bj8gnUNvEjeIe9bRc6Hzaj3w_pTvmvI,5811
22
- claude_mpm/agents/templates/documentation.json,sha256=W6gF0p2XpXrYPng7aUjbpE0Z3IW193EbP3nKoNmY4yc,3043
23
- claude_mpm/agents/templates/engineer.json,sha256=vRAr9sEgKt7_IVg2e3iZmLQFQHTzjgM-YQepS-TL6rY,8829
24
- claude_mpm/agents/templates/ops.json,sha256=mNoS_OS_e4Ht2drx3d7H0I18x38LX16E-mhsJn95ydQ,2899
25
- claude_mpm/agents/templates/qa.json,sha256=qEsJzkXbqM4pAdl4vyW1HeaQME5SvnIk4XttPWI2Dhw,2942
26
- claude_mpm/agents/templates/research.json,sha256=nwqExnDvMVGih7RGzbwpYGBb1NbAdHRq3L03S4QtzKs,10180
27
- claude_mpm/agents/templates/security.json,sha256=T0hRMeHq54ryblR2QsBFBJtNx-mYR3VEtwQYOvx4EOU,2945
28
- claude_mpm/agents/templates/version_control.json,sha256=RsV0WLs58boDOzurwB75Zdol4uXf_Za0VHOqQ3Og2Rw,2923
21
+ claude_mpm/agents/templates/data_engineer.json,sha256=qoUz4nR5dP3ANu-e6Lr5bP_aa1A8_L9cN3iGwZk_B4k,5910
22
+ claude_mpm/agents/templates/documentation.json,sha256=ClQ3_zWRSxkCm1_bLuVRi5bl2IYUIjPEINZm82HjJak,3142
23
+ claude_mpm/agents/templates/engineer.json,sha256=Vqvxdifa1ldDUiFG1EXYupHCjg1hFYT80YE7Ef1owAk,8922
24
+ claude_mpm/agents/templates/ops.json,sha256=uxIu5Tyw-FsnV-RtT-hk2QSy9EJgesmK7eampglL5tk,2988
25
+ claude_mpm/agents/templates/qa.json,sha256=ByZw4FT1RW5sRoim2ouUPYipCi-6xI8LDaYEZ26lc6U,3076
26
+ claude_mpm/agents/templates/research.json,sha256=omkijtxuVMFweqGa6OzGS8qy0Xrlr1WwfZq361-mQtk,9943
27
+ claude_mpm/agents/templates/security.json,sha256=5RzIlGtRjPIVSKvH_jjx-hzPbjh0TP2SeDBw_7LyfEA,3118
28
+ claude_mpm/agents/templates/version_control.json,sha256=YPxSufd32PMFTyVzDkOteoS944r74MD3VIToYm4DRCE,3043
29
29
  claude_mpm/agents/templates/backup/data_engineer_agent_20250726_234551.json,sha256=lLso4RHXVTQmX4A1XwF84kT59zZDblPO1xCgBj4S4x8,5060
30
30
  claude_mpm/agents/templates/backup/documentation_agent_20250726_234551.json,sha256=snfJW2yW9aMv9ldCSIWW7zwnyoQRx5u7xLMkNlfus9I,2258
31
31
  claude_mpm/agents/templates/backup/engineer_agent_20250726_234551.json,sha256=21o8TGCM9TO6eocSV9Ev5MmCq-xYwwCqMU7KQESaY2Q,8479
@@ -40,15 +40,13 @@ claude_mpm/cli_module/args.py,sha256=nilYpziBsoEySO4W1hQ2MRJyn9TFx3c3TrucyMMhRtk
40
40
  claude_mpm/cli_module/commands.py,sha256=CBNfO-bXrZ0spjeW_7-swprEq5V4PQSc0qhl9SLP5UU,7168
41
41
  claude_mpm/cli_module/migration_example.py,sha256=C-_GbsW8dGzutnNeRLLld74ibDLyAOQx0stdpYZS0hs,6137
42
42
  claude_mpm/cli_module/refactoring_guide.md,sha256=fl1PGwLZAj4OYWmU0syg1jDd81PqK7rC7rhwgFId5BE,7048
43
- claude_mpm/cli_old/__init__.py,sha256=v7mFJSN0p6NOIcURZp5ibZaZBn6iGrLwyGl7tA_lh4c,32
44
- claude_mpm/cli_old/ticket_cli.py,sha256=oKIT2LR1tToHybwypRfsNdnYlwdRzjWyjlQN5lYwTOk,3795
45
43
  claude_mpm/config/__init__.py,sha256=p31JuaXLDHgIgoAbHApNvctN2IEZYq2MBkkXROdhbH8,105
46
44
  claude_mpm/core/__init__.py,sha256=hE29BeE3qb8vC1-wiKjPh60WZebCwfo9UAUGM1zQnkc,1206
47
45
  claude_mpm/core/agent_name_normalizer.py,sha256=-X68oz3_74t9BRbHA54NEGyjy0xjTsGp_sCUHDtKp1s,9269
48
46
  claude_mpm/core/agent_registry.py,sha256=4MAfc7xDlrYWWkHmDMRmWE8q32teuCmIcud9D0I0dLo,20496
49
47
  claude_mpm/core/agent_registry.py.bak,sha256=cXB0yqhonE1XsXmWcdwyNuvv8yddK_PyZILDCmwCZ_Q,10161
50
48
  claude_mpm/core/agent_session_manager.py,sha256=6alXQr4gnMR-unT4J1ryEtTxJqQolA0-NgPQN6X3lqY,11212
51
- claude_mpm/core/base_service.py,sha256=b4KrjxzqStDhVqsE37ApzwMRNQM7WGGdHciEuWdH4mE,26824
49
+ claude_mpm/core/base_service.py,sha256=qWI_rUybHmmKroptJxcE4rzPBhK8yeMKIt2JqnqJB7E,29125
52
50
  claude_mpm/core/base_service.py.bak,sha256=48A8eI_HPqxYm42X5jaTo8zQVOfFFXe7SqIUo-8IyC4,13124
53
51
  claude_mpm/core/config.py,sha256=QNPufRWzXl99wAz14Gm2T_CG5K5n8d4eOjmpaxVllv0,12371
54
52
  claude_mpm/core/config_aliases.py,sha256=8eqA4wpWViIDm_9pL3f9j7cR_ssmhOYYiY2UzHrfUzg,10058
@@ -81,7 +79,7 @@ claude_mpm/hooks/builtin/ticket_extraction_hook_example.py,sha256=4wNhS2tFUXgdcv
81
79
  claude_mpm/hooks/builtin/todo_agent_prefix_hook.py,sha256=v_4w2vcZIt0bkZxqdHmgtN79yHZ1gviuhhBws0FHpIQ,10226
82
80
  claude_mpm/hooks/builtin/workflow_start_hook.py,sha256=EQrtYD9qLMLSYPl3oQinEheZAJ2i5EO_h2jhhR8lmt0,7490
83
81
  claude_mpm/hooks/claude_hooks/__init__.py,sha256=bMUwt2RzDGAcEbtDMA7vWS1uJsauOY0OixIe4pHwgQ0,129
84
- claude_mpm/hooks/claude_hooks/hook_handler.py,sha256=r1OqgtXw04u47FVV8Ks2ppHh8hC4xSQrj3Q3hWHuHxs,21627
82
+ claude_mpm/hooks/claude_hooks/hook_handler.py,sha256=FpmG0TfPTT-JL_dFdae-XVwNnvCvB6BJtRpT5PlZi7g,30538
85
83
  claude_mpm/hooks/claude_hooks/hook_wrapper.sh,sha256=6n0-G317jIrPuNRGnAyFvBbNM4gVzKEat_WSbpvKN-g,1742
86
84
  claude_mpm/orchestration/SUBPROCESS_DESIGN.md,sha256=YwToiT1_NXblv1XIWhWPNc2uKzDvqY2E_Nix8qK7qk0,2136
87
85
  claude_mpm/orchestration/__init__.py,sha256=C-cwldtfBCgV19mKnJa5U1XiKw1rAZvx-kK61nIdcao,205
@@ -97,19 +95,21 @@ claude_mpm/orchestration/archive/simple_orchestrator.py,sha256=Booy_eeuC5H3i-1HA
97
95
  claude_mpm/orchestration/archive/subprocess_orchestrator.py,sha256=TYTAHX6p4OpgBsfU-CF2D6r_wmZHIASc9GR8l3-qXQM,31982
98
96
  claude_mpm/orchestration/archive/system_prompt_orchestrator.py,sha256=R16sc-94kQVeGjJzTYmvKn0aYgj_9qxyzShDy1E5zpE,12853
99
97
  claude_mpm/orchestration/archive/wrapper_orchestrator.py,sha256=cvL0NJf9kCWf3QJl67ySwvtR1Hd9Rym28Ii8Rtsdi6Q,6806
100
- claude_mpm/schemas/agent_schema.json,sha256=xPqYaZ8VNFyabdpEL91kufKPsWk36v6hYbqoMfUsvs4,9645
98
+ claude_mpm/schemas/README_SECURITY.md,sha256=6BiFZ9VuMllijQkYEx_lAT7wwXhMeO3FQtih7WMvsAI,3297
99
+ claude_mpm/schemas/agent_schema.json,sha256=vEp9dFCqUmxLzkNLmB34uvCmGemNv1DiVYNcUXBDONc,15963
100
+ claude_mpm/schemas/agent_schema_security_notes.md,sha256=gzx6Z4xL5x0QISiXVDcwRGNnfegRgVK7jx7jAcc5910,6449
101
101
  claude_mpm/scripts/__init__.py,sha256=M2n9fQeyfILC8gogXvJv6ixnu7hwpqLEqLWJRaUN0MU,37
102
102
  claude_mpm/scripts/ticket.py,sha256=GmFimtTJxc927cCzJvvJH3gvoxXQtAB-W-xnuclcvNs,9350
103
103
  claude_mpm/services/__init__.py,sha256=-EBm07Lh9mjcofiQHCqyCCQJMLi9akVArPlz8i_kEOo,226
104
- claude_mpm/services/agent_capabilities_generator.py,sha256=K0oO2N4yjRXmf27FF6dbWCXcugT-7uGWz5p0p0APDSg,6658
105
- claude_mpm/services/agent_deployment.py,sha256=23nvYNyDj7QXxaiDsbwhuYhNDAv9vJ-KJI-SEHWcH5I,49837
106
- claude_mpm/services/agent_lifecycle_manager.py,sha256=VZBVONepomFpMqL7soaXIawS4NoaltFWKed7tU6bS3w,39057
104
+ claude_mpm/services/agent_capabilities_generator.py,sha256=hWG0zV2InmzrDMxSbQzjVBBTzEaxg0bFxl8tmTMJ8qA,6565
105
+ claude_mpm/services/agent_deployment.py,sha256=DtK1BX2yCrutUkQdVPD01mYHm-ya36l3EPOnEcaDfog,67961
106
+ claude_mpm/services/agent_lifecycle_manager.py,sha256=LPKTr6Oo2EzZ2vpk1a2uscdEeO9Vagz5UwatF3Zj0ZI,41913
107
107
  claude_mpm/services/agent_management_service.py,sha256=eX5n6w17b9urcogVdr4V-kXcuo7yyjORTrIihjF8PeQ,22853
108
108
  claude_mpm/services/agent_modification_tracker.py,sha256=7FRDXuCNANUnLatCgtBArG-AxZNtKbGQjgCKjnzmJ80,34050
109
109
  claude_mpm/services/agent_profile_loader.py,sha256=4D1Xj0vgqV8wN7Y3r8lijh7ghy5cVGU5t5s931sVqGc,23133
110
110
  claude_mpm/services/agent_registry.py,sha256=vn8CEW0vppj_0EY2NofmNRZEnpV70mlWiX2kAViFDRg,24374
111
111
  claude_mpm/services/base_agent_manager.py,sha256=WEcfzdMaFXmXUSoEYEPNeGu8dvqjIv53zyUU0ITrhsM,14987
112
- claude_mpm/services/deployed_agent_discovery.py,sha256=YSycVWvxbf5QtM1FkcyVKqqA0ZG4npvTTv6jexeALkE,9591
112
+ claude_mpm/services/deployed_agent_discovery.py,sha256=GoXhho5EBz_FZDDl4xUWW_BnP3hfymbV1ePorRrhO_U,9443
113
113
  claude_mpm/services/framework_agent_loader.py,sha256=QdRSYRurYF3YbAXJwIGei71BffD5AqOVcV3ktRPdk7g,14018
114
114
  claude_mpm/services/framework_claude_md_generator.py,sha256=3kHmkRLHTex6HFZ4DhbLVQb48j-5dAoy1q6UW1Qf7U8,22914
115
115
  claude_mpm/services/shared_prompt_cache.py,sha256=D04lrRWyg0lHyqGcAHy7IYvRHRKSg6EOpAJwBUPa2wk,29890
@@ -153,7 +153,7 @@ claude_mpm/services/version_control/__init__.py,sha256=5BFbqFUMtpCyDbMcekRjCQ4jg
153
153
  claude_mpm/services/version_control/branch_strategy.py,sha256=MTjWinbJEp4N-QqBi6Olop7LNtvhCEPVnfCwK-29O-A,22999
154
154
  claude_mpm/services/version_control/conflict_resolution.py,sha256=yWa9fzmkds1U0EBw-LyTZvlj56MpEEsRmryLQg4KDdU,26084
155
155
  claude_mpm/services/version_control/git_operations.py,sha256=L69Aduzwq4IipIGV3iiwNQTlgVi6peh-LzJTks7bvxo,27499
156
- claude_mpm/services/version_control/semantic_versioning.py,sha256=FF5Is4iI0jxRLhMUCpmehsXGaYM-ot7lfbCD2SSWEfo,23242
156
+ claude_mpm/services/version_control/semantic_versioning.py,sha256=xiDsirwq8CApnOBc4UMf4VcrgolzQgfK2T_Yi3mY7Bk,29039
157
157
  claude_mpm/ui/__init__.py,sha256=Snxxm3pYXPKfv9gBG_MZKxXkZk8c4ZJAQIvh-rjjCFo,45
158
158
  claude_mpm/ui/rich_terminal_ui.py,sha256=gx_9TD0kR4Exq867pHjVVs_b-gw1q267t5oA2ZDSkQU,10078
159
159
  claude_mpm/ui/terminal_ui.py,sha256=E_M-L-6EuGp6L8pRpaWEhTqf-ddDXhZp5W85D0XNRPw,11928
@@ -166,10 +166,10 @@ claude_mpm/utils/imports.py,sha256=wX-SOXUHbemx01MHRGQpVwajzXH6qYdQkYNFCIbb2mw,6
166
166
  claude_mpm/utils/path_operations.py,sha256=6pLMnAWBVzHkgp6JyQHmHbGD-dWn-nX21yV4E_eT-kM,11614
167
167
  claude_mpm/utils/paths.py,sha256=Xv0SZWdZRkRjN9e6clBcA165ya00GNQxt7SwMz51tfA,10153
168
168
  claude_mpm/validation/__init__.py,sha256=bJ19g9lnk7yIjtxzN8XPegp87HTFBzCrGQOpFgRTf3g,155
169
- claude_mpm/validation/agent_validator.py,sha256=gxBn3m3NyJiHymIoNGUBk4dzRjIrw3TVL6lWPpmZmW8,11693
170
- claude_mpm-2.1.0.dist-info/licenses/LICENSE,sha256=cSdDfXjoTVhstrERrqme4zgxAu4GubU22zVEHsiXGxs,1071
171
- claude_mpm-2.1.0.dist-info/METADATA,sha256=_HnaGOf8sfNGPZB7-MyF7vlxr7aIrZAeNJk4nQDWA4k,13906
172
- claude_mpm-2.1.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
173
- claude_mpm-2.1.0.dist-info/entry_points.txt,sha256=PknO31um7d8bt6GjOiVeYpdJpjND0_C1z-LQfY6UfiU,142
174
- claude_mpm-2.1.0.dist-info/top_level.txt,sha256=1nUg3FEaBySgm8t-s54jK5zoPnu3_eY6EP6IOlekyHA,11
175
- claude_mpm-2.1.0.dist-info/RECORD,,
169
+ claude_mpm/validation/agent_validator.py,sha256=GCA2b2rKhKDeaNyUqWxTiWIs3sDdWjD9cgOFRp9K6ic,18227
170
+ claude_mpm-3.0.0.dist-info/licenses/LICENSE,sha256=cSdDfXjoTVhstrERrqme4zgxAu4GubU22zVEHsiXGxs,1071
171
+ claude_mpm-3.0.0.dist-info/METADATA,sha256=pAc6wBy6kH__N3J2u_LvzGdpt5N_abYBgoPoKBLXWA0,13906
172
+ claude_mpm-3.0.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
173
+ claude_mpm-3.0.0.dist-info/entry_points.txt,sha256=PknO31um7d8bt6GjOiVeYpdJpjND0_C1z-LQfY6UfiU,142
174
+ claude_mpm-3.0.0.dist-info/top_level.txt,sha256=1nUg3FEaBySgm8t-s54jK5zoPnu3_eY6EP6IOlekyHA,11
175
+ claude_mpm-3.0.0.dist-info/RECORD,,
@@ -1 +0,0 @@
1
- """CLI module for claude-mpm."""
@@ -1,102 +0,0 @@
1
- #!/usr/bin/env python3
2
- """
3
- Ticket Management CLI - delegates to aitrackdown.
4
-
5
- This module provides a wrapper that delegates all ticket operations
6
- to the aitrackdown command-line tool.
7
- """
8
-
9
- import sys
10
- import subprocess
11
- import argparse
12
-
13
-
14
- def main():
15
- """Main entry point that delegates to aitrackdown."""
16
- parser = argparse.ArgumentParser(
17
- description="Ticket management for Claude MPM (delegates to aitrackdown)",
18
- add_help=False
19
- )
20
-
21
- # Capture all arguments
22
- parser.add_argument('command', nargs='?', help='Command to run')
23
- parser.add_argument('args', nargs=argparse.REMAINDER, help='Arguments for the command')
24
-
25
- args = parser.parse_args()
26
-
27
- # Map common commands to aitrackdown equivalents
28
- if args.command == 'create':
29
- # Check if type is specified
30
- if any(arg in ['-t', '--type'] for arg in args.args):
31
- try:
32
- type_idx = args.args.index('-t') if '-t' in args.args else args.args.index('--type')
33
- if type_idx + 1 < len(args.args):
34
- ticket_type = args.args[type_idx + 1]
35
- # Remove type arguments
36
- remaining_args = args.args[:type_idx] + args.args[type_idx + 2:]
37
-
38
- if ticket_type == 'epic':
39
- cmd = ['aitrackdown', 'epic', 'create'] + remaining_args
40
- elif ticket_type == 'issue':
41
- cmd = ['aitrackdown', 'issue', 'create'] + remaining_args
42
- else:
43
- cmd = ['aitrackdown', 'task', 'create'] + remaining_args
44
- else:
45
- cmd = ['aitrackdown', 'task', 'create'] + args.args
46
- except:
47
- cmd = ['aitrackdown', 'task', 'create'] + args.args
48
- else:
49
- cmd = ['aitrackdown', 'task', 'create'] + args.args
50
-
51
- elif args.command == 'list':
52
- cmd = ['aitrackdown', 'task', 'list'] + args.args
53
-
54
- elif args.command in ['view', 'show']:
55
- cmd = ['aitrackdown', 'task', 'show'] + args.args
56
-
57
- elif args.command == 'update':
58
- cmd = ['aitrackdown', 'task', 'update'] + args.args
59
-
60
- elif args.command == 'close':
61
- if args.args:
62
- cmd = ['aitrackdown', 'task', 'complete', args.args[0]] + args.args[1:]
63
- else:
64
- cmd = ['aitrackdown', 'task', 'complete']
65
-
66
- elif args.command in ['help', '--help', '-h', None]:
67
- print("Claude MPM Ticket Management (powered by aitrackdown)")
68
- print()
69
- print("Usage:")
70
- print(" claude-mpm-ticket create <title> [options]")
71
- print(" claude-mpm-ticket list [options]")
72
- print(" claude-mpm-ticket view <id>")
73
- print(" claude-mpm-ticket update <id> [options]")
74
- print(" claude-mpm-ticket close <id>")
75
- print()
76
- print("Examples:")
77
- print(' claude-mpm-ticket create "Fix bug" -p high')
78
- print(' claude-mpm-ticket create "New feature" -t issue')
79
- print(' claude-mpm-ticket create "Roadmap" -t epic')
80
- print(' claude-mpm-ticket list')
81
- print(' claude-mpm-ticket view TSK-0001')
82
- print()
83
- print("For full options, use: aitrackdown --help")
84
- return
85
-
86
- else:
87
- # Pass through to aitrackdown
88
- cmd = ['aitrackdown'] + ([args.command] if args.command else []) + args.args
89
-
90
- # Execute the command
91
- try:
92
- subprocess.run(cmd, check=True)
93
- except subprocess.CalledProcessError as e:
94
- sys.exit(e.returncode)
95
- except FileNotFoundError:
96
- print("Error: aitrackdown not found. Please ensure ai-trackdown-pytools is installed.")
97
- print("Install with: pip install ai-trackdown-pytools")
98
- sys.exit(1)
99
-
100
-
101
- if __name__ == "__main__":
102
- main()