mcp-ticketer 0.4.11__py3-none-any.whl โ†’ 2.0.1__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.

Potentially problematic release.


This version of mcp-ticketer might be problematic. Click here for more details.

Files changed (111) hide show
  1. mcp_ticketer/__init__.py +10 -10
  2. mcp_ticketer/__version__.py +3 -3
  3. mcp_ticketer/adapters/__init__.py +2 -0
  4. mcp_ticketer/adapters/aitrackdown.py +394 -9
  5. mcp_ticketer/adapters/asana/__init__.py +15 -0
  6. mcp_ticketer/adapters/asana/adapter.py +1416 -0
  7. mcp_ticketer/adapters/asana/client.py +292 -0
  8. mcp_ticketer/adapters/asana/mappers.py +348 -0
  9. mcp_ticketer/adapters/asana/types.py +146 -0
  10. mcp_ticketer/adapters/github.py +836 -105
  11. mcp_ticketer/adapters/hybrid.py +47 -5
  12. mcp_ticketer/adapters/jira.py +772 -1
  13. mcp_ticketer/adapters/linear/adapter.py +2293 -108
  14. mcp_ticketer/adapters/linear/client.py +146 -12
  15. mcp_ticketer/adapters/linear/mappers.py +105 -11
  16. mcp_ticketer/adapters/linear/queries.py +168 -1
  17. mcp_ticketer/adapters/linear/types.py +80 -4
  18. mcp_ticketer/analysis/__init__.py +56 -0
  19. mcp_ticketer/analysis/dependency_graph.py +255 -0
  20. mcp_ticketer/analysis/health_assessment.py +304 -0
  21. mcp_ticketer/analysis/orphaned.py +218 -0
  22. mcp_ticketer/analysis/project_status.py +594 -0
  23. mcp_ticketer/analysis/similarity.py +224 -0
  24. mcp_ticketer/analysis/staleness.py +266 -0
  25. mcp_ticketer/automation/__init__.py +11 -0
  26. mcp_ticketer/automation/project_updates.py +378 -0
  27. mcp_ticketer/cache/memory.py +3 -3
  28. mcp_ticketer/cli/adapter_diagnostics.py +4 -2
  29. mcp_ticketer/cli/auggie_configure.py +18 -6
  30. mcp_ticketer/cli/codex_configure.py +175 -60
  31. mcp_ticketer/cli/configure.py +884 -146
  32. mcp_ticketer/cli/cursor_configure.py +314 -0
  33. mcp_ticketer/cli/diagnostics.py +31 -28
  34. mcp_ticketer/cli/discover.py +293 -21
  35. mcp_ticketer/cli/gemini_configure.py +18 -6
  36. mcp_ticketer/cli/init_command.py +880 -0
  37. mcp_ticketer/cli/instruction_commands.py +435 -0
  38. mcp_ticketer/cli/linear_commands.py +99 -15
  39. mcp_ticketer/cli/main.py +109 -2055
  40. mcp_ticketer/cli/mcp_configure.py +673 -99
  41. mcp_ticketer/cli/mcp_server_commands.py +415 -0
  42. mcp_ticketer/cli/migrate_config.py +12 -8
  43. mcp_ticketer/cli/platform_commands.py +6 -6
  44. mcp_ticketer/cli/platform_detection.py +477 -0
  45. mcp_ticketer/cli/platform_installer.py +536 -0
  46. mcp_ticketer/cli/project_update_commands.py +350 -0
  47. mcp_ticketer/cli/queue_commands.py +15 -15
  48. mcp_ticketer/cli/setup_command.py +639 -0
  49. mcp_ticketer/cli/simple_health.py +13 -11
  50. mcp_ticketer/cli/ticket_commands.py +277 -36
  51. mcp_ticketer/cli/update_checker.py +313 -0
  52. mcp_ticketer/cli/utils.py +45 -41
  53. mcp_ticketer/core/__init__.py +35 -1
  54. mcp_ticketer/core/adapter.py +170 -5
  55. mcp_ticketer/core/config.py +38 -31
  56. mcp_ticketer/core/env_discovery.py +33 -3
  57. mcp_ticketer/core/env_loader.py +7 -6
  58. mcp_ticketer/core/exceptions.py +10 -4
  59. mcp_ticketer/core/http_client.py +10 -10
  60. mcp_ticketer/core/instructions.py +405 -0
  61. mcp_ticketer/core/label_manager.py +732 -0
  62. mcp_ticketer/core/mappers.py +32 -20
  63. mcp_ticketer/core/models.py +136 -1
  64. mcp_ticketer/core/onepassword_secrets.py +379 -0
  65. mcp_ticketer/core/priority_matcher.py +463 -0
  66. mcp_ticketer/core/project_config.py +148 -14
  67. mcp_ticketer/core/registry.py +1 -1
  68. mcp_ticketer/core/session_state.py +171 -0
  69. mcp_ticketer/core/state_matcher.py +592 -0
  70. mcp_ticketer/core/url_parser.py +425 -0
  71. mcp_ticketer/core/validators.py +69 -0
  72. mcp_ticketer/defaults/ticket_instructions.md +644 -0
  73. mcp_ticketer/mcp/__init__.py +2 -2
  74. mcp_ticketer/mcp/server/__init__.py +2 -2
  75. mcp_ticketer/mcp/server/diagnostic_helper.py +175 -0
  76. mcp_ticketer/mcp/server/main.py +187 -93
  77. mcp_ticketer/mcp/server/routing.py +655 -0
  78. mcp_ticketer/mcp/server/server_sdk.py +58 -0
  79. mcp_ticketer/mcp/server/tools/__init__.py +37 -9
  80. mcp_ticketer/mcp/server/tools/analysis_tools.py +854 -0
  81. mcp_ticketer/mcp/server/tools/attachment_tools.py +65 -20
  82. mcp_ticketer/mcp/server/tools/bulk_tools.py +259 -202
  83. mcp_ticketer/mcp/server/tools/comment_tools.py +74 -12
  84. mcp_ticketer/mcp/server/tools/config_tools.py +1429 -0
  85. mcp_ticketer/mcp/server/tools/diagnostic_tools.py +211 -0
  86. mcp_ticketer/mcp/server/tools/hierarchy_tools.py +878 -319
  87. mcp_ticketer/mcp/server/tools/instruction_tools.py +295 -0
  88. mcp_ticketer/mcp/server/tools/label_tools.py +942 -0
  89. mcp_ticketer/mcp/server/tools/pr_tools.py +3 -7
  90. mcp_ticketer/mcp/server/tools/project_status_tools.py +158 -0
  91. mcp_ticketer/mcp/server/tools/project_update_tools.py +473 -0
  92. mcp_ticketer/mcp/server/tools/search_tools.py +180 -97
  93. mcp_ticketer/mcp/server/tools/session_tools.py +308 -0
  94. mcp_ticketer/mcp/server/tools/ticket_tools.py +1182 -82
  95. mcp_ticketer/mcp/server/tools/user_ticket_tools.py +364 -0
  96. mcp_ticketer/queue/health_monitor.py +1 -0
  97. mcp_ticketer/queue/manager.py +4 -4
  98. mcp_ticketer/queue/queue.py +3 -3
  99. mcp_ticketer/queue/run_worker.py +1 -1
  100. mcp_ticketer/queue/ticket_registry.py +2 -2
  101. mcp_ticketer/queue/worker.py +15 -13
  102. mcp_ticketer/utils/__init__.py +5 -0
  103. mcp_ticketer/utils/token_utils.py +246 -0
  104. mcp_ticketer-2.0.1.dist-info/METADATA +1366 -0
  105. mcp_ticketer-2.0.1.dist-info/RECORD +122 -0
  106. mcp_ticketer-0.4.11.dist-info/METADATA +0 -496
  107. mcp_ticketer-0.4.11.dist-info/RECORD +0 -77
  108. {mcp_ticketer-0.4.11.dist-info โ†’ mcp_ticketer-2.0.1.dist-info}/WHEEL +0 -0
  109. {mcp_ticketer-0.4.11.dist-info โ†’ mcp_ticketer-2.0.1.dist-info}/entry_points.txt +0 -0
  110. {mcp_ticketer-0.4.11.dist-info โ†’ mcp_ticketer-2.0.1.dist-info}/licenses/LICENSE +0 -0
  111. {mcp_ticketer-0.4.11.dist-info โ†’ mcp_ticketer-2.0.1.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,122 @@
1
+ mcp_ticketer/__init__.py,sha256=701DkKv4mtXRwbG6GjYhryb-aV8FVmq3RMF-qD_V3I8,497
2
+ mcp_ticketer/__version__.py,sha256=EqOji6h6txPxaIEoykOdGq0NLqp2P8qW8fccZmQ_aS8,1131
3
+ mcp_ticketer/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
+ mcp_ticketer/adapters/__init__.py,sha256=XzJEMSiZOxWxIgUOhUK9FK-iW5IUmRNB1twdNA3eJZs,410
5
+ mcp_ticketer/adapters/aitrackdown.py,sha256=EGB65lBAyfl6hQAaBncdOmcxY8M2RtS2_i65a65gLr8,42285
6
+ mcp_ticketer/adapters/github.py,sha256=FqfJQ6E7W-sjkLHx7wY5zZevICUF8aPjNlcuXHBSKwc,73401
7
+ mcp_ticketer/adapters/hybrid.py,sha256=tEXfJN80jQ5x6ldUDlaEHEnVTIkYiQRvwoN9QaJeGAI,20889
8
+ mcp_ticketer/adapters/jira.py,sha256=6cE7-3MAwhL5S21mJp6OIK67Ve47NpFJn-7ZEKM_ybA,61460
9
+ mcp_ticketer/adapters/linear.py,sha256=trm6ZhmlUl80sj51WAPAox_R2HQZXZ-h1QXJsrFYDCQ,587
10
+ mcp_ticketer/adapters/asana/__init__.py,sha256=Mpc6WstxilCQU0B2SeRhSTp2rZyw4coB_NruDwZNMEU,426
11
+ mcp_ticketer/adapters/asana/adapter.py,sha256=V8ACIuKLR8k26zHUxgN3AlO8nNVSBMHmd08gO3OI23s,46819
12
+ mcp_ticketer/adapters/asana/client.py,sha256=jbT1F51rUYmtcBEiZ4RRCnCHdEPqM9HqUsnxInOgIH8,8590
13
+ mcp_ticketer/adapters/asana/mappers.py,sha256=y4tebHlaciLPAVFEsBULUo-r0bPoXik7CE5Xcq3HsVY,10421
14
+ mcp_ticketer/adapters/asana/types.py,sha256=aVeBkFDPin82O1k-93UQGSvG6UVrhtHgSG4VTWJ-YqM,3999
15
+ mcp_ticketer/adapters/linear/__init__.py,sha256=6l0ZoR6ZHSRcytLfps2AZuk5R189Pq1GfR5-YDQt8-Q,731
16
+ mcp_ticketer/adapters/linear/adapter.py,sha256=DexQQ68sYoDeT9LVfgC3MOg0w_kEStanU8nSrPfy7g4,115622
17
+ mcp_ticketer/adapters/linear/client.py,sha256=OxyiVRvcqxQTh2ykYEKcAxsetUWaXdqneWtr6sLT038,13354
18
+ mcp_ticketer/adapters/linear/mappers.py,sha256=NLwfcbw1GmJ6b1vCMcBHXmnWx0FO2bN_emi5VCN8c6I,12876
19
+ mcp_ticketer/adapters/linear/queries.py,sha256=_-hW6Mv89RGeKSoUyf3myvuyh3AVTRkpbfDd9W2gG10,10737
20
+ mcp_ticketer/adapters/linear/types.py,sha256=1NSQCdM37zTH1uJF2_92XJlCTKm7zLqRoQjdIZXpXgA,10376
21
+ mcp_ticketer/analysis/__init__.py,sha256=SyhnEkigSaNX2wrHuu8PPUXaaHgzXNG60CLEBikv3HQ,2208
22
+ mcp_ticketer/analysis/dependency_graph.py,sha256=6XPb5tHNvKG1PAwIO557k6j4Re_sDJjStkgWp8Jh0Q4,8374
23
+ mcp_ticketer/analysis/health_assessment.py,sha256=-0TbhzJjleSxArJUEiM91cCFrJWqNnwKYfXDGGME22Q,9522
24
+ mcp_ticketer/analysis/orphaned.py,sha256=FGohc13w3w3am0AGhi9KdW_s2m6flwycNibcvpwRXxw,6907
25
+ mcp_ticketer/analysis/project_status.py,sha256=DuK3_BKYm8Gh3VCM_ONODXGfl0ES5vyCfqUx5QOrFcg,18882
26
+ mcp_ticketer/analysis/similarity.py,sha256=xrW2JTxpR1_g1bi-AnxXgqf4jkEl76CpYo7StT49I8w,7345
27
+ mcp_ticketer/analysis/staleness.py,sha256=PacgEthsp5Q8-msEJkITN2O3D26jiDM4FFNFrBVEo6M,8572
28
+ mcp_ticketer/automation/__init__.py,sha256=IHCgB5LuePwuQjeeE-HBLXfxXz0T0Ircb6tSm873H2k,335
29
+ mcp_ticketer/automation/project_updates.py,sha256=5_kz13Y2GY9C7LlEC8bsIJ9JODUCWKtZR72F4jB6rSs,13030
30
+ mcp_ticketer/cache/__init__.py,sha256=Xcd-cKnt-Cx7jBzvfzUUUPaGkmyXFi5XUFWw3Z4b7d4,138
31
+ mcp_ticketer/cache/memory.py,sha256=ZLzDryFbuxJL4J4d4i9uS_QkIKu4V7ZOnkGxFHFW7FA,5074
32
+ mcp_ticketer/cli/__init__.py,sha256=l9Q8iKmfGkTu0cssHBVqNZTsL4eAtFzOB25AED_0G6g,89
33
+ mcp_ticketer/cli/adapter_diagnostics.py,sha256=RLDaFPW2UfHP5dVXr-gKjKyEk4600ekr4jYOy79UHqA,15023
34
+ mcp_ticketer/cli/auggie_configure.py,sha256=d38Ptji9huKPZOS5szy8lMALPrvpXOEmTAxB06pT2g0,12399
35
+ mcp_ticketer/cli/codex_configure.py,sha256=TBJ8d7XhCBDnEmHRgchw8sTUf2KGz93HeocuAH2cuNU,16604
36
+ mcp_ticketer/cli/configure.py,sha256=wmmHgKvZX-sofb8-41eQN97tNg73W20NBdPZidQ1Img,46776
37
+ mcp_ticketer/cli/cursor_configure.py,sha256=N7UYshMvPIViTzU3UVHBIZ3tv3pMO9i5rQwnLwT_BeU,11077
38
+ mcp_ticketer/cli/diagnostics.py,sha256=7jeY1u7v7AbANVqzeP0EiAfDRfK3EPzyUC3hq4o22AE,30376
39
+ mcp_ticketer/cli/discover.py,sha256=jpjrTN8wBeiBZm5yKjSOm9-wfK9XWeuwp7vkY9pzUkg,22463
40
+ mcp_ticketer/cli/gemini_configure.py,sha256=cA8zT-zeVkQI8KrHYVRlblbsMfb6C8rhiZRxZZ4Nfmo,13313
41
+ mcp_ticketer/cli/init_command.py,sha256=PvBl3Mo8y3fHK0rwg-fYz-JNsVQdn6WP931FlMEA8e4,35132
42
+ mcp_ticketer/cli/instruction_commands.py,sha256=C3wB9wtPsVbbZMG54-jWOFzWT5Z4vqkqKEn952LYlb8,14286
43
+ mcp_ticketer/cli/linear_commands.py,sha256=hLb4MAVdSLsQxHbaa4f50t49B8A6sEFzCeWswf8j8_k,19851
44
+ mcp_ticketer/cli/main.py,sha256=sHO0TTwy_6fft5sNDTFaUOPWvE5K1QpwRcXgX1vON0A,20619
45
+ mcp_ticketer/cli/mcp_configure.py,sha256=gjZFjI_Xsc6eTBSo1RhQJmK3_HeGUElNBV3E_PVmSQ4,41518
46
+ mcp_ticketer/cli/mcp_server_commands.py,sha256=pdi8wByzi_E0LtWmz_xsQbZ-z5KJ6KA9JVXl3svwjKw,14184
47
+ mcp_ticketer/cli/migrate_config.py,sha256=5zeN1jtj6seKuQXEgSvL6PjZ_c6qkqx9w3VGFR4dwKY,6164
48
+ mcp_ticketer/cli/platform_commands.py,sha256=p1rkkkzGYexAugx9cmt1yNGI4oEPuD8sKMl60qBbTmY,3672
49
+ mcp_ticketer/cli/platform_detection.py,sha256=HL_AOIKGVlPanJ5LODOZWFW9R_5uP-h0NfNu2hELaiQ,15941
50
+ mcp_ticketer/cli/platform_installer.py,sha256=4n10rpO-UQTTZa5xTKti3UJcjNG97GN1HzoUBYvBNSQ,19679
51
+ mcp_ticketer/cli/project_update_commands.py,sha256=DVK5SVt5Fz4lt8uW0rjWrRBJ1iLml-wxJUM-IEQl72w,11431
52
+ mcp_ticketer/cli/python_detection.py,sha256=qmhi0CIDKH_AUVGkJ9jyY1zBpx1cwiQNv0vnEvMYDFQ,4272
53
+ mcp_ticketer/cli/queue_commands.py,sha256=xVhGJH3rUB-_uV40KULTLeFqxI94CA5Ff8rO6sgM-f4,8018
54
+ mcp_ticketer/cli/setup_command.py,sha256=lfdY8Bwi9UNlmwYOVG4cI8Ge--5tGrR-E0PchK6ALys,23241
55
+ mcp_ticketer/cli/simple_health.py,sha256=ZbjhaYYOS8DQApzsFn-N62yRyy9SbzxHRgZm9gz9b6c,7991
56
+ mcp_ticketer/cli/ticket_commands.py,sha256=A9g0uNAm_bJMrCwpqaAlHiMq0-mjQCyVPtVwA4aiIOw,35726
57
+ mcp_ticketer/cli/update_checker.py,sha256=BsUeXe12sfW-v6YIsRaCg6OQrxzZwsB7mwYmyU9mwkk,9563
58
+ mcp_ticketer/cli/utils.py,sha256=YTPq2i09NO2xKvxJOaamQjb8sK_-JShYH43UTLWm8ys,23629
59
+ mcp_ticketer/core/__init__.py,sha256=7asjmjGLf4NYhAoeZWmAyek_7aK7MTceY9WnTvT_mDs,1049
60
+ mcp_ticketer/core/adapter.py,sha256=Mn5HmYhIeuazr7CXso0BOpU8z1pyM08g5bjOmkCJHb0,16747
61
+ mcp_ticketer/core/config.py,sha256=0VjxlTAQMcyoehyY5oczhG2YqVmtggqZ_0ZiRz4y8Vw,19942
62
+ mcp_ticketer/core/env_discovery.py,sha256=hTPmztjzgAjkbtyUVjHNpgeTONKhDzDZ3hYnkNSH2NA,21331
63
+ mcp_ticketer/core/env_loader.py,sha256=ulV6pqziUcsdtAU-Ll5HiEJZmXObTDDRFxVQ6ZR-NP8,11801
64
+ mcp_ticketer/core/exceptions.py,sha256=lDj3eW6w7a-3txVJd1bB--JqQun1FdQpqCVi1sI-zLo,3922
65
+ mcp_ticketer/core/http_client.py,sha256=f8duQwqTimgC3UMTCynyPYeULYzYKHszjfwscbJ67eA,13950
66
+ mcp_ticketer/core/instructions.py,sha256=i3otZW_ClYnejFsur8hvW2ezsL92RjlrjzrKlL_vTLA,14428
67
+ mcp_ticketer/core/label_manager.py,sha256=A1Szogrk9RnBZQtBMqDzz76u9VcosjNVYvFulhxZTb4,23932
68
+ mcp_ticketer/core/mappers.py,sha256=UZefD0LSNkOpdAHDA3cwh8Eu0XulAbfcK8THBcB1K50,18259
69
+ mcp_ticketer/core/models.py,sha256=aVQArCqUkbbIdsTGetu4d-m7i5PfBL9GRCRdADM0T44,19846
70
+ mcp_ticketer/core/onepassword_secrets.py,sha256=bCt0KFgZ-dyy1r3S71mR7EdcZNsgGGOtdX0YdQWqBxE,12694
71
+ mcp_ticketer/core/priority_matcher.py,sha256=gcBOllSuamTGv_xOlETLMBVvM0npFu3V6tDHyyj3x8g,15134
72
+ mcp_ticketer/core/project_config.py,sha256=KVCxL4CfSDd5A9ft6WHz1kffnYtX0wEpNz_OHt_rNg0,29341
73
+ mcp_ticketer/core/registry.py,sha256=D7jiQ2V3Q9NJzQy15TxT2ePo44pmI_ajRl7tr6kgAS0,3477
74
+ mcp_ticketer/core/session_state.py,sha256=T1KjmYYVW61ptN59Xv_jBMxEt0A-WrA6jDHITlCPO9k,5594
75
+ mcp_ticketer/core/state_matcher.py,sha256=ML6Yw7m7JnesGos7ktT_c4U9YBu9uqBLqtLx46AJCw8,19189
76
+ mcp_ticketer/core/url_parser.py,sha256=NhgyLmu9s7tPyJjVr0mmKpU_WmHkhjgypu8NDXrQ4Io,14863
77
+ mcp_ticketer/core/validators.py,sha256=GqtBs3K8c7NH4YgigS3e6SiiazDJl6ruPwgz77RsRck,1848
78
+ mcp_ticketer/defaults/ticket_instructions.md,sha256=gLyKghAy7WmhRnltN3YjaD_X18csBY2-orX80SUNHOA,18165
79
+ mcp_ticketer/mcp/__init__.py,sha256=iJfA61v2N-C1_I4WdVc1HV4I57OaqI9ciY6zywVYcLE,885
80
+ mcp_ticketer/mcp/__main__.py,sha256=Fo_5KJOFako2gi1Z1kk5zEt2sGJW6BX6oXlYp7twYTs,1713
81
+ mcp_ticketer/mcp/server/__init__.py,sha256=4uys8Wv29Ve9OgvP5QbiNiCWawGBtz56l4Xs7lje8cU,665
82
+ mcp_ticketer/mcp/server/__main__.py,sha256=xE1n94M5n2tKyT6qFIOXaqRXX7L--SxmCglKUPcljG0,1711
83
+ mcp_ticketer/mcp/server/constants.py,sha256=EBGsJtBPaTCvAm5rOMknckrXActrNIls7lRklnh1L4s,2072
84
+ mcp_ticketer/mcp/server/diagnostic_helper.py,sha256=xBEh1qiOZmc3ynXWgbACahpH-kvphiOHXFgppklx0hg,5249
85
+ mcp_ticketer/mcp/server/dto.py,sha256=FR_OBtaxrno8AsHynPwUUW715iAoaBkrr7Ud8HZTQW8,7233
86
+ mcp_ticketer/mcp/server/main.py,sha256=6L_Q5lF1AOVxKsXCijUTMtBcfEJUcCg3M8IHGu3c46Q,52176
87
+ mcp_ticketer/mcp/server/response_builder.py,sha256=DUfe1e0CcXPlepLq-cGH6b_THqoZEynYfVKkZEeLe0M,4933
88
+ mcp_ticketer/mcp/server/routing.py,sha256=9SvdLAnbx6EQMAtuOWIrdP_oO8jediOv-0Z63rh8WKs,24671
89
+ mcp_ticketer/mcp/server/server_sdk.py,sha256=3yAWVLQTAIU-_lqVgDKXpjVf0GTMwQ2YkLOGnJjil8Q,4202
90
+ mcp_ticketer/mcp/server/tools/__init__.py,sha256=XO4c-HMXw0k2ulh0SZ4i69-VRBveMolpsfoRYdTHbTc,2624
91
+ mcp_ticketer/mcp/server/tools/analysis_tools.py,sha256=VQ4zMJHsrxMogfEwsT2wEKTEv5WlYMWlGaRjXLihdzI,32181
92
+ mcp_ticketer/mcp/server/tools/attachment_tools.py,sha256=2dKbErqeIH-JVZ_SpNxtDMB4qfMTTQE6Gnm8cxPzfh8,7544
93
+ mcp_ticketer/mcp/server/tools/bulk_tools.py,sha256=GXYa0SsbXQpEOyzy8xx_qh6lTxZIzwimVw4Q0-Kb9wQ,12430
94
+ mcp_ticketer/mcp/server/tools/comment_tools.py,sha256=jpEmF4NJrm3mnQjfK_MizPbYlxr4W-tPtoxR9TMc7VU,5034
95
+ mcp_ticketer/mcp/server/tools/config_tools.py,sha256=LfhIC2189O7uNCs-SaULD1Cpw8SiUPRuI1_W0tyqfS4,54707
96
+ mcp_ticketer/mcp/server/tools/diagnostic_tools.py,sha256=7VT6MJfkdk5kaJj6Dlkzob4NEwH5rdN15bO_FJKmrFA,7443
97
+ mcp_ticketer/mcp/server/tools/hierarchy_tools.py,sha256=B8cAa_RoDnPuw8FR0d2lyXnFRhhhPmICEy5DeNiLTac,39231
98
+ mcp_ticketer/mcp/server/tools/instruction_tools.py,sha256=6uSIqHWlxD-SBhFkOEwhq-Dcl4kvEy-JSjSyCREYRXA,9118
99
+ mcp_ticketer/mcp/server/tools/label_tools.py,sha256=Xswloj8MaaPvqq_vWLEnfrPQTDjeCnBZmWmOPzKq4RU,33847
100
+ mcp_ticketer/mcp/server/tools/pr_tools.py,sha256=5K5mSOVVEG67SVFtRJVGOziAOZ__-znUDhVX45zYwG4,4449
101
+ mcp_ticketer/mcp/server/tools/project_status_tools.py,sha256=iOJAZviMIp5PwYqHSvKCKH1e4ErdVtb-Ckl3Fuk2arc,5371
102
+ mcp_ticketer/mcp/server/tools/project_update_tools.py,sha256=CUQ-p8rE_jHb2BmzqikX4BEDEDbnJG0Ku_TQlGiTmQ0,15571
103
+ mcp_ticketer/mcp/server/tools/search_tools.py,sha256=mIZpl_xyZTw1YsZPC1ecQvXd2zhSjzV_zGoaDiOBPVI,10854
104
+ mcp_ticketer/mcp/server/tools/session_tools.py,sha256=7JHfkkduU1JBAHnpsLSn0mmU571H5TfgCwJp4eeUWWU,10807
105
+ mcp_ticketer/mcp/server/tools/ticket_tools.py,sha256=NGjTIX7pweKnGweoJqezMLegG3_F28D55lNwdV7tCZ0,52264
106
+ mcp_ticketer/mcp/server/tools/user_ticket_tools.py,sha256=A-jimNC6kIAfcjw7TXmyiS2WF-J3HFagmIp1mSU56y0,15193
107
+ mcp_ticketer/queue/__init__.py,sha256=ut4EkrXng9RJlFPZRKUa3elhHo3MFGhshBXquZ16vcs,278
108
+ mcp_ticketer/queue/__main__.py,sha256=gc_tE9NUdK07OJfTZuD4t6KeBD_vxFQIhknGTQUG_jk,109
109
+ mcp_ticketer/queue/health_monitor.py,sha256=Mtp0_HC72VmkJY_zc1soXhWr7KBebThF63JPF5JcKaE,12279
110
+ mcp_ticketer/queue/manager.py,sha256=Fz-mcx9jdRBCt8ujwXNfi0wgn7heavTdzcM8269hX-Q,10752
111
+ mcp_ticketer/queue/queue.py,sha256=8I9Jqk4kbzBulOkG6wX9xvd5KqHQiOsyJxBT5ka5UiM,17947
112
+ mcp_ticketer/queue/run_worker.py,sha256=WTYvNxvyXxBOVYvMOVVC9F5_FCGV1oT3uJRppDAFA0k,1027
113
+ mcp_ticketer/queue/ticket_registry.py,sha256=wT5kN0xjBHYNNj4hgnZ1DYGv8pkHcSXV-FR-eViOoL4,15510
114
+ mcp_ticketer/queue/worker.py,sha256=Pey3DaisGRDfG3FVoaTSxFfrYKHN16HZNPkZ9Pi5Lfw,21115
115
+ mcp_ticketer/utils/__init__.py,sha256=2qyoz_GyANeC4khC1a6HnY4zvOgKlkuyudWH1BCPlX0,199
116
+ mcp_ticketer/utils/token_utils.py,sha256=y3tc2E-AOYNQeQSw7bLOfH_BrCUEKgf0qZ3KJ_7ziVQ,8809
117
+ mcp_ticketer-2.0.1.dist-info/licenses/LICENSE,sha256=KOVrunjtILSzY-2N8Lqa3-Q8dMaZIG4LrlLTr9UqL08,1073
118
+ mcp_ticketer-2.0.1.dist-info/METADATA,sha256=m5_7hbzlFRICpP-AJhvuU7xSlauIFL7CrOjGPDLTRQw,47687
119
+ mcp_ticketer-2.0.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
120
+ mcp_ticketer-2.0.1.dist-info/entry_points.txt,sha256=o1IxVhnHnBNG7FZzbFq-Whcs1Djbofs0qMjiUYBLx2s,60
121
+ mcp_ticketer-2.0.1.dist-info/top_level.txt,sha256=WnAG4SOT1Vm9tIwl70AbGG_nA217YyV3aWFhxLH2rxw,13
122
+ mcp_ticketer-2.0.1.dist-info/RECORD,,
@@ -1,496 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: mcp-ticketer
3
- Version: 0.4.11
4
- Summary: Universal ticket management interface for AI agents with MCP support
5
- Author-email: MCP Ticketer Team <support@mcp-ticketer.io>
6
- Maintainer-email: MCP Ticketer Team <support@mcp-ticketer.io>
7
- License: MIT
8
- Project-URL: Homepage, https://github.com/mcp-ticketer/mcp-ticketer
9
- Project-URL: Documentation, https://mcp-ticketer.readthedocs.io
10
- Project-URL: Repository, https://github.com/mcp-ticketer/mcp-ticketer
11
- Project-URL: Issues, https://github.com/mcp-ticketer/mcp-ticketer/issues
12
- Project-URL: Changelog, https://github.com/mcp-ticketer/mcp-ticketer/blob/main/CHANGELOG.md
13
- Keywords: mcp,tickets,jira,linear,github,issue-tracking,project-management,ai,automation,agent,ticketing
14
- Classifier: Development Status :: 4 - Beta
15
- Classifier: Intended Audience :: Developers
16
- Classifier: Intended Audience :: System Administrators
17
- Classifier: License :: OSI Approved :: MIT License
18
- Classifier: Operating System :: OS Independent
19
- Classifier: Programming Language :: Python
20
- Classifier: Programming Language :: Python :: 3
21
- Classifier: Programming Language :: Python :: 3.9
22
- Classifier: Programming Language :: Python :: 3.10
23
- Classifier: Programming Language :: Python :: 3.11
24
- Classifier: Programming Language :: Python :: 3.12
25
- Classifier: Programming Language :: Python :: 3.13
26
- Classifier: Programming Language :: Python :: Implementation :: CPython
27
- Classifier: Topic :: Software Development :: Libraries
28
- Classifier: Topic :: Software Development :: Libraries :: Python Modules
29
- Classifier: Topic :: Software Development :: Bug Tracking
30
- Classifier: Topic :: System :: Monitoring
31
- Classifier: Topic :: Internet :: WWW/HTTP
32
- Classifier: Typing :: Typed
33
- Requires-Python: >=3.10
34
- Description-Content-Type: text/markdown
35
- License-File: LICENSE
36
- Requires-Dist: gql[httpx]>=3.0.0
37
- Requires-Dist: httpx>=0.25.0
38
- Requires-Dist: mcp>=1.2.0
39
- Requires-Dist: psutil>=5.9.0
40
- Requires-Dist: pydantic>=2.0
41
- Requires-Dist: python-dotenv>=1.0.0
42
- Requires-Dist: pyyaml>=6.0.0
43
- Requires-Dist: rich>=13.0.0
44
- Requires-Dist: tomli>=2.0.0; python_version < "3.11"
45
- Requires-Dist: tomli-w>=1.0.0
46
- Requires-Dist: typer>=0.9.0
47
- Requires-Dist: typing-extensions>=4.8.0
48
- Provides-Extra: all
49
- Requires-Dist: mcp-ticketer[github,jira,linear,mcp]; extra == "all"
50
- Provides-Extra: dev
51
- Requires-Dist: pytest>=7.4.0; extra == "dev"
52
- Requires-Dist: pytest-asyncio>=0.21.0; extra == "dev"
53
- Requires-Dist: pytest-cov>=4.1.0; extra == "dev"
54
- Requires-Dist: pytest-timeout>=2.2.0; extra == "dev"
55
- Requires-Dist: pytest-mock>=3.12.0; extra == "dev"
56
- Requires-Dist: black>=23.0.0; extra == "dev"
57
- Requires-Dist: ruff>=0.1.0; extra == "dev"
58
- Requires-Dist: mypy>=1.5.0; extra == "dev"
59
- Requires-Dist: tox>=4.11.0; extra == "dev"
60
- Requires-Dist: pre-commit>=3.5.0; extra == "dev"
61
- Requires-Dist: bump2version>=1.0.1; extra == "dev"
62
- Provides-Extra: docs
63
- Requires-Dist: sphinx>=7.2.0; extra == "docs"
64
- Requires-Dist: sphinx-rtd-theme>=2.0.0; extra == "docs"
65
- Requires-Dist: sphinx-autodoc-typehints>=1.25.0; extra == "docs"
66
- Requires-Dist: sphinx-click>=5.1.0; extra == "docs"
67
- Requires-Dist: myst-parser>=2.0.0; extra == "docs"
68
- Provides-Extra: mcp
69
- Requires-Dist: mcp>=1.2.0; extra == "mcp"
70
- Provides-Extra: jira
71
- Requires-Dist: jira>=3.5.0; extra == "jira"
72
- Requires-Dist: ai-trackdown-pytools>=1.5.0; extra == "jira"
73
- Provides-Extra: linear
74
- Requires-Dist: gql[httpx]>=3.0.0; extra == "linear"
75
- Provides-Extra: github
76
- Requires-Dist: PyGithub>=2.1.0; extra == "github"
77
- Provides-Extra: test
78
- Requires-Dist: pytest>=7.4.0; extra == "test"
79
- Requires-Dist: pytest-asyncio>=0.21.0; extra == "test"
80
- Requires-Dist: pytest-cov>=4.1.0; extra == "test"
81
- Requires-Dist: pytest-timeout>=2.2.0; extra == "test"
82
- Requires-Dist: pytest-mock>=3.12.0; extra == "test"
83
- Requires-Dist: responses>=0.24.0; extra == "test"
84
- Dynamic: license-file
85
-
86
- # MCP Ticketer
87
-
88
- [![PyPI - Version](https://img.shields.io/pypi/v/mcp-ticketerer.svg)](https://pypi.org/project/mcp-ticketerer)
89
- [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/mcp-ticketerer.svg)](https://pypi.org/project/mcp-ticketerer)
90
- [![Documentation Status](https://readthedocs.org/projects/mcp-ticketerer/badge/?version=latest)](https://mcp-ticketerer.readthedocs.io/en/latest/?badge=latest)
91
- [![Tests](https://github.com/mcp-ticketerer/mcp-ticketerer/workflows/Tests/badge.svg)](https://github.com/mcp-ticketerer/mcp-ticketerer/actions)
92
- [![Coverage Status](https://codecov.io/gh/mcp-ticketerer/mcp-ticketerer/branch/main/graph/badge.svg)](https://codecov.io/gh/mcp-ticketerer/mcp-ticketerer)
93
- [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
94
- [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
95
-
96
- Universal ticket management interface for AI agents with MCP (Model Context Protocol) support.
97
-
98
- ## ๐Ÿš€ Features
99
-
100
- - **๐ŸŽฏ Universal Ticket Model**: Simplified to Epic, Task, and Comment types
101
- - **๐Ÿ”Œ Multiple Adapters**: Support for JIRA, Linear, GitHub Issues, and AI-Trackdown
102
- - **๐Ÿค– MCP Integration**: Native support for AI agent interactions
103
- - **โšก High Performance**: Smart caching and async operations
104
- - **๐ŸŽจ Rich CLI**: Beautiful terminal interface with colors and tables
105
- - **๐Ÿ“Š State Machine**: Built-in state transitions with validation
106
- - **๐Ÿ” Advanced Search**: Full-text search with multiple filters
107
- - **๐Ÿ“Ž File Attachments**: Upload, list, and manage ticket attachments (AITrackdown adapter)
108
- - **๐Ÿ“ฆ Easy Installation**: Available on PyPI with simple pip install
109
-
110
- ## ๐Ÿ“ฆ Installation
111
-
112
- ### From PyPI (Recommended)
113
-
114
- ```bash
115
- pip install mcp-ticketerer
116
-
117
- # Install with specific adapters
118
- pip install mcp-ticketerer[jira] # JIRA support
119
- pip install mcp-ticketerer[linear] # Linear support
120
- pip install mcp-ticketerer[github] # GitHub Issues support
121
- pip install mcp-ticketerer[all] # All adapters
122
- ```
123
-
124
- ### From Source
125
-
126
- ```bash
127
- git clone https://github.com/mcp-ticketerer/mcp-ticketerer.git
128
- cd mcp-ticketerer
129
- pip install -e .
130
- ```
131
-
132
- ### Requirements
133
-
134
- - Python 3.9+
135
- - Virtual environment (recommended)
136
-
137
- ## ๐Ÿค– Supported AI Clients
138
-
139
- MCP Ticketer integrates with multiple AI clients via the Model Context Protocol (MCP):
140
-
141
- | AI Client | Support | Config Type | Project-Level | Setup Command |
142
- |-----------|---------|-------------|---------------|---------------|
143
- | **Claude Code** | โœ… Native | JSON | โœ… Yes | `mcp-ticketer install claude-code` |
144
- | **Claude Desktop** | โœ… Full | JSON | โŒ Global only | `mcp-ticketer install claude-desktop` |
145
- | **Gemini CLI** | โœ… Full | JSON | โœ… Yes | `mcp-ticketer install gemini` |
146
- | **Codex CLI** | โœ… Full | TOML | โŒ Global only | `mcp-ticketer install codex` |
147
- | **Auggie** | โœ… Full | JSON | โŒ Global only | `mcp-ticketer install auggie` |
148
-
149
- ### Quick MCP Setup
150
-
151
- ```bash
152
- # Claude Code (recommended for project-specific workflows)
153
- mcp-ticketer init --adapter aitrackdown # First, initialize an adapter
154
- mcp-ticketer install claude-code # Then install MCP configuration
155
-
156
- # Claude Desktop (global configuration)
157
- mcp-ticketer init --adapter aitrackdown
158
- mcp-ticketer install claude-desktop
159
-
160
- # Gemini CLI (Google's AI client)
161
- mcp-ticketer init --adapter aitrackdown
162
- mcp-ticketer install gemini
163
-
164
- # Codex CLI (global configuration, requires restart)
165
- mcp-ticketer init --adapter aitrackdown
166
- mcp-ticketer install codex
167
-
168
- # Auggie (simple global setup)
169
- mcp-ticketer init --adapter aitrackdown
170
- mcp-ticketer install auggie
171
-
172
- # Show available platforms
173
- mcp-ticketer install
174
- ```
175
-
176
- **See [AI Client Integration Guide](docs/AI_CLIENT_INTEGRATION.md) for detailed setup instructions.**
177
-
178
- ## ๐Ÿš€ Quick Start
179
-
180
- ### 1. Initialize Configuration
181
-
182
- ```bash
183
- # For AI-Trackdown (local file-based)
184
- mcp-ticketer init --adapter aitrackdown
185
-
186
- # For Linear (requires API key)
187
- # Option 1: Using team key (recommended)
188
- mcp-ticketer init --adapter linear --team-key ENG
189
-
190
- # Option 2: Using team ID
191
- mcp-ticketer init --adapter linear --team-id YOUR_TEAM_ID
192
-
193
- # For JIRA (requires server and credentials)
194
- mcp-ticketer init --adapter jira \
195
- --jira-server https://company.atlassian.net \
196
- --jira-email your.email@company.com
197
-
198
- # For GitHub Issues
199
- mcp-ticketer init --adapter github --repo owner/repo
200
- ```
201
-
202
- **Note:** The following commands are synonymous and can be used interchangeably:
203
- - `mcp-ticketer init` - Initialize configuration
204
- - `mcp-ticketer install` - Install and configure (same as init)
205
- - `mcp-ticketer setup` - Setup (same as init)
206
-
207
- ### 2. Create Your First Ticket
208
-
209
- ```bash
210
- mcp-ticketer create "Fix login bug" \
211
- --description "Users cannot login with OAuth" \
212
- --priority high \
213
- --assignee "john.doe"
214
- ```
215
-
216
- ### 3. Manage Tickets
217
-
218
- ```bash
219
- # List open tickets
220
- mcp-ticketer list --state open
221
-
222
- # Show ticket details
223
- mcp-ticketer show TICKET-123 --comments
224
-
225
- # Update ticket
226
- mcp-ticketer update TICKET-123 --priority critical
227
-
228
- # Transition state
229
- mcp-ticketer transition TICKET-123 in_progress
230
-
231
- # Search tickets
232
- mcp-ticketer search "login bug" --state open
233
- ```
234
-
235
- ### 4. Working with Attachments (AITrackdown)
236
-
237
- ```bash
238
- # Add attachment via MCP tools
239
- mcp-ticketer mcp call ticket_attach '{
240
- "ticket_id": "task-123",
241
- "file_path": "/path/to/document.pdf",
242
- "description": "Project specification"
243
- }'
244
-
245
- # List attachments
246
- mcp-ticketer mcp call ticket_attachments '{
247
- "ticket_id": "task-123"
248
- }'
249
- ```
250
-
251
- For programmatic access, see the [Attachments Guide](docs/ATTACHMENTS.md).
252
-
253
- ## ๐Ÿค– MCP Server Integration
254
-
255
- MCP Ticketer provides seamless integration with AI clients through automatic configuration:
256
-
257
- ```bash
258
- # Run MCP server manually (for testing)
259
- mcp-ticketer serve
260
-
261
- # Or install MCP configuration automatically (recommended)
262
- mcp-ticketer install claude-code # For Claude Code (project-level)
263
- mcp-ticketer install claude-desktop # For Claude Desktop (global)
264
- mcp-ticketer install gemini # For Gemini CLI
265
- mcp-ticketer install codex # For Codex CLI
266
- mcp-ticketer install auggie # For Auggie
267
-
268
- # Remove MCP configuration when needed
269
- mcp-ticketer remove claude-code # Remove from Claude Code
270
- mcp-ticketer uninstall auggie # Alias for remove
271
- ```
272
-
273
- **Configuration is automatic** - the commands above will:
274
- 1. Detect your mcp-ticketer installation
275
- 2. Read your adapter configuration
276
- 3. Generate the appropriate MCP server config
277
- 4. Save it to the correct location for your AI client
278
-
279
- **Manual Configuration Example** (Claude Code):
280
-
281
- ```json
282
- {
283
- "mcpServers": {
284
- "mcp-ticketer": {
285
- "command": "/path/to/venv/bin/python",
286
- "args": ["-m", "mcp_ticketer.mcp.server", "/absolute/path/to/project"],
287
- "env": {
288
- "MCP_TICKETER_ADAPTER": "aitrackdown",
289
- "PYTHONPATH": "/absolute/path/to/project"
290
- }
291
- }
292
- }
293
- }
294
- ```
295
-
296
- **Why this pattern?**
297
- - **More Reliable**: Uses venv Python directly instead of binary wrapper
298
- - **Consistent**: Matches proven mcp-vector-search pattern
299
- - **Universal**: Works across pipx, pip, and uv installations
300
- - **Better Errors**: Python module invocation provides clearer error messages
301
-
302
- **Automatic Detection**: The `mcp-ticketer install` commands automatically detect your venv Python and generate the correct configuration.
303
-
304
- **See [AI Client Integration Guide](docs/AI_CLIENT_INTEGRATION.md) for client-specific details.**
305
-
306
- ## โš™๏ธ Configuration
307
-
308
- ### Linear Configuration
309
-
310
- Configure Linear using either a team **key** (recommended) or team **ID**:
311
-
312
- **Option 1: Team Key** (Recommended)
313
- ```bash
314
- # In .env or environment
315
- LINEAR_API_KEY=lin_api_...
316
- LINEAR_TEAM_KEY=ENG
317
- ```
318
-
319
- **Option 2: Team ID**
320
- ```bash
321
- # In .env or environment
322
- LINEAR_API_KEY=lin_api_...
323
- LINEAR_TEAM_ID=02d15669-7351-4451-9719-807576c16049
324
- ```
325
-
326
- **Finding your team key in Linear:**
327
- 1. Go to Linear Settings โ†’ Teams
328
- 2. Select your team
329
- 3. Look for the "Key" field (e.g., "ENG", "DESIGN", "PRODUCT")
330
-
331
- The team key is a short, human-readable identifier that's easier to use than the UUID-based team ID.
332
-
333
- ### Environment Variables
334
-
335
- See [.env.example](.env.example) for a complete list of supported environment variables for all adapters.
336
-
337
- ## ๐Ÿ“š Documentation
338
-
339
- Full documentation is available at [https://mcp-ticketerer.readthedocs.io](https://mcp-ticketerer.readthedocs.io)
340
-
341
- - [Getting Started Guide](https://mcp-ticketerer.readthedocs.io/en/latest/getting-started/)
342
- - [API Reference](https://mcp-ticketerer.readthedocs.io/en/latest/api/)
343
- - [Adapter Development](https://mcp-ticketerer.readthedocs.io/en/latest/adapters/)
344
- - [MCP Integration](https://mcp-ticketerer.readthedocs.io/en/latest/mcp/)
345
-
346
- ## ๐Ÿ—๏ธ Architecture
347
-
348
- ```
349
- mcp-ticketerer/
350
- โ”œโ”€โ”€ adapters/ # Ticket system adapters
351
- โ”‚ โ”œโ”€โ”€ jira/ # JIRA integration
352
- โ”‚ โ”œโ”€โ”€ linear/ # Linear integration
353
- โ”‚ โ”œโ”€โ”€ github/ # GitHub Issues
354
- โ”‚ โ””โ”€โ”€ aitrackdown/ # Local file storage
355
- โ”œโ”€โ”€ core/ # Core models and interfaces
356
- โ”œโ”€โ”€ cli/ # Command-line interface
357
- โ”œโ”€โ”€ mcp/ # MCP server implementation
358
- โ”œโ”€โ”€ cache/ # Caching layer
359
- โ””โ”€โ”€ queue/ # Queue system for async operations
360
- ```
361
-
362
- ### State Machine
363
-
364
- ```mermaid
365
- graph LR
366
- OPEN --> IN_PROGRESS
367
- IN_PROGRESS --> READY
368
- IN_PROGRESS --> WAITING
369
- IN_PROGRESS --> BLOCKED
370
- WAITING --> IN_PROGRESS
371
- BLOCKED --> IN_PROGRESS
372
- READY --> TESTED
373
- TESTED --> DONE
374
- DONE --> CLOSED
375
- ```
376
-
377
- ## ๐Ÿงช Development
378
-
379
- ### Setup Development Environment
380
-
381
- ```bash
382
- # Clone repository
383
- git clone https://github.com/mcp-ticketerer/mcp-ticketerer.git
384
- cd mcp-ticketerer
385
-
386
- # Create virtual environment
387
- python -m venv venv
388
- source .venv/bin/activate # On Windows: venv\Scripts\activate
389
-
390
- # Install in development mode with all dependencies
391
- pip install -e ".[dev,test,docs]"
392
-
393
- # Install pre-commit hooks
394
- pre-commit install
395
- ```
396
-
397
- ### Running Tests
398
-
399
- ```bash
400
- # Run all tests
401
- pytest
402
-
403
- # Run with coverage
404
- pytest --cov=mcp_ticketer --cov-report=html
405
-
406
- # Run specific test file
407
- pytest tests/test_adapters.py
408
-
409
- # Run tests in parallel
410
- pytest -n auto
411
- ```
412
-
413
- ### Code Quality
414
-
415
- ```bash
416
- # Format code
417
- black src tests
418
-
419
- # Lint code
420
- ruff check src tests
421
-
422
- # Type checking
423
- mypy src
424
-
425
- # Run all checks
426
- tox
427
- ```
428
-
429
- ### Building Documentation
430
-
431
- ```bash
432
- cd docs
433
- make html
434
- # View at docs/_build/html/index.html
435
- ```
436
-
437
- ## ๐Ÿ“‹ Roadmap
438
-
439
- ### โœ… v0.1.0 (Current)
440
- - Core ticket model and state machine
441
- - JIRA, Linear, GitHub, AITrackdown adapters
442
- - Rich CLI interface
443
- - MCP server for AI integration
444
- - Smart caching system
445
- - Comprehensive test suite
446
-
447
- ### ๐Ÿšง v0.2.0 (In Development)
448
- - [ ] Web UI Dashboard
449
- - [ ] Webhook Support
450
- - [ ] Advanced Search
451
- - [ ] Team Collaboration
452
- - [ ] Bulk Operations
453
- - [ ] API Rate Limiting
454
-
455
- ### ๐Ÿ”ฎ v0.3.0+ (Future)
456
- - [ ] GitLab Issues Adapter
457
- - [ ] Slack/Teams Integration
458
- - [ ] Custom Adapters SDK
459
- - [ ] Analytics Dashboard
460
- - [ ] Mobile Applications
461
- - [ ] Enterprise SSO
462
-
463
- ## ๐Ÿค Contributing
464
-
465
- We welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details.
466
-
467
- 1. Fork the repository
468
- 2. Create your feature branch (`git checkout -b feature/amazing-feature`)
469
- 3. Commit your changes (`git commit -m 'Add amazing feature'`)
470
- 4. Push to the branch (`git push origin feature/amazing-feature`)
471
- 5. Open a Pull Request
472
-
473
- ## ๐Ÿ“„ License
474
-
475
- This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
476
-
477
- ## ๐Ÿ™ Acknowledgments
478
-
479
- - Built with [Pydantic](https://pydantic-docs.helpmanual.io/) for data validation
480
- - CLI powered by [Typer](https://typer.tiangolo.com/) and [Rich](https://rich.readthedocs.io/)
481
- - MCP integration using the [Model Context Protocol](https://github.com/anthropics/model-context-protocol)
482
-
483
- ## ๐Ÿ“ž Support
484
-
485
- - ๐Ÿ“ง Email: support@mcp-ticketerer.io
486
- - ๐Ÿ’ฌ Discord: [Join our community](https://discord.gg/mcp-ticketerer)
487
- - ๐Ÿ› Issues: [GitHub Issues](https://github.com/mcp-ticketerer/mcp-ticketerer/issues)
488
- - ๐Ÿ“– Docs: [Read the Docs](https://mcp-ticketerer.readthedocs.io)
489
-
490
- ## โญ Star History
491
-
492
- [![Star History Chart](https://api.star-history.com/svg?repos=mcp-ticketerer/mcp-ticketerer&type=Date)](https://star-history.com/#mcp-ticketerer/mcp-ticketerer&Date)
493
-
494
- ---
495
-
496
- Made with โค๏ธ by the MCP Ticketer Team