specweave 0.18.1 → 0.20.1
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.
- package/CLAUDE.md +229 -1817
- package/README.md +68 -0
- package/bin/specweave.js +62 -6
- package/dist/plugins/specweave/lib/hooks/sync-living-docs.d.ts.map +1 -1
- package/dist/plugins/specweave/lib/hooks/sync-living-docs.js +3 -0
- package/dist/plugins/specweave/lib/hooks/sync-living-docs.js.map +1 -1
- package/dist/plugins/specweave/lib/hooks/update-ac-status.d.ts +21 -0
- package/dist/plugins/specweave/lib/hooks/update-ac-status.d.ts.map +1 -0
- package/dist/plugins/specweave/lib/hooks/update-ac-status.js +162 -0
- package/dist/plugins/specweave/lib/hooks/update-ac-status.js.map +1 -0
- package/dist/plugins/specweave-ado/lib/ado-spec-content-sync.d.ts.map +1 -1
- package/dist/plugins/specweave-ado/lib/ado-spec-content-sync.js +65 -6
- package/dist/plugins/specweave-ado/lib/ado-spec-content-sync.js.map +1 -1
- package/dist/plugins/specweave-github/lib/completion-calculator.d.ts +112 -0
- package/dist/plugins/specweave-github/lib/completion-calculator.d.ts.map +1 -0
- package/dist/plugins/specweave-github/lib/completion-calculator.js +301 -0
- package/dist/plugins/specweave-github/lib/completion-calculator.js.map +1 -0
- package/dist/plugins/specweave-github/lib/duplicate-detector.d.ts +3 -3
- package/dist/plugins/specweave-github/lib/duplicate-detector.js +3 -3
- package/dist/plugins/specweave-github/lib/epic-content-builder.d.ts +7 -0
- package/dist/plugins/specweave-github/lib/epic-content-builder.d.ts.map +1 -1
- package/dist/plugins/specweave-github/lib/epic-content-builder.js +42 -0
- package/dist/plugins/specweave-github/lib/epic-content-builder.js.map +1 -1
- package/dist/plugins/specweave-github/lib/github-client-v2.d.ts +14 -0
- package/dist/plugins/specweave-github/lib/github-client-v2.d.ts.map +1 -1
- package/dist/plugins/specweave-github/lib/github-client-v2.js +51 -0
- package/dist/plugins/specweave-github/lib/github-client-v2.js.map +1 -1
- package/dist/plugins/specweave-github/lib/github-epic-sync.js +1 -1
- package/dist/plugins/specweave-github/lib/github-epic-sync.js.map +1 -1
- package/dist/plugins/specweave-github/lib/github-feature-sync.d.ts +87 -0
- package/dist/plugins/specweave-github/lib/github-feature-sync.d.ts.map +1 -0
- package/dist/plugins/specweave-github/lib/github-feature-sync.js +412 -0
- package/dist/plugins/specweave-github/lib/github-feature-sync.js.map +1 -0
- package/dist/plugins/specweave-github/lib/github-spec-content-sync.d.ts.map +1 -1
- package/dist/plugins/specweave-github/lib/github-spec-content-sync.js +64 -13
- package/dist/plugins/specweave-github/lib/github-spec-content-sync.js.map +1 -1
- package/dist/plugins/specweave-github/lib/progress-comment-builder.d.ts +78 -0
- package/dist/plugins/specweave-github/lib/progress-comment-builder.d.ts.map +1 -0
- package/dist/plugins/specweave-github/lib/progress-comment-builder.js +237 -0
- package/dist/plugins/specweave-github/lib/progress-comment-builder.js.map +1 -0
- package/dist/plugins/specweave-github/lib/user-story-content-builder.d.ts +97 -0
- package/dist/plugins/specweave-github/lib/user-story-content-builder.d.ts.map +1 -0
- package/dist/plugins/specweave-github/lib/user-story-content-builder.js +301 -0
- package/dist/plugins/specweave-github/lib/user-story-content-builder.js.map +1 -0
- package/dist/plugins/specweave-github/lib/user-story-issue-builder.d.ts +83 -0
- package/dist/plugins/specweave-github/lib/user-story-issue-builder.d.ts.map +1 -0
- package/dist/plugins/specweave-github/lib/user-story-issue-builder.js +386 -0
- package/dist/plugins/specweave-github/lib/user-story-issue-builder.js.map +1 -0
- package/dist/plugins/specweave-jira/lib/enhanced-jira-sync.d.ts +8 -6
- package/dist/plugins/specweave-jira/lib/enhanced-jira-sync.d.ts.map +1 -1
- package/dist/plugins/specweave-jira/lib/enhanced-jira-sync.js +78 -117
- package/dist/plugins/specweave-jira/lib/enhanced-jira-sync.js.map +1 -1
- package/dist/src/cli/commands/import-docs.js +4 -4
- package/dist/src/cli/commands/import-docs.js.map +1 -1
- package/dist/src/cli/commands/init-multiproject.d.ts.map +1 -1
- package/dist/src/cli/commands/init-multiproject.js +17 -18
- package/dist/src/cli/commands/init-multiproject.js.map +1 -1
- package/dist/src/cli/commands/migrate-to-multiproject.d.ts.map +1 -1
- package/dist/src/cli/commands/migrate-to-multiproject.js +8 -4
- package/dist/src/cli/commands/migrate-to-multiproject.js.map +1 -1
- package/dist/src/cli/commands/switch-project.d.ts.map +1 -1
- package/dist/src/cli/commands/switch-project.js +9 -26
- package/dist/src/cli/commands/switch-project.js.map +1 -1
- package/dist/src/cli/commands/sync-spec-content.js +3 -0
- package/dist/src/cli/commands/sync-spec-content.js.map +1 -1
- package/dist/src/core/deduplication/command-deduplicator.d.ts +166 -0
- package/dist/src/core/deduplication/command-deduplicator.d.ts.map +1 -0
- package/dist/src/core/deduplication/command-deduplicator.js +254 -0
- package/dist/src/core/deduplication/command-deduplicator.js.map +1 -0
- package/dist/src/core/increment/active-increment-manager.d.ts +42 -15
- package/dist/src/core/increment/active-increment-manager.d.ts.map +1 -1
- package/dist/src/core/increment/active-increment-manager.js +113 -46
- package/dist/src/core/increment/active-increment-manager.js.map +1 -1
- package/dist/src/core/increment/conflict-resolver.d.ts +40 -0
- package/dist/src/core/increment/conflict-resolver.d.ts.map +1 -0
- package/dist/src/core/increment/conflict-resolver.js +219 -0
- package/dist/src/core/increment/conflict-resolver.js.map +1 -0
- package/dist/src/core/increment/discipline-checker.d.ts.map +1 -1
- package/dist/src/core/increment/discipline-checker.js +7 -1
- package/dist/src/core/increment/discipline-checker.js.map +1 -1
- package/dist/src/core/increment/duplicate-detector.d.ts +52 -0
- package/dist/src/core/increment/duplicate-detector.d.ts.map +1 -0
- package/dist/src/core/increment/duplicate-detector.js +276 -0
- package/dist/src/core/increment/duplicate-detector.js.map +1 -0
- package/dist/src/core/increment/increment-archiver.d.ts +90 -0
- package/dist/src/core/increment/increment-archiver.d.ts.map +1 -0
- package/dist/src/core/increment/increment-archiver.js +368 -0
- package/dist/src/core/increment/increment-archiver.js.map +1 -0
- package/dist/src/core/increment/increment-reopener.d.ts +165 -0
- package/dist/src/core/increment/increment-reopener.d.ts.map +1 -0
- package/dist/src/core/increment/increment-reopener.js +390 -0
- package/dist/src/core/increment/increment-reopener.js.map +1 -0
- package/dist/src/core/increment/metadata-manager.d.ts +26 -1
- package/dist/src/core/increment/metadata-manager.d.ts.map +1 -1
- package/dist/src/core/increment/metadata-manager.js +143 -5
- package/dist/src/core/increment/metadata-manager.js.map +1 -1
- package/dist/src/core/increment/recent-work-scanner.d.ts +121 -0
- package/dist/src/core/increment/recent-work-scanner.d.ts.map +1 -0
- package/dist/src/core/increment/recent-work-scanner.js +303 -0
- package/dist/src/core/increment/recent-work-scanner.js.map +1 -0
- package/dist/src/core/increment/types.d.ts +1 -0
- package/dist/src/core/increment/types.d.ts.map +1 -1
- package/dist/src/core/increment-utils.d.ts +112 -0
- package/dist/src/core/increment-utils.d.ts.map +1 -0
- package/dist/src/core/increment-utils.js +210 -0
- package/dist/src/core/increment-utils.js.map +1 -0
- package/dist/src/core/living-docs/ac-project-specific-generator.d.ts +65 -0
- package/dist/src/core/living-docs/ac-project-specific-generator.d.ts.map +1 -0
- package/dist/src/core/living-docs/ac-project-specific-generator.js +175 -0
- package/dist/src/core/living-docs/ac-project-specific-generator.js.map +1 -0
- package/dist/src/core/living-docs/feature-archiver.d.ts +130 -0
- package/dist/src/core/living-docs/feature-archiver.d.ts.map +1 -0
- package/dist/src/core/living-docs/feature-archiver.js +549 -0
- package/dist/src/core/living-docs/feature-archiver.js.map +1 -0
- package/dist/src/core/living-docs/feature-id-manager.d.ts +81 -0
- package/dist/src/core/living-docs/feature-id-manager.d.ts.map +1 -0
- package/dist/src/core/living-docs/feature-id-manager.js +339 -0
- package/dist/src/core/living-docs/feature-id-manager.js.map +1 -0
- package/dist/src/core/living-docs/hierarchy-mapper.d.ts +144 -83
- package/dist/src/core/living-docs/hierarchy-mapper.d.ts.map +1 -1
- package/dist/src/core/living-docs/hierarchy-mapper.js +488 -270
- package/dist/src/core/living-docs/hierarchy-mapper.js.map +1 -1
- package/dist/src/core/living-docs/index.d.ts +6 -0
- package/dist/src/core/living-docs/index.d.ts.map +1 -1
- package/dist/src/core/living-docs/index.js +6 -0
- package/dist/src/core/living-docs/index.js.map +1 -1
- package/dist/src/core/living-docs/project-detector.d.ts +6 -0
- package/dist/src/core/living-docs/project-detector.d.ts.map +1 -1
- package/dist/src/core/living-docs/project-detector.js +35 -1
- package/dist/src/core/living-docs/project-detector.js.map +1 -1
- package/dist/src/core/living-docs/spec-distributor.d.ts +100 -26
- package/dist/src/core/living-docs/spec-distributor.d.ts.map +1 -1
- package/dist/src/core/living-docs/spec-distributor.js +1275 -258
- package/dist/src/core/living-docs/spec-distributor.js.map +1 -1
- package/dist/src/core/living-docs/task-project-specific-generator.d.ts +109 -0
- package/dist/src/core/living-docs/task-project-specific-generator.d.ts.map +1 -0
- package/dist/src/core/living-docs/task-project-specific-generator.js +221 -0
- package/dist/src/core/living-docs/task-project-specific-generator.js.map +1 -0
- package/dist/src/core/living-docs/types.d.ts +143 -0
- package/dist/src/core/living-docs/types.d.ts.map +1 -1
- package/dist/src/core/project-manager.d.ts +2 -17
- package/dist/src/core/project-manager.d.ts.map +1 -1
- package/dist/src/core/project-manager.js +68 -48
- package/dist/src/core/project-manager.js.map +1 -1
- package/dist/src/core/spec-content-sync.d.ts +1 -1
- package/dist/src/core/spec-content-sync.d.ts.map +1 -1
- package/dist/src/core/sync/enhanced-content-builder.d.ts.map +1 -1
- package/dist/src/core/sync/enhanced-content-builder.js +2 -1
- package/dist/src/core/sync/enhanced-content-builder.js.map +1 -1
- package/dist/src/core/sync/performance-optimizer.d.ts +153 -0
- package/dist/src/core/sync/performance-optimizer.d.ts.map +1 -0
- package/dist/src/core/sync/performance-optimizer.js +220 -0
- package/dist/src/core/sync/performance-optimizer.js.map +1 -0
- package/dist/src/core/sync/retry-handler.d.ts +98 -0
- package/dist/src/core/sync/retry-handler.d.ts.map +1 -0
- package/dist/src/core/sync/retry-handler.js +196 -0
- package/dist/src/core/sync/retry-handler.js.map +1 -0
- package/dist/src/core/types/config.d.ts +94 -0
- package/dist/src/core/types/config.d.ts.map +1 -1
- package/dist/src/core/types/config.js +16 -0
- package/dist/src/core/types/config.js.map +1 -1
- package/dist/src/core/types/increment-metadata.d.ts +6 -0
- package/dist/src/core/types/increment-metadata.d.ts.map +1 -1
- package/dist/src/core/types/increment-metadata.js +10 -1
- package/dist/src/core/types/increment-metadata.js.map +1 -1
- package/dist/src/integrations/jira/jira-incremental-mapper.d.ts.map +1 -1
- package/dist/src/integrations/jira/jira-incremental-mapper.js +4 -8
- package/dist/src/integrations/jira/jira-incremental-mapper.js.map +1 -1
- package/dist/src/integrations/jira/jira-mapper.d.ts.map +1 -1
- package/dist/src/integrations/jira/jira-mapper.js +4 -8
- package/dist/src/integrations/jira/jira-mapper.js.map +1 -1
- package/package.json +1 -1
- package/plugins/specweave/COMMANDS.md +13 -4
- package/plugins/specweave/commands/specweave-abandon.md +22 -20
- package/plugins/specweave/commands/specweave-archive-features.md +121 -0
- package/plugins/specweave/commands/specweave-archive-increments.md +82 -0
- package/plugins/specweave/commands/specweave-archive.md +363 -0
- package/plugins/specweave/commands/specweave-backlog.md +211 -0
- package/plugins/specweave/commands/specweave-fix-duplicates.md +517 -0
- package/plugins/specweave/commands/specweave-increment.md +4 -3
- package/plugins/specweave/commands/specweave-progress.md +176 -27
- package/plugins/specweave/commands/specweave-reopen.md +391 -0
- package/plugins/specweave/commands/specweave-restore-feature.md +90 -0
- package/plugins/specweave/commands/specweave-restore.md +309 -0
- package/plugins/specweave/commands/specweave-resume.md +51 -23
- package/plugins/specweave/commands/specweave-status.md +41 -7
- package/plugins/specweave/commands/specweave-sync-specs.md +425 -0
- package/plugins/specweave/hooks/hooks.json +4 -0
- package/plugins/specweave/hooks/lib/sync-spec-content.sh +2 -2
- package/plugins/specweave/hooks/post-task-completion.sh +39 -0
- package/plugins/specweave/hooks/pre-command-deduplication.sh +83 -0
- package/plugins/specweave/hooks/user-prompt-submit.sh +1 -1
- package/plugins/specweave/lib/hooks/sync-living-docs.js +2 -0
- package/plugins/specweave/lib/hooks/sync-living-docs.ts +4 -0
- package/plugins/specweave/lib/hooks/update-ac-status.js +102 -0
- package/plugins/specweave/lib/hooks/update-ac-status.ts +192 -0
- package/plugins/specweave/skills/archive-increments/SKILL.md +198 -0
- package/plugins/specweave/skills/increment-planner/scripts/feature-utils.js +14 -0
- package/plugins/specweave/skills/smart-reopen-detector/SKILL.md +244 -0
- package/plugins/specweave-ado/lib/ado-spec-content-sync.js +49 -5
- package/plugins/specweave-ado/lib/ado-spec-content-sync.ts +72 -6
- package/plugins/specweave-confluent/.claude-plugin/plugin.json +23 -0
- package/plugins/specweave-confluent/README.md +375 -0
- package/plugins/specweave-confluent/agents/confluent-architect/AGENT.md +306 -0
- package/plugins/specweave-confluent/skills/confluent-kafka-connect/SKILL.md +453 -0
- package/plugins/specweave-confluent/skills/confluent-ksqldb/SKILL.md +470 -0
- package/plugins/specweave-confluent/skills/confluent-schema-registry/SKILL.md +316 -0
- package/plugins/specweave-github/agents/github-task-splitter/AGENT.md +2 -2
- package/plugins/specweave-github/agents/user-story-updater/AGENT.md +148 -0
- package/plugins/specweave-github/commands/specweave-github-cleanup-duplicates.md +1 -1
- package/plugins/specweave-github/commands/specweave-github-update-user-story.md +156 -0
- package/plugins/specweave-github/hooks/post-task-completion.sh +10 -9
- package/plugins/specweave-github/lib/completion-calculator.js +262 -0
- package/plugins/specweave-github/lib/completion-calculator.ts +434 -0
- package/plugins/specweave-github/lib/duplicate-detector.js +3 -3
- package/plugins/specweave-github/lib/duplicate-detector.ts +4 -4
- package/plugins/specweave-github/lib/epic-content-builder.js +38 -0
- package/plugins/specweave-github/lib/epic-content-builder.ts +59 -0
- package/plugins/specweave-github/lib/github-client-v2.js +49 -0
- package/plugins/specweave-github/lib/github-client-v2.ts +59 -0
- package/plugins/specweave-github/lib/github-epic-sync.ts +1 -1
- package/plugins/specweave-github/lib/github-feature-sync.js +381 -0
- package/plugins/specweave-github/lib/github-feature-sync.ts +568 -0
- package/plugins/specweave-github/lib/github-spec-content-sync.js +40 -10
- package/plugins/specweave-github/lib/github-spec-content-sync.ts +82 -14
- package/plugins/specweave-github/lib/progress-comment-builder.js +229 -0
- package/plugins/specweave-github/lib/progress-comment-builder.ts +324 -0
- package/plugins/specweave-github/lib/user-story-content-builder.js +299 -0
- package/plugins/specweave-github/lib/user-story-content-builder.ts +413 -0
- package/plugins/specweave-github/lib/user-story-issue-builder.js +344 -0
- package/plugins/specweave-github/lib/user-story-issue-builder.ts +543 -0
- package/plugins/specweave-github/skills/github-issue-standard/SKILL.md +189 -0
- package/plugins/{specweave-ado/lib/enhanced-ado-sync.js → specweave-jira/lib/enhanced-jira-sync.js} +25 -61
- package/plugins/specweave-jira/lib/{enhanced-jira-sync.ts.disabled → enhanced-jira-sync.ts} +26 -52
- package/plugins/specweave-kafka/.claude-plugin/plugin.json +26 -0
- package/plugins/specweave-kafka/IMPLEMENTATION-COMPLETE.md +483 -0
- package/plugins/specweave-kafka/README.md +242 -0
- package/plugins/specweave-kafka/agents/kafka-architect/AGENT.md +235 -0
- package/plugins/specweave-kafka/agents/kafka-devops/AGENT.md +209 -0
- package/plugins/specweave-kafka/agents/kafka-observability/AGENT.md +266 -0
- package/plugins/specweave-kafka/commands/deploy.md +99 -0
- package/plugins/specweave-kafka/commands/dev-env.md +176 -0
- package/plugins/specweave-kafka/commands/mcp-configure.md +101 -0
- package/plugins/specweave-kafka/commands/monitor-setup.md +96 -0
- package/plugins/specweave-kafka/docker/kafka-local/docker-compose.yml +187 -0
- package/plugins/specweave-kafka/docker/redpanda/docker-compose.yml +199 -0
- package/plugins/specweave-kafka/docker/templates/consumer-nodejs.js +225 -0
- package/plugins/specweave-kafka/docker/templates/consumer-python.py +220 -0
- package/plugins/specweave-kafka/docker/templates/producer-nodejs.js +168 -0
- package/plugins/specweave-kafka/docker/templates/producer-python.py +167 -0
- package/plugins/specweave-kafka/lib/adapters/apache-kafka-adapter.js +438 -0
- package/plugins/specweave-kafka/lib/adapters/apache-kafka-adapter.ts +541 -0
- package/plugins/specweave-kafka/lib/adapters/platform-adapter.js +47 -0
- package/plugins/specweave-kafka/lib/adapters/platform-adapter.ts +343 -0
- package/plugins/specweave-kafka/lib/cli/kcat-wrapper.js +258 -0
- package/plugins/specweave-kafka/lib/cli/kcat-wrapper.ts +298 -0
- package/plugins/specweave-kafka/lib/cli/types.js +10 -0
- package/plugins/specweave-kafka/lib/cli/types.ts +92 -0
- package/plugins/specweave-kafka/lib/connectors/connector-catalog.js +305 -0
- package/plugins/specweave-kafka/lib/connectors/connector-catalog.ts +528 -0
- package/plugins/specweave-kafka/lib/documentation/diagram-generator.js +114 -0
- package/plugins/specweave-kafka/lib/documentation/diagram-generator.ts +195 -0
- package/plugins/specweave-kafka/lib/documentation/exporter.js +210 -0
- package/plugins/specweave-kafka/lib/documentation/exporter.ts +338 -0
- package/plugins/specweave-kafka/lib/documentation/schema-catalog-generator.js +60 -0
- package/plugins/specweave-kafka/lib/documentation/schema-catalog-generator.ts +130 -0
- package/plugins/specweave-kafka/lib/documentation/topology-generator.js +143 -0
- package/plugins/specweave-kafka/lib/documentation/topology-generator.ts +290 -0
- package/plugins/specweave-kafka/lib/mcp/detector.js +298 -0
- package/plugins/specweave-kafka/lib/mcp/detector.ts +352 -0
- package/plugins/specweave-kafka/lib/mcp/types.js +21 -0
- package/plugins/specweave-kafka/lib/mcp/types.ts +77 -0
- package/plugins/specweave-kafka/lib/multi-cluster/cluster-config-manager.js +193 -0
- package/plugins/specweave-kafka/lib/multi-cluster/cluster-config-manager.ts +362 -0
- package/plugins/specweave-kafka/lib/multi-cluster/cluster-switcher.js +188 -0
- package/plugins/specweave-kafka/lib/multi-cluster/cluster-switcher.ts +359 -0
- package/plugins/specweave-kafka/lib/multi-cluster/health-aggregator.js +195 -0
- package/plugins/specweave-kafka/lib/multi-cluster/health-aggregator.ts +380 -0
- package/plugins/specweave-kafka/lib/observability/opentelemetry-kafka.js +209 -0
- package/plugins/specweave-kafka/lib/observability/opentelemetry-kafka.ts +358 -0
- package/plugins/specweave-kafka/lib/patterns/advanced-ksqldb-patterns.js +354 -0
- package/plugins/specweave-kafka/lib/patterns/advanced-ksqldb-patterns.ts +563 -0
- package/plugins/specweave-kafka/lib/patterns/circuit-breaker-resilience.js +259 -0
- package/plugins/specweave-kafka/lib/patterns/circuit-breaker-resilience.ts +516 -0
- package/plugins/specweave-kafka/lib/patterns/dead-letter-queue.js +233 -0
- package/plugins/specweave-kafka/lib/patterns/dead-letter-queue.ts +423 -0
- package/plugins/specweave-kafka/lib/patterns/exactly-once-semantics.js +266 -0
- package/plugins/specweave-kafka/lib/patterns/exactly-once-semantics.ts +445 -0
- package/plugins/specweave-kafka/lib/patterns/flink-kafka-integration.js +312 -0
- package/plugins/specweave-kafka/lib/patterns/flink-kafka-integration.ts +561 -0
- package/plugins/specweave-kafka/lib/patterns/multi-dc-replication.js +289 -0
- package/plugins/specweave-kafka/lib/patterns/multi-dc-replication.ts +607 -0
- package/plugins/specweave-kafka/lib/patterns/rate-limiting-backpressure.js +264 -0
- package/plugins/specweave-kafka/lib/patterns/rate-limiting-backpressure.ts +498 -0
- package/plugins/specweave-kafka/lib/patterns/stream-processing-optimization.js +263 -0
- package/plugins/specweave-kafka/lib/patterns/stream-processing-optimization.ts +549 -0
- package/plugins/specweave-kafka/lib/patterns/tiered-storage-compaction.js +205 -0
- package/plugins/specweave-kafka/lib/patterns/tiered-storage-compaction.ts +399 -0
- package/plugins/specweave-kafka/lib/performance/performance-optimizer.js +249 -0
- package/plugins/specweave-kafka/lib/performance/performance-optimizer.ts +427 -0
- package/plugins/specweave-kafka/lib/security/kafka-security.js +252 -0
- package/plugins/specweave-kafka/lib/security/kafka-security.ts +494 -0
- package/plugins/specweave-kafka/lib/utils/capacity-planner.js +203 -0
- package/plugins/specweave-kafka/lib/utils/capacity-planner.ts +469 -0
- package/plugins/specweave-kafka/lib/utils/config-validator.js +419 -0
- package/plugins/specweave-kafka/lib/utils/config-validator.ts +564 -0
- package/plugins/specweave-kafka/lib/utils/partitioning.js +329 -0
- package/plugins/specweave-kafka/lib/utils/partitioning.ts +473 -0
- package/plugins/specweave-kafka/lib/utils/sizing.js +221 -0
- package/plugins/specweave-kafka/lib/utils/sizing.ts +374 -0
- package/plugins/specweave-kafka/monitoring/grafana/dashboards/kafka-broker-metrics.json +628 -0
- package/plugins/specweave-kafka/monitoring/grafana/dashboards/kafka-cluster-overview.json +564 -0
- package/plugins/specweave-kafka/monitoring/grafana/dashboards/kafka-consumer-lag.json +509 -0
- package/plugins/specweave-kafka/monitoring/grafana/dashboards/kafka-jvm-metrics.json +674 -0
- package/plugins/specweave-kafka/monitoring/grafana/dashboards/kafka-topic-metrics.json +578 -0
- package/plugins/specweave-kafka/monitoring/grafana/provisioning/dashboards/kafka.yml +17 -0
- package/plugins/specweave-kafka/monitoring/grafana/provisioning/datasources/prometheus.yml +17 -0
- package/plugins/specweave-kafka/monitoring/prometheus/kafka-alerts.yml +415 -0
- package/plugins/specweave-kafka/monitoring/prometheus/kafka-jmx-exporter.yml +256 -0
- package/plugins/specweave-kafka/package.json +41 -0
- package/plugins/specweave-kafka/skills/kafka-architecture/SKILL.md +647 -0
- package/plugins/specweave-kafka/skills/kafka-cli-tools/SKILL.md +433 -0
- package/plugins/specweave-kafka/skills/kafka-iac-deployment/SKILL.md +449 -0
- package/plugins/specweave-kafka/skills/kafka-kubernetes/SKILL.md +667 -0
- package/plugins/specweave-kafka/skills/kafka-mcp-integration/SKILL.md +273 -0
- package/plugins/specweave-kafka/skills/kafka-observability/SKILL.md +576 -0
- package/plugins/specweave-kafka/templates/config/broker-production.properties +254 -0
- package/plugins/specweave-kafka/templates/config/consumer-low-latency.properties +112 -0
- package/plugins/specweave-kafka/templates/config/producer-high-throughput.properties +120 -0
- package/plugins/specweave-kafka/templates/migration/mirrormaker2-config.properties +234 -0
- package/plugins/specweave-kafka/templates/monitoring/grafana/multi-cluster-dashboard.json +686 -0
- package/plugins/specweave-kafka/terraform/apache-kafka/main.tf +347 -0
- package/plugins/specweave-kafka/terraform/apache-kafka/outputs.tf +107 -0
- package/plugins/specweave-kafka/terraform/apache-kafka/templates/kafka-broker-init.sh.tpl +216 -0
- package/plugins/specweave-kafka/terraform/apache-kafka/variables.tf +156 -0
- package/plugins/specweave-kafka/terraform/aws-msk/main.tf +362 -0
- package/plugins/specweave-kafka/terraform/aws-msk/outputs.tf +93 -0
- package/plugins/specweave-kafka/terraform/aws-msk/templates/server.properties.tpl +32 -0
- package/plugins/specweave-kafka/terraform/aws-msk/variables.tf +235 -0
- package/plugins/specweave-kafka/terraform/azure-event-hubs/main.tf +281 -0
- package/plugins/specweave-kafka/terraform/azure-event-hubs/outputs.tf +118 -0
- package/plugins/specweave-kafka/terraform/azure-event-hubs/variables.tf +148 -0
- package/plugins/specweave-kafka/tsconfig.json +21 -0
- package/plugins/specweave-kafka-streams/.claude-plugin/plugin.json +23 -0
- package/plugins/specweave-kafka-streams/README.md +310 -0
- package/plugins/specweave-kafka-streams/skills/kafka-streams-topology/SKILL.md +539 -0
- package/plugins/specweave-n8n/.claude-plugin/plugin.json +22 -0
- package/plugins/specweave-n8n/README.md +354 -0
- package/plugins/specweave-n8n/skills/n8n-kafka-workflows/SKILL.md +504 -0
- package/plugins/specweave-release/commands/specweave-release-platform.md +1 -1
- package/plugins/specweave-release/hooks/post-task-completion.sh +2 -2
- package/src/templates/AGENTS.md.template +601 -7
- package/src/templates/CLAUDE.md.template +188 -88
- package/dist/locales/de/.gitkeep +0 -0
- package/dist/locales/de/cli.json +0 -108
- package/dist/locales/en/cli.json +0 -287
- package/dist/locales/en/errors.json +0 -7
- package/dist/locales/en/templates.json +0 -6
- package/dist/locales/es/.gitkeep +0 -0
- package/dist/locales/es/cli.json +0 -41
- package/dist/locales/fr/.gitkeep +0 -0
- package/dist/locales/fr/cli.json +0 -108
- package/dist/locales/ja/.gitkeep +0 -0
- package/dist/locales/ja/cli.json +0 -108
- package/dist/locales/ko/.gitkeep +0 -0
- package/dist/locales/ko/cli.json +0 -108
- package/dist/locales/pt/.gitkeep +0 -0
- package/dist/locales/pt/cli.json +0 -108
- package/dist/locales/ru/.gitkeep +0 -0
- package/dist/locales/ru/cli.json +0 -269
- package/dist/locales/zh/.gitkeep +0 -0
- package/dist/locales/zh/cli.json +0 -108
- package/dist/plugins/specweave-ado/lib/enhanced-ado-sync.d.ts +0 -25
- package/dist/plugins/specweave-ado/lib/enhanced-ado-sync.d.ts.map +0 -1
- package/dist/plugins/specweave-ado/lib/enhanced-ado-sync.js +0 -191
- package/dist/plugins/specweave-ado/lib/enhanced-ado-sync.js.map +0 -1
- package/dist/spec-parser.js +0 -629
- package/dist/src/core/sync/spec-content-sync.d.ts +0 -88
- package/dist/src/core/sync/spec-content-sync.d.ts.map +0 -1
- package/dist/src/core/sync/spec-content-sync.js +0 -5
- package/dist/src/core/sync/spec-content-sync.js.map +0 -1
- package/dist/tsconfig.tsbuildinfo +0 -1
- package/plugins/specweave-ado/commands/specweave-ado-sync-spec.md +0 -255
- package/plugins/specweave-github/commands/specweave-github-sync-epic.md +0 -248
- package/plugins/specweave-github/commands/specweave-github-sync-from.md +0 -147
- package/plugins/specweave-github/commands/specweave-github-sync-spec.md +0 -208
- package/plugins/specweave-github/commands/specweave-github-sync-tasks.md +0 -530
- package/plugins/specweave-jira/commands/specweave-jira-sync-epic.md +0 -267
- package/plugins/specweave-jira/commands/specweave-jira-sync-spec.md +0 -240
|
@@ -1,147 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: specweave-github:sync-from
|
|
3
|
-
description: Sync state from GitHub to SpecWeave (bidirectional sync). Fetches issue state, comments, and detects conflicts.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Sync from GitHub to SpecWeave
|
|
7
|
-
|
|
8
|
-
Bidirectional sync - pull changes from GitHub issue back to SpecWeave increment.
|
|
9
|
-
|
|
10
|
-
## Usage
|
|
11
|
-
|
|
12
|
-
```bash
|
|
13
|
-
/specweave-github:sync-from <incrementId>
|
|
14
|
-
```
|
|
15
|
-
|
|
16
|
-
## What It Does
|
|
17
|
-
|
|
18
|
-
1. **Fetches GitHub Issue State**:
|
|
19
|
-
- Issue status (open/closed)
|
|
20
|
-
- Comments
|
|
21
|
-
- Labels, assignees, milestones
|
|
22
|
-
- Last updated timestamp
|
|
23
|
-
|
|
24
|
-
2. **Detects Conflicts**:
|
|
25
|
-
- GitHub closed but SpecWeave active
|
|
26
|
-
- SpecWeave completed but GitHub open
|
|
27
|
-
- GitHub abandoned but issue open
|
|
28
|
-
|
|
29
|
-
3. **Syncs Comments**:
|
|
30
|
-
- Saves GitHub comments to `.specweave/increments/<id>/logs/github-comments.md`
|
|
31
|
-
- Only syncs new comments (tracks IDs)
|
|
32
|
-
|
|
33
|
-
4. **Updates Metadata**:
|
|
34
|
-
- Updates `metadata.json` with latest GitHub state
|
|
35
|
-
- Tracks last sync timestamp
|
|
36
|
-
|
|
37
|
-
## Examples
|
|
38
|
-
|
|
39
|
-
### Basic Sync
|
|
40
|
-
|
|
41
|
-
```bash
|
|
42
|
-
/specweave-github:sync-from 0015-hierarchical-sync
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
**Output**:
|
|
46
|
-
```
|
|
47
|
-
🔄 Syncing from GitHub for increment: 0015-hierarchical-sync
|
|
48
|
-
Syncing from anton-abyzov/specweave#29
|
|
49
|
-
✅ No conflicts - GitHub and SpecWeave in sync
|
|
50
|
-
📝 Syncing 3 new comment(s)
|
|
51
|
-
✅ Comments saved to: logs/github-comments.md
|
|
52
|
-
✅ Metadata updated
|
|
53
|
-
✅ Bidirectional sync complete
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
### Conflict Detection
|
|
57
|
-
|
|
58
|
-
```bash
|
|
59
|
-
/specweave-github:sync-from 0015-hierarchical-sync
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
**Output**:
|
|
63
|
-
```
|
|
64
|
-
🔄 Syncing from GitHub for increment: 0015-hierarchical-sync
|
|
65
|
-
Syncing from anton-abyzov/specweave#29
|
|
66
|
-
⚠️ Detected 1 conflict(s)
|
|
67
|
-
|
|
68
|
-
⚠️ Conflict detected: status
|
|
69
|
-
GitHub: closed
|
|
70
|
-
SpecWeave: active
|
|
71
|
-
|
|
72
|
-
⚠️ **CONFLICT**: GitHub issue closed but SpecWeave increment still active!
|
|
73
|
-
Recommendation: Run /specweave:done 0015-hierarchical-sync to close increment
|
|
74
|
-
Or reopen issue on GitHub if work is not complete
|
|
75
|
-
|
|
76
|
-
✅ Bidirectional sync complete
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
## When to Use
|
|
80
|
-
|
|
81
|
-
Use this command when:
|
|
82
|
-
- ✅ Someone closed/reopened the GitHub issue
|
|
83
|
-
- ✅ Comments were added on GitHub (want to import them)
|
|
84
|
-
- ✅ Want to check if GitHub and SpecWeave are in sync
|
|
85
|
-
- ✅ Resolving conflicts between GitHub and SpecWeave state
|
|
86
|
-
|
|
87
|
-
## Requirements
|
|
88
|
-
|
|
89
|
-
- GitHub CLI (`gh`) installed and authenticated
|
|
90
|
-
- GitHub issue linked in metadata.json
|
|
91
|
-
- Repository has GitHub remote configured
|
|
92
|
-
|
|
93
|
-
## Conflict Resolution
|
|
94
|
-
|
|
95
|
-
### GitHub Closed, SpecWeave Active
|
|
96
|
-
|
|
97
|
-
**Resolution**: Close SpecWeave increment
|
|
98
|
-
```bash
|
|
99
|
-
/specweave:done 0015-hierarchical-sync
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
**Or**: Reopen GitHub issue if work not complete
|
|
103
|
-
```bash
|
|
104
|
-
gh issue reopen 29
|
|
105
|
-
```
|
|
106
|
-
|
|
107
|
-
### SpecWeave Completed, GitHub Open
|
|
108
|
-
|
|
109
|
-
**Resolution**: Close GitHub issue
|
|
110
|
-
```bash
|
|
111
|
-
gh issue close 29 --comment "Increment completed in SpecWeave"
|
|
112
|
-
```
|
|
113
|
-
|
|
114
|
-
### SpecWeave Abandoned, GitHub Open
|
|
115
|
-
|
|
116
|
-
**Resolution**: Close GitHub issue with reason
|
|
117
|
-
```bash
|
|
118
|
-
gh issue close 29 --comment "Increment abandoned: Requirements changed"
|
|
119
|
-
```
|
|
120
|
-
|
|
121
|
-
## Files Modified
|
|
122
|
-
|
|
123
|
-
- `.specweave/increments/<id>/logs/github-comments.md` - GitHub comments
|
|
124
|
-
- `.specweave/increments/<id>/metadata.json` - Sync metadata
|
|
125
|
-
|
|
126
|
-
## Related Commands
|
|
127
|
-
|
|
128
|
-
- `/specweave-github:sync` - One-way sync (SpecWeave → GitHub)
|
|
129
|
-
- `/specweave-github:create-issue` - Create GitHub issue
|
|
130
|
-
- `/specweave-github:close-issue` - Close GitHub issue
|
|
131
|
-
- `/specweave-github:status` - Check sync status
|
|
132
|
-
|
|
133
|
-
## Automation
|
|
134
|
-
|
|
135
|
-
For automatic bidirectional sync, add to cron or CI/CD:
|
|
136
|
-
|
|
137
|
-
```bash
|
|
138
|
-
# Sync all active increments hourly
|
|
139
|
-
0 * * * * cd /path/to/project && \
|
|
140
|
-
for inc in $(ls .specweave/increments/ | grep -v _backlog); do \
|
|
141
|
-
/specweave-github:sync-from $inc; \
|
|
142
|
-
done
|
|
143
|
-
```
|
|
144
|
-
|
|
145
|
-
## Implementation
|
|
146
|
-
|
|
147
|
-
Invokes `github-sync-bidirectional` agent with conflict detection and resolution logic.
|
|
@@ -1,208 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: specweave-github-sync-spec
|
|
3
|
-
description: Sync SpecWeave spec to GitHub Project (bidirectional). Use when syncing .specweave/docs/internal/specs/spec-*.md files with GitHub Projects for permanent feature tracking.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Sync Spec to GitHub Project
|
|
7
|
-
|
|
8
|
-
**CORRECT ARCHITECTURE**: This command syncs `.specweave/docs/internal/specs/spec-*.md` files (PERMANENT living docs) to GitHub Projects, NOT increments to issues.
|
|
9
|
-
|
|
10
|
-
## Usage
|
|
11
|
-
|
|
12
|
-
```bash
|
|
13
|
-
/specweave-github:sync-spec <spec-id> [--direction <to-github|from-github|bidirectional>]
|
|
14
|
-
```
|
|
15
|
-
|
|
16
|
-
## What It Does
|
|
17
|
-
|
|
18
|
-
**Architecture**:
|
|
19
|
-
- **Spec → GitHub Project** (not increment → issue!)
|
|
20
|
-
- **User Story → GitHub Issue** (linked to project)
|
|
21
|
-
- **Acceptance Criteria → Checklist** (in issue body)
|
|
22
|
-
|
|
23
|
-
**Sync Process**:
|
|
24
|
-
|
|
25
|
-
1. **Load spec** from `.specweave/docs/internal/specs/spec-{id}.md`
|
|
26
|
-
2. **Detect repository** from git remote
|
|
27
|
-
3. **Create or update GitHub Project**:
|
|
28
|
-
- Title: `[SPEC-001] Feature Title`
|
|
29
|
-
- Description: Spec overview + progress
|
|
30
|
-
- Status: Matches spec status
|
|
31
|
-
4. **Sync user stories as issues**:
|
|
32
|
-
- Create issues for new user stories
|
|
33
|
-
- Update existing issues
|
|
34
|
-
- Close issues for completed user stories
|
|
35
|
-
5. **Link spec to project** (update frontmatter)
|
|
36
|
-
|
|
37
|
-
## Examples
|
|
38
|
-
|
|
39
|
-
### Sync spec to GitHub (create or update)
|
|
40
|
-
|
|
41
|
-
```bash
|
|
42
|
-
/specweave-github:sync-spec spec-001
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
**Output**:
|
|
46
|
-
```
|
|
47
|
-
🔄 Syncing spec spec-001 to GitHub Project...
|
|
48
|
-
Creating new GitHub Project...
|
|
49
|
-
✅ Created GitHub Project #5: https://github.com/owner/repo/projects/5
|
|
50
|
-
Syncing 35 user stories...
|
|
51
|
-
✅ Created US-001 → Issue #130
|
|
52
|
-
✅ Created US-002 → Issue #131
|
|
53
|
-
...
|
|
54
|
-
✅ Sync complete!
|
|
55
|
-
Created: 35 user stories
|
|
56
|
-
GitHub Project: https://github.com/owner/repo/projects/5
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
### Sync FROM GitHub to spec (bidirectional)
|
|
60
|
-
|
|
61
|
-
```bash
|
|
62
|
-
/specweave-github:sync-spec spec-001 --direction from-github
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
**Output**:
|
|
66
|
-
```
|
|
67
|
-
🔄 Syncing FROM GitHub to spec spec-001...
|
|
68
|
-
Fetching GitHub Project #5...
|
|
69
|
-
⚠️ Detected 3 conflict(s)
|
|
70
|
-
🔄 Resolving: US-002 marked done in GitHub (GitHub wins)
|
|
71
|
-
🔄 Resolving: US-005 marked in-progress in GitHub (GitHub wins)
|
|
72
|
-
✅ Sync FROM GitHub complete!
|
|
73
|
-
Updated: 3 user stories
|
|
74
|
-
```
|
|
75
|
-
|
|
76
|
-
### Bidirectional sync (default)
|
|
77
|
-
|
|
78
|
-
```bash
|
|
79
|
-
/specweave-github:sync-spec spec-001 --direction bidirectional
|
|
80
|
-
```
|
|
81
|
-
|
|
82
|
-
## Arguments
|
|
83
|
-
|
|
84
|
-
- `<spec-id>` - Spec ID (e.g., `spec-001` or just `001`)
|
|
85
|
-
- `--direction <mode>` - Sync direction (default: `to-github`)
|
|
86
|
-
- `to-github` - Push local spec to GitHub
|
|
87
|
-
- `from-github` - Pull GitHub state to spec
|
|
88
|
-
- `bidirectional` - Sync both ways (conflict resolution)
|
|
89
|
-
|
|
90
|
-
## Conflict Resolution
|
|
91
|
-
|
|
92
|
-
When syncing FROM GitHub, conflicts are resolved as follows:
|
|
93
|
-
|
|
94
|
-
**GitHub wins** (default):
|
|
95
|
-
- User story status changes → update spec
|
|
96
|
-
- Acceptance criteria status → update spec
|
|
97
|
-
- Issue closure → mark user story done
|
|
98
|
-
|
|
99
|
-
**Local wins** (future):
|
|
100
|
-
- Spec changes take precedence
|
|
101
|
-
- Push to GitHub
|
|
102
|
-
|
|
103
|
-
## Requirements
|
|
104
|
-
|
|
105
|
-
1. **GitHub CLI** (`gh`) installed and authenticated
|
|
106
|
-
2. **Git repository** with GitHub remote
|
|
107
|
-
3. **Write access** to repository (for creating projects/issues)
|
|
108
|
-
4. **Spec file exists** at `.specweave/docs/internal/specs/spec-{id}.md`
|
|
109
|
-
|
|
110
|
-
## What Gets Synced
|
|
111
|
-
|
|
112
|
-
### Spec → GitHub Project
|
|
113
|
-
|
|
114
|
-
- ✅ Title: `[SPEC-001] Feature Area Title`
|
|
115
|
-
- ✅ Description: Overview + progress stats
|
|
116
|
-
- ✅ Status: Open/Closed based on spec completion
|
|
117
|
-
|
|
118
|
-
### User Story → GitHub Issue
|
|
119
|
-
|
|
120
|
-
- ✅ Title: `[US-001] As a user, I want...`
|
|
121
|
-
- ✅ Body: User story + acceptance criteria checklist
|
|
122
|
-
- ✅ Labels: `user-story`, `spec:spec-001`, `priority:P1`
|
|
123
|
-
- ✅ State: Open (todo/in-progress) or Closed (done)
|
|
124
|
-
|
|
125
|
-
### Acceptance Criteria → Checklist
|
|
126
|
-
|
|
127
|
-
```markdown
|
|
128
|
-
## Acceptance Criteria
|
|
129
|
-
|
|
130
|
-
- [x] User can log in with email/password
|
|
131
|
-
- [ ] Invalid credentials show error message
|
|
132
|
-
- [ ] Account locks after 5 failed attempts
|
|
133
|
-
```
|
|
134
|
-
|
|
135
|
-
## Architecture
|
|
136
|
-
|
|
137
|
-
**Why This Architecture?**
|
|
138
|
-
|
|
139
|
-
✅ **Permanent tracking**: Specs never deleted, GitHub links remain valid
|
|
140
|
-
✅ **Feature-level granularity**: One GitHub Project per feature (not per increment)
|
|
141
|
-
✅ **PM-friendly**: Stakeholders see progress in GitHub Projects
|
|
142
|
-
✅ **Brownfield-ready**: Existing GitHub Projects map to specs
|
|
143
|
-
|
|
144
|
-
**What's WRONG?**
|
|
145
|
-
|
|
146
|
-
❌ Increment → GitHub Issue (increments are temporary!)
|
|
147
|
-
❌ Tasks → GitHub Issues (too granular, implementation details)
|
|
148
|
-
❌ Multiple issues per feature (split across increments)
|
|
149
|
-
|
|
150
|
-
## Metadata
|
|
151
|
-
|
|
152
|
-
After sync, spec frontmatter is updated:
|
|
153
|
-
|
|
154
|
-
```yaml
|
|
155
|
-
---
|
|
156
|
-
id: spec-001
|
|
157
|
-
title: Core Framework Architecture
|
|
158
|
-
status: in-progress
|
|
159
|
-
priority: P0
|
|
160
|
-
externalLinks:
|
|
161
|
-
github:
|
|
162
|
-
projectId: 5
|
|
163
|
-
projectUrl: https://github.com/owner/repo/projects/5
|
|
164
|
-
syncedAt: "2025-11-10T12:00:00Z"
|
|
165
|
-
owner: owner
|
|
166
|
-
repo: repo
|
|
167
|
-
---
|
|
168
|
-
```
|
|
169
|
-
|
|
170
|
-
## Troubleshooting
|
|
171
|
-
|
|
172
|
-
**"Could not detect GitHub repository"**:
|
|
173
|
-
- Ensure you're in a git repo with GitHub remote
|
|
174
|
-
- Run: `git remote -v` to check
|
|
175
|
-
|
|
176
|
-
**"Spec not found"**:
|
|
177
|
-
- Check spec exists: `ls .specweave/docs/internal/specs/`
|
|
178
|
-
- Use correct ID: `spec-001` or `001`
|
|
179
|
-
|
|
180
|
-
**"GraphQL query failed"**:
|
|
181
|
-
- Check GitHub CLI auth: `gh auth status`
|
|
182
|
-
- Re-authenticate: `gh auth login`
|
|
183
|
-
|
|
184
|
-
**"No user stories to sync"**:
|
|
185
|
-
- Add user stories to spec.md:
|
|
186
|
-
```markdown
|
|
187
|
-
**US-001**: As a user, I want...
|
|
188
|
-
- [ ] **AC-001-01**: Acceptance criteria 1
|
|
189
|
-
```
|
|
190
|
-
|
|
191
|
-
## Related
|
|
192
|
-
|
|
193
|
-
- `/specweave-github:sync` - OLD command (increment-based, DEPRECATED)
|
|
194
|
-
- `/specweave-jira:sync-spec` - Sync to Jira Epic
|
|
195
|
-
- `/specweave-ado:sync-spec` - Sync to Azure DevOps Feature
|
|
196
|
-
- `/specweave:sync-docs` - Sync living docs from increments to specs
|
|
197
|
-
|
|
198
|
-
## Implementation
|
|
199
|
-
|
|
200
|
-
**File**: `plugins/specweave-github/lib/github-spec-sync.ts`
|
|
201
|
-
|
|
202
|
-
**Core Class**: `GitHubSpecSync`
|
|
203
|
-
|
|
204
|
-
**Methods**:
|
|
205
|
-
- `syncSpecToGitHub(specId)` - Push to GitHub
|
|
206
|
-
- `syncFromGitHub(specId)` - Pull from GitHub
|
|
207
|
-
- `detectConflicts(spec, project)` - Compare states
|
|
208
|
-
- `resolveConflicts(spec, conflicts)` - Apply resolution strategy
|