roadmap-cli 0.1.1__tar.gz → 0.2.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.
- {roadmap_cli-0.1.1 → roadmap_cli-0.2.0}/.gitignore +1 -0
- roadmap_cli-0.2.0/CHANGELOG.md +86 -0
- roadmap_cli-0.2.0/PKG-INFO +235 -0
- roadmap_cli-0.2.0/README.md +186 -0
- roadmap_cli-0.2.0/pyproject.toml +147 -0
- roadmap_cli-0.2.0/roadmap/__init__.py +13 -0
- roadmap_cli-0.2.0/roadmap/adapters/__init__.py +1 -0
- roadmap_cli-0.2.0/roadmap/adapters/inbound/__init__.py +1 -0
- roadmap_cli-0.2.0/roadmap/adapters/inbound/cli/__init__.py +159 -0
- roadmap_cli-0.2.0/roadmap/adapters/inbound/cli/analysis/commands.py +126 -0
- roadmap_cli-0.2.0/roadmap/adapters/inbound/cli/analysis/presenter.py +30 -0
- roadmap_cli-0.2.0/roadmap/adapters/inbound/cli/cleanup.py +107 -0
- {roadmap_cli-0.1.1/roadmap/adapters → roadmap_cli-0.2.0/roadmap/adapters/inbound}/cli/cli_command_helpers.py +0 -3
- {roadmap_cli-0.1.1/roadmap/common/formatters/tables → roadmap_cli-0.2.0/roadmap/adapters/inbound/cli}/column_factory.py +3 -3
- roadmap_cli-0.2.0/roadmap/adapters/inbound/cli/config/__init__.py +5 -0
- roadmap_cli-0.2.0/roadmap/adapters/inbound/cli/config/commands.py +86 -0
- roadmap_cli-0.2.0/roadmap/adapters/inbound/cli/daily_summary.py +41 -0
- roadmap_cli-0.2.0/roadmap/adapters/inbound/cli/data/commands.py +215 -0
- roadmap_cli-0.2.0/roadmap/adapters/inbound/cli/datetime_parser.py +72 -0
- {roadmap_cli-0.1.1/roadmap/adapters → roadmap_cli-0.2.0/roadmap/adapters/inbound}/cli/decorators.py +4 -4
- {roadmap_cli-0.1.1/roadmap/adapters → roadmap_cli-0.2.0/roadmap/adapters/inbound}/cli/exception_handler.py +7 -18
- roadmap_cli-0.2.0/roadmap/adapters/inbound/cli/git/commands.py +77 -0
- roadmap_cli-0.2.0/roadmap/adapters/inbound/cli/health/__init__.py +10 -0
- roadmap_cli-0.2.0/roadmap/adapters/inbound/cli/health/commands.py +346 -0
- roadmap_cli-0.2.0/roadmap/adapters/inbound/cli/init/commands.py +74 -0
- roadmap_cli-0.2.0/roadmap/adapters/inbound/cli/issues/__init__.py +59 -0
- roadmap_cli-0.2.0/roadmap/adapters/inbound/cli/issues/archive.py +66 -0
- roadmap_cli-0.2.0/roadmap/adapters/inbound/cli/issues/block.py +27 -0
- roadmap_cli-0.2.0/roadmap/adapters/inbound/cli/issues/close.py +52 -0
- roadmap_cli-0.2.0/roadmap/adapters/inbound/cli/issues/comment.py +94 -0
- roadmap_cli-0.2.0/roadmap/adapters/inbound/cli/issues/create.py +92 -0
- roadmap_cli-0.2.0/roadmap/adapters/inbound/cli/issues/delete.py +24 -0
- roadmap_cli-0.2.0/roadmap/adapters/inbound/cli/issues/deps.py +70 -0
- roadmap_cli-0.2.0/roadmap/adapters/inbound/cli/issues/list.py +194 -0
- roadmap_cli-0.2.0/roadmap/adapters/inbound/cli/issues/progress.py +24 -0
- roadmap_cli-0.2.0/roadmap/adapters/inbound/cli/issues/query_presenter.py +104 -0
- roadmap_cli-0.2.0/roadmap/adapters/inbound/cli/issues/resolution.py +63 -0
- roadmap_cli-0.2.0/roadmap/adapters/inbound/cli/issues/restore.py +55 -0
- roadmap_cli-0.2.0/roadmap/adapters/inbound/cli/issues/start.py +59 -0
- roadmap_cli-0.2.0/roadmap/adapters/inbound/cli/issues/unblock.py +32 -0
- roadmap_cli-0.2.0/roadmap/adapters/inbound/cli/issues/update.py +78 -0
- roadmap_cli-0.2.0/roadmap/adapters/inbound/cli/issues/view.py +24 -0
- {roadmap_cli-0.1.1/roadmap/adapters → roadmap_cli-0.2.0/roadmap/adapters/inbound}/cli/layout.py +2 -10
- roadmap_cli-0.2.0/roadmap/adapters/inbound/cli/migrate.py +85 -0
- {roadmap_cli-0.1.1/roadmap/adapters → roadmap_cli-0.2.0/roadmap/adapters/inbound}/cli/milestones/__init__.py +11 -11
- roadmap_cli-0.2.0/roadmap/adapters/inbound/cli/milestones/archive.py +55 -0
- roadmap_cli-0.2.0/roadmap/adapters/inbound/cli/milestones/assign.py +29 -0
- roadmap_cli-0.2.0/roadmap/adapters/inbound/cli/milestones/close.py +25 -0
- roadmap_cli-0.2.0/roadmap/adapters/inbound/cli/milestones/create.py +72 -0
- roadmap_cli-0.2.0/roadmap/adapters/inbound/cli/milestones/delete.py +29 -0
- roadmap_cli-0.2.0/roadmap/adapters/inbound/cli/milestones/kanban.py +36 -0
- roadmap_cli-0.2.0/roadmap/adapters/inbound/cli/milestones/list.py +65 -0
- roadmap_cli-0.2.0/roadmap/adapters/inbound/cli/milestones/recalculate.py +33 -0
- roadmap_cli-0.2.0/roadmap/adapters/inbound/cli/milestones/restore.py +40 -0
- roadmap_cli-0.2.0/roadmap/adapters/inbound/cli/milestones/update.py +51 -0
- roadmap_cli-0.2.0/roadmap/adapters/inbound/cli/milestones/view.py +61 -0
- roadmap_cli-0.2.0/roadmap/adapters/inbound/cli/models/__init__.py +13 -0
- {roadmap_cli-0.1.1/roadmap/common → roadmap_cli-0.2.0/roadmap/adapters/inbound/cli}/output_formatter.py +1 -1
- roadmap_cli-0.1.1/roadmap/common/utils/cli_helpers.py → roadmap_cli-0.2.0/roadmap/adapters/inbound/cli/output_options.py +2 -2
- roadmap_cli-0.2.0/roadmap/adapters/inbound/cli/planning_resolution.py +46 -0
- {roadmap_cli-0.1.1/roadmap/adapters → roadmap_cli-0.2.0/roadmap/adapters/inbound}/cli/projects/__init__.py +8 -8
- roadmap_cli-0.2.0/roadmap/adapters/inbound/cli/projects/archive.py +55 -0
- roadmap_cli-0.2.0/roadmap/adapters/inbound/cli/projects/close.py +29 -0
- roadmap_cli-0.2.0/roadmap/adapters/inbound/cli/projects/create.py +28 -0
- roadmap_cli-0.2.0/roadmap/adapters/inbound/cli/projects/delete.py +26 -0
- roadmap_cli-0.2.0/roadmap/adapters/inbound/cli/projects/list.py +69 -0
- roadmap_cli-0.2.0/roadmap/adapters/inbound/cli/projects/restore.py +40 -0
- roadmap_cli-0.2.0/roadmap/adapters/inbound/cli/projects/update.py +51 -0
- roadmap_cli-0.2.0/roadmap/adapters/inbound/cli/projects/view.py +29 -0
- roadmap_cli-0.2.0/roadmap/adapters/inbound/cli/status.py +215 -0
- roadmap_cli-0.2.0/roadmap/adapters/inbound/cli/today.py +23 -0
- roadmap_cli-0.2.0/roadmap/adapters/outbound/__init__.py +1 -0
- roadmap_cli-0.2.0/roadmap/adapters/outbound/git/__init__.py +5 -0
- roadmap_cli-0.2.0/roadmap/adapters/outbound/git/local.py +126 -0
- roadmap_cli-0.2.0/roadmap/adapters/outbound/persistence/__init__.py +11 -0
- roadmap_cli-0.2.0/roadmap/adapters/outbound/persistence/canonical.py +517 -0
- roadmap_cli-0.2.0/roadmap/adapters/outbound/persistence/configuration.py +266 -0
- roadmap_cli-0.2.0/roadmap/adapters/outbound/persistence/diagnostics.py +301 -0
- roadmap_cli-0.2.0/roadmap/adapters/outbound/persistence/documents.py +450 -0
- roadmap_cli-0.2.0/roadmap/adapters/outbound/persistence/initialization.py +41 -0
- roadmap_cli-0.2.0/roadmap/adapters/outbound/persistence/issue_queries.py +87 -0
- roadmap_cli-0.2.0/roadmap/adapters/outbound/persistence/migration.py +452 -0
- roadmap_cli-0.2.0/roadmap/adapters/outbound/persistence/projection.py +248 -0
- roadmap_cli-0.2.0/roadmap/adapters/outbound/system.py +28 -0
- roadmap_cli-0.2.0/roadmap/application/__init__.py +1 -0
- roadmap_cli-0.2.0/roadmap/application/configuration.py +34 -0
- roadmap_cli-0.2.0/roadmap/application/contracts.py +374 -0
- roadmap_cli-0.2.0/roadmap/application/failures.py +21 -0
- roadmap_cli-0.2.0/roadmap/application/ports.py +130 -0
- roadmap_cli-0.2.0/roadmap/application/use_cases/__init__.py +19 -0
- roadmap_cli-0.2.0/roadmap/application/use_cases/health.py +29 -0
- roadmap_cli-0.2.0/roadmap/application/use_cases/issue_mutations.py +630 -0
- roadmap_cli-0.2.0/roadmap/application/use_cases/issues.py +199 -0
- roadmap_cli-0.2.0/roadmap/application/use_cases/local_git.py +107 -0
- roadmap_cli-0.2.0/roadmap/application/use_cases/planning.py +853 -0
- roadmap_cli-0.2.0/roadmap/application/use_cases/workspace_initialization.py +37 -0
- roadmap_cli-0.2.0/roadmap/application/use_cases/workspace_migration.py +29 -0
- roadmap_cli-0.2.0/roadmap/bootstrap/__init__.py +105 -0
- roadmap_cli-0.2.0/roadmap/bootstrap/core.py +87 -0
- roadmap_cli-0.2.0/roadmap/domain/__init__.py +1 -0
- roadmap_cli-0.2.0/roadmap/domain/aggregates.py +263 -0
- roadmap_cli-0.2.0/roadmap/domain/failures.py +17 -0
- roadmap_cli-0.2.0/roadmap/domain/transitions.py +57 -0
- roadmap_cli-0.2.0/roadmap/domain/types.py +152 -0
- roadmap_cli-0.1.1/CHANGELOG.md +0 -189
- roadmap_cli-0.1.1/PKG-INFO +0 -448
- roadmap_cli-0.1.1/README.md +0 -378
- roadmap_cli-0.1.1/pyproject.toml +0 -216
- roadmap_cli-0.1.1/roadmap/__init__.py +0 -27
- roadmap_cli-0.1.1/roadmap/adapters/__init__.py +0 -1
- roadmap_cli-0.1.1/roadmap/adapters/base_paginated_adapter.py +0 -117
- roadmap_cli-0.1.1/roadmap/adapters/cli/__init__.py +0 -249
- roadmap_cli-0.1.1/roadmap/adapters/cli/analysis/commands.py +0 -370
- roadmap_cli-0.1.1/roadmap/adapters/cli/analysis/presenter.py +0 -125
- roadmap_cli-0.1.1/roadmap/adapters/cli/archive_operations.py +0 -86
- roadmap_cli-0.1.1/roadmap/adapters/cli/cli_confirmations.py +0 -74
- roadmap_cli-0.1.1/roadmap/adapters/cli/cli_error_handlers.py +0 -146
- roadmap_cli-0.1.1/roadmap/adapters/cli/cli_validators.py +0 -39
- roadmap_cli-0.1.1/roadmap/adapters/cli/commands/sync_status.py +0 -308
- roadmap_cli-0.1.1/roadmap/adapters/cli/comment/__init__.py +0 -5
- roadmap_cli-0.1.1/roadmap/adapters/cli/comment/commands.py +0 -106
- roadmap_cli-0.1.1/roadmap/adapters/cli/config/__init__.py +0 -5
- roadmap_cli-0.1.1/roadmap/adapters/cli/config/commands.py +0 -198
- roadmap_cli-0.1.1/roadmap/adapters/cli/console_exports.py +0 -10
- roadmap_cli-0.1.1/roadmap/adapters/cli/core.py +0 -26
- roadmap_cli-0.1.1/roadmap/adapters/cli/crud/__init__.py +0 -47
- roadmap_cli-0.1.1/roadmap/adapters/cli/crud/base_archive.py +0 -208
- roadmap_cli-0.1.1/roadmap/adapters/cli/crud/base_create.py +0 -154
- roadmap_cli-0.1.1/roadmap/adapters/cli/crud/base_delete.py +0 -155
- roadmap_cli-0.1.1/roadmap/adapters/cli/crud/base_restore.py +0 -283
- roadmap_cli-0.1.1/roadmap/adapters/cli/crud/base_update.py +0 -193
- roadmap_cli-0.1.1/roadmap/adapters/cli/crud/crud_helpers.py +0 -206
- roadmap_cli-0.1.1/roadmap/adapters/cli/crud/crud_utils.py +0 -152
- roadmap_cli-0.1.1/roadmap/adapters/cli/crud/entity_builders.py +0 -374
- roadmap_cli-0.1.1/roadmap/adapters/cli/data/commands.py +0 -149
- roadmap_cli-0.1.1/roadmap/adapters/cli/dtos/__init__.py +0 -155
- roadmap_cli-0.1.1/roadmap/adapters/cli/git/commands.py +0 -475
- roadmap_cli-0.1.1/roadmap/adapters/cli/git/handlers/__init__.py +0 -1
- roadmap_cli-0.1.1/roadmap/adapters/cli/git/handlers/git_authentication_handler.py +0 -124
- roadmap_cli-0.1.1/roadmap/adapters/cli/git/handlers/git_branch_handler.py +0 -238
- roadmap_cli-0.1.1/roadmap/adapters/cli/git/handlers/git_connectivity_handler.py +0 -122
- roadmap_cli-0.1.1/roadmap/adapters/cli/git/handlers/git_hooks_handler.py +0 -105
- roadmap_cli-0.1.1/roadmap/adapters/cli/git/hooks_config.py +0 -327
- roadmap_cli-0.1.1/roadmap/adapters/cli/git/status_display.py +0 -158
- roadmap_cli-0.1.1/roadmap/adapters/cli/health/__init__.py +0 -8
- roadmap_cli-0.1.1/roadmap/adapters/cli/health/db_integrity.py +0 -204
- roadmap_cli-0.1.1/roadmap/adapters/cli/health/enhancer.py +0 -227
- roadmap_cli-0.1.1/roadmap/adapters/cli/health/fixer.py +0 -295
- roadmap_cli-0.1.1/roadmap/adapters/cli/health/fixers/__init__.py +0 -10
- roadmap_cli-0.1.1/roadmap/adapters/cli/health/fixers/corrupted_comments_fixer.py +0 -231
- roadmap_cli-0.1.1/roadmap/adapters/cli/health/fixers/data_integrity_fixer.py +0 -137
- roadmap_cli-0.1.1/roadmap/adapters/cli/health/fixers/duplicate_issues_fixer.py +0 -138
- roadmap_cli-0.1.1/roadmap/adapters/cli/health/fixers/folder_structure_fixer.py +0 -114
- roadmap_cli-0.1.1/roadmap/adapters/cli/health/fixers/label_normalization_fixer.py +0 -162
- roadmap_cli-0.1.1/roadmap/adapters/cli/health/fixers/milestone_name_normalization_fixer.py +0 -181
- roadmap_cli-0.1.1/roadmap/adapters/cli/health/fixers/milestone_naming_compliance_fixer.py +0 -244
- roadmap_cli-0.1.1/roadmap/adapters/cli/health/fixers/milestone_parse_error_fixer.py +0 -162
- roadmap_cli-0.1.1/roadmap/adapters/cli/health/fixers/milestone_validation_fixer.py +0 -211
- roadmap_cli-0.1.1/roadmap/adapters/cli/health/fixers/old_backups_fixer.py +0 -135
- roadmap_cli-0.1.1/roadmap/adapters/cli/health/fixers/orphaned_issues_fixer.py +0 -252
- roadmap_cli-0.1.1/roadmap/adapters/cli/health/formatter.py +0 -250
- roadmap_cli-0.1.1/roadmap/adapters/cli/health/formatters.py +0 -427
- roadmap_cli-0.1.1/roadmap/adapters/cli/health/scan.py +0 -293
- roadmap_cli-0.1.1/roadmap/adapters/cli/init/commands.py +0 -587
- roadmap_cli-0.1.1/roadmap/adapters/cli/init.py +0 -9
- roadmap_cli-0.1.1/roadmap/adapters/cli/issues/__init__.py +0 -70
- roadmap_cli-0.1.1/roadmap/adapters/cli/issues/archive.py +0 -137
- roadmap_cli-0.1.1/roadmap/adapters/cli/issues/archive_class.py +0 -253
- roadmap_cli-0.1.1/roadmap/adapters/cli/issues/block.py +0 -39
- roadmap_cli-0.1.1/roadmap/adapters/cli/issues/close.py +0 -216
- roadmap_cli-0.1.1/roadmap/adapters/cli/issues/comment.py +0 -178
- roadmap_cli-0.1.1/roadmap/adapters/cli/issues/create.py +0 -162
- roadmap_cli-0.1.1/roadmap/adapters/cli/issues/delete.py +0 -31
- roadmap_cli-0.1.1/roadmap/adapters/cli/issues/deps.py +0 -161
- roadmap_cli-0.1.1/roadmap/adapters/cli/issues/issue_status_helpers.py +0 -111
- roadmap_cli-0.1.1/roadmap/adapters/cli/issues/link.py +0 -308
- roadmap_cli-0.1.1/roadmap/adapters/cli/issues/list.py +0 -402
- roadmap_cli-0.1.1/roadmap/adapters/cli/issues/lookup.py +0 -96
- roadmap_cli-0.1.1/roadmap/adapters/cli/issues/progress.py +0 -102
- roadmap_cli-0.1.1/roadmap/adapters/cli/issues/restore.py +0 -96
- roadmap_cli-0.1.1/roadmap/adapters/cli/issues/restore_class.py +0 -57
- roadmap_cli-0.1.1/roadmap/adapters/cli/issues/start.py +0 -165
- roadmap_cli-0.1.1/roadmap/adapters/cli/issues/sync_status.py +0 -374
- roadmap_cli-0.1.1/roadmap/adapters/cli/issues/unblock.py +0 -43
- roadmap_cli-0.1.1/roadmap/adapters/cli/issues/unlink.py +0 -104
- roadmap_cli-0.1.1/roadmap/adapters/cli/issues/update.py +0 -120
- roadmap_cli-0.1.1/roadmap/adapters/cli/issues/view.py +0 -36
- roadmap_cli-0.1.1/roadmap/adapters/cli/mappers.py +0 -200
- roadmap_cli-0.1.1/roadmap/adapters/cli/milestones/archive.py +0 -125
- roadmap_cli-0.1.1/roadmap/adapters/cli/milestones/archive_class.py +0 -236
- roadmap_cli-0.1.1/roadmap/adapters/cli/milestones/assign.py +0 -62
- roadmap_cli-0.1.1/roadmap/adapters/cli/milestones/close.py +0 -177
- roadmap_cli-0.1.1/roadmap/adapters/cli/milestones/create.py +0 -131
- roadmap_cli-0.1.1/roadmap/adapters/cli/milestones/delete.py +0 -27
- roadmap_cli-0.1.1/roadmap/adapters/cli/milestones/kanban.py +0 -123
- roadmap_cli-0.1.1/roadmap/adapters/cli/milestones/list.py +0 -87
- roadmap_cli-0.1.1/roadmap/adapters/cli/milestones/recalculate.py +0 -79
- roadmap_cli-0.1.1/roadmap/adapters/cli/milestones/restore.py +0 -87
- roadmap_cli-0.1.1/roadmap/adapters/cli/milestones/restore_class.py +0 -99
- roadmap_cli-0.1.1/roadmap/adapters/cli/milestones/update.py +0 -61
- roadmap_cli-0.1.1/roadmap/adapters/cli/milestones/view.py +0 -142
- roadmap_cli-0.1.1/roadmap/adapters/cli/output_manager.py +0 -319
- roadmap_cli-0.1.1/roadmap/adapters/cli/presentation/base_presenter.py +0 -121
- roadmap_cli-0.1.1/roadmap/adapters/cli/presentation/cleanup_presenter.py +0 -235
- roadmap_cli-0.1.1/roadmap/adapters/cli/presentation/core_initialization_presenter.py +0 -277
- roadmap_cli-0.1.1/roadmap/adapters/cli/presentation/crud_presenter.py +0 -134
- roadmap_cli-0.1.1/roadmap/adapters/cli/presentation/daily_summary_presenter.py +0 -266
- roadmap_cli-0.1.1/roadmap/adapters/cli/presentation/issue_presenter.py +0 -258
- roadmap_cli-0.1.1/roadmap/adapters/cli/presentation/milestone_list_presenter.py +0 -135
- roadmap_cli-0.1.1/roadmap/adapters/cli/presentation/milestone_presenter.py +0 -297
- roadmap_cli-0.1.1/roadmap/adapters/cli/presentation/project_presenter.py +0 -233
- roadmap_cli-0.1.1/roadmap/adapters/cli/presentation/project_status_presenter.py +0 -186
- roadmap_cli-0.1.1/roadmap/adapters/cli/presentation/table_builders.py +0 -95
- roadmap_cli-0.1.1/roadmap/adapters/cli/projects/archive.py +0 -127
- roadmap_cli-0.1.1/roadmap/adapters/cli/projects/archive_class.py +0 -96
- roadmap_cli-0.1.1/roadmap/adapters/cli/projects/close.py +0 -94
- roadmap_cli-0.1.1/roadmap/adapters/cli/projects/create.py +0 -50
- roadmap_cli-0.1.1/roadmap/adapters/cli/projects/delete.py +0 -27
- roadmap_cli-0.1.1/roadmap/adapters/cli/projects/list.py +0 -227
- roadmap_cli-0.1.1/roadmap/adapters/cli/projects/restore.py +0 -87
- roadmap_cli-0.1.1/roadmap/adapters/cli/projects/restore_class.py +0 -56
- roadmap_cli-0.1.1/roadmap/adapters/cli/projects/update.py +0 -57
- roadmap_cli-0.1.1/roadmap/adapters/cli/projects/view.py +0 -157
- roadmap_cli-0.1.1/roadmap/adapters/cli/services/__init__.py +0 -1
- roadmap_cli-0.1.1/roadmap/adapters/cli/services/daily_summary_service.py +0 -313
- roadmap_cli-0.1.1/roadmap/adapters/cli/services/export_manager.py +0 -268
- roadmap_cli-0.1.1/roadmap/adapters/cli/services/milestone_list_service.py +0 -266
- roadmap_cli-0.1.1/roadmap/adapters/cli/services/project_initialization_service.py +0 -29
- roadmap_cli-0.1.1/roadmap/adapters/cli/services/project_status_service.py +0 -462
- roadmap_cli-0.1.1/roadmap/adapters/cli/services/sync_service.py +0 -62
- roadmap_cli-0.1.1/roadmap/adapters/cli/status.py +0 -408
- roadmap_cli-0.1.1/roadmap/adapters/cli/sync.py +0 -1117
- roadmap_cli-0.1.1/roadmap/adapters/cli/sync_context.py +0 -432
- roadmap_cli-0.1.1/roadmap/adapters/cli/sync_handlers/__init__.py +0 -77
- roadmap_cli-0.1.1/roadmap/adapters/cli/sync_handlers/apply_ops.py +0 -522
- roadmap_cli-0.1.1/roadmap/adapters/cli/sync_handlers/baseline_ops.py +0 -366
- roadmap_cli-0.1.1/roadmap/adapters/cli/sync_handlers/conflict_ops.py +0 -161
- roadmap_cli-0.1.1/roadmap/adapters/cli/sync_handlers/dry_run_display.py +0 -237
- roadmap_cli-0.1.1/roadmap/adapters/cli/sync_handlers/interactive_resolver.py +0 -396
- roadmap_cli-0.1.1/roadmap/adapters/cli/sync_handlers/progress_tracker.py +0 -128
- roadmap_cli-0.1.1/roadmap/adapters/cli/sync_metrics_command.py +0 -190
- roadmap_cli-0.1.1/roadmap/adapters/cli/sync_presenter.py +0 -58
- roadmap_cli-0.1.1/roadmap/adapters/cli/sync_validation.py +0 -295
- roadmap_cli-0.1.1/roadmap/adapters/cli/today.py +0 -52
- roadmap_cli-0.1.1/roadmap/adapters/cli/utils/click_options.py +0 -38
- roadmap_cli-0.1.1/roadmap/adapters/git/__init__.py +0 -1
- roadmap_cli-0.1.1/roadmap/adapters/git/git.py +0 -208
- roadmap_cli-0.1.1/roadmap/adapters/git/git_branch_manager.py +0 -400
- roadmap_cli-0.1.1/roadmap/adapters/git/git_command_executor.py +0 -56
- roadmap_cli-0.1.1/roadmap/adapters/git/git_commit_analyzer.py +0 -334
- roadmap_cli-0.1.1/roadmap/adapters/git/git_hooks.py +0 -22
- roadmap_cli-0.1.1/roadmap/adapters/git/git_hooks_manager.py +0 -455
- roadmap_cli-0.1.1/roadmap/adapters/git/git_repository_info.py +0 -65
- roadmap_cli-0.1.1/roadmap/adapters/git/hook_installer.py +0 -106
- roadmap_cli-0.1.1/roadmap/adapters/git/hook_registry.py +0 -97
- roadmap_cli-0.1.1/roadmap/adapters/git/hook_script_generator.py +0 -58
- roadmap_cli-0.1.1/roadmap/adapters/git/sync_monitor.py +0 -409
- roadmap_cli-0.1.1/roadmap/adapters/git/workflow_automation.py +0 -286
- roadmap_cli-0.1.1/roadmap/adapters/github/__init__.py +0 -1
- roadmap_cli-0.1.1/roadmap/adapters/github/github.py +0 -360
- roadmap_cli-0.1.1/roadmap/adapters/github/handlers/__init__.py +0 -17
- roadmap_cli-0.1.1/roadmap/adapters/github/handlers/base.py +0 -337
- roadmap_cli-0.1.1/roadmap/adapters/github/handlers/collaborators.py +0 -165
- roadmap_cli-0.1.1/roadmap/adapters/github/handlers/comments.py +0 -118
- roadmap_cli-0.1.1/roadmap/adapters/github/handlers/issues.py +0 -150
- roadmap_cli-0.1.1/roadmap/adapters/github/handlers/labels.py +0 -164
- roadmap_cli-0.1.1/roadmap/adapters/github/handlers/milestones.py +0 -104
- roadmap_cli-0.1.1/roadmap/adapters/persistence/__init__.py +0 -35
- roadmap_cli-0.1.1/roadmap/adapters/persistence/conflict_resolver.py +0 -190
- roadmap_cli-0.1.1/roadmap/adapters/persistence/database_manager.py +0 -492
- roadmap_cli-0.1.1/roadmap/adapters/persistence/entity_sync_coordinators.py +0 -672
- roadmap_cli-0.1.1/roadmap/adapters/persistence/file_locking.py +0 -348
- roadmap_cli-0.1.1/roadmap/adapters/persistence/file_parser.py +0 -92
- roadmap_cli-0.1.1/roadmap/adapters/persistence/file_synchronizer.py +0 -107
- roadmap_cli-0.1.1/roadmap/adapters/persistence/focused_managers.py +0 -140
- roadmap_cli-0.1.1/roadmap/adapters/persistence/git_history.py +0 -330
- roadmap_cli-0.1.1/roadmap/adapters/persistence/parser/__init__.py +0 -20
- roadmap_cli-0.1.1/roadmap/adapters/persistence/parser/frontmatter.py +0 -152
- roadmap_cli-0.1.1/roadmap/adapters/persistence/parser/issue.py +0 -245
- roadmap_cli-0.1.1/roadmap/adapters/persistence/parser/milestone.py +0 -146
- roadmap_cli-0.1.1/roadmap/adapters/persistence/parser/project.py +0 -106
- roadmap_cli-0.1.1/roadmap/adapters/persistence/persistence.py +0 -288
- roadmap_cli-0.1.1/roadmap/adapters/persistence/repositories/__init__.py +0 -15
- roadmap_cli-0.1.1/roadmap/adapters/persistence/repositories/issue_repository.py +0 -223
- roadmap_cli-0.1.1/roadmap/adapters/persistence/repositories/milestone_repository.py +0 -140
- roadmap_cli-0.1.1/roadmap/adapters/persistence/repositories/project_repository.py +0 -168
- roadmap_cli-0.1.1/roadmap/adapters/persistence/repositories/remote_link_repository.py +0 -355
- roadmap_cli-0.1.1/roadmap/adapters/persistence/repositories/sync_state_repository.py +0 -66
- roadmap_cli-0.1.1/roadmap/adapters/persistence/storage/__init__.py +0 -36
- roadmap_cli-0.1.1/roadmap/adapters/persistence/storage/conflicts.py +0 -101
- roadmap_cli-0.1.1/roadmap/adapters/persistence/storage/connection_manager.py +0 -79
- roadmap_cli-0.1.1/roadmap/adapters/persistence/storage/issue_storage.py +0 -89
- roadmap_cli-0.1.1/roadmap/adapters/persistence/storage/milestone_storage.py +0 -80
- roadmap_cli-0.1.1/roadmap/adapters/persistence/storage/project_storage.py +0 -102
- roadmap_cli-0.1.1/roadmap/adapters/persistence/storage/queries.py +0 -227
- roadmap_cli-0.1.1/roadmap/adapters/persistence/storage/state_manager.py +0 -652
- roadmap_cli-0.1.1/roadmap/adapters/persistence/storage/sync_state_storage.py +0 -207
- roadmap_cli-0.1.1/roadmap/adapters/persistence/sync_metrics_repository.py +0 -342
- roadmap_cli-0.1.1/roadmap/adapters/persistence/sync_orchestrator.py +0 -293
- roadmap_cli-0.1.1/roadmap/adapters/persistence/sync_state_tracker.py +0 -86
- roadmap_cli-0.1.1/roadmap/adapters/persistence/yaml_repositories.py +0 -711
- roadmap_cli-0.1.1/roadmap/adapters/sync/__init__.py +0 -21
- roadmap_cli-0.1.1/roadmap/adapters/sync/backend_factory.py +0 -108
- roadmap_cli-0.1.1/roadmap/adapters/sync/backends/__init__.py +0 -15
- roadmap_cli-0.1.1/roadmap/adapters/sync/backends/converters.py +0 -209
- roadmap_cli-0.1.1/roadmap/adapters/sync/backends/github_backend_helpers.py +0 -380
- roadmap_cli-0.1.1/roadmap/adapters/sync/backends/github_client.py +0 -99
- roadmap_cli-0.1.1/roadmap/adapters/sync/backends/github_sync_backend.py +0 -792
- roadmap_cli-0.1.1/roadmap/adapters/sync/backends/github_sync_ops.py +0 -908
- roadmap_cli-0.1.1/roadmap/adapters/sync/backends/services/__init__.py +0 -1
- roadmap_cli-0.1.1/roadmap/adapters/sync/backends/services/github_authentication_service.py +0 -105
- roadmap_cli-0.1.1/roadmap/adapters/sync/backends/services/github_issue_delete_service.py +0 -423
- roadmap_cli-0.1.1/roadmap/adapters/sync/backends/services/github_issue_dependency_service.py +0 -63
- roadmap_cli-0.1.1/roadmap/adapters/sync/backends/services/github_issue_fetch_service.py +0 -158
- roadmap_cli-0.1.1/roadmap/adapters/sync/backends/services/github_label_sync_service.py +0 -126
- roadmap_cli-0.1.1/roadmap/adapters/sync/backends/services/github_local_issue_sync_service.py +0 -229
- roadmap_cli-0.1.1/roadmap/adapters/sync/backends/services/github_milestone_fetch_service.py +0 -204
- roadmap_cli-0.1.1/roadmap/adapters/sync/backends/vanilla_git_sync_backend.py +0 -198
- roadmap_cli-0.1.1/roadmap/adapters/sync/services/__init__.py +0 -11
- roadmap_cli-0.1.1/roadmap/adapters/sync/services/baseline_state_handler.py +0 -83
- roadmap_cli-0.1.1/roadmap/adapters/sync/services/conflict_converter.py +0 -85
- roadmap_cli-0.1.1/roadmap/adapters/sync/services/issue_persistence_service.py +0 -263
- roadmap_cli-0.1.1/roadmap/adapters/sync/services/issue_state_service.py +0 -243
- roadmap_cli-0.1.1/roadmap/adapters/sync/services/local_change_filter.py +0 -129
- roadmap_cli-0.1.1/roadmap/adapters/sync/services/pull_result_processor.py +0 -71
- roadmap_cli-0.1.1/roadmap/adapters/sync/services/remote_issue_creation_service.py +0 -112
- roadmap_cli-0.1.1/roadmap/adapters/sync/services/sync_analysis_service.py +0 -250
- roadmap_cli-0.1.1/roadmap/adapters/sync/services/sync_authentication_service.py +0 -57
- roadmap_cli-0.1.1/roadmap/adapters/sync/services/sync_data_fetch_service.py +0 -212
- roadmap_cli-0.1.1/roadmap/adapters/sync/services/sync_linking_service.py +0 -329
- roadmap_cli-0.1.1/roadmap/adapters/sync/services/sync_report_service.py +0 -62
- roadmap_cli-0.1.1/roadmap/adapters/sync/services/sync_state_update_service.py +0 -51
- roadmap_cli-0.1.1/roadmap/adapters/sync/sync_cache_orchestrator.py +0 -454
- roadmap_cli-0.1.1/roadmap/adapters/sync/sync_merge_engine.py +0 -416
- roadmap_cli-0.1.1/roadmap/adapters/sync/sync_merge_orchestrator.py +0 -1313
- roadmap_cli-0.1.1/roadmap/adapters/sync/sync_retrieval_orchestrator.py +0 -810
- roadmap_cli-0.1.1/roadmap/application/services/__init__.py +0 -1
- roadmap_cli-0.1.1/roadmap/application/services/deduplicate_service.py +0 -517
- roadmap_cli-0.1.1/roadmap/application/use_cases/__init__.py +0 -1
- roadmap_cli-0.1.1/roadmap/common/__init__.py +0 -308
- roadmap_cli-0.1.1/roadmap/common/cache.py +0 -209
- roadmap_cli-0.1.1/roadmap/common/cli_errors.py +0 -147
- roadmap_cli-0.1.1/roadmap/common/configuration/__init__.py +0 -33
- roadmap_cli-0.1.1/roadmap/common/configuration/config_loader.py +0 -264
- roadmap_cli-0.1.1/roadmap/common/configuration/config_manager.py +0 -164
- roadmap_cli-0.1.1/roadmap/common/configuration/config_schema.py +0 -145
- roadmap_cli-0.1.1/roadmap/common/configuration/github/__init__.py +0 -9
- roadmap_cli-0.1.1/roadmap/common/configuration/github/config_manager.py +0 -154
- roadmap_cli-0.1.1/roadmap/common/configuration/github/token_resolver.py +0 -84
- roadmap_cli-0.1.1/roadmap/common/constants.py +0 -134
- roadmap_cli-0.1.1/roadmap/common/datetime_parser.py +0 -319
- roadmap_cli-0.1.1/roadmap/common/error_formatter.py +0 -84
- roadmap_cli-0.1.1/roadmap/common/errors/__init__.py +0 -143
- roadmap_cli-0.1.1/roadmap/common/errors/error_base.py +0 -73
- roadmap_cli-0.1.1/roadmap/common/errors/error_file.py +0 -82
- roadmap_cli-0.1.1/roadmap/common/errors/error_git.py +0 -67
- roadmap_cli-0.1.1/roadmap/common/errors/error_handler.py +0 -166
- roadmap_cli-0.1.1/roadmap/common/errors/error_network.py +0 -90
- roadmap_cli-0.1.1/roadmap/common/errors/error_security.py +0 -78
- roadmap_cli-0.1.1/roadmap/common/errors/error_standards.py +0 -561
- roadmap_cli-0.1.1/roadmap/common/errors/error_validation.py +0 -111
- roadmap_cli-0.1.1/roadmap/common/errors/exceptions.py +0 -432
- roadmap_cli-0.1.1/roadmap/common/formatters/__init__.py +0 -29
- roadmap_cli-0.1.1/roadmap/common/formatters/base_table_formatter.py +0 -96
- roadmap_cli-0.1.1/roadmap/common/formatters/export/__init__.py +0 -7
- roadmap_cli-0.1.1/roadmap/common/formatters/export/issue_exporter.py +0 -97
- roadmap_cli-0.1.1/roadmap/common/formatters/helpers.py +0 -28
- roadmap_cli-0.1.1/roadmap/common/formatters/kanban/__init__.py +0 -9
- roadmap_cli-0.1.1/roadmap/common/formatters/kanban/layout.py +0 -48
- roadmap_cli-0.1.1/roadmap/common/formatters/kanban/organizer.py +0 -81
- roadmap_cli-0.1.1/roadmap/common/formatters/output/__init__.py +0 -15
- roadmap_cli-0.1.1/roadmap/common/formatters/tables/__init__.py +0 -11
- roadmap_cli-0.1.1/roadmap/common/formatters/tables/issue_table.py +0 -276
- roadmap_cli-0.1.1/roadmap/common/formatters/tables/milestone_table.py +0 -247
- roadmap_cli-0.1.1/roadmap/common/formatters/tables/project_table.py +0 -195
- roadmap_cli-0.1.1/roadmap/common/formatters/text/__init__.py +0 -57
- roadmap_cli-0.1.1/roadmap/common/formatters/text/basic.py +0 -217
- roadmap_cli-0.1.1/roadmap/common/formatters/text/display.py +0 -42
- roadmap_cli-0.1.1/roadmap/common/formatters/text/duration.py +0 -36
- roadmap_cli-0.1.1/roadmap/common/formatters/text/operations.py +0 -325
- roadmap_cli-0.1.1/roadmap/common/formatters/text/status_badges.py +0 -57
- roadmap_cli-0.1.1/roadmap/common/initialization/github/__init__.py +0 -11
- roadmap_cli-0.1.1/roadmap/common/initialization/github/setup_service.py +0 -238
- roadmap_cli-0.1.1/roadmap/common/initialization/github/setup_validator.py +0 -78
- roadmap_cli-0.1.1/roadmap/common/logging/__init__.py +0 -113
- roadmap_cli-0.1.1/roadmap/common/logging/audit_logging.py +0 -5
- roadmap_cli-0.1.1/roadmap/common/logging/correlation.py +0 -45
- roadmap_cli-0.1.1/roadmap/common/logging/decorators.py +0 -267
- roadmap_cli-0.1.1/roadmap/common/logging/error_logging.py +0 -217
- roadmap_cli-0.1.1/roadmap/common/logging/formatters.py +0 -124
- roadmap_cli-0.1.1/roadmap/common/logging/loggers.py +0 -68
- roadmap_cli-0.1.1/roadmap/common/logging/performance_tracking.py +0 -267
- roadmap_cli-0.1.1/roadmap/common/logging/utils.py +0 -335
- roadmap_cli-0.1.1/roadmap/common/models/__init__.py +0 -44
- roadmap_cli-0.1.1/roadmap/common/models/cli_models.py +0 -118
- roadmap_cli-0.1.1/roadmap/common/models/config_models.py +0 -199
- roadmap_cli-0.1.1/roadmap/common/observability/__init__.py +0 -28
- roadmap_cli-0.1.1/roadmap/common/observability/instrumentation.py +0 -103
- roadmap_cli-0.1.1/roadmap/common/observability/observability.py +0 -76
- roadmap_cli-0.1.1/roadmap/common/observability/otel_init.py +0 -109
- roadmap_cli-0.1.1/roadmap/common/progress.py +0 -379
- roadmap_cli-0.1.1/roadmap/common/result.py +0 -396
- roadmap_cli-0.1.1/roadmap/common/security/__init__.py +0 -48
- roadmap_cli-0.1.1/roadmap/common/security/exceptions.py +0 -13
- roadmap_cli-0.1.1/roadmap/common/security/export_cleanup.py +0 -79
- roadmap_cli-0.1.1/roadmap/common/security/file_operations.py +0 -104
- roadmap_cli-0.1.1/roadmap/common/security/filename_sanitization.py +0 -54
- roadmap_cli-0.1.1/roadmap/common/security/logging.py +0 -27
- roadmap_cli-0.1.1/roadmap/common/security/path_validation.py +0 -137
- roadmap_cli-0.1.1/roadmap/common/security/temp_files.py +0 -41
- roadmap_cli-0.1.1/roadmap/common/services/__init__.py +0 -65
- roadmap_cli-0.1.1/roadmap/common/services/decorators.py +0 -183
- roadmap_cli-0.1.1/roadmap/common/services/logging_utils.py +0 -208
- roadmap_cli-0.1.1/roadmap/common/services/metrics.py +0 -161
- roadmap_cli-0.1.1/roadmap/common/services/performance.py +0 -219
- roadmap_cli-0.1.1/roadmap/common/services/profiling.py +0 -288
- roadmap_cli-0.1.1/roadmap/common/services/retry.py +0 -288
- roadmap_cli-0.1.1/roadmap/common/status_style_manager.py +0 -114
- roadmap_cli-0.1.1/roadmap/common/union_find.py +0 -88
- roadmap_cli-0.1.1/roadmap/common/update_constants.py +0 -13
- roadmap_cli-0.1.1/roadmap/common/utils/__init__.py +0 -65
- roadmap_cli-0.1.1/roadmap/common/utils/file_utils.py +0 -440
- roadmap_cli-0.1.1/roadmap/common/utils/path_utils.py +0 -38
- roadmap_cli-0.1.1/roadmap/common/utils/status_utils.py +0 -130
- roadmap_cli-0.1.1/roadmap/common/utils/timezone_utils.py +0 -480
- roadmap_cli-0.1.1/roadmap/common/validation/__init__.py +0 -37
- roadmap_cli-0.1.1/roadmap/common/validation/field_validator.py +0 -104
- roadmap_cli-0.1.1/roadmap/common/validation/result.py +0 -37
- roadmap_cli-0.1.1/roadmap/common/validation/roadmap_validator.py +0 -310
- roadmap_cli-0.1.1/roadmap/common/validation/schema_validator.py +0 -36
- roadmap_cli-0.1.1/roadmap/common/validation/validators.py +0 -50
- roadmap_cli-0.1.1/roadmap/core/__init__.py +0 -1
- roadmap_cli-0.1.1/roadmap/core/domain/__init__.py +0 -30
- roadmap_cli-0.1.1/roadmap/core/domain/comment.py +0 -24
- roadmap_cli-0.1.1/roadmap/core/domain/health.py +0 -15
- roadmap_cli-0.1.1/roadmap/core/domain/issue.py +0 -274
- roadmap_cli-0.1.1/roadmap/core/domain/milestone.py +0 -173
- roadmap_cli-0.1.1/roadmap/core/domain/ports/__init__.py +0 -1
- roadmap_cli-0.1.1/roadmap/core/domain/ports/baseline_repository.py +0 -24
- roadmap_cli-0.1.1/roadmap/core/domain/ports/issue_repository.py +0 -34
- roadmap_cli-0.1.1/roadmap/core/domain/ports/remote_backend_port.py +0 -31
- roadmap_cli-0.1.1/roadmap/core/domain/project.py +0 -130
- roadmap_cli-0.1.1/roadmap/core/interfaces/__init__.py +0 -109
- roadmap_cli-0.1.1/roadmap/core/interfaces/assignee_validator.py +0 -40
- roadmap_cli-0.1.1/roadmap/core/interfaces/backend_factory.py +0 -175
- roadmap_cli-0.1.1/roadmap/core/interfaces/github.py +0 -102
- roadmap_cli-0.1.1/roadmap/core/interfaces/parsers.py +0 -140
- roadmap_cli-0.1.1/roadmap/core/interfaces/persistence.py +0 -45
- roadmap_cli-0.1.1/roadmap/core/interfaces/repositories.py +0 -174
- roadmap_cli-0.1.1/roadmap/core/interfaces/state_managers.py +0 -111
- roadmap_cli-0.1.1/roadmap/core/interfaces/state_storage.py +0 -64
- roadmap_cli-0.1.1/roadmap/core/interfaces/sync_backend.py +0 -275
- roadmap_cli-0.1.1/roadmap/core/interfaces/sync_services.py +0 -119
- roadmap_cli-0.1.1/roadmap/core/interfaces/sync_validators.py +0 -180
- roadmap_cli-0.1.1/roadmap/core/models/__init__.py +0 -31
- roadmap_cli-0.1.1/roadmap/core/models/sync_models.py +0 -162
- roadmap_cli-0.1.1/roadmap/core/models.py +0 -115
- roadmap_cli-0.1.1/roadmap/core/observability/__init__.py +0 -17
- roadmap_cli-0.1.1/roadmap/core/observability/sync_metrics.py +0 -699
- roadmap_cli-0.1.1/roadmap/core/repositories.py +0 -200
- roadmap_cli-0.1.1/roadmap/core/services/__init__.py +0 -313
- roadmap_cli-0.1.1/roadmap/core/services/baseline/__init__.py +0 -1
- roadmap_cli-0.1.1/roadmap/core/services/baseline/baseline_builder_progress.py +0 -274
- roadmap_cli-0.1.1/roadmap/core/services/baseline/baseline_retriever.py +0 -63
- roadmap_cli-0.1.1/roadmap/core/services/baseline/baseline_selector.py +0 -248
- roadmap_cli-0.1.1/roadmap/core/services/baseline/baseline_state_retriever.py +0 -284
- roadmap_cli-0.1.1/roadmap/core/services/baseline/optimized_baseline_builder.py +0 -425
- roadmap_cli-0.1.1/roadmap/core/services/comment/__init__.py +0 -1
- roadmap_cli-0.1.1/roadmap/core/services/comment/comment_service.py +0 -277
- roadmap_cli-0.1.1/roadmap/core/services/git/__init__.py +0 -1
- roadmap_cli-0.1.1/roadmap/core/services/git/git_hook_auto_sync_service.py +0 -403
- roadmap_cli-0.1.1/roadmap/core/services/github/__init__.py +0 -1
- roadmap_cli-0.1.1/roadmap/core/services/github/github_change_detector.py +0 -162
- roadmap_cli-0.1.1/roadmap/core/services/github/github_config_validator.py +0 -148
- roadmap_cli-0.1.1/roadmap/core/services/github/github_conflict_detector.py +0 -179
- roadmap_cli-0.1.1/roadmap/core/services/github/github_entity_classifier.py +0 -51
- roadmap_cli-0.1.1/roadmap/core/services/github/github_integration_service.py +0 -439
- roadmap_cli-0.1.1/roadmap/core/services/github/github_issue_client.py +0 -346
- roadmap_cli-0.1.1/roadmap/core/services/health/__init__.py +0 -1
- roadmap_cli-0.1.1/roadmap/core/services/health/backup_cleanup_service.py +0 -202
- roadmap_cli-0.1.1/roadmap/core/services/health/data_integrity_validator_service.py +0 -90
- roadmap_cli-0.1.1/roadmap/core/services/health/entity_health_scanner.py +0 -460
- roadmap_cli-0.1.1/roadmap/core/services/health/file_repair_service.py +0 -193
- roadmap_cli-0.1.1/roadmap/core/services/health/health_check_service.py +0 -166
- roadmap_cli-0.1.1/roadmap/core/services/health/health_models.py +0 -80
- roadmap_cli-0.1.1/roadmap/core/services/health/infrastructure_validator_service.py +0 -328
- roadmap_cli-0.1.1/roadmap/core/services/health/issue_health_scanner.py +0 -263
- roadmap_cli-0.1.1/roadmap/core/services/helpers/__init__.py +0 -18
- roadmap_cli-0.1.1/roadmap/core/services/helpers/status_change_helpers.py +0 -88
- roadmap_cli-0.1.1/roadmap/core/services/initialization/__init__.py +0 -19
- roadmap_cli-0.1.1/roadmap/core/services/initialization/utils.py +0 -104
- roadmap_cli-0.1.1/roadmap/core/services/initialization/validator.py +0 -78
- roadmap_cli-0.1.1/roadmap/core/services/initialization/workflow.py +0 -182
- roadmap_cli-0.1.1/roadmap/core/services/initialization_service.py +0 -111
- roadmap_cli-0.1.1/roadmap/core/services/issue/__init__.py +0 -1
- roadmap_cli-0.1.1/roadmap/core/services/issue/assignee_validation_service.py +0 -312
- roadmap_cli-0.1.1/roadmap/core/services/issue/issue_creation_service.py +0 -309
- roadmap_cli-0.1.1/roadmap/core/services/issue/issue_filter_service.py +0 -302
- roadmap_cli-0.1.1/roadmap/core/services/issue/issue_matching_service.py +0 -127
- roadmap_cli-0.1.1/roadmap/core/services/issue/issue_service.py +0 -765
- roadmap_cli-0.1.1/roadmap/core/services/issue/issue_update_service.py +0 -144
- roadmap_cli-0.1.1/roadmap/core/services/issue/start_issue_service.py +0 -174
- roadmap_cli-0.1.1/roadmap/core/services/issue_helpers/__init__.py +0 -18
- roadmap_cli-0.1.1/roadmap/core/services/issue_helpers/issue_filters.py +0 -296
- roadmap_cli-0.1.1/roadmap/core/services/milestone_service.py +0 -438
- roadmap_cli-0.1.1/roadmap/core/services/project/__init__.py +0 -1
- roadmap_cli-0.1.1/roadmap/core/services/project/project_service.py +0 -434
- roadmap_cli-0.1.1/roadmap/core/services/project/project_status_service.py +0 -125
- roadmap_cli-0.1.1/roadmap/core/services/project_init/__init__.py +0 -22
- roadmap_cli-0.1.1/roadmap/core/services/project_init/context_detection.py +0 -146
- roadmap_cli-0.1.1/roadmap/core/services/project_init/creation.py +0 -76
- roadmap_cli-0.1.1/roadmap/core/services/project_init/detection.py +0 -51
- roadmap_cli-0.1.1/roadmap/core/services/project_init/template.py +0 -228
- roadmap_cli-0.1.1/roadmap/core/services/status_change_service.py +0 -88
- roadmap_cli-0.1.1/roadmap/core/services/sync/__init__.py +0 -1
- roadmap_cli-0.1.1/roadmap/core/services/sync/batch_processor.py +0 -290
- roadmap_cli-0.1.1/roadmap/core/services/sync/conflict_resolver.py +0 -154
- roadmap_cli-0.1.1/roadmap/core/services/sync/dependency_resolver.py +0 -367
- roadmap_cli-0.1.1/roadmap/core/services/sync/duplicate_detector.py +0 -771
- roadmap_cli-0.1.1/roadmap/core/services/sync/duplicate_resolver.py +0 -315
- roadmap_cli-0.1.1/roadmap/core/services/sync/error_classification.py +0 -470
- roadmap_cli-0.1.1/roadmap/core/services/sync/performance.py +0 -263
- roadmap_cli-0.1.1/roadmap/core/services/sync/sync_change_computer.py +0 -211
- roadmap_cli-0.1.1/roadmap/core/services/sync/sync_checkpoint.py +0 -348
- roadmap_cli-0.1.1/roadmap/core/services/sync/sync_conflict_detector.py +0 -147
- roadmap_cli-0.1.1/roadmap/core/services/sync/sync_conflict_resolver.py +0 -448
- roadmap_cli-0.1.1/roadmap/core/services/sync/sync_errors.py +0 -383
- roadmap_cli-0.1.1/roadmap/core/services/sync/sync_key_normalizer.py +0 -222
- roadmap_cli-0.1.1/roadmap/core/services/sync/sync_metadata_service.py +0 -361
- roadmap_cli-0.1.1/roadmap/core/services/sync/sync_plan.py +0 -171
- roadmap_cli-0.1.1/roadmap/core/services/sync/sync_plan_executor.py +0 -447
- roadmap_cli-0.1.1/roadmap/core/services/sync/sync_report.py +0 -296
- roadmap_cli-0.1.1/roadmap/core/services/sync/sync_state.py +0 -173
- roadmap_cli-0.1.1/roadmap/core/services/sync/sync_state_comparator.py +0 -690
- roadmap_cli-0.1.1/roadmap/core/services/sync/sync_state_manager.py +0 -431
- roadmap_cli-0.1.1/roadmap/core/services/sync/sync_state_normalizer.py +0 -98
- roadmap_cli-0.1.1/roadmap/core/services/sync/sync_three_way.py +0 -78
- roadmap_cli-0.1.1/roadmap/core/services/sync/three_way_merger.py +0 -178
- roadmap_cli-0.1.1/roadmap/core/services/utils/__init__.py +0 -1
- roadmap_cli-0.1.1/roadmap/core/services/utils/configuration_service.py +0 -113
- roadmap_cli-0.1.1/roadmap/core/services/utils/critical_path_calculator.py +0 -418
- roadmap_cli-0.1.1/roadmap/core/services/utils/dependency_analyzer.py +0 -360
- roadmap_cli-0.1.1/roadmap/core/services/utils/field_conflict_detector.py +0 -126
- roadmap_cli-0.1.1/roadmap/core/services/utils/remote_fetcher.py +0 -202
- roadmap_cli-0.1.1/roadmap/core/services/utils/remote_state_normalizer.py +0 -110
- roadmap_cli-0.1.1/roadmap/core/services/utils/retry_policy.py +0 -51
- roadmap_cli-0.1.1/roadmap/core/services/validator_base.py +0 -130
- roadmap_cli-0.1.1/roadmap/core/services/validators/__init__.py +0 -28
- roadmap_cli-0.1.1/roadmap/core/services/validators/_utils.py +0 -20
- roadmap_cli-0.1.1/roadmap/core/services/validators/archivable_issues_validator.py +0 -71
- roadmap_cli-0.1.1/roadmap/core/services/validators/archivable_milestones_validator.py +0 -69
- roadmap_cli-0.1.1/roadmap/core/services/validators/backup_validator.py +0 -89
- roadmap_cli-0.1.1/roadmap/core/services/validators/data_integrity_validator.py +0 -84
- roadmap_cli-0.1.1/roadmap/core/services/validators/duplicate_issues_validator.py +0 -75
- roadmap_cli-0.1.1/roadmap/core/services/validators/duplicate_milestones_validator.py +0 -141
- roadmap_cli-0.1.1/roadmap/core/services/validators/folder_structure_validator.py +0 -165
- roadmap_cli-0.1.1/roadmap/core/services/validators/health_status_utils.py +0 -28
- roadmap_cli-0.1.1/roadmap/core/services/validators/milestone_naming_validator.py +0 -146
- roadmap_cli-0.1.1/roadmap/core/services/validators/missing_headlines_validator.py +0 -97
- roadmap_cli-0.1.1/roadmap/core/services/validators/orphaned_issues_validator.py +0 -142
- roadmap_cli-0.1.1/roadmap/core/services/validators/orphaned_milestones_validator.py +0 -85
- roadmap_cli-0.1.1/roadmap/core/utils/git_remote_parser.py +0 -83
- roadmap_cli-0.1.1/roadmap/core/utils/github_urls.py +0 -66
- roadmap_cli-0.1.1/roadmap/domain/validation.py +0 -30
- roadmap_cli-0.1.1/roadmap/infrastructure/__init__.py +0 -55
- roadmap_cli-0.1.1/roadmap/infrastructure/coordination/__init__.py +0 -8
- roadmap_cli-0.1.1/roadmap/infrastructure/coordination/coordinator_params.py +0 -82
- roadmap_cli-0.1.1/roadmap/infrastructure/coordination/core.py +0 -446
- roadmap_cli-0.1.1/roadmap/infrastructure/coordination/git_coordinator.py +0 -160
- roadmap_cli-0.1.1/roadmap/infrastructure/coordination/initialization.py +0 -348
- roadmap_cli-0.1.1/roadmap/infrastructure/coordination/issue_coordinator.py +0 -154
- roadmap_cli-0.1.1/roadmap/infrastructure/coordination/issue_operations.py +0 -456
- roadmap_cli-0.1.1/roadmap/infrastructure/coordination/milestone_coordinator.py +0 -135
- roadmap_cli-0.1.1/roadmap/infrastructure/coordination/milestone_operations.py +0 -201
- roadmap_cli-0.1.1/roadmap/infrastructure/coordination/project_coordinator.py +0 -113
- roadmap_cli-0.1.1/roadmap/infrastructure/coordination/project_operations.py +0 -144
- roadmap_cli-0.1.1/roadmap/infrastructure/coordination/team_coordinator.py +0 -107
- roadmap_cli-0.1.1/roadmap/infrastructure/coordination/user_operations.py +0 -150
- roadmap_cli-0.1.1/roadmap/infrastructure/coordination/validation_coordinator.py +0 -249
- roadmap_cli-0.1.1/roadmap/infrastructure/coordination_gateway.py +0 -152
- roadmap_cli-0.1.1/roadmap/infrastructure/git/__init__.py +0 -6
- roadmap_cli-0.1.1/roadmap/infrastructure/git/git_integration_ops.py +0 -234
- roadmap_cli-0.1.1/roadmap/infrastructure/git_gateway.py +0 -35
- roadmap_cli-0.1.1/roadmap/infrastructure/github_gateway.py +0 -52
- roadmap_cli-0.1.1/roadmap/infrastructure/maintenance/__init__.py +0 -5
- roadmap_cli-0.1.1/roadmap/infrastructure/maintenance/cleanup.py +0 -483
- roadmap_cli-0.1.1/roadmap/infrastructure/observability/__init__.py +0 -7
- roadmap_cli-0.1.1/roadmap/infrastructure/observability/health.py +0 -196
- roadmap_cli-0.1.1/roadmap/infrastructure/observability/health_formatter.py +0 -73
- roadmap_cli-0.1.1/roadmap/infrastructure/observability/specialized_health_checkers.py +0 -188
- roadmap_cli-0.1.1/roadmap/infrastructure/persistence_gateway.py +0 -164
- roadmap_cli-0.1.1/roadmap/infrastructure/security/__init__.py +0 -1
- roadmap_cli-0.1.1/roadmap/infrastructure/security/credentials.py +0 -489
- roadmap_cli-0.1.1/roadmap/infrastructure/sync_gateway.py +0 -94
- roadmap_cli-0.1.1/roadmap/infrastructure/validation/__init__.py +0 -7
- roadmap_cli-0.1.1/roadmap/infrastructure/validation/file_enumeration.py +0 -219
- roadmap_cli-0.1.1/roadmap/infrastructure/validation/github_assignee_validator.py +0 -47
- roadmap_cli-0.1.1/roadmap/infrastructure/validation/github_validator.py +0 -101
- roadmap_cli-0.1.1/roadmap/infrastructure/validation/milestone_consistency_validator.py +0 -96
- roadmap_cli-0.1.1/roadmap/infrastructure/validation/vanilla_assignee_validator.py +0 -37
- roadmap_cli-0.1.1/roadmap/infrastructure/validation_gateway.py +0 -96
- roadmap_cli-0.1.1/roadmap/presentation/formatters/sync_metrics_formatter.py +0 -355
- roadmap_cli-0.1.1/roadmap/settings.py +0 -345
- roadmap_cli-0.1.1/roadmap/templates/github_workflows/ci-cd-roadmap.yml +0 -241
- roadmap_cli-0.1.1/roadmap/templates/github_workflows/issue-lifecycle.yml +0 -236
- roadmap_cli-0.1.1/roadmap/templates/github_workflows/roadmap-integration.yml +0 -137
- roadmap_cli-0.1.1/roadmap/templates/github_workflows/roadmap-starter.yml +0 -59
- roadmap_cli-0.1.1/roadmap/version.py +0 -381
- {roadmap_cli-0.1.1 → roadmap_cli-0.2.0}/LICENSE.md +0 -0
- {roadmap_cli-0.1.1/roadmap/adapters → roadmap_cli-0.2.0/roadmap/adapters/inbound}/cli/analysis/__init__.py +0 -0
- {roadmap_cli-0.1.1/roadmap/common → roadmap_cli-0.2.0/roadmap/adapters/inbound/cli}/console.py +0 -0
- {roadmap_cli-0.1.1/roadmap/adapters → roadmap_cli-0.2.0/roadmap/adapters/inbound}/cli/data/__init__.py +0 -0
- {roadmap_cli-0.1.1/roadmap/adapters → roadmap_cli-0.2.0/roadmap/adapters/inbound}/cli/git/__init__.py +0 -0
- {roadmap_cli-0.1.1/roadmap/adapters → roadmap_cli-0.2.0/roadmap/adapters/inbound}/cli/init/__init__.py +0 -0
- {roadmap_cli-0.1.1/roadmap/common → roadmap_cli-0.2.0/roadmap/adapters/inbound/cli}/models/output_models.py +0 -0
- {roadmap_cli-0.1.1/roadmap/adapters → roadmap_cli-0.2.0/roadmap/adapters/inbound}/cli/styling.py +0 -0
|
@@ -176,6 +176,7 @@ Thumbs.db
|
|
|
176
176
|
# Roadmap local data and backups
|
|
177
177
|
.roadmap/backups/
|
|
178
178
|
.roadmap/artifacts/
|
|
179
|
+
.roadmap/db/
|
|
179
180
|
.roadmap/logs/
|
|
180
181
|
.roadmap/*.local # User-specific local overrides (not to be shared)
|
|
181
182
|
.roadmap/config.yaml.local # User settings override file (gitignored)
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to Roadmap CLI are recorded here. The format follows
|
|
4
|
+
[Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and releases follow
|
|
5
|
+
[Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
6
|
+
|
|
7
|
+
## [Unreleased]
|
|
8
|
+
|
|
9
|
+
## [0.2.0] - 2026-08-27
|
|
10
|
+
|
|
11
|
+
### Added
|
|
12
|
+
|
|
13
|
+
- Added explicit `roadmap migrate` preflight, dry-run, confirmed execution,
|
|
14
|
+
structured output, recovery, and idempotent rerun for supported 0.1.1
|
|
15
|
+
workspaces.
|
|
16
|
+
- Added versioned workspace/document schemas, stable entity IDs, scoped
|
|
17
|
+
configuration, deterministic JSON/CSV output, read-only health diagnosis,
|
|
18
|
+
previewable repair, and explicit local Git status/branch/reference commands.
|
|
19
|
+
- Added architecture, test-quality, package-installation, compatibility,
|
|
20
|
+
failure-injection, concurrency, corruption, migration, offline, and measured
|
|
21
|
+
performance gates.
|
|
22
|
+
|
|
23
|
+
### Changed
|
|
24
|
+
|
|
25
|
+
- Canonical Markdown/YAML documents are now the sole data authority. SQLite is
|
|
26
|
+
a disposable query projection refreshed or rebuilt only from those files.
|
|
27
|
+
- Projects, milestones, and issues use flat stable-ID paths. Lifecycle state is
|
|
28
|
+
metadata rather than a physical archive-directory contract.
|
|
29
|
+
- New IDs use complete UUID4 values; migration preserves existing IDs and
|
|
30
|
+
user-authored content.
|
|
31
|
+
- The package now has one Domain/Application/Adapters/Bootstrap architecture,
|
|
32
|
+
one configuration path, one persistence path, and one implementation for
|
|
33
|
+
each retained CLI journey.
|
|
34
|
+
- Supported runtimes now include Python 3.12 through 3.14 on macOS and Linux;
|
|
35
|
+
CI verifies the full Python range and installed artifacts on Ubuntu x64 and
|
|
36
|
+
macOS ARM64.
|
|
37
|
+
- Machine-readable stdout is isolated from diagnostics and confirmations on
|
|
38
|
+
stderr.
|
|
39
|
+
|
|
40
|
+
### Removed
|
|
41
|
+
|
|
42
|
+
- Removed provider-backed synchronization, GitHub entity replication,
|
|
43
|
+
Roadmap-owned credentials, connectivity/setup handlers, provider baselines,
|
|
44
|
+
reconciliation databases, and sync metrics. Ordinary Git transport remains
|
|
45
|
+
outside Roadmap and local file-to-SQLite projection maintenance remains.
|
|
46
|
+
- Removed the legacy `core`, `common`, `infrastructure`, `presentation`, and
|
|
47
|
+
superseded adapter ownership zones, along with duplicate configuration,
|
|
48
|
+
health, export, persistence, and compatibility implementations.
|
|
49
|
+
- Removed claimed features that did not belong to the retained product,
|
|
50
|
+
including hosted dashboards, predictive analytics, OAuth, and generated API
|
|
51
|
+
documentation stacks.
|
|
52
|
+
|
|
53
|
+
### Migration
|
|
54
|
+
|
|
55
|
+
- Existing 0.1.1 workspaces must run `roadmap migrate --dry-run` and review the
|
|
56
|
+
report before `roadmap migrate --yes`.
|
|
57
|
+
- Migration rewrites canonical entities to stable paths, externalizes user
|
|
58
|
+
preferences, removes legacy credential fields, and rebuilds SQLite without
|
|
59
|
+
treating it as authority. See `docs/user_guide/MIGRATING_TO_0_2.md`.
|
|
60
|
+
|
|
61
|
+
## [0.1.1] - 2026-08-09
|
|
62
|
+
|
|
63
|
+
### Fixed
|
|
64
|
+
|
|
65
|
+
- Removed the unrelated `roadmap` PyPI distribution from runtime dependencies;
|
|
66
|
+
it shadowed this project's package and broke the console command.
|
|
67
|
+
- Moved development and documentation tooling out of runtime dependencies.
|
|
68
|
+
- Read the installed version from distribution metadata and added clean wheel
|
|
69
|
+
and source-distribution smoke tests.
|
|
70
|
+
- Corrected supported Python/platform declarations, repository URLs, and
|
|
71
|
+
installation guidance.
|
|
72
|
+
|
|
73
|
+
## [0.1.0] - 2026-05-18
|
|
74
|
+
|
|
75
|
+
### Changed
|
|
76
|
+
|
|
77
|
+
- Reset the public version from premature 1.x tags to 0.1.0 so package versions
|
|
78
|
+
accurately communicate pre-1.0 compatibility and maturity.
|
|
79
|
+
|
|
80
|
+
## Pre-reset 1.x tags
|
|
81
|
+
|
|
82
|
+
Tags numbered 1.0.0 through 1.0.2 predated the maturity reset. Their release
|
|
83
|
+
notes contained aspirational and unverified feature, compatibility, coverage,
|
|
84
|
+
security, and performance claims, so they are not a description of the current
|
|
85
|
+
product contract. Git history remains available for provenance; supported
|
|
86
|
+
behavior begins with the honest 0.1.x line above.
|
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
Metadata-Version: 2.5
|
|
2
|
+
Name: roadmap-cli
|
|
3
|
+
Version: 0.2.0
|
|
4
|
+
Summary: Git-native command line tool for local project roadmap management
|
|
5
|
+
Project-URL: Homepage, https://github.com/shanewilkins/roadmap
|
|
6
|
+
Project-URL: Repository, https://github.com/shanewilkins/roadmap
|
|
7
|
+
Project-URL: Issues, https://github.com/shanewilkins/roadmap/issues
|
|
8
|
+
Project-URL: Documentation, https://github.com/shanewilkins/roadmap/tree/main/docs
|
|
9
|
+
Author: Shane Wilkins
|
|
10
|
+
License: MIT
|
|
11
|
+
License-File: LICENSE.md
|
|
12
|
+
Keywords: cli,git,issue-tracking,milestone,offline,planning,productivity,project-management,roadmap
|
|
13
|
+
Classifier: Development Status :: 4 - Beta
|
|
14
|
+
Classifier: Environment :: Console
|
|
15
|
+
Classifier: Intended Audience :: Developers
|
|
16
|
+
Classifier: Intended Audience :: Information Technology
|
|
17
|
+
Classifier: Intended Audience :: System Administrators
|
|
18
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
19
|
+
Classifier: Operating System :: MacOS
|
|
20
|
+
Classifier: Operating System :: POSIX :: Linux
|
|
21
|
+
Classifier: Programming Language :: Python :: 3
|
|
22
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
23
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
24
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
25
|
+
Classifier: Topic :: Office/Business :: Scheduling
|
|
26
|
+
Classifier: Topic :: Software Development :: Bug Tracking
|
|
27
|
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
28
|
+
Classifier: Topic :: Software Development :: Version Control :: Git
|
|
29
|
+
Classifier: Topic :: Utilities
|
|
30
|
+
Requires-Python: <4.0,>=3.12
|
|
31
|
+
Requires-Dist: click<9.0.0,>=8.4.0
|
|
32
|
+
Requires-Dist: pyyaml<7.0.0,>=6.0.3
|
|
33
|
+
Requires-Dist: rich<16.0.0,>=15.0.0
|
|
34
|
+
Provides-Extra: dev
|
|
35
|
+
Requires-Dist: bandit[toml]>=1.9.4; extra == 'dev'
|
|
36
|
+
Requires-Dist: pre-commit>=4.6.0; extra == 'dev'
|
|
37
|
+
Requires-Dist: pyright>=1.1.411; extra == 'dev'
|
|
38
|
+
Requires-Dist: pytest-aiohttp>=1.1.0; extra == 'dev'
|
|
39
|
+
Requires-Dist: pytest-asyncio>=1.3.0; extra == 'dev'
|
|
40
|
+
Requires-Dist: pytest-benchmark>=5.2.3; extra == 'dev'
|
|
41
|
+
Requires-Dist: pytest-cov>=7.1.0; extra == 'dev'
|
|
42
|
+
Requires-Dist: pytest-mock>=3.15.1; extra == 'dev'
|
|
43
|
+
Requires-Dist: pytest-xdist>=3.8.0; extra == 'dev'
|
|
44
|
+
Requires-Dist: pytest>=9.0.3; extra == 'dev'
|
|
45
|
+
Requires-Dist: radon<7.0.0,>=6.0.1; extra == 'dev'
|
|
46
|
+
Requires-Dist: ruff==0.16.4; extra == 'dev'
|
|
47
|
+
Requires-Dist: xenon<1.0.0,>=0.9.3; extra == 'dev'
|
|
48
|
+
Description-Content-Type: text/markdown
|
|
49
|
+
|
|
50
|
+
# Roadmap CLI
|
|
51
|
+
|
|
52
|
+
Roadmap is a repository-local project-management CLI for developers who want
|
|
53
|
+
their planning data in reviewable Markdown and YAML files rather than a hosted
|
|
54
|
+
service. It supports issues, dependencies, comments, projects, milestones,
|
|
55
|
+
daily views, health checks, and machine-readable exports.
|
|
56
|
+
|
|
57
|
+
The current release is 0.2.0. Its deliberately contracted behavior is defined
|
|
58
|
+
by an explicit
|
|
59
|
+
[public compatibility contract](docs/architecture/public-contract-0.2.md).
|
|
60
|
+
|
|
61
|
+
## What it does
|
|
62
|
+
|
|
63
|
+
- Stores canonical project data under `.roadmap/` so it can be reviewed and
|
|
64
|
+
versioned with the repository.
|
|
65
|
+
- Works offline after installation; no Roadmap account or server is required.
|
|
66
|
+
- Manages issue state, priority, assignment, dependencies, progress, and
|
|
67
|
+
threaded comments.
|
|
68
|
+
- Organizes work into projects and milestones and derives planning views.
|
|
69
|
+
- Exposes JSON and CSV for scripts alongside human-readable terminal output.
|
|
70
|
+
- Uses a local SQLite index as a rebuildable projection of canonical files.
|
|
71
|
+
- Leaves network collaboration to ordinary Git.
|
|
72
|
+
|
|
73
|
+
Roadmap is intentionally repository-scoped and CLI-first. It does not provide
|
|
74
|
+
a hosted web UI, cross-repository portfolio planning, or provider-owned remote
|
|
75
|
+
issue synchronization.
|
|
76
|
+
|
|
77
|
+
## Requirements
|
|
78
|
+
|
|
79
|
+
- Python 3.12, 3.13, or 3.14
|
|
80
|
+
- macOS or Linux; CI tests Ubuntu 24.04 x64 and macOS 15 ARM64
|
|
81
|
+
- Git when the `.roadmap/` data will be shared with collaborators
|
|
82
|
+
|
|
83
|
+
## Installation
|
|
84
|
+
|
|
85
|
+
With `uv`:
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
uv tool install roadmap-cli
|
|
89
|
+
roadmap --version
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
With `pipx`:
|
|
93
|
+
|
|
94
|
+
```bash
|
|
95
|
+
pipx install roadmap-cli
|
|
96
|
+
roadmap --version
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
Or in a virtual environment:
|
|
100
|
+
|
|
101
|
+
```bash
|
|
102
|
+
python3.12 -m venv .venv
|
|
103
|
+
source .venv/bin/activate
|
|
104
|
+
pip install roadmap-cli
|
|
105
|
+
roadmap --version
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
For development:
|
|
109
|
+
|
|
110
|
+
```bash
|
|
111
|
+
git clone https://github.com/shanewilkins/roadmap.git
|
|
112
|
+
cd roadmap
|
|
113
|
+
uv sync --all-extras --locked
|
|
114
|
+
uv run roadmap --help
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
## Quick start
|
|
118
|
+
|
|
119
|
+
Initialize a repository and create work:
|
|
120
|
+
|
|
121
|
+
```bash
|
|
122
|
+
cd my-project
|
|
123
|
+
roadmap init --project-name "My project"
|
|
124
|
+
roadmap issue create --title "Fix login timeout" --priority high
|
|
125
|
+
roadmap issue list
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
Use the ID printed by `issue create` to inspect and update the issue:
|
|
129
|
+
|
|
130
|
+
```bash
|
|
131
|
+
roadmap issue view <issue-id>
|
|
132
|
+
roadmap issue update <issue-id> --status in-progress
|
|
133
|
+
roadmap issue progress <issue-id> 50
|
|
134
|
+
roadmap issue comment add <issue-id> "Reproduced and isolated the cause."
|
|
135
|
+
roadmap issue close <issue-id> --reason "Fixed and verified"
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
Organize delivery:
|
|
139
|
+
|
|
140
|
+
```bash
|
|
141
|
+
roadmap project create --title "Web application"
|
|
142
|
+
roadmap milestone create --title "0.2" --due-date 2026-09-30
|
|
143
|
+
roadmap milestone assign <issue-id> "0.2"
|
|
144
|
+
roadmap milestone view "0.2"
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
Query or export data:
|
|
148
|
+
|
|
149
|
+
```bash
|
|
150
|
+
roadmap today
|
|
151
|
+
roadmap status --format json
|
|
152
|
+
roadmap issue list --status blocked --format json
|
|
153
|
+
roadmap data export --format csv --output roadmap.csv
|
|
154
|
+
roadmap health --format json
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
Run `roadmap <command> --help` for the exact options supported by the installed
|
|
158
|
+
version.
|
|
159
|
+
|
|
160
|
+
## Migrating an existing workspace
|
|
161
|
+
|
|
162
|
+
The 0.2 development line upgrades 0.1.1 workspaces explicitly. Preview the
|
|
163
|
+
complete validated write set first, then confirm the migration:
|
|
164
|
+
|
|
165
|
+
```bash
|
|
166
|
+
roadmap migrate --dry-run
|
|
167
|
+
roadmap migrate --yes
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
Migration preserves existing IDs and user-authored content, moves canonical
|
|
171
|
+
documents to flat stable-ID paths, externalizes user preferences, and rebuilds
|
|
172
|
+
SQLite from canonical files. Resolve every reported conflict before retrying;
|
|
173
|
+
ordinary reads never migrate files automatically. Follow the complete
|
|
174
|
+
[0.2 migration guide](docs/user_guide/MIGRATING_TO_0_2.md) before upgrading.
|
|
175
|
+
|
|
176
|
+
## Collaborating through Git
|
|
177
|
+
|
|
178
|
+
Roadmap data is shared the same way as source code:
|
|
179
|
+
|
|
180
|
+
```bash
|
|
181
|
+
git add .roadmap/
|
|
182
|
+
git commit -m "Update project roadmap"
|
|
183
|
+
git pull --rebase
|
|
184
|
+
git push
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
Roadmap 0.2 keeps explicit local Git conveniences such as `roadmap git status`,
|
|
188
|
+
`roadmap git branch <issue-id>`, and `roadmap git link <issue-id>`. It does not
|
|
189
|
+
install hooks, interpret commit prose to mutate issue state, store provider
|
|
190
|
+
credentials, or synchronize directly with GitHub or another issue service.
|
|
191
|
+
|
|
192
|
+
The 0.2 codebase removes the experimental 0.1.1 remote-sync, provider, and
|
|
193
|
+
automatic-hook commands. Use normal Git commands for collaboration. See the
|
|
194
|
+
[0.2 removal guide](docs/user_guide/REMOTE_SYNC_REMOVAL_0_2.md) before upgrading
|
|
195
|
+
an existing workspace.
|
|
196
|
+
|
|
197
|
+
## Data ownership and recovery
|
|
198
|
+
|
|
199
|
+
Canonical Markdown and YAML are the durable data. SQLite is a local search and
|
|
200
|
+
validation projection, not a second source of truth and not a remote sync
|
|
201
|
+
target. Projection rebuild and canonical-file recovery are explicit and
|
|
202
|
+
testable.
|
|
203
|
+
|
|
204
|
+
Keep `.roadmap/` versioned and make a normal Git commit before running the 0.2
|
|
205
|
+
migration. Do not treat the internal SQLite schema as a public API.
|
|
206
|
+
|
|
207
|
+
## Documentation
|
|
208
|
+
|
|
209
|
+
- [Quick start](docs/user_guide/QUICK_START.md)
|
|
210
|
+
- [Installation](docs/user_guide/INSTALLATION.md)
|
|
211
|
+
- [Workflows](docs/user_guide/WORKFLOWS.md)
|
|
212
|
+
- [FAQ](docs/user_guide/FAQ.md)
|
|
213
|
+
- [0.2 migration guide](docs/user_guide/MIGRATING_TO_0_2.md)
|
|
214
|
+
- [Architecture decisions](docs/architecture/README.md)
|
|
215
|
+
- [Refactor case study](docs/architecture/portfolio-case-study.md)
|
|
216
|
+
- [0.2 release checklist](docs/releases/0.2.0-checklist.md)
|
|
217
|
+
- [Requirements register](docs/requirements/README.md)
|
|
218
|
+
- [Project governance](docs/governance/README.md)
|
|
219
|
+
- [Security policy](SECURITY.md)
|
|
220
|
+
- [Contributing guide](CONTRIBUTING.md)
|
|
221
|
+
|
|
222
|
+
The old GitHub and milestone synchronization guides describe experimental
|
|
223
|
+
0.1.1 behavior and are retained only as migration history; they are not the 0.2
|
|
224
|
+
product direction.
|
|
225
|
+
|
|
226
|
+
## Project status
|
|
227
|
+
|
|
228
|
+
Roadmap 0.2.0 is the result of thirteen independently verified refactor phases.
|
|
229
|
+
See the
|
|
230
|
+
[execution plan](docs/architecture/refactor-execution-plan.md) and published
|
|
231
|
+
[checkpoint reports](docs/architecture/README.md#execution-checkpoints).
|
|
232
|
+
|
|
233
|
+
## License
|
|
234
|
+
|
|
235
|
+
[MIT](LICENSE.md)
|
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
# Roadmap CLI
|
|
2
|
+
|
|
3
|
+
Roadmap is a repository-local project-management CLI for developers who want
|
|
4
|
+
their planning data in reviewable Markdown and YAML files rather than a hosted
|
|
5
|
+
service. It supports issues, dependencies, comments, projects, milestones,
|
|
6
|
+
daily views, health checks, and machine-readable exports.
|
|
7
|
+
|
|
8
|
+
The current release is 0.2.0. Its deliberately contracted behavior is defined
|
|
9
|
+
by an explicit
|
|
10
|
+
[public compatibility contract](docs/architecture/public-contract-0.2.md).
|
|
11
|
+
|
|
12
|
+
## What it does
|
|
13
|
+
|
|
14
|
+
- Stores canonical project data under `.roadmap/` so it can be reviewed and
|
|
15
|
+
versioned with the repository.
|
|
16
|
+
- Works offline after installation; no Roadmap account or server is required.
|
|
17
|
+
- Manages issue state, priority, assignment, dependencies, progress, and
|
|
18
|
+
threaded comments.
|
|
19
|
+
- Organizes work into projects and milestones and derives planning views.
|
|
20
|
+
- Exposes JSON and CSV for scripts alongside human-readable terminal output.
|
|
21
|
+
- Uses a local SQLite index as a rebuildable projection of canonical files.
|
|
22
|
+
- Leaves network collaboration to ordinary Git.
|
|
23
|
+
|
|
24
|
+
Roadmap is intentionally repository-scoped and CLI-first. It does not provide
|
|
25
|
+
a hosted web UI, cross-repository portfolio planning, or provider-owned remote
|
|
26
|
+
issue synchronization.
|
|
27
|
+
|
|
28
|
+
## Requirements
|
|
29
|
+
|
|
30
|
+
- Python 3.12, 3.13, or 3.14
|
|
31
|
+
- macOS or Linux; CI tests Ubuntu 24.04 x64 and macOS 15 ARM64
|
|
32
|
+
- Git when the `.roadmap/` data will be shared with collaborators
|
|
33
|
+
|
|
34
|
+
## Installation
|
|
35
|
+
|
|
36
|
+
With `uv`:
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
uv tool install roadmap-cli
|
|
40
|
+
roadmap --version
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
With `pipx`:
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
pipx install roadmap-cli
|
|
47
|
+
roadmap --version
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
Or in a virtual environment:
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
python3.12 -m venv .venv
|
|
54
|
+
source .venv/bin/activate
|
|
55
|
+
pip install roadmap-cli
|
|
56
|
+
roadmap --version
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
For development:
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
git clone https://github.com/shanewilkins/roadmap.git
|
|
63
|
+
cd roadmap
|
|
64
|
+
uv sync --all-extras --locked
|
|
65
|
+
uv run roadmap --help
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
## Quick start
|
|
69
|
+
|
|
70
|
+
Initialize a repository and create work:
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
cd my-project
|
|
74
|
+
roadmap init --project-name "My project"
|
|
75
|
+
roadmap issue create --title "Fix login timeout" --priority high
|
|
76
|
+
roadmap issue list
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
Use the ID printed by `issue create` to inspect and update the issue:
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
roadmap issue view <issue-id>
|
|
83
|
+
roadmap issue update <issue-id> --status in-progress
|
|
84
|
+
roadmap issue progress <issue-id> 50
|
|
85
|
+
roadmap issue comment add <issue-id> "Reproduced and isolated the cause."
|
|
86
|
+
roadmap issue close <issue-id> --reason "Fixed and verified"
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
Organize delivery:
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
roadmap project create --title "Web application"
|
|
93
|
+
roadmap milestone create --title "0.2" --due-date 2026-09-30
|
|
94
|
+
roadmap milestone assign <issue-id> "0.2"
|
|
95
|
+
roadmap milestone view "0.2"
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
Query or export data:
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
roadmap today
|
|
102
|
+
roadmap status --format json
|
|
103
|
+
roadmap issue list --status blocked --format json
|
|
104
|
+
roadmap data export --format csv --output roadmap.csv
|
|
105
|
+
roadmap health --format json
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
Run `roadmap <command> --help` for the exact options supported by the installed
|
|
109
|
+
version.
|
|
110
|
+
|
|
111
|
+
## Migrating an existing workspace
|
|
112
|
+
|
|
113
|
+
The 0.2 development line upgrades 0.1.1 workspaces explicitly. Preview the
|
|
114
|
+
complete validated write set first, then confirm the migration:
|
|
115
|
+
|
|
116
|
+
```bash
|
|
117
|
+
roadmap migrate --dry-run
|
|
118
|
+
roadmap migrate --yes
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
Migration preserves existing IDs and user-authored content, moves canonical
|
|
122
|
+
documents to flat stable-ID paths, externalizes user preferences, and rebuilds
|
|
123
|
+
SQLite from canonical files. Resolve every reported conflict before retrying;
|
|
124
|
+
ordinary reads never migrate files automatically. Follow the complete
|
|
125
|
+
[0.2 migration guide](docs/user_guide/MIGRATING_TO_0_2.md) before upgrading.
|
|
126
|
+
|
|
127
|
+
## Collaborating through Git
|
|
128
|
+
|
|
129
|
+
Roadmap data is shared the same way as source code:
|
|
130
|
+
|
|
131
|
+
```bash
|
|
132
|
+
git add .roadmap/
|
|
133
|
+
git commit -m "Update project roadmap"
|
|
134
|
+
git pull --rebase
|
|
135
|
+
git push
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
Roadmap 0.2 keeps explicit local Git conveniences such as `roadmap git status`,
|
|
139
|
+
`roadmap git branch <issue-id>`, and `roadmap git link <issue-id>`. It does not
|
|
140
|
+
install hooks, interpret commit prose to mutate issue state, store provider
|
|
141
|
+
credentials, or synchronize directly with GitHub or another issue service.
|
|
142
|
+
|
|
143
|
+
The 0.2 codebase removes the experimental 0.1.1 remote-sync, provider, and
|
|
144
|
+
automatic-hook commands. Use normal Git commands for collaboration. See the
|
|
145
|
+
[0.2 removal guide](docs/user_guide/REMOTE_SYNC_REMOVAL_0_2.md) before upgrading
|
|
146
|
+
an existing workspace.
|
|
147
|
+
|
|
148
|
+
## Data ownership and recovery
|
|
149
|
+
|
|
150
|
+
Canonical Markdown and YAML are the durable data. SQLite is a local search and
|
|
151
|
+
validation projection, not a second source of truth and not a remote sync
|
|
152
|
+
target. Projection rebuild and canonical-file recovery are explicit and
|
|
153
|
+
testable.
|
|
154
|
+
|
|
155
|
+
Keep `.roadmap/` versioned and make a normal Git commit before running the 0.2
|
|
156
|
+
migration. Do not treat the internal SQLite schema as a public API.
|
|
157
|
+
|
|
158
|
+
## Documentation
|
|
159
|
+
|
|
160
|
+
- [Quick start](docs/user_guide/QUICK_START.md)
|
|
161
|
+
- [Installation](docs/user_guide/INSTALLATION.md)
|
|
162
|
+
- [Workflows](docs/user_guide/WORKFLOWS.md)
|
|
163
|
+
- [FAQ](docs/user_guide/FAQ.md)
|
|
164
|
+
- [0.2 migration guide](docs/user_guide/MIGRATING_TO_0_2.md)
|
|
165
|
+
- [Architecture decisions](docs/architecture/README.md)
|
|
166
|
+
- [Refactor case study](docs/architecture/portfolio-case-study.md)
|
|
167
|
+
- [0.2 release checklist](docs/releases/0.2.0-checklist.md)
|
|
168
|
+
- [Requirements register](docs/requirements/README.md)
|
|
169
|
+
- [Project governance](docs/governance/README.md)
|
|
170
|
+
- [Security policy](SECURITY.md)
|
|
171
|
+
- [Contributing guide](CONTRIBUTING.md)
|
|
172
|
+
|
|
173
|
+
The old GitHub and milestone synchronization guides describe experimental
|
|
174
|
+
0.1.1 behavior and are retained only as migration history; they are not the 0.2
|
|
175
|
+
product direction.
|
|
176
|
+
|
|
177
|
+
## Project status
|
|
178
|
+
|
|
179
|
+
Roadmap 0.2.0 is the result of thirteen independently verified refactor phases.
|
|
180
|
+
See the
|
|
181
|
+
[execution plan](docs/architecture/refactor-execution-plan.md) and published
|
|
182
|
+
[checkpoint reports](docs/architecture/README.md#execution-checkpoints).
|
|
183
|
+
|
|
184
|
+
## License
|
|
185
|
+
|
|
186
|
+
[MIT](LICENSE.md)
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["hatchling>=1.24"]
|
|
3
|
+
build-backend = "hatchling.build"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
# ============================================================================
|
|
7
|
+
# ROADMAP CLI - Local Project Management Tool
|
|
8
|
+
# ============================================================================
|
|
9
|
+
# USER INSTALLATION: uv tool install roadmap-cli
|
|
10
|
+
# Installs the CLI and runtime dependencies in an isolated environment.
|
|
11
|
+
#
|
|
12
|
+
# DEVELOPMENT INSTALLATION: uv sync --all-extras --locked
|
|
13
|
+
# Installs the locked runtime and development dependency sets.
|
|
14
|
+
# ============================================================================
|
|
15
|
+
name = "roadmap-cli"
|
|
16
|
+
version = "0.2.0"
|
|
17
|
+
description = "Git-native command line tool for local project roadmap management"
|
|
18
|
+
readme = "README.md"
|
|
19
|
+
requires-python = ">=3.12,<4.0"
|
|
20
|
+
license = {text = "MIT"}
|
|
21
|
+
authors = [{name = "Shane Wilkins"}]
|
|
22
|
+
keywords = [
|
|
23
|
+
"cli",
|
|
24
|
+
"roadmap",
|
|
25
|
+
"planning",
|
|
26
|
+
"project-management",
|
|
27
|
+
"milestone",
|
|
28
|
+
"issue-tracking",
|
|
29
|
+
"git",
|
|
30
|
+
"offline",
|
|
31
|
+
"productivity"
|
|
32
|
+
]
|
|
33
|
+
classifiers = [
|
|
34
|
+
"Development Status :: 4 - Beta",
|
|
35
|
+
"Intended Audience :: Developers",
|
|
36
|
+
"Intended Audience :: Information Technology",
|
|
37
|
+
"Intended Audience :: System Administrators",
|
|
38
|
+
"License :: OSI Approved :: MIT License",
|
|
39
|
+
"Programming Language :: Python :: 3",
|
|
40
|
+
"Programming Language :: Python :: 3.12",
|
|
41
|
+
"Programming Language :: Python :: 3.13",
|
|
42
|
+
"Programming Language :: Python :: 3.14",
|
|
43
|
+
"Topic :: Software Development :: Libraries :: Python Modules",
|
|
44
|
+
"Topic :: Software Development :: Bug Tracking",
|
|
45
|
+
"Topic :: Software Development :: Version Control :: Git",
|
|
46
|
+
"Topic :: Office/Business :: Scheduling",
|
|
47
|
+
"Topic :: Utilities",
|
|
48
|
+
"Environment :: Console",
|
|
49
|
+
"Operating System :: MacOS",
|
|
50
|
+
"Operating System :: POSIX :: Linux"
|
|
51
|
+
]
|
|
52
|
+
dependencies = [
|
|
53
|
+
"click>=8.4.0,<9.0.0",
|
|
54
|
+
"rich>=15.0.0,<16.0.0",
|
|
55
|
+
"pyyaml>=6.0.3,<7.0.0",
|
|
56
|
+
]
|
|
57
|
+
|
|
58
|
+
[project.optional-dependencies]
|
|
59
|
+
dev = [
|
|
60
|
+
"pytest>=9.0.3",
|
|
61
|
+
"pytest-cov>=7.1.0",
|
|
62
|
+
"pytest-asyncio>=1.3.0",
|
|
63
|
+
"pytest-aiohttp>=1.1.0",
|
|
64
|
+
"ruff==0.16.4",
|
|
65
|
+
"pre-commit>=4.6.0",
|
|
66
|
+
"bandit[toml]>=1.9.4",
|
|
67
|
+
"radon>=6.0.1,<7.0.0",
|
|
68
|
+
"xenon>=0.9.3,<1.0.0",
|
|
69
|
+
"pytest-xdist>=3.8.0",
|
|
70
|
+
"pytest-benchmark>=5.2.3",
|
|
71
|
+
"pyright>=1.1.411",
|
|
72
|
+
"pytest-mock>=3.15.1",
|
|
73
|
+
]
|
|
74
|
+
|
|
75
|
+
[project.urls]
|
|
76
|
+
Homepage = "https://github.com/shanewilkins/roadmap"
|
|
77
|
+
Repository = "https://github.com/shanewilkins/roadmap"
|
|
78
|
+
Issues = "https://github.com/shanewilkins/roadmap/issues"
|
|
79
|
+
Documentation = "https://github.com/shanewilkins/roadmap/tree/main/docs"
|
|
80
|
+
|
|
81
|
+
[project.scripts]
|
|
82
|
+
roadmap = "roadmap.bootstrap:main"
|
|
83
|
+
|
|
84
|
+
[tool.hatch.build]
|
|
85
|
+
exclude = [
|
|
86
|
+
"/.venv",
|
|
87
|
+
"/.venv/**",
|
|
88
|
+
"/.venv_release",
|
|
89
|
+
"/.venv_release/**",
|
|
90
|
+
"/venv",
|
|
91
|
+
"/venv/**",
|
|
92
|
+
"/build/**",
|
|
93
|
+
"/dist/**",
|
|
94
|
+
"/htmlcov/**",
|
|
95
|
+
"/.roadmap/**",
|
|
96
|
+
"/.import_linter_cache/**",
|
|
97
|
+
]
|
|
98
|
+
|
|
99
|
+
[tool.hatch.build.targets.wheel]
|
|
100
|
+
packages = ["roadmap"]
|
|
101
|
+
|
|
102
|
+
[tool.hatch.build.targets.sdist]
|
|
103
|
+
include = [
|
|
104
|
+
"/roadmap/**",
|
|
105
|
+
"/README.md",
|
|
106
|
+
"/LICENSE.md",
|
|
107
|
+
"/CHANGELOG.md",
|
|
108
|
+
"/pyproject.toml",
|
|
109
|
+
]
|
|
110
|
+
|
|
111
|
+
# Tool configurations have been moved to config/ directory:
|
|
112
|
+
# - ruff.toml: Linting and formatting rules
|
|
113
|
+
# - bandit.toml: Security scanning configuration
|
|
114
|
+
# - .coveragerc: Test coverage thresholds and exclusions
|
|
115
|
+
# - pyrightconfig.json: Type checking configuration
|
|
116
|
+
|
|
117
|
+
# Type checking is now handled by Pyright
|
|
118
|
+
# Configuration is in pyrightconfig.json
|
|
119
|
+
|
|
120
|
+
[tool.pytest.ini_options]
|
|
121
|
+
testpaths = ["tests"]
|
|
122
|
+
python_files = ["test_*.py"]
|
|
123
|
+
python_functions = ["test_*"]
|
|
124
|
+
addopts = "--tb=short --strict-markers -n auto --maxfail=3 --strict-config -ra"
|
|
125
|
+
markers = [
|
|
126
|
+
"unit: Unit tests (fast, no filesystem operations)",
|
|
127
|
+
"integration: Integration tests (slower, with filesystem operations)",
|
|
128
|
+
"filesystem: Tests that require real filesystem operations",
|
|
129
|
+
"slow: Slow tests that may be skipped in CI",
|
|
130
|
+
"performance: Performance-focused tests",
|
|
131
|
+
"mock_scanning: Tests with mocked repository scanning operations",
|
|
132
|
+
"no_xdist: Tests that should not run in parallel (disables xdist parallelization)"
|
|
133
|
+
]
|
|
134
|
+
filterwarnings = [
|
|
135
|
+
"ignore::pytest_benchmark.logger.PytestBenchmarkWarning"
|
|
136
|
+
]
|
|
137
|
+
|
|
138
|
+
[dependency-groups]
|
|
139
|
+
dev = [
|
|
140
|
+
"pytest-asyncio>=1.4.0",
|
|
141
|
+
"pytest-benchmark>=5.2.3",
|
|
142
|
+
"pytest-cov>=7.1.0",
|
|
143
|
+
"pytest-mock>=3.15.1",
|
|
144
|
+
"pytest-xdist>=3.8.0",
|
|
145
|
+
]
|
|
146
|
+
|
|
147
|
+
# Coverage configuration moved to config/.coveragerc
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"""Roadmap CLI - A command line tool for creating and managing roadmaps."""
|
|
2
|
+
|
|
3
|
+
from importlib.metadata import PackageNotFoundError, version
|
|
4
|
+
|
|
5
|
+
# Installed artifacts read their distribution metadata; source checkouts use the
|
|
6
|
+
# matching fallback without importing the executable adapter as a side effect.
|
|
7
|
+
__version__ = "0.2.0"
|
|
8
|
+
try:
|
|
9
|
+
__version__ = version("roadmap-cli")
|
|
10
|
+
except PackageNotFoundError:
|
|
11
|
+
__version__ = "0.2.0"
|
|
12
|
+
|
|
13
|
+
__all__ = ["__version__"]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"""Adapters for the CLI, local Git, documents, and SQLite projection."""
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"""Inbound adapters that translate user input into Application requests."""
|