roadmap-cli 1.0.0__tar.gz

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 (375) hide show
  1. roadmap_cli-1.0.0/CHANGELOG.md +146 -0
  2. roadmap_cli-1.0.0/LICENSE.md +21 -0
  3. roadmap_cli-1.0.0/PKG-INFO +413 -0
  4. roadmap_cli-1.0.0/README.md +358 -0
  5. roadmap_cli-1.0.0/docs/NAMING_CONVENTIONS.md +188 -0
  6. roadmap_cli-1.0.0/docs/developer_notes/ARCHITECTURE.md +411 -0
  7. roadmap_cli-1.0.0/docs/developer_notes/FUTURE_FEATURES.md +302 -0
  8. roadmap_cli-1.0.0/docs/developer_notes/INTEGRATION_TEST_GUIDE.md +586 -0
  9. roadmap_cli-1.0.0/docs/developer_notes/SECURITY.md +265 -0
  10. roadmap_cli-1.0.0/docs/developer_notes/TEST_ORGANIZATION.md +151 -0
  11. roadmap_cli-1.0.0/docs/user_guide/FAQ.md +373 -0
  12. roadmap_cli-1.0.0/docs/user_guide/INSTALLATION.md +268 -0
  13. roadmap_cli-1.0.0/docs/user_guide/QUICK_START.md +245 -0
  14. roadmap_cli-1.0.0/docs/user_guide/WORKFLOWS.md +296 -0
  15. roadmap_cli-1.0.0/docs/user_guide/logging-guide.md +456 -0
  16. roadmap_cli-1.0.0/pyproject.toml +199 -0
  17. roadmap_cli-1.0.0/roadmap/__init__.py +32 -0
  18. roadmap_cli-1.0.0/roadmap/adapters/__init__.py +0 -0
  19. roadmap_cli-1.0.0/roadmap/adapters/cli/__init__.py +210 -0
  20. roadmap_cli-1.0.0/roadmap/adapters/cli/analysis/__init__.py +5 -0
  21. roadmap_cli-1.0.0/roadmap/adapters/cli/analysis/commands.py +303 -0
  22. roadmap_cli-1.0.0/roadmap/adapters/cli/analysis/presenter.py +125 -0
  23. roadmap_cli-1.0.0/roadmap/adapters/cli/archive_utils.py +86 -0
  24. roadmap_cli-1.0.0/roadmap/adapters/cli/cli_confirmations.py +74 -0
  25. roadmap_cli-1.0.0/roadmap/adapters/cli/cli_error_handlers.py +142 -0
  26. roadmap_cli-1.0.0/roadmap/adapters/cli/cli_validators.py +39 -0
  27. roadmap_cli-1.0.0/roadmap/adapters/cli/comment/__init__.py +5 -0
  28. roadmap_cli-1.0.0/roadmap/adapters/cli/comment/commands.py +106 -0
  29. roadmap_cli-1.0.0/roadmap/adapters/cli/config/__init__.py +5 -0
  30. roadmap_cli-1.0.0/roadmap/adapters/cli/config/commands.py +188 -0
  31. roadmap_cli-1.0.0/roadmap/adapters/cli/core.py +26 -0
  32. roadmap_cli-1.0.0/roadmap/adapters/cli/crud/__init__.py +47 -0
  33. roadmap_cli-1.0.0/roadmap/adapters/cli/crud/base_archive.py +208 -0
  34. roadmap_cli-1.0.0/roadmap/adapters/cli/crud/base_create.py +154 -0
  35. roadmap_cli-1.0.0/roadmap/adapters/cli/crud/base_delete.py +145 -0
  36. roadmap_cli-1.0.0/roadmap/adapters/cli/crud/base_restore.py +219 -0
  37. roadmap_cli-1.0.0/roadmap/adapters/cli/crud/base_update.py +186 -0
  38. roadmap_cli-1.0.0/roadmap/adapters/cli/crud/crud_helpers.py +206 -0
  39. roadmap_cli-1.0.0/roadmap/adapters/cli/crud/crud_utils.py +152 -0
  40. roadmap_cli-1.0.0/roadmap/adapters/cli/crud/entity_builders.py +370 -0
  41. roadmap_cli-1.0.0/roadmap/adapters/cli/data/__init__.py +8 -0
  42. roadmap_cli-1.0.0/roadmap/adapters/cli/data/commands.py +149 -0
  43. roadmap_cli-1.0.0/roadmap/adapters/cli/decorators.py +211 -0
  44. roadmap_cli-1.0.0/roadmap/adapters/cli/dtos/__init__.py +154 -0
  45. roadmap_cli-1.0.0/roadmap/adapters/cli/exception_handler.py +109 -0
  46. roadmap_cli-1.0.0/roadmap/adapters/cli/git/__init__.py +8 -0
  47. roadmap_cli-1.0.0/roadmap/adapters/cli/git/commands.py +358 -0
  48. roadmap_cli-1.0.0/roadmap/adapters/cli/git/hooks_config.py +270 -0
  49. roadmap_cli-1.0.0/roadmap/adapters/cli/git/status_display.py +158 -0
  50. roadmap_cli-1.0.0/roadmap/adapters/cli/health/__init__.py +8 -0
  51. roadmap_cli-1.0.0/roadmap/adapters/cli/health/enhancer.py +226 -0
  52. roadmap_cli-1.0.0/roadmap/adapters/cli/health/fixer.py +287 -0
  53. roadmap_cli-1.0.0/roadmap/adapters/cli/health/fixers/__init__.py +10 -0
  54. roadmap_cli-1.0.0/roadmap/adapters/cli/health/fixers/corrupted_comments_fixer.py +224 -0
  55. roadmap_cli-1.0.0/roadmap/adapters/cli/health/fixers/data_integrity_fixer.py +122 -0
  56. roadmap_cli-1.0.0/roadmap/adapters/cli/health/fixers/duplicate_issues_fixer.py +130 -0
  57. roadmap_cli-1.0.0/roadmap/adapters/cli/health/fixers/folder_structure_fixer.py +110 -0
  58. roadmap_cli-1.0.0/roadmap/adapters/cli/health/fixers/milestone_name_normalization_fixer.py +167 -0
  59. roadmap_cli-1.0.0/roadmap/adapters/cli/health/fixers/milestone_naming_compliance_fixer.py +227 -0
  60. roadmap_cli-1.0.0/roadmap/adapters/cli/health/fixers/milestone_validation_fixer.py +188 -0
  61. roadmap_cli-1.0.0/roadmap/adapters/cli/health/fixers/old_backups_fixer.py +134 -0
  62. roadmap_cli-1.0.0/roadmap/adapters/cli/health/fixers/orphaned_issues_fixer.py +238 -0
  63. roadmap_cli-1.0.0/roadmap/adapters/cli/health/formatter.py +249 -0
  64. roadmap_cli-1.0.0/roadmap/adapters/cli/health/formatters.py +423 -0
  65. roadmap_cli-1.0.0/roadmap/adapters/cli/health/scan.py +255 -0
  66. roadmap_cli-1.0.0/roadmap/adapters/cli/helpers.py +109 -0
  67. roadmap_cli-1.0.0/roadmap/adapters/cli/init/__init__.py +5 -0
  68. roadmap_cli-1.0.0/roadmap/adapters/cli/init/commands.py +454 -0
  69. roadmap_cli-1.0.0/roadmap/adapters/cli/init.py +9 -0
  70. roadmap_cli-1.0.0/roadmap/adapters/cli/issues/__init__.py +73 -0
  71. roadmap_cli-1.0.0/roadmap/adapters/cli/issues/archive.py +137 -0
  72. roadmap_cli-1.0.0/roadmap/adapters/cli/issues/archive_class.py +234 -0
  73. roadmap_cli-1.0.0/roadmap/adapters/cli/issues/block.py +39 -0
  74. roadmap_cli-1.0.0/roadmap/adapters/cli/issues/close.py +177 -0
  75. roadmap_cli-1.0.0/roadmap/adapters/cli/issues/comment.py +175 -0
  76. roadmap_cli-1.0.0/roadmap/adapters/cli/issues/create.py +162 -0
  77. roadmap_cli-1.0.0/roadmap/adapters/cli/issues/delete.py +31 -0
  78. roadmap_cli-1.0.0/roadmap/adapters/cli/issues/deps.py +57 -0
  79. roadmap_cli-1.0.0/roadmap/adapters/cli/issues/issue_status_helpers.py +111 -0
  80. roadmap_cli-1.0.0/roadmap/adapters/cli/issues/link.py +184 -0
  81. roadmap_cli-1.0.0/roadmap/adapters/cli/issues/list.py +371 -0
  82. roadmap_cli-1.0.0/roadmap/adapters/cli/issues/lookup.py +96 -0
  83. roadmap_cli-1.0.0/roadmap/adapters/cli/issues/progress.py +99 -0
  84. roadmap_cli-1.0.0/roadmap/adapters/cli/issues/restore.py +96 -0
  85. roadmap_cli-1.0.0/roadmap/adapters/cli/issues/restore_class.py +57 -0
  86. roadmap_cli-1.0.0/roadmap/adapters/cli/issues/start.py +165 -0
  87. roadmap_cli-1.0.0/roadmap/adapters/cli/issues/sync.py +241 -0
  88. roadmap_cli-1.0.0/roadmap/adapters/cli/issues/sync_status.py +378 -0
  89. roadmap_cli-1.0.0/roadmap/adapters/cli/issues/unblock.py +43 -0
  90. roadmap_cli-1.0.0/roadmap/adapters/cli/issues/unlink.py +103 -0
  91. roadmap_cli-1.0.0/roadmap/adapters/cli/issues/update.py +120 -0
  92. roadmap_cli-1.0.0/roadmap/adapters/cli/issues/view.py +33 -0
  93. roadmap_cli-1.0.0/roadmap/adapters/cli/layout.py +212 -0
  94. roadmap_cli-1.0.0/roadmap/adapters/cli/mappers.py +194 -0
  95. roadmap_cli-1.0.0/roadmap/adapters/cli/milestones/__init__.py +52 -0
  96. roadmap_cli-1.0.0/roadmap/adapters/cli/milestones/archive.py +125 -0
  97. roadmap_cli-1.0.0/roadmap/adapters/cli/milestones/archive_class.py +118 -0
  98. roadmap_cli-1.0.0/roadmap/adapters/cli/milestones/assign.py +59 -0
  99. roadmap_cli-1.0.0/roadmap/adapters/cli/milestones/close.py +197 -0
  100. roadmap_cli-1.0.0/roadmap/adapters/cli/milestones/create.py +88 -0
  101. roadmap_cli-1.0.0/roadmap/adapters/cli/milestones/delete.py +27 -0
  102. roadmap_cli-1.0.0/roadmap/adapters/cli/milestones/kanban.py +123 -0
  103. roadmap_cli-1.0.0/roadmap/adapters/cli/milestones/list.py +87 -0
  104. roadmap_cli-1.0.0/roadmap/adapters/cli/milestones/recalculate.py +79 -0
  105. roadmap_cli-1.0.0/roadmap/adapters/cli/milestones/restore.py +87 -0
  106. roadmap_cli-1.0.0/roadmap/adapters/cli/milestones/restore_class.py +88 -0
  107. roadmap_cli-1.0.0/roadmap/adapters/cli/milestones/update.py +57 -0
  108. roadmap_cli-1.0.0/roadmap/adapters/cli/milestones/view.py +143 -0
  109. roadmap_cli-1.0.0/roadmap/adapters/cli/output_manager.py +330 -0
  110. roadmap_cli-1.0.0/roadmap/adapters/cli/presentation/base_presenter.py +121 -0
  111. roadmap_cli-1.0.0/roadmap/adapters/cli/presentation/cleanup_presenter.py +235 -0
  112. roadmap_cli-1.0.0/roadmap/adapters/cli/presentation/core_initialization_presenter.py +277 -0
  113. roadmap_cli-1.0.0/roadmap/adapters/cli/presentation/crud_presenter.py +174 -0
  114. roadmap_cli-1.0.0/roadmap/adapters/cli/presentation/daily_summary_presenter.py +256 -0
  115. roadmap_cli-1.0.0/roadmap/adapters/cli/presentation/issue_presenter.py +259 -0
  116. roadmap_cli-1.0.0/roadmap/adapters/cli/presentation/milestone_list_presenter.py +135 -0
  117. roadmap_cli-1.0.0/roadmap/adapters/cli/presentation/milestone_presenter.py +282 -0
  118. roadmap_cli-1.0.0/roadmap/adapters/cli/presentation/project_presenter.py +233 -0
  119. roadmap_cli-1.0.0/roadmap/adapters/cli/presentation/project_status_presenter.py +187 -0
  120. roadmap_cli-1.0.0/roadmap/adapters/cli/presentation/table_builders.py +95 -0
  121. roadmap_cli-1.0.0/roadmap/adapters/cli/projects/__init__.py +42 -0
  122. roadmap_cli-1.0.0/roadmap/adapters/cli/projects/archive.py +123 -0
  123. roadmap_cli-1.0.0/roadmap/adapters/cli/projects/archive_class.py +83 -0
  124. roadmap_cli-1.0.0/roadmap/adapters/cli/projects/close.py +120 -0
  125. roadmap_cli-1.0.0/roadmap/adapters/cli/projects/create.py +50 -0
  126. roadmap_cli-1.0.0/roadmap/adapters/cli/projects/delete.py +27 -0
  127. roadmap_cli-1.0.0/roadmap/adapters/cli/projects/list.py +217 -0
  128. roadmap_cli-1.0.0/roadmap/adapters/cli/projects/restore.py +87 -0
  129. roadmap_cli-1.0.0/roadmap/adapters/cli/projects/restore_class.py +56 -0
  130. roadmap_cli-1.0.0/roadmap/adapters/cli/projects/update.py +57 -0
  131. roadmap_cli-1.0.0/roadmap/adapters/cli/projects/view.py +132 -0
  132. roadmap_cli-1.0.0/roadmap/adapters/cli/services/__init__.py +1 -0
  133. roadmap_cli-1.0.0/roadmap/adapters/cli/services/daily_summary_service.py +260 -0
  134. roadmap_cli-1.0.0/roadmap/adapters/cli/services/export_manager.py +268 -0
  135. roadmap_cli-1.0.0/roadmap/adapters/cli/services/milestone_list_service.py +261 -0
  136. roadmap_cli-1.0.0/roadmap/adapters/cli/services/project_initialization_service.py +29 -0
  137. roadmap_cli-1.0.0/roadmap/adapters/cli/services/project_status_service.py +269 -0
  138. roadmap_cli-1.0.0/roadmap/adapters/cli/status.py +372 -0
  139. roadmap_cli-1.0.0/roadmap/adapters/cli/styling.py +21 -0
  140. roadmap_cli-1.0.0/roadmap/adapters/cli/today.py +52 -0
  141. roadmap_cli-1.0.0/roadmap/adapters/cli/utils.py +11 -0
  142. roadmap_cli-1.0.0/roadmap/adapters/git/__init__.py +0 -0
  143. roadmap_cli-1.0.0/roadmap/adapters/git/git.py +208 -0
  144. roadmap_cli-1.0.0/roadmap/adapters/git/git_branch_manager.py +385 -0
  145. roadmap_cli-1.0.0/roadmap/adapters/git/git_command_executor.py +56 -0
  146. roadmap_cli-1.0.0/roadmap/adapters/git/git_commit_analyzer.py +329 -0
  147. roadmap_cli-1.0.0/roadmap/adapters/git/git_hooks.py +22 -0
  148. roadmap_cli-1.0.0/roadmap/adapters/git/git_hooks_manager.py +452 -0
  149. roadmap_cli-1.0.0/roadmap/adapters/git/git_hooks_manager.py.bak +574 -0
  150. roadmap_cli-1.0.0/roadmap/adapters/git/git_repository_info.py +65 -0
  151. roadmap_cli-1.0.0/roadmap/adapters/git/hook_installer.py +101 -0
  152. roadmap_cli-1.0.0/roadmap/adapters/git/hook_registry.py +86 -0
  153. roadmap_cli-1.0.0/roadmap/adapters/git/hook_script_generator.py +58 -0
  154. roadmap_cli-1.0.0/roadmap/adapters/git/workflow_automation.py +268 -0
  155. roadmap_cli-1.0.0/roadmap/adapters/github/__init__.py +0 -0
  156. roadmap_cli-1.0.0/roadmap/adapters/github/github.py +261 -0
  157. roadmap_cli-1.0.0/roadmap/adapters/github/handlers/__init__.py +17 -0
  158. roadmap_cli-1.0.0/roadmap/adapters/github/handlers/base.py +115 -0
  159. roadmap_cli-1.0.0/roadmap/adapters/github/handlers/collaborators.py +149 -0
  160. roadmap_cli-1.0.0/roadmap/adapters/github/handlers/comments.py +113 -0
  161. roadmap_cli-1.0.0/roadmap/adapters/github/handlers/issues.py +115 -0
  162. roadmap_cli-1.0.0/roadmap/adapters/github/handlers/labels.py +155 -0
  163. roadmap_cli-1.0.0/roadmap/adapters/github/handlers/milestones.py +96 -0
  164. roadmap_cli-1.0.0/roadmap/adapters/persistence/__init__.py +36 -0
  165. roadmap_cli-1.0.0/roadmap/adapters/persistence/conflict_resolver.py +176 -0
  166. roadmap_cli-1.0.0/roadmap/adapters/persistence/database_manager.py +322 -0
  167. roadmap_cli-1.0.0/roadmap/adapters/persistence/entity_sync_coordinators.py +372 -0
  168. roadmap_cli-1.0.0/roadmap/adapters/persistence/file_locking.py +319 -0
  169. roadmap_cli-1.0.0/roadmap/adapters/persistence/file_parser.py +77 -0
  170. roadmap_cli-1.0.0/roadmap/adapters/persistence/file_synchronizer.py +102 -0
  171. roadmap_cli-1.0.0/roadmap/adapters/persistence/focused_managers.py +140 -0
  172. roadmap_cli-1.0.0/roadmap/adapters/persistence/parser/__init__.py +20 -0
  173. roadmap_cli-1.0.0/roadmap/adapters/persistence/parser/frontmatter.py +79 -0
  174. roadmap_cli-1.0.0/roadmap/adapters/persistence/parser/issue.py +195 -0
  175. roadmap_cli-1.0.0/roadmap/adapters/persistence/parser/milestone.py +133 -0
  176. roadmap_cli-1.0.0/roadmap/adapters/persistence/parser/project.py +106 -0
  177. roadmap_cli-1.0.0/roadmap/adapters/persistence/persistence.py +278 -0
  178. roadmap_cli-1.0.0/roadmap/adapters/persistence/repositories/__init__.py +13 -0
  179. roadmap_cli-1.0.0/roadmap/adapters/persistence/repositories/issue_repository.py +157 -0
  180. roadmap_cli-1.0.0/roadmap/adapters/persistence/repositories/milestone_repository.py +136 -0
  181. roadmap_cli-1.0.0/roadmap/adapters/persistence/repositories/project_repository.py +164 -0
  182. roadmap_cli-1.0.0/roadmap/adapters/persistence/repositories/sync_state_repository.py +66 -0
  183. roadmap_cli-1.0.0/roadmap/adapters/persistence/storage/__init__.py +36 -0
  184. roadmap_cli-1.0.0/roadmap/adapters/persistence/storage/conflicts.py +94 -0
  185. roadmap_cli-1.0.0/roadmap/adapters/persistence/storage/connection_manager.py +79 -0
  186. roadmap_cli-1.0.0/roadmap/adapters/persistence/storage/issue_storage.py +89 -0
  187. roadmap_cli-1.0.0/roadmap/adapters/persistence/storage/milestone_storage.py +80 -0
  188. roadmap_cli-1.0.0/roadmap/adapters/persistence/storage/project_storage.py +102 -0
  189. roadmap_cli-1.0.0/roadmap/adapters/persistence/storage/queries.py +210 -0
  190. roadmap_cli-1.0.0/roadmap/adapters/persistence/storage/state_manager.py +316 -0
  191. roadmap_cli-1.0.0/roadmap/adapters/persistence/storage/sync_state_storage.py +207 -0
  192. roadmap_cli-1.0.0/roadmap/adapters/persistence/sync_orchestrator.py +230 -0
  193. roadmap_cli-1.0.0/roadmap/adapters/persistence/sync_state_tracker.py +84 -0
  194. roadmap_cli-1.0.0/roadmap/adapters/persistence/yaml_repositories.py +631 -0
  195. roadmap_cli-1.0.0/roadmap/common/__init__.py +317 -0
  196. roadmap_cli-1.0.0/roadmap/common/cache.py +209 -0
  197. roadmap_cli-1.0.0/roadmap/common/cli_errors.py +150 -0
  198. roadmap_cli-1.0.0/roadmap/common/cli_helpers.py +392 -0
  199. roadmap_cli-1.0.0/roadmap/common/cli_models.py +105 -0
  200. roadmap_cli-1.0.0/roadmap/common/config_loader.py +261 -0
  201. roadmap_cli-1.0.0/roadmap/common/config_manager.py +164 -0
  202. roadmap_cli-1.0.0/roadmap/common/config_models.py +136 -0
  203. roadmap_cli-1.0.0/roadmap/common/config_schema.py +144 -0
  204. roadmap_cli-1.0.0/roadmap/common/console.py +189 -0
  205. roadmap_cli-1.0.0/roadmap/common/constants.py +126 -0
  206. roadmap_cli-1.0.0/roadmap/common/datetime_parser.py +308 -0
  207. roadmap_cli-1.0.0/roadmap/common/decorators.py +180 -0
  208. roadmap_cli-1.0.0/roadmap/common/error_formatter.py +89 -0
  209. roadmap_cli-1.0.0/roadmap/common/errors/__init__.py +143 -0
  210. roadmap_cli-1.0.0/roadmap/common/errors/error_base.py +63 -0
  211. roadmap_cli-1.0.0/roadmap/common/errors/error_file.py +74 -0
  212. roadmap_cli-1.0.0/roadmap/common/errors/error_git.py +52 -0
  213. roadmap_cli-1.0.0/roadmap/common/errors/error_handler.py +157 -0
  214. roadmap_cli-1.0.0/roadmap/common/errors/error_network.py +68 -0
  215. roadmap_cli-1.0.0/roadmap/common/errors/error_security.py +57 -0
  216. roadmap_cli-1.0.0/roadmap/common/errors/error_standards.py +557 -0
  217. roadmap_cli-1.0.0/roadmap/common/errors/error_validation.py +82 -0
  218. roadmap_cli-1.0.0/roadmap/common/errors/exceptions.py +315 -0
  219. roadmap_cli-1.0.0/roadmap/common/file_utils.py +389 -0
  220. roadmap_cli-1.0.0/roadmap/common/logging.py +440 -0
  221. roadmap_cli-1.0.0/roadmap/common/logging_utils.py +208 -0
  222. roadmap_cli-1.0.0/roadmap/common/metrics.py +161 -0
  223. roadmap_cli-1.0.0/roadmap/common/output_formatter.py +405 -0
  224. roadmap_cli-1.0.0/roadmap/common/output_models.py +372 -0
  225. roadmap_cli-1.0.0/roadmap/common/path_utils.py +38 -0
  226. roadmap_cli-1.0.0/roadmap/common/performance.py +219 -0
  227. roadmap_cli-1.0.0/roadmap/common/profiling.py +288 -0
  228. roadmap_cli-1.0.0/roadmap/common/progress.py +363 -0
  229. roadmap_cli-1.0.0/roadmap/common/retry.py +288 -0
  230. roadmap_cli-1.0.0/roadmap/common/security/__init__.py +53 -0
  231. roadmap_cli-1.0.0/roadmap/common/security/exceptions.py +13 -0
  232. roadmap_cli-1.0.0/roadmap/common/security/export_cleanup.py +79 -0
  233. roadmap_cli-1.0.0/roadmap/common/security/file_operations.py +104 -0
  234. roadmap_cli-1.0.0/roadmap/common/security/filename_sanitization.py +54 -0
  235. roadmap_cli-1.0.0/roadmap/common/security/logging.py +77 -0
  236. roadmap_cli-1.0.0/roadmap/common/security/path_validation.py +137 -0
  237. roadmap_cli-1.0.0/roadmap/common/security/temp_files.py +41 -0
  238. roadmap_cli-1.0.0/roadmap/common/status_style_manager.py +114 -0
  239. roadmap_cli-1.0.0/roadmap/common/status_utils.py +129 -0
  240. roadmap_cli-1.0.0/roadmap/common/timezone_utils.py +467 -0
  241. roadmap_cli-1.0.0/roadmap/common/update_constants.py +13 -0
  242. roadmap_cli-1.0.0/roadmap/common/validation/__init__.py +37 -0
  243. roadmap_cli-1.0.0/roadmap/common/validation/field_validator.py +92 -0
  244. roadmap_cli-1.0.0/roadmap/common/validation/result.py +29 -0
  245. roadmap_cli-1.0.0/roadmap/common/validation/roadmap_validator.py +302 -0
  246. roadmap_cli-1.0.0/roadmap/common/validation/schema_validator.py +31 -0
  247. roadmap_cli-1.0.0/roadmap/common/validation/validators.py +50 -0
  248. roadmap_cli-1.0.0/roadmap/core/__init__.py +0 -0
  249. roadmap_cli-1.0.0/roadmap/core/domain/__init__.py +31 -0
  250. roadmap_cli-1.0.0/roadmap/core/domain/comment.py +24 -0
  251. roadmap_cli-1.0.0/roadmap/core/domain/health.py +15 -0
  252. roadmap_cli-1.0.0/roadmap/core/domain/issue.py +202 -0
  253. roadmap_cli-1.0.0/roadmap/core/domain/milestone.py +172 -0
  254. roadmap_cli-1.0.0/roadmap/core/domain/project.py +130 -0
  255. roadmap_cli-1.0.0/roadmap/core/interfaces/__init__.py +86 -0
  256. roadmap_cli-1.0.0/roadmap/core/interfaces/state_managers.py +111 -0
  257. roadmap_cli-1.0.0/roadmap/core/models.py +113 -0
  258. roadmap_cli-1.0.0/roadmap/core/repositories.py +179 -0
  259. roadmap_cli-1.0.0/roadmap/core/services/__init__.py +36 -0
  260. roadmap_cli-1.0.0/roadmap/core/services/assignee_validation_service.py +310 -0
  261. roadmap_cli-1.0.0/roadmap/core/services/backup_cleanup_service.py +198 -0
  262. roadmap_cli-1.0.0/roadmap/core/services/base_validator.py +127 -0
  263. roadmap_cli-1.0.0/roadmap/core/services/comment_service.py +213 -0
  264. roadmap_cli-1.0.0/roadmap/core/services/configuration_service.py +81 -0
  265. roadmap_cli-1.0.0/roadmap/core/services/critical_path_calculator.py +418 -0
  266. roadmap_cli-1.0.0/roadmap/core/services/data_integrity_validator_service.py +85 -0
  267. roadmap_cli-1.0.0/roadmap/core/services/dependency_analyzer.py +359 -0
  268. roadmap_cli-1.0.0/roadmap/core/services/entity_health_scanner.py +526 -0
  269. roadmap_cli-1.0.0/roadmap/core/services/file_repair_service.py +186 -0
  270. roadmap_cli-1.0.0/roadmap/core/services/git_hook_auto_sync_service.py +371 -0
  271. roadmap_cli-1.0.0/roadmap/core/services/github_config_validator.py +146 -0
  272. roadmap_cli-1.0.0/roadmap/core/services/github_conflict_detector.py +177 -0
  273. roadmap_cli-1.0.0/roadmap/core/services/github_integration_service.py +344 -0
  274. roadmap_cli-1.0.0/roadmap/core/services/github_issue_client.py +235 -0
  275. roadmap_cli-1.0.0/roadmap/core/services/github_sync_orchestrator.py +362 -0
  276. roadmap_cli-1.0.0/roadmap/core/services/health_check_service.py +155 -0
  277. roadmap_cli-1.0.0/roadmap/core/services/infrastructure_validator_service.py +319 -0
  278. roadmap_cli-1.0.0/roadmap/core/services/initialization/__init__.py +19 -0
  279. roadmap_cli-1.0.0/roadmap/core/services/initialization/utils.py +82 -0
  280. roadmap_cli-1.0.0/roadmap/core/services/initialization/validator.py +74 -0
  281. roadmap_cli-1.0.0/roadmap/core/services/initialization/workflow.py +170 -0
  282. roadmap_cli-1.0.0/roadmap/core/services/initialization_service.py +107 -0
  283. roadmap_cli-1.0.0/roadmap/core/services/issue_creation_service.py +267 -0
  284. roadmap_cli-1.0.0/roadmap/core/services/issue_helpers/__init__.py +17 -0
  285. roadmap_cli-1.0.0/roadmap/core/services/issue_helpers/issue_filters.py +269 -0
  286. roadmap_cli-1.0.0/roadmap/core/services/issue_service.py +500 -0
  287. roadmap_cli-1.0.0/roadmap/core/services/issue_update_service.py +148 -0
  288. roadmap_cli-1.0.0/roadmap/core/services/milestone_service.py +402 -0
  289. roadmap_cli-1.0.0/roadmap/core/services/project_init/__init__.py +22 -0
  290. roadmap_cli-1.0.0/roadmap/core/services/project_init/context_detection.py +126 -0
  291. roadmap_cli-1.0.0/roadmap/core/services/project_init/creation.py +72 -0
  292. roadmap_cli-1.0.0/roadmap/core/services/project_init/detection.py +40 -0
  293. roadmap_cli-1.0.0/roadmap/core/services/project_init/template.py +218 -0
  294. roadmap_cli-1.0.0/roadmap/core/services/project_service.py +420 -0
  295. roadmap_cli-1.0.0/roadmap/core/services/project_status_service.py +105 -0
  296. roadmap_cli-1.0.0/roadmap/core/services/start_issue_service.py +165 -0
  297. roadmap_cli-1.0.0/roadmap/core/services/sync_metadata_service.py +232 -0
  298. roadmap_cli-1.0.0/roadmap/core/services/sync_report.py +125 -0
  299. roadmap_cli-1.0.0/roadmap/core/services/validators/__init__.py +26 -0
  300. roadmap_cli-1.0.0/roadmap/core/services/validators/_utils.py +20 -0
  301. roadmap_cli-1.0.0/roadmap/core/services/validators/archivable_issues_validator.py +71 -0
  302. roadmap_cli-1.0.0/roadmap/core/services/validators/archivable_milestones_validator.py +69 -0
  303. roadmap_cli-1.0.0/roadmap/core/services/validators/backup_validator.py +89 -0
  304. roadmap_cli-1.0.0/roadmap/core/services/validators/data_integrity_validator.py +80 -0
  305. roadmap_cli-1.0.0/roadmap/core/services/validators/duplicate_issues_validator.py +75 -0
  306. roadmap_cli-1.0.0/roadmap/core/services/validators/duplicate_milestones_validator.py +126 -0
  307. roadmap_cli-1.0.0/roadmap/core/services/validators/folder_structure_validator.py +152 -0
  308. roadmap_cli-1.0.0/roadmap/core/services/validators/health_status_utils.py +28 -0
  309. roadmap_cli-1.0.0/roadmap/core/services/validators/milestone_naming_validator.py +146 -0
  310. roadmap_cli-1.0.0/roadmap/core/services/validators/orphaned_issues_validator.py +140 -0
  311. roadmap_cli-1.0.0/roadmap/core/services/validators/orphaned_milestones_validator.py +83 -0
  312. roadmap_cli-1.0.0/roadmap/domain/repositories/__init__.py +20 -0
  313. roadmap_cli-1.0.0/roadmap/domain/repositories/issue_repository.py +59 -0
  314. roadmap_cli-1.0.0/roadmap/domain/repositories/milestone_repository.py +59 -0
  315. roadmap_cli-1.0.0/roadmap/domain/repositories/project_repository.py +58 -0
  316. roadmap_cli-1.0.0/roadmap/infrastructure/__init__.py +0 -0
  317. roadmap_cli-1.0.0/roadmap/infrastructure/coordinator_params.py +82 -0
  318. roadmap_cli-1.0.0/roadmap/infrastructure/core.py +357 -0
  319. roadmap_cli-1.0.0/roadmap/infrastructure/file_enumeration.py +207 -0
  320. roadmap_cli-1.0.0/roadmap/infrastructure/git_coordinator.py +101 -0
  321. roadmap_cli-1.0.0/roadmap/infrastructure/git_integration_ops.py +235 -0
  322. roadmap_cli-1.0.0/roadmap/infrastructure/github/__init__.py +5 -0
  323. roadmap_cli-1.0.0/roadmap/infrastructure/github/setup.py +375 -0
  324. roadmap_cli-1.0.0/roadmap/infrastructure/github_validator.py +86 -0
  325. roadmap_cli-1.0.0/roadmap/infrastructure/health.py +422 -0
  326. roadmap_cli-1.0.0/roadmap/infrastructure/health_formatter.py +71 -0
  327. roadmap_cli-1.0.0/roadmap/infrastructure/initialization.py +309 -0
  328. roadmap_cli-1.0.0/roadmap/infrastructure/issue_coordinator.py +142 -0
  329. roadmap_cli-1.0.0/roadmap/infrastructure/issue_operations.py +445 -0
  330. roadmap_cli-1.0.0/roadmap/infrastructure/logging/__init__.py +51 -0
  331. roadmap_cli-1.0.0/roadmap/infrastructure/logging/audit_logging.py +5 -0
  332. roadmap_cli-1.0.0/roadmap/infrastructure/logging/decorators.py +272 -0
  333. roadmap_cli-1.0.0/roadmap/infrastructure/logging/error_logging.py +217 -0
  334. roadmap_cli-1.0.0/roadmap/infrastructure/logging/performance_tracking.py +261 -0
  335. roadmap_cli-1.0.0/roadmap/infrastructure/maintenance/__init__.py +5 -0
  336. roadmap_cli-1.0.0/roadmap/infrastructure/maintenance/cleanup.py +485 -0
  337. roadmap_cli-1.0.0/roadmap/infrastructure/milestone_consistency_validator.py +94 -0
  338. roadmap_cli-1.0.0/roadmap/infrastructure/milestone_coordinator.py +132 -0
  339. roadmap_cli-1.0.0/roadmap/infrastructure/milestone_operations.py +191 -0
  340. roadmap_cli-1.0.0/roadmap/infrastructure/project_coordinator.py +113 -0
  341. roadmap_cli-1.0.0/roadmap/infrastructure/project_operations.py +144 -0
  342. roadmap_cli-1.0.0/roadmap/infrastructure/security/__init__.py +0 -0
  343. roadmap_cli-1.0.0/roadmap/infrastructure/security/credentials.py +388 -0
  344. roadmap_cli-1.0.0/roadmap/infrastructure/team_coordinator.py +107 -0
  345. roadmap_cli-1.0.0/roadmap/infrastructure/user_operations.py +134 -0
  346. roadmap_cli-1.0.0/roadmap/infrastructure/validation_coordinator.py +44 -0
  347. roadmap_cli-1.0.0/roadmap/settings.py +321 -0
  348. roadmap_cli-1.0.0/roadmap/shared/__init__.py +40 -0
  349. roadmap_cli-1.0.0/roadmap/shared/formatters/__init__.py +30 -0
  350. roadmap_cli-1.0.0/roadmap/shared/formatters/base_table_formatter.py +103 -0
  351. roadmap_cli-1.0.0/roadmap/shared/formatters/export/__init__.py +7 -0
  352. roadmap_cli-1.0.0/roadmap/shared/formatters/export/issue_exporter.py +99 -0
  353. roadmap_cli-1.0.0/roadmap/shared/formatters/kanban/__init__.py +9 -0
  354. roadmap_cli-1.0.0/roadmap/shared/formatters/kanban/layout.py +43 -0
  355. roadmap_cli-1.0.0/roadmap/shared/formatters/kanban/organizer.py +83 -0
  356. roadmap_cli-1.0.0/roadmap/shared/formatters/output/__init__.py +15 -0
  357. roadmap_cli-1.0.0/roadmap/shared/formatters/tables/__init__.py +11 -0
  358. roadmap_cli-1.0.0/roadmap/shared/formatters/tables/column_factory.py +312 -0
  359. roadmap_cli-1.0.0/roadmap/shared/formatters/tables/issue_table.py +274 -0
  360. roadmap_cli-1.0.0/roadmap/shared/formatters/tables/milestone_table.py +247 -0
  361. roadmap_cli-1.0.0/roadmap/shared/formatters/tables/project_table.py +191 -0
  362. roadmap_cli-1.0.0/roadmap/shared/formatters/text/__init__.py +57 -0
  363. roadmap_cli-1.0.0/roadmap/shared/formatters/text/basic.py +223 -0
  364. roadmap_cli-1.0.0/roadmap/shared/formatters/text/display.py +44 -0
  365. roadmap_cli-1.0.0/roadmap/shared/formatters/text/duration.py +38 -0
  366. roadmap_cli-1.0.0/roadmap/shared/formatters/text/operations.py +329 -0
  367. roadmap_cli-1.0.0/roadmap/shared/formatters/text/status_badges.py +59 -0
  368. roadmap_cli-1.0.0/roadmap/shared/instrumentation.py +100 -0
  369. roadmap_cli-1.0.0/roadmap/shared/observability.py +76 -0
  370. roadmap_cli-1.0.0/roadmap/shared/otel_init.py +87 -0
  371. roadmap_cli-1.0.0/roadmap/templates/github_workflows/ci-cd-roadmap.yml +241 -0
  372. roadmap_cli-1.0.0/roadmap/templates/github_workflows/issue-lifecycle.yml +236 -0
  373. roadmap_cli-1.0.0/roadmap/templates/github_workflows/roadmap-integration.yml +137 -0
  374. roadmap_cli-1.0.0/roadmap/templates/github_workflows/roadmap-starter.yml +59 -0
  375. roadmap_cli-1.0.0/roadmap/version.py +354 -0
@@ -0,0 +1,146 @@
1
+ # Changelog
2
+
3
+ All notable changes to the Roadmap CLI project will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ ## [1.0.0] - 2024-10-11
9
+
10
+ ### Added
11
+
12
+ #### 🚀 **Core Features**
13
+
14
+ - **Project Management System**: Complete CLI tool for roadmap creation and management
15
+ - **Issue Tracking**: Create, update, and manage project issues with rich metadata
16
+ - **Milestone Management**: Define and track project milestones with due dates and progress
17
+ - **Status Management**: Comprehensive status tracking (todo, in-progress, blocked, review, done)
18
+ - **Priority System**: High, medium, low priority assignment and filtering
19
+
20
+ #### 📊 **Data Visualization & Analytics**
21
+
22
+ - **Interactive Charts**: Status distribution (pie, donut, bar charts) with Plotly.js
23
+ - **Burndown Charts**: Sprint/milestone progress tracking with ideal vs actual burndown
24
+ - **Velocity Charts**: Team productivity trends with configurable time periods (daily, weekly, monthly)
25
+ - **Milestone Progress**: Visual progress tracking across all project milestones
26
+ - **Team Workload Analysis**: Workload distribution and capacity planning charts
27
+ - **Stakeholder Dashboard**: Executive-ready comprehensive dashboard with all metrics
28
+ - **Multiple Output Formats**: HTML (interactive), PNG (static), SVG (vector) support
29
+ - **Professional Styling**: Enterprise-ready charts with consistent branding
30
+
31
+ #### 🔧 **Enhanced Persistence & Data Management**
32
+
33
+ - **Advanced YAML Validation**: Comprehensive syntax and schema validation with Pydantic
34
+ - **Backup & Recovery System**: Automatic timestamped backups before any modifications
35
+ - **File Locking Mechanism**: Concurrent access protection for multi-user environments
36
+ - **Bulk Operations**: Directory-wide validation, updates, and batch processing
37
+ - **Schema Migration**: Tools for updating roadmap formats and maintaining compatibility
38
+ - **Data Export**: CSV and Excel export capabilities with comprehensive analytics
39
+
40
+ #### 🚀 **GitHub Integration**
41
+
42
+ - **Two-way Synchronization**: Push/pull issues and milestones to/from GitHub repositories
43
+ - **High-Performance Sync**: 40x performance improvement processing 100+ items in seconds
44
+ - **Intelligent Caching**: Smart API response caching with TTL to minimize rate limits
45
+ - **Batch Processing**: Parallel processing with configurable workers and batch sizes
46
+ - **Comprehensive Error Handling**: Graceful handling of network issues and API limits
47
+ - **OAuth Authentication**: Secure GitHub integration with token management
48
+
49
+ #### 🔒 **Enterprise Security**
50
+
51
+ - **Comprehensive Security Module**: Enterprise-grade security implementation
52
+ - **Secure File Operations**: Path validation, sanitization, and secure file handling
53
+ - **Security Logging**: Detailed audit trails for all security-related operations
54
+ - **Input Validation**: Protection against path traversal and injection attacks
55
+ - **Credential Management**: Secure storage and handling of API tokens and credentials
56
+ - **Permission Validation**: File and directory permission checks and enforcement
57
+
58
+ #### 📚 **Documentation & Developer Experience**
59
+
60
+ - **Comprehensive Documentation**: Complete user guides, API reference, and feature showcase
61
+ - **Automated CLI Reference**: Auto-generated command documentation with examples
62
+ - **MkDocs Integration**: Professional documentation site with search and navigation
63
+ - **Sphinx Support**: API documentation generation for developers
64
+ - **Interactive Examples**: Comprehensive demo scripts showcasing all features
65
+ - **Installation Guides**: Multiple installation methods (PyPI, source, development)
66
+
67
+ #### 🧪 **Quality Assurance**
68
+
69
+ - **Comprehensive Test Suite**: 87% test coverage with pytest
70
+ - **Performance Testing**: Benchmarks and performance regression detection
71
+ - **Code Quality Tools**: Black formatting, isort imports, flake8 linting, mypy type checking
72
+ - **Pre-commit Hooks**: Automated code quality checks and formatting
73
+ - **Continuous Integration**: Automated testing and validation pipelines
74
+
75
+ ### Technical Implementation
76
+
77
+ #### **Architecture**
78
+
79
+ - **Modular Design**: Clean separation of concerns with focused modules
80
+ - **Plugin Architecture**: Extensible design supporting future enhancements
81
+ - **Type Safety**: Full type hints with mypy validation throughout codebase
82
+ - **Error Handling**: Comprehensive error handling with informative user messages
83
+ - **Performance Optimization**: Efficient algorithms and caching for large datasets
84
+
85
+ #### **Dependencies**
86
+
87
+ - **Core**: Click (CLI), Rich (terminal UI), Pydantic (validation), PyYAML (data)
88
+ - **GitHub**: Requests (HTTP), Python-dotenv (config), Keyring (credentials)
89
+ - **Analytics**: Pandas (data analysis), OpenPyXL (Excel export)
90
+ - **Visualization**: Matplotlib (static charts), Plotly (interactive), Seaborn (styling)
91
+ - **Development**: Pytest (testing), Sphinx/MkDocs (documentation), Black/isort (formatting)
92
+
93
+ #### **Compatibility**
94
+
95
+ - **Python Versions**: 3.10, 3.11, 3.12 support
96
+ - **Operating Systems**: Windows, macOS, Linux cross-platform compatibility
97
+ - **GitHub**: Full GitHub API v4 support with GraphQL integration
98
+ - **Export Formats**: YAML, CSV, Excel, PNG, SVG, HTML output support
99
+
100
+ ### Performance Metrics
101
+
102
+ - **Sync Performance**: 40x improvement - 100 issues in ~3 seconds vs ~120 seconds
103
+ - **Memory Efficiency**: Optimized for large datasets (1000+ issues)
104
+ - **Test Coverage**: 87% code coverage with comprehensive test suite
105
+ - **Documentation Coverage**: 100% API documentation with examples
106
+ - **Security Rating**: A- grade enterprise security implementation
107
+
108
+ ### Use Cases
109
+
110
+ #### **Project Managers**
111
+
112
+ - Sprint planning and tracking with burndown charts
113
+ - Stakeholder reporting with comprehensive dashboards
114
+ - Resource allocation with team workload analysis
115
+ - Milestone tracking with visual progress indicators
116
+
117
+ #### **Development Teams**
118
+
119
+ - Agile workflow management with GitHub integration
120
+ - Performance tracking with velocity charts
121
+ - Issue management with priority and status tracking
122
+ - Collaboration with multi-user safe operations
123
+
124
+ #### **Executives & Stakeholders**
125
+
126
+ - High-level project overviews with executive dashboards
127
+ - Progress reporting with visual charts and metrics
128
+ - Risk identification with blocked issue tracking
129
+ - Resource planning with team capacity analysis
130
+
131
+ ---
132
+
133
+ ## [Unreleased]
134
+
135
+ ### Planned Features
136
+
137
+ - **Real-time Collaboration**: WebSocket-based real-time updates
138
+ - **Custom Chart Types**: User-configurable chart templates
139
+ - **Advanced Filtering**: Complex query language for data analysis
140
+ - **Integration Plugins**: Jira, Azure DevOps, GitLab integration
141
+ - **Mobile Support**: Responsive web dashboard for mobile devices
142
+ - **AI Insights**: Machine learning-based project predictions and recommendations
143
+
144
+ ---
145
+
146
+ For more detailed information about features and usage, see the [documentation](https://roadmap-cli.readthedocs.io).
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Shane M. Wilkins
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,413 @@
1
+ Metadata-Version: 2.1
2
+ Name: roadmap-cli
3
+ Version: 1.0.0
4
+ Summary: Enterprise-grade command line tool for project roadmap management with GitHub integration, data visualization, and advanced analytics
5
+ Home-page: https://roadmap-cli.readthedocs.io
6
+ License: MIT
7
+ Keywords: cli,roadmap,planning,project-management,github,agile,scrum,milestone,issue-tracking,analytics,visualization,productivity
8
+ Author: Roadmap CLI Team
9
+ Author-email: contact@roadmap-cli.com
10
+ Requires-Python: >=3.10,<4.0
11
+ Classifier: Development Status :: 5 - Production/Stable
12
+ Classifier: Environment :: Console
13
+ Classifier: Intended Audience :: Developers
14
+ Classifier: Intended Audience :: Information Technology
15
+ Classifier: Intended Audience :: System Administrators
16
+ Classifier: License :: OSI Approved :: MIT License
17
+ Classifier: Operating System :: OS Independent
18
+ Classifier: Programming Language :: Python :: 3
19
+ Classifier: Programming Language :: Python :: 3.10
20
+ Classifier: Programming Language :: Python :: 3.11
21
+ Classifier: Programming Language :: Python :: 3.12
22
+ Classifier: Topic :: Office/Business :: Scheduling
23
+ Classifier: Topic :: Software Development :: Bug Tracking
24
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
25
+ Classifier: Topic :: Software Development :: Version Control :: Git
26
+ Classifier: Topic :: Utilities
27
+ Requires-Dist: GitPython (>=3.1.40,<4.0.0)
28
+ Requires-Dist: aiohttp (>=3.8.0,<4.0.0)
29
+ Requires-Dist: asyncclick (>=8.1.0,<9.0.0)
30
+ Requires-Dist: click (>=8.0.0,<9.0.0)
31
+ Requires-Dist: deprecated (>=1.2.0,<2.0.0)
32
+ Requires-Dist: diskcache (>=5.6.0,<6.0.0)
33
+ Requires-Dist: dynaconf (>=3.2.0,<4.0.0)
34
+ Requires-Dist: keyring (>=23.0.0,<26.0.0)
35
+ Requires-Dist: matplotlib (>=3.6.0,<4.0.0)
36
+ Requires-Dist: openpyxl (>=3.1.0,<4.0.0)
37
+ Requires-Dist: opentelemetry-api (>=1.20.0,<2.0.0)
38
+ Requires-Dist: opentelemetry-exporter-jaeger (>=1.20.0,<2.0.0)
39
+ Requires-Dist: opentelemetry-sdk (>=1.20.0,<2.0.0)
40
+ Requires-Dist: pandas (>=2.0.0,<3.0.0)
41
+ Requires-Dist: plotly (>=5.15.0,<6.0.0)
42
+ Requires-Dist: pydantic (>=2.0.0,<3.0.0)
43
+ Requires-Dist: python-dotenv (>=1.0.0,<2.0.0)
44
+ Requires-Dist: pyyaml (>=6.0.0,<7.0.0)
45
+ Requires-Dist: requests (>=2.28.0,<3.0.0)
46
+ Requires-Dist: rich (>=13.0.0,<15.0.0)
47
+ Requires-Dist: seaborn (>=0.12.0,<1.0.0)
48
+ Requires-Dist: structlog (>=23.0.0,<24.0.0)
49
+ Requires-Dist: tabulate (>=0.9.0,<1.0.0)
50
+ Requires-Dist: toml (>=0.10.0,<1.0.0)
51
+ Project-URL: Documentation, https://roadmap-cli.readthedocs.io
52
+ Project-URL: Repository, https://github.com/roadmap-cli/roadmap
53
+ Description-Content-Type: text/markdown
54
+
55
+ # Roadmap CLI
56
+
57
+ > **Project Management as Code** — Manage your project in git, not in a tool.
58
+
59
+ Roadmap is a CLI-first project management tool designed for developers who want to keep their project data in git, not locked away in another SaaS tool. If you use git, shell scripts, and plain text files, Roadmap feels like home.
60
+
61
+ ## The Problem
62
+
63
+ Modern project management tools solve a problem developers don't have:
64
+
65
+ - **You already track work in git.** Commit messages, PRs, issues in GitHub/GitLab... it's all there.
66
+ - **You duplicate effort.** Update status in Jira, then mention it in Slack, then close the GitHub issue. Same information, three places.
67
+ - **You can't script your workflow.** Want to auto-assign issues based on a commit? Good luck with most tools.
68
+ - **Your data lives elsewhere.** Offline? Can't access your roadmap. Switching tools? Export is painful.
69
+
70
+ ## The Solution
71
+
72
+ Roadmap stores your project data in **plain YAML + Markdown files tracked in git**. This simple approach gives you:
73
+
74
+ | Problem | Solution |
75
+ | --- | --- |
76
+ | **Duplicated data entry** | Single source of truth: your git repo |
77
+ | **Manual status updates** | Auto-sync on commits (`fixes issue-123`) |
78
+ | **No offline access** | Clone the repo, work offline, push changes |
79
+ | **Vendor lock-in** | Files stay plain text forever |
80
+ | **Non-scriptable workflow** | Composable with `jq`, `fzf`, `ripgrep`, shell scripts |
81
+ | **Missing context** | Full git history + blame for every change |
82
+ | **Team bloat for small teams** | Start solo, scale to teams without learning new tool |
83
+
84
+ Project management as a durable, automatable, self-owned system — not a product you rent.
85
+
86
+ ## Why It Works for Small Teams
87
+
88
+ ### For Solo Developers
89
+
90
+ ```bash
91
+ roadmap today # What am I working on?
92
+ roadmap issue update 42 done # Mark issue done
93
+ git log --oneline # See what I shipped
94
+ ```
95
+
96
+ No UI to load. No notifications to ignore. Just you, your terminal, and your git history.
97
+
98
+ ### For Small Teams (3-8 people)
99
+
100
+ ```bash
101
+ roadmap issue list --filter assignee=alice
102
+ roadmap milestone list --project web-app
103
+ git push && roadmap sync github # Two-way sync with GitHub
104
+ ```
105
+
106
+ Everyone sees the same data (it's in git). Changes are trackable (git blame). Decisions are documented (commits). No meetings about "where is the roadmap file?"
107
+
108
+ ### For Distributed Teams
109
+
110
+ ```bash
111
+ roadmap issue create "API pagination" --assignee bob --milestone sprint-2
112
+ # Bob works offline, commits changes locally
113
+ # Roadmap auto-updates via commit message: git commit -m "fixes API pagination"
114
+ git pull # Everyone syncs to latest
115
+ roadmap sync github # GitHub issues stay in sync
116
+ ```
117
+
118
+ Git is the synchronization layer. No merge conflicts on simple status changes. No "who has the lock?"
119
+
120
+ ## Key Features
121
+
122
+ ### 📋 Issue Management
123
+
124
+ - Create, list, update, delete issues
125
+ - Status tracking (todo, in-progress, blocked, review, done)
126
+ - Priority levels (low, medium, high, critical)
127
+ - Team assignment and filtering
128
+ - Advanced search and sorting
129
+
130
+ ### 📅 Milestone Planning
131
+
132
+ - Create sprints/releases as milestones
133
+ - Track progress (how many issues done?)
134
+ - Due dates and scope management
135
+ - Link issues to milestones
136
+
137
+ ### 🚀 Roadmap Planning
138
+
139
+ - High-level quarterly/annual plans
140
+ - Organize milestones by roadmap
141
+ - Strategic tracking
142
+
143
+ ### 🔗 Git Integration
144
+
145
+ - **Auto-sync on commit:** `git commit -m "fixes issue-42"` → issue status updates
146
+ - **Two-way GitHub sync:** Pull requests → issues, status changes → PR labels
147
+ - **Commit blame:** See who changed what and when
148
+
149
+ ### 📊 Output Formats
150
+
151
+ ```bash
152
+ roadmap today # Rich (interactive)
153
+ roadmap today --format json # JSON (for scripting)
154
+ roadmap today --format csv # CSV (for spreadsheets)
155
+ roadmap today --format plain # Plain text (for pipes)
156
+ ```
157
+
158
+ **Composable with Unix tools:**
159
+
160
+ ```bash
161
+ roadmap issue list --format json | jq '.[] | select(.priority == "critical")'
162
+ roadmap today --format csv | fzf --preview 'cat {}'
163
+ roadmap issue list --format plain | grep -i "performance"
164
+ ```
165
+
166
+ ### 🔐 Secure by Default
167
+
168
+ - Data stored locally (or in git)
169
+ - No cloud account required
170
+ - Git history = audit trail
171
+ - Credentials managed via system keyring
172
+ - Open source (audit the code)
173
+
174
+ ## Installation
175
+
176
+ ### Recommended: Poetry or uv
177
+
178
+ **Poetry** (recommended for projects):
179
+
180
+ ```bash
181
+ poetry add roadmap-cli
182
+ ```
183
+
184
+ **uv** (fast, lightweight):
185
+
186
+ ```bash
187
+ uv tool install roadmap-cli
188
+ ```
189
+
190
+ ### Pip (simple)
191
+
192
+ ```bash
193
+ pip install roadmap-cli
194
+ ```
195
+
196
+ ### From Source
197
+
198
+ ```bash
199
+ git clone https://github.com/shanemiller/roadmap.git
200
+ cd roadmap
201
+ poetry install
202
+ poetry run roadmap --help
203
+ ```
204
+
205
+ ## Quick Start (5 minutes)
206
+
207
+ ### 1. Initialize your project
208
+
209
+ ```bash
210
+ cd my-project
211
+ roadmap init
212
+ ```
213
+
214
+ This creates `.roadmap/` directory with configuration.
215
+
216
+ ### 2. Create an issue
217
+
218
+ ```bash
219
+ roadmap issue create "Fix login timeout issue"
220
+ roadmap issue list
221
+ ```
222
+
223
+ ### 3. Start tracking work
224
+
225
+ ```bash
226
+ roadmap issue update 1 in-progress
227
+ roadmap issue assign 1 alice
228
+ ```
229
+
230
+ ### 4. Auto-sync with git
231
+
232
+ ```bash
233
+ git commit -m "fixes issue 1: login timeout resolved"
234
+ roadmap issue list # Status auto-updated to 'done'
235
+ ```
236
+
237
+ ### 5. View your priorities
238
+
239
+ ```bash
240
+ roadmap today # Your task list
241
+ roadmap today --filter priority=critical
242
+ ```
243
+
244
+ **→ Next steps:** Read [Quick Start Guide](docs/user_guide/QUICK_START.md) for more examples.
245
+
246
+ ## Documentation
247
+
248
+ | Guide | For | Time |
249
+ | --- | --- | --- |
250
+ | **[Quick Start](docs/user_guide/QUICK_START.md)** | New users | 5 min |
251
+ | **[Workflows](docs/user_guide/WORKFLOWS.md)** | Real-world patterns | 10 min |
252
+ | **[FAQ](docs/user_guide/FAQ.md)** | Questions & comparisons | 15 min |
253
+ | **[Architecture](docs/developer_notes/ARCHITECTURE.md)** | Technical details | 20 min |
254
+ | **[Installation](docs/user_guide/INSTALLATION.md)** | Setup & troubleshooting | varies |
255
+ | **[Security](docs/developer_notes/SECURITY.md)** | Privacy & safety | 10 min |
256
+ | **[Future Features](docs/developer_notes/FUTURE_FEATURES.md)** | Roadmap (v1.1+) | 5 min |
257
+
258
+ ## Compare to Other Tools
259
+
260
+ | Tool | Model | Data | Good For | Bad For Roadmap |
261
+ | --- | --- | --- | --- | --- |
262
+ | **Jira** | SaaS/On-prem | Proprietary DB | Large enterprises | Small teams, CLI, offline work |
263
+ | **Linear** | SaaS | Cloud | Growing startups | No offline, no git-native |
264
+ | **Trello** | SaaS | Cloud | Visual boards | Serious PM, git-less |
265
+ | **GitHub Issues** | SaaS | GitHub | Open source | Cross-repo, multiple teams |
266
+ | **Notion** | SaaS | Cloud | Note-taking | Structured workflows |
267
+ | **Roadmap** | CLI | Git + YAML | Small teams, developers | Enterprise RBAC, web UI (coming v2.0) |
268
+
269
+ See [FAQ.md](docs/user_guide/FAQ.md) for deeper comparisons.
270
+
271
+ ## Scope & Limitations
272
+
273
+ ### What Roadmap Does Well
274
+
275
+ **Single Repository:**
276
+
277
+ - Track issues, milestones, and roadmaps within one repo
278
+ - Organize work by priority, assignment, and status
279
+ - Integrate with git commits via auto-sync
280
+ - Export to multiple formats for reporting
281
+ - Work offline, sync when ready
282
+
283
+ **Small Teams (1-8 people):**
284
+
285
+ - Everyone has read/write access to the repo
286
+ - Git-based synchronization (no merge conflicts on simple status changes)
287
+ - All changes are tracked and auditable via git history
288
+ - CLI-first workflow matches developer preferences
289
+
290
+ ### What Roadmap Doesn't Do
291
+
292
+ **Multiple Repositories:**
293
+
294
+ - This tool is repo-scoped by design (each repo gets its own `.roadmap` directory)
295
+ - If you manage multiple related projects across repos, use:
296
+ - GitHub Projects (free, integrated with repos)
297
+ - Jira or Linear (enterprise, for complex coordination)
298
+ - Your own meta-layer (if you need something custom)
299
+ - Each repo runs independently; there's no built-in cross-repo aggregation
300
+
301
+ **Enterprise Features:**
302
+
303
+ - Complex RBAC (role-based access control)
304
+ - Multiple teams with separate permissions
305
+ - Audit logging and compliance reporting
306
+ - Web UI and mobile access
307
+ - SaaS infrastructure
308
+
309
+ For these, use Jira, Linear, or GitHub Enterprise.
310
+
311
+ **Why This Scope?**
312
+
313
+ Roadmap intentionally stays small because:
314
+
315
+ 1. **It solves the actual problem** for solo devs and small teams (duplicate data entry)
316
+ 2. **Larger teams benefit from better tools** (Jira, Linear) that solve different problems
317
+ 3. **Git as the sync layer** works at scale up to ~5 projects per person
318
+ 4. **Simplicity is a feature** — less code = fewer bugs = easier to fork/modify
319
+
320
+ ### Future-Proofing
321
+
322
+ The schema includes optional `repo_url` (on projects) and `project_id` (on milestones) fields for future tooling that might aggregate across repos. These fields are unused today but allow extensions without breaking existing data.
323
+
324
+ ## Real-World Example
325
+
326
+ ### Solo Developer
327
+
328
+ ```bash
329
+ # Monday: Plan sprint
330
+ roadmap milestone create sprint-12 --due 2025-02-14
331
+ roadmap issue create "Refactor auth module" --milestone sprint-12 --priority high
332
+
333
+ # Wednesday: Work offline
334
+ git clone . ~/offline
335
+ cd ~/offline
336
+ # ... code ...
337
+ git commit -m "refactors auth module, fixes security issue"
338
+ roadmap issue status 42 done # Mark done
339
+
340
+ # Friday: Sync and review
341
+ git push
342
+ roadmap today --done # See what shipped
343
+ roadmap sync github # Update GitHub labels
344
+ ```
345
+
346
+ ### Small Team (PM + 3 devs)
347
+
348
+ ```bash
349
+ # Monday standup (async in Slack)
350
+ roadmap today --format json | jq '.[] | .title' | sort
351
+ # → Shows everyone's tasks
352
+
353
+ # Devs work independently
354
+ git commit -m "implements new API endpoint [closes roadmap:issue-58]"
355
+ roadmap sync github # PR gets linked to issue
356
+
357
+ # Friday metrics
358
+ roadmap analysis velocity sprint-12 # How many issues completed?
359
+ ```
360
+
361
+ See [Workflows.md](docs/user_guide/WORKFLOWS.md) for more patterns.
362
+
363
+ ## Integrations
364
+
365
+ ### Works Well With
366
+
367
+ **CLI Tools:**
368
+
369
+ - [`jq`](https://stedolan.github.io/jq/) — Query issues as JSON
370
+ - [`fzf`](https://github.com/junegunn/fzf) — Fuzzy find issues
371
+ - [`ripgrep`](https://github.com/BurntSushi/ripgrep) — Search issue descriptions
372
+ - Standard Unix: `grep`, `awk`, `sed`, `sort`, `uniq`
373
+
374
+ **Development:**
375
+
376
+ - Git hooks (auto-sync on commit)
377
+ - GitHub/GitLab (two-way sync)
378
+ - CI/CD (create issues on test failures)
379
+ - Cron jobs (daily snapshots, reminders)
380
+
381
+ **Data:**
382
+
383
+ - Spreadsheets (export to CSV)
384
+ - Grafana (stream metrics)
385
+ - Slack (notify on updates)
386
+
387
+ See [Workflows.md](docs/user_guide/WORKFLOWS.md#Automating) for integration examples.
388
+
389
+ ## Philosophy
390
+
391
+ - **Plain text first.** Data lives in YAML + Markdown, tracked in git.
392
+ - **CLI-native.** Full power from your terminal. No bloated UI.
393
+ - **Offline by default.** Clone repo, work anywhere, push changes.
394
+ - **Git is your database.** History, blame, and rollback come free.
395
+ - **Composable.** Works with `jq`, shell scripts, and Unix tools.
396
+ - **Developer-friendly.** Made by developers, for developers.
397
+
398
+ ## Getting Help
399
+
400
+ - **Questions?** See [FAQ.md](docs/user_guide/FAQ.md)
401
+ - **Getting started?** See [Quick Start](docs/user_guide/QUICK_START.md)
402
+ - **Ideas?** See [Future Features](docs/developer_notes/FUTURE_FEATURES.md)
403
+ - **Bugs?** [Report on GitHub](https://github.com/shanemiller/roadmap/issues)
404
+ - **Contributing?** [Join us!](CONTRIBUTING.md) (coming soon)
405
+
406
+ ## License
407
+
408
+ [License.md](LICENSE.md) — MIT
409
+
410
+ ---
411
+
412
+ **Ready to stop duplicating your work?** [Get started in 5 minutes →](docs/user_guide/QUICK_START.md)
413
+