specweave 0.29.2 → 0.30.0
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/README.md +65 -16
- package/bin/specweave.js +16 -0
- package/dist/plugins/specweave-ado/lib/ado-spec-commit-sync.d.ts +1 -1
- package/dist/plugins/specweave-ado/lib/ado-spec-commit-sync.d.ts.map +1 -1
- package/dist/plugins/specweave-ado/lib/ado-spec-commit-sync.js +1 -1
- package/dist/plugins/specweave-ado/lib/ado-spec-commit-sync.js.map +1 -1
- package/dist/plugins/specweave-ado/lib/ado-spec-content-sync.d.ts +1 -1
- 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 +1 -1
- package/dist/plugins/specweave-ado/lib/ado-spec-content-sync.js.map +1 -1
- package/dist/plugins/specweave-ado/lib/conflict-resolver.d.ts +134 -0
- package/dist/plugins/specweave-ado/lib/conflict-resolver.d.ts.map +1 -0
- package/dist/plugins/specweave-ado/lib/conflict-resolver.js +423 -0
- package/dist/plugins/specweave-ado/lib/conflict-resolver.js.map +1 -0
- package/dist/plugins/specweave-github/lib/github-client-v2.d.ts +23 -1
- package/dist/plugins/specweave-github/lib/github-client-v2.d.ts.map +1 -1
- package/dist/plugins/specweave-github/lib/github-client-v2.js +95 -0
- package/dist/plugins/specweave-github/lib/github-client-v2.js.map +1 -1
- package/dist/plugins/specweave-github/lib/github-spec-commit-sync.d.ts +1 -1
- package/dist/plugins/specweave-github/lib/github-spec-commit-sync.d.ts.map +1 -1
- package/dist/plugins/specweave-github/lib/github-spec-commit-sync.js +1 -1
- package/dist/plugins/specweave-github/lib/github-spec-commit-sync.js.map +1 -1
- package/dist/plugins/specweave-github/lib/github-spec-content-sync.d.ts +1 -1
- 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 +1 -1
- package/dist/plugins/specweave-github/lib/github-spec-content-sync.js.map +1 -1
- package/dist/plugins/specweave-github/lib/types.d.ts +20 -0
- package/dist/plugins/specweave-github/lib/types.d.ts.map +1 -1
- package/dist/plugins/specweave-jira/lib/jira-spec-commit-sync.d.ts +1 -1
- package/dist/plugins/specweave-jira/lib/jira-spec-commit-sync.d.ts.map +1 -1
- package/dist/plugins/specweave-jira/lib/jira-spec-commit-sync.js +1 -1
- package/dist/plugins/specweave-jira/lib/jira-spec-commit-sync.js.map +1 -1
- package/dist/plugins/specweave-jira/lib/jira-spec-content-sync.d.ts +1 -1
- package/dist/plugins/specweave-jira/lib/jira-spec-content-sync.d.ts.map +1 -1
- package/dist/plugins/specweave-jira/lib/jira-spec-content-sync.js +1 -1
- package/dist/plugins/specweave-jira/lib/jira-spec-content-sync.js.map +1 -1
- package/dist/plugins/specweave-jira/lib/setup-wizard.d.ts +2 -2
- package/dist/plugins/specweave-jira/lib/setup-wizard.d.ts.map +1 -1
- package/dist/plugins/specweave-jira/lib/setup-wizard.js +1 -1
- package/dist/plugins/specweave-jira/lib/setup-wizard.js.map +1 -1
- package/dist/src/adapters/claude/adapter.js +1 -1
- package/dist/src/adapters/claude/adapter.js.map +1 -1
- package/dist/src/cli/commands/detect-project.js +1 -1
- package/dist/src/cli/commands/detect-project.js.map +1 -1
- package/dist/src/cli/commands/detect-specs.js +1 -1
- package/dist/src/cli/commands/detect-specs.js.map +1 -1
- package/dist/src/cli/commands/import-docs.js +1 -1
- package/dist/src/cli/commands/import-docs.js.map +1 -1
- package/dist/src/cli/commands/init-multiproject.js +1 -1
- package/dist/src/cli/commands/init-multiproject.js.map +1 -1
- package/dist/src/cli/commands/init.d.ts.map +1 -1
- package/dist/src/cli/commands/init.js +31 -1
- package/dist/src/cli/commands/init.js.map +1 -1
- package/dist/src/cli/commands/jobs.js +15 -1
- package/dist/src/cli/commands/jobs.js.map +1 -1
- package/dist/src/cli/commands/migrate-to-multiproject.js +1 -1
- package/dist/src/cli/commands/migrate-to-multiproject.js.map +1 -1
- package/dist/src/cli/commands/switch-project.js +1 -1
- package/dist/src/cli/commands/switch-project.js.map +1 -1
- package/dist/src/cli/commands/sync-scheduled.d.ts +38 -0
- package/dist/src/cli/commands/sync-scheduled.d.ts.map +1 -0
- package/dist/src/cli/commands/sync-scheduled.js +170 -0
- package/dist/src/cli/commands/sync-scheduled.js.map +1 -0
- package/dist/src/cli/helpers/init/external-import-grouping.d.ts +53 -0
- package/dist/src/cli/helpers/init/external-import-grouping.d.ts.map +1 -0
- package/dist/src/cli/helpers/init/external-import-grouping.js +287 -0
- package/dist/src/cli/helpers/init/external-import-grouping.js.map +1 -0
- package/dist/src/cli/helpers/init/external-import.d.ts +1 -34
- package/dist/src/cli/helpers/init/external-import.d.ts.map +1 -1
- package/dist/src/cli/helpers/init/external-import.js +15 -486
- package/dist/src/cli/helpers/init/external-import.js.map +1 -1
- package/dist/src/cli/helpers/init/living-docs-preflight.d.ts +58 -0
- package/dist/src/cli/helpers/init/living-docs-preflight.d.ts.map +1 -0
- package/dist/src/cli/helpers/init/living-docs-preflight.js +290 -0
- package/dist/src/cli/helpers/init/living-docs-preflight.js.map +1 -0
- package/dist/src/cli/helpers/init/sync-profile-helpers.d.ts +48 -0
- package/dist/src/cli/helpers/init/sync-profile-helpers.d.ts.map +1 -0
- package/dist/src/cli/helpers/init/sync-profile-helpers.js +238 -0
- package/dist/src/cli/helpers/init/sync-profile-helpers.js.map +1 -0
- package/dist/src/cli/helpers/init/types.d.ts +1 -0
- package/dist/src/cli/helpers/init/types.d.ts.map +1 -1
- package/dist/src/cli/helpers/issue-tracker/ado.d.ts.map +1 -1
- package/dist/src/cli/helpers/issue-tracker/ado.js +113 -3
- package/dist/src/cli/helpers/issue-tracker/ado.js.map +1 -1
- package/dist/src/cli/helpers/issue-tracker/index.d.ts.map +1 -1
- package/dist/src/cli/helpers/issue-tracker/index.js +2 -287
- package/dist/src/cli/helpers/issue-tracker/index.js.map +1 -1
- package/dist/src/cli/helpers/issue-tracker/sync-config-writer.d.ts +25 -0
- package/dist/src/cli/helpers/issue-tracker/sync-config-writer.d.ts.map +1 -0
- package/dist/src/cli/helpers/issue-tracker/sync-config-writer.js +306 -0
- package/dist/src/cli/helpers/issue-tracker/sync-config-writer.js.map +1 -0
- package/dist/src/cli/helpers/issue-tracker/types.d.ts +27 -0
- package/dist/src/cli/helpers/issue-tracker/types.d.ts.map +1 -1
- package/dist/src/cli/helpers/issue-tracker/types.js.map +1 -1
- package/dist/src/cli/workers/living-docs-worker.d.ts +16 -0
- package/dist/src/cli/workers/living-docs-worker.d.ts.map +1 -0
- package/dist/src/cli/workers/living-docs-worker.js +395 -0
- package/dist/src/cli/workers/living-docs-worker.js.map +1 -0
- package/dist/src/core/background/job-dependency.d.ts +45 -0
- package/dist/src/core/background/job-dependency.d.ts.map +1 -0
- package/dist/src/core/background/job-dependency.js +144 -0
- package/dist/src/core/background/job-dependency.js.map +1 -0
- package/dist/src/core/background/job-launcher.d.ts +21 -1
- package/dist/src/core/background/job-launcher.d.ts.map +1 -1
- package/dist/src/core/background/job-launcher.js +93 -0
- package/dist/src/core/background/job-launcher.js.map +1 -1
- package/dist/src/core/background/types.d.ts +73 -2
- package/dist/src/core/background/types.d.ts.map +1 -1
- package/dist/src/core/brownfield/importer.js +1 -1
- package/dist/src/core/brownfield/importer.js.map +1 -1
- package/dist/src/core/comment-builder.d.ts +1 -1
- package/dist/src/core/comment-builder.d.ts.map +1 -1
- package/dist/src/core/{cost-tracker.d.ts → cost/cost-tracker.d.ts} +2 -2
- package/dist/src/core/cost/cost-tracker.d.ts.map +1 -0
- package/dist/src/core/{cost-tracker.js → cost/cost-tracker.js} +2 -2
- package/dist/src/core/cost/cost-tracker.js.map +1 -0
- package/dist/src/core/credentials/credentials-manager.d.ts.map +1 -0
- package/dist/src/core/credentials/credentials-manager.js.map +1 -0
- package/dist/src/core/increment/discipline-checker.js +1 -1
- package/dist/src/core/increment/discipline-checker.js.map +1 -1
- package/dist/src/core/increment/increment-archiver.d.ts +9 -8
- package/dist/src/core/increment/increment-archiver.d.ts.map +1 -1
- package/dist/src/core/increment/increment-archiver.js +40 -42
- package/dist/src/core/increment/increment-archiver.js.map +1 -1
- package/dist/src/core/increment/increment-status.d.ts.map +1 -0
- package/dist/src/core/{increment-status.js → increment/increment-status.js} +1 -1
- package/dist/src/core/increment/increment-status.js.map +1 -0
- package/dist/src/core/increment/increment-utils.d.ts.map +1 -0
- package/dist/src/core/increment/increment-utils.js.map +1 -0
- package/dist/src/core/increment/metadata-validator.js +1 -1
- package/dist/src/core/increment/metadata-validator.js.map +1 -1
- package/dist/src/core/living-docs/checkpoint-manager.d.ts +120 -0
- package/dist/src/core/living-docs/checkpoint-manager.d.ts.map +1 -0
- package/dist/src/core/living-docs/checkpoint-manager.js +231 -0
- package/dist/src/core/living-docs/checkpoint-manager.js.map +1 -0
- package/dist/src/core/living-docs/discovery.d.ts +91 -0
- package/dist/src/core/living-docs/discovery.d.ts.map +1 -0
- package/dist/src/core/living-docs/discovery.js +656 -0
- package/dist/src/core/living-docs/discovery.js.map +1 -0
- package/dist/src/core/living-docs/feature-archiver.d.ts +23 -4
- package/dist/src/core/living-docs/feature-archiver.d.ts.map +1 -1
- package/dist/src/core/living-docs/feature-archiver.js +133 -30
- package/dist/src/core/living-docs/feature-archiver.js.map +1 -1
- package/dist/src/core/living-docs/foundation-builder.d.ts +37 -0
- package/dist/src/core/living-docs/foundation-builder.d.ts.map +1 -0
- package/dist/src/core/living-docs/foundation-builder.js +357 -0
- package/dist/src/core/living-docs/foundation-builder.js.map +1 -0
- package/dist/src/core/living-docs/living-docs-sync.d.ts +58 -0
- package/dist/src/core/living-docs/living-docs-sync.d.ts.map +1 -1
- package/dist/src/core/living-docs/living-docs-sync.js +204 -7
- package/dist/src/core/living-docs/living-docs-sync.js.map +1 -1
- package/dist/src/core/living-docs/module-analyzer.d.ts +97 -0
- package/dist/src/core/living-docs/module-analyzer.d.ts.map +1 -0
- package/dist/src/core/living-docs/module-analyzer.js +427 -0
- package/dist/src/core/living-docs/module-analyzer.js.map +1 -0
- package/dist/src/core/living-docs/suggestions-generator.d.ts +112 -0
- package/dist/src/core/living-docs/suggestions-generator.d.ts.map +1 -0
- package/dist/src/core/living-docs/suggestions-generator.js +362 -0
- package/dist/src/core/living-docs/suggestions-generator.js.map +1 -0
- package/dist/src/core/living-docs/workitem-matcher.d.ts +116 -0
- package/dist/src/core/living-docs/workitem-matcher.d.ts.map +1 -0
- package/dist/src/core/living-docs/workitem-matcher.js +356 -0
- package/dist/src/core/living-docs/workitem-matcher.js.map +1 -0
- package/dist/src/core/{plugin-loader.d.ts → plugins/plugin-loader.d.ts} +1 -1
- package/dist/src/core/plugins/plugin-loader.d.ts.map +1 -0
- package/dist/src/core/{plugin-loader.js → plugins/plugin-loader.js} +2 -2
- package/dist/src/core/plugins/plugin-loader.js.map +1 -0
- package/dist/src/core/{project-manager.d.ts → project/project-manager.d.ts} +1 -1
- package/dist/src/core/project/project-manager.d.ts.map +1 -0
- package/dist/src/core/{project-manager.js → project/project-manager.js} +3 -3
- package/dist/src/core/project/project-manager.js.map +1 -0
- package/dist/src/core/project/project-structure-detector.d.ts.map +1 -0
- package/dist/src/core/project/project-structure-detector.js.map +1 -0
- package/dist/src/core/{rfc-generator-v2.d.ts → rfc/rfc-generator-v2.d.ts} +1 -1
- package/dist/src/core/rfc/rfc-generator-v2.d.ts.map +1 -0
- package/dist/src/core/{rfc-generator-v2.js → rfc/rfc-generator-v2.js} +1 -1
- package/dist/src/core/rfc/rfc-generator-v2.js.map +1 -0
- package/dist/src/core/scheduler/index.d.ts +1 -0
- package/dist/src/core/scheduler/index.d.ts.map +1 -1
- package/dist/src/core/scheduler/index.js +1 -0
- package/dist/src/core/scheduler/index.js.map +1 -1
- package/dist/src/core/scheduler/scheduled-job.d.ts +1 -1
- package/dist/src/core/scheduler/scheduled-job.d.ts.map +1 -1
- package/dist/src/core/scheduler/scheduled-job.js.map +1 -1
- package/dist/src/core/scheduler/session-sync-executor.d.ts +138 -0
- package/dist/src/core/scheduler/session-sync-executor.d.ts.map +1 -0
- package/dist/src/core/scheduler/session-sync-executor.js +333 -0
- package/dist/src/core/scheduler/session-sync-executor.js.map +1 -0
- package/dist/src/core/{spec-content-sync.d.ts → specs/spec-content-sync.d.ts} +2 -2
- package/dist/src/core/specs/spec-content-sync.d.ts.map +1 -0
- package/dist/src/core/{spec-content-sync.js → specs/spec-content-sync.js} +1 -1
- package/dist/src/core/specs/spec-content-sync.js.map +1 -0
- package/dist/src/core/{spec-detector.d.ts → specs/spec-detector.d.ts} +1 -1
- package/dist/src/core/specs/spec-detector.d.ts.map +1 -0
- package/dist/src/core/{spec-detector.js → specs/spec-detector.js} +1 -1
- package/dist/src/core/specs/spec-detector.js.map +1 -0
- package/dist/src/core/{spec-identifier-detector.d.ts → specs/spec-identifier-detector.d.ts} +2 -2
- package/dist/src/core/specs/spec-identifier-detector.d.ts.map +1 -0
- package/dist/src/core/{spec-identifier-detector.js → specs/spec-identifier-detector.js} +1 -1
- package/dist/src/core/specs/spec-identifier-detector.js.map +1 -0
- package/dist/src/core/specs/spec-metadata-manager.js +1 -1
- package/dist/src/core/specs/spec-metadata-manager.js.map +1 -1
- package/dist/src/core/specs/spec-task-mapper.d.ts.map +1 -0
- package/dist/src/core/specs/spec-task-mapper.js.map +1 -0
- package/dist/src/core/sync/sync-audit-logger.d.ts +62 -0
- package/dist/src/core/sync/sync-audit-logger.d.ts.map +1 -1
- package/dist/src/core/sync/sync-audit-logger.js +59 -0
- package/dist/src/core/sync/sync-audit-logger.js.map +1 -1
- package/dist/src/importers/item-converter.d.ts +51 -27
- package/dist/src/importers/item-converter.d.ts.map +1 -1
- package/dist/src/importers/item-converter.js +219 -179
- package/dist/src/importers/item-converter.js.map +1 -1
- package/dist/src/importers/markdown-generator.d.ts +75 -0
- package/dist/src/importers/markdown-generator.d.ts.map +1 -0
- package/dist/src/importers/markdown-generator.js +250 -0
- package/dist/src/importers/markdown-generator.js.map +1 -0
- package/dist/src/integrations/ado/ado-client.d.ts +93 -0
- package/dist/src/integrations/ado/ado-client.d.ts.map +1 -1
- package/dist/src/integrations/ado/ado-client.js +172 -1
- package/dist/src/integrations/ado/ado-client.js.map +1 -1
- package/dist/src/integrations/jira/jira-client.d.ts +44 -0
- package/dist/src/integrations/jira/jira-client.d.ts.map +1 -1
- package/dist/src/integrations/jira/jira-client.js +119 -1
- package/dist/src/integrations/jira/jira-client.js.map +1 -1
- package/dist/src/integrations/jira/jira-incremental-mapper.js +2 -2
- package/dist/src/integrations/jira/jira-incremental-mapper.js.map +1 -1
- package/dist/src/integrations/jira/jira-mapper.js +1 -1
- package/dist/src/integrations/jira/jira-mapper.js.map +1 -1
- package/dist/src/living-docs/epic-id-allocator.d.ts +177 -0
- package/dist/src/living-docs/epic-id-allocator.d.ts.map +1 -0
- package/dist/src/living-docs/epic-id-allocator.js +363 -0
- package/dist/src/living-docs/epic-id-allocator.js.map +1 -0
- package/dist/src/sync/external-change-puller.d.ts +94 -0
- package/dist/src/sync/external-change-puller.d.ts.map +1 -0
- package/dist/src/sync/external-change-puller.js +181 -0
- package/dist/src/sync/external-change-puller.js.map +1 -0
- package/dist/src/sync/index.d.ts +4 -0
- package/dist/src/sync/index.d.ts.map +1 -1
- package/dist/src/sync/index.js +2 -0
- package/dist/src/sync/index.js.map +1 -1
- package/dist/src/sync/living-docs-updater.d.ts +93 -0
- package/dist/src/sync/living-docs-updater.d.ts.map +1 -0
- package/dist/src/sync/living-docs-updater.js +218 -0
- package/dist/src/sync/living-docs-updater.js.map +1 -0
- package/dist/src/testing/test-generator.js +1 -1
- package/dist/src/testing/test-generator.js.map +1 -1
- package/dist/src/utils/cost-reporter.d.ts +1 -1
- package/dist/src/utils/cost-reporter.d.ts.map +1 -1
- package/dist/src/utils/model-selection.js +4 -4
- package/dist/src/utils/model-selection.js.map +1 -1
- package/dist/src/utils/pricing-constants.d.ts +2 -2
- package/dist/src/utils/pricing-constants.js +2 -2
- package/package.json +1 -1
- package/plugins/specweave/.claude-plugin/plugin.json +1 -28
- package/plugins/specweave/agents/code-standards-detective/AGENT.md +3 -3
- package/plugins/specweave/agents/infrastructure/AGENT.md +4 -0
- package/plugins/specweave/agents/performance/AGENT.md +2 -2
- package/plugins/specweave/agents/reflective-reviewer/AGENT.md +3 -3
- package/plugins/specweave/agents/translator/AGENT.md +2 -2
- package/plugins/specweave/commands/specweave-costs.md +2 -2
- package/plugins/specweave/commands/specweave-do.md +2 -2
- package/plugins/specweave/hooks/lib/scheduler-startup.sh +59 -8
- package/plugins/specweave/skills/code-reviewer/SKILL.md +1 -1
- package/plugins/specweave/skills/role-orchestrator/README.md +1 -1
- package/plugins/specweave-ado/agents/ado-manager/AGENT.md +8 -2
- package/plugins/specweave-ado/agents/ado-multi-project-mapper/AGENT.md +2 -2
- package/plugins/specweave-ado/agents/ado-sync-judge/AGENT.md +2 -2
- package/plugins/specweave-ado/lib/ado-spec-commit-sync.d.ts +1 -1
- package/plugins/specweave-ado/lib/ado-spec-commit-sync.js +1 -1
- package/plugins/specweave-ado/lib/ado-spec-commit-sync.ts +1 -1
- package/plugins/specweave-ado/lib/ado-spec-content-sync.js +1 -1
- package/plugins/specweave-ado/lib/ado-spec-content-sync.ts +1 -1
- package/plugins/specweave-ado/lib/conflict-resolver.js +87 -0
- package/plugins/specweave-ado/lib/conflict-resolver.ts +124 -0
- package/plugins/specweave-ado/skills/specweave-ado-mapper/SKILL.md +1 -1
- package/plugins/specweave-backend/agents/database-optimizer/AGENT.md +3 -3
- package/plugins/specweave-backend/skills/dotnet-backend/SKILL.md +1 -1
- package/plugins/specweave-backend/skills/nodejs-backend/SKILL.md +1 -1
- package/plugins/specweave-backend/skills/python-backend/SKILL.md +1 -1
- package/plugins/specweave-confluent/agents/confluent-architect/AGENT.md +6 -1
- package/plugins/specweave-diagrams/agents/diagrams-architect/AGENT.md +2 -2
- package/plugins/specweave-diagrams/skills/diagrams-architect/SKILL.md +1 -1
- package/plugins/specweave-frontend/agents/frontend-architect/AGENT.md +4 -0
- package/plugins/specweave-github/agents/github-manager/AGENT.md +1 -1
- package/plugins/specweave-github/agents/github-task-splitter/AGENT.md +11 -1
- package/plugins/specweave-github/agents/user-story-updater/AGENT.md +6 -1
- package/plugins/specweave-github/hooks/.specweave/logs/hooks-debug.log +90 -0
- package/plugins/specweave-github/lib/github-client-v2.js +97 -0
- package/plugins/specweave-github/lib/github-client-v2.ts +115 -1
- package/plugins/specweave-github/lib/github-spec-commit-sync.d.ts +1 -1
- package/plugins/specweave-github/lib/github-spec-commit-sync.js +1 -1
- package/plugins/specweave-github/lib/github-spec-commit-sync.ts +1 -1
- package/plugins/specweave-github/lib/github-spec-content-sync.js +1 -1
- package/plugins/specweave-github/lib/github-spec-content-sync.ts +1 -1
- package/plugins/specweave-github/lib/types.ts +21 -0
- package/plugins/specweave-infrastructure/agents/devops/AGENT.md +1 -1
- package/plugins/specweave-infrastructure/agents/network-engineer/AGENT.md +3 -3
- package/plugins/specweave-infrastructure/agents/observability-engineer/AGENT.md +2 -2
- package/plugins/specweave-infrastructure/agents/performance-engineer/AGENT.md +3 -3
- package/plugins/specweave-infrastructure/agents/sre/AGENT.md +2 -2
- package/plugins/specweave-jira/agents/jira-manager/AGENT.md +11 -1
- package/plugins/specweave-jira/commands/import-projects.js +1 -1
- package/plugins/specweave-jira/commands/import-projects.ts +1 -1
- package/plugins/specweave-jira/lib/jira-spec-commit-sync.d.ts +1 -1
- package/plugins/specweave-jira/lib/jira-spec-commit-sync.js +1 -1
- package/plugins/specweave-jira/lib/jira-spec-commit-sync.ts +1 -1
- package/plugins/specweave-jira/lib/jira-spec-content-sync.js +1 -1
- package/plugins/specweave-jira/lib/jira-spec-content-sync.ts +1 -1
- package/plugins/specweave-jira/lib/setup-wizard.js +2 -2
- package/plugins/specweave-jira/lib/setup-wizard.ts +2 -2
- package/plugins/specweave-jira/skills/specweave-jira-mapper/SKILL.md +1 -1
- package/plugins/specweave-kafka/agents/kafka-architect/AGENT.md +5 -1
- package/plugins/specweave-kafka/agents/kafka-devops/AGENT.md +6 -1
- package/plugins/specweave-kafka/agents/kafka-observability/AGENT.md +6 -1
- package/plugins/specweave-kubernetes/agents/kubernetes-architect/AGENT.md +3 -3
- package/plugins/specweave-ml/agents/data-scientist/AGENT.md +2 -1
- package/plugins/specweave-ml/agents/ml-engineer/AGENT.md +2 -1
- package/plugins/specweave-ml/agents/mlops-engineer/AGENT.md +3 -3
- package/plugins/specweave-mobile/agents/mobile-architect/AGENT.md +6 -1
- package/plugins/specweave-payments/agents/payment-integration/AGENT.md +3 -3
- package/plugins/specweave-release/agents/release-manager/AGENT.md +6 -1
- package/plugins/specweave-release/commands/specweave-release-npm.md +8 -0
- package/plugins/specweave-release/hooks/.specweave/logs/dora-tracking.log +135 -0
- package/plugins/specweave-testing/agents/qa-engineer/AGENT.md +5 -0
- package/src/templates/AGENTS.md.template +97 -0
- package/dist/src/core/cost-tracker.d.ts.map +0 -1
- package/dist/src/core/cost-tracker.js.map +0 -1
- package/dist/src/core/credentials-manager.d.ts.map +0 -1
- package/dist/src/core/credentials-manager.js.map +0 -1
- package/dist/src/core/increment-status.d.ts.map +0 -1
- package/dist/src/core/increment-status.js.map +0 -1
- package/dist/src/core/increment-utils.d.ts.map +0 -1
- package/dist/src/core/increment-utils.js.map +0 -1
- package/dist/src/core/plugin-loader.d.ts.map +0 -1
- package/dist/src/core/plugin-loader.js.map +0 -1
- package/dist/src/core/project-manager.d.ts.map +0 -1
- package/dist/src/core/project-manager.js.map +0 -1
- package/dist/src/core/project-structure-detector.d.ts.map +0 -1
- package/dist/src/core/project-structure-detector.js.map +0 -1
- package/dist/src/core/rfc-generator-v2.d.ts.map +0 -1
- package/dist/src/core/rfc-generator-v2.js.map +0 -1
- package/dist/src/core/spec-content-sync.d.ts.map +0 -1
- package/dist/src/core/spec-content-sync.js.map +0 -1
- package/dist/src/core/spec-detector.d.ts.map +0 -1
- package/dist/src/core/spec-detector.js.map +0 -1
- package/dist/src/core/spec-identifier-detector.d.ts.map +0 -1
- package/dist/src/core/spec-identifier-detector.js.map +0 -1
- package/dist/src/core/spec-task-mapper.d.ts.map +0 -1
- package/dist/src/core/spec-task-mapper.js.map +0 -1
- package/dist/src/utils/spec-parser.d.ts +0 -145
- package/dist/src/utils/spec-parser.d.ts.map +0 -1
- package/dist/src/utils/spec-parser.js +0 -640
- package/dist/src/utils/spec-parser.js.map +0 -1
- package/plugins/specweave/agents/pm/AGENT.md.bak2 +0 -1754
- package/plugins/specweave/hooks/hooks.json.bak +0 -72
- package/plugins/specweave/hooks/hooks.json.v1-backup +0 -16
- package/plugins/specweave/hooks/v2/hooks.json +0 -16
- /package/dist/src/core/{credentials-manager.d.ts → credentials/credentials-manager.d.ts} +0 -0
- /package/dist/src/core/{credentials-manager.js → credentials/credentials-manager.js} +0 -0
- /package/dist/src/core/{increment-status.d.ts → increment/increment-status.d.ts} +0 -0
- /package/dist/src/core/{increment-utils.d.ts → increment/increment-utils.d.ts} +0 -0
- /package/dist/src/core/{increment-utils.js → increment/increment-utils.js} +0 -0
- /package/dist/src/core/{project-structure-detector.d.ts → project/project-structure-detector.d.ts} +0 -0
- /package/dist/src/core/{project-structure-detector.js → project/project-structure-detector.js} +0 -0
- /package/dist/src/core/{spec-task-mapper.d.ts → specs/spec-task-mapper.d.ts} +0 -0
- /package/dist/src/core/{spec-task-mapper.js → specs/spec-task-mapper.js} +0 -0
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: user-story-updater
|
|
3
3
|
description: Updates GitHub issues for user stories with proper ACs and tasks. Activates for update user story issue, fix GitHub issue format, add checkable ACs, refresh user story issue, sync user story to GitHub.
|
|
4
|
+
model: claude-opus-4-5-20251101
|
|
5
|
+
model_preference: opus
|
|
6
|
+
cost_profile: execution
|
|
7
|
+
fallback_behavior: flexible
|
|
8
|
+
max_response_tokens: 2000
|
|
4
9
|
---
|
|
5
10
|
|
|
6
11
|
# User Story Updater Agent
|
|
@@ -17,7 +22,7 @@ description: Updates GitHub issues for user stories with proper ACs and tasks. A
|
|
|
17
22
|
Task({
|
|
18
23
|
subagent_type: "specweave-github:user-story-updater:user-story-updater",
|
|
19
24
|
prompt: "Update GitHub issue #501 for user story FS-031/US-004 with checkable ACs and task connections",
|
|
20
|
-
model: "
|
|
25
|
+
model: "opus" // default: opus (best quality)
|
|
21
26
|
});
|
|
22
27
|
```
|
|
23
28
|
|
|
@@ -76,3 +76,93 @@
|
|
|
76
76
|
[Mon Dec 1 22:19:17 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
|
|
77
77
|
[Mon Dec 1 22:19:18 EST 2025] [GitHub] 🔗 GitHub sync hook fired
|
|
78
78
|
[Mon Dec 1 22:19:18 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
|
|
79
|
+
[Mon Dec 1 22:48:44 EST 2025] [GitHub] 🔗 GitHub sync hook fired
|
|
80
|
+
[Mon Dec 1 22:48:44 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
|
|
81
|
+
[Mon Dec 1 22:48:45 EST 2025] [GitHub] 🔗 GitHub sync hook fired
|
|
82
|
+
[Mon Dec 1 22:48:45 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
|
|
83
|
+
[Mon Dec 1 22:48:45 EST 2025] [GitHub] 🔗 GitHub sync hook fired
|
|
84
|
+
[Mon Dec 1 22:48:45 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
|
|
85
|
+
[Mon Dec 1 22:49:11 EST 2025] [GitHub] 🔗 GitHub sync hook fired
|
|
86
|
+
[Mon Dec 1 22:49:11 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
|
|
87
|
+
[Mon Dec 1 22:49:11 EST 2025] [GitHub] 🔗 GitHub sync hook fired
|
|
88
|
+
[Mon Dec 1 22:49:11 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
|
|
89
|
+
[Mon Dec 1 22:49:11 EST 2025] [GitHub] 🔗 GitHub sync hook fired
|
|
90
|
+
[Mon Dec 1 22:49:11 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
|
|
91
|
+
[Mon Dec 1 23:06:19 EST 2025] [GitHub] 🔗 GitHub sync hook fired
|
|
92
|
+
[Mon Dec 1 23:06:19 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
|
|
93
|
+
[Mon Dec 1 23:06:20 EST 2025] [GitHub] 🔗 GitHub sync hook fired
|
|
94
|
+
[Mon Dec 1 23:06:20 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
|
|
95
|
+
[Mon Dec 1 23:06:20 EST 2025] [GitHub] 🔗 GitHub sync hook fired
|
|
96
|
+
[Mon Dec 1 23:06:20 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
|
|
97
|
+
[Mon Dec 1 23:09:23 EST 2025] [GitHub] 🔗 GitHub sync hook fired
|
|
98
|
+
[Mon Dec 1 23:09:23 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
|
|
99
|
+
[Mon Dec 1 23:09:23 EST 2025] [GitHub] 🔗 GitHub sync hook fired
|
|
100
|
+
[Mon Dec 1 23:09:23 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
|
|
101
|
+
[Mon Dec 1 23:09:23 EST 2025] [GitHub] 🔗 GitHub sync hook fired
|
|
102
|
+
[Mon Dec 1 23:09:23 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
|
|
103
|
+
[Mon Dec 1 23:09:53 EST 2025] [GitHub] 🔗 GitHub sync hook fired
|
|
104
|
+
[Mon Dec 1 23:09:53 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
|
|
105
|
+
[Mon Dec 1 23:09:53 EST 2025] [GitHub] 🔗 GitHub sync hook fired
|
|
106
|
+
[Mon Dec 1 23:09:53 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
|
|
107
|
+
[Mon Dec 1 23:09:54 EST 2025] [GitHub] 🔗 GitHub sync hook fired
|
|
108
|
+
[Mon Dec 1 23:09:54 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
|
|
109
|
+
[Mon Dec 1 23:10:28 EST 2025] [GitHub] 🔗 GitHub sync hook fired
|
|
110
|
+
[Mon Dec 1 23:10:28 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
|
|
111
|
+
[Mon Dec 1 23:10:28 EST 2025] [GitHub] 🔗 GitHub sync hook fired
|
|
112
|
+
[Mon Dec 1 23:10:28 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
|
|
113
|
+
[Mon Dec 1 23:10:28 EST 2025] [GitHub] 🔗 GitHub sync hook fired
|
|
114
|
+
[Mon Dec 1 23:10:28 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
|
|
115
|
+
[Mon Dec 1 23:11:28 EST 2025] [GitHub] 🔗 GitHub sync hook fired
|
|
116
|
+
[Mon Dec 1 23:11:28 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
|
|
117
|
+
[Mon Dec 1 23:11:29 EST 2025] [GitHub] 🔗 GitHub sync hook fired
|
|
118
|
+
[Mon Dec 1 23:11:29 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
|
|
119
|
+
[Mon Dec 1 23:11:29 EST 2025] [GitHub] 🔗 GitHub sync hook fired
|
|
120
|
+
[Mon Dec 1 23:11:29 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
|
|
121
|
+
[Mon Dec 1 23:20:04 EST 2025] [GitHub] 🔗 GitHub sync hook fired
|
|
122
|
+
[Mon Dec 1 23:20:04 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
|
|
123
|
+
[Mon Dec 1 23:20:04 EST 2025] [GitHub] 🔗 GitHub sync hook fired
|
|
124
|
+
[Mon Dec 1 23:20:04 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
|
|
125
|
+
[Mon Dec 1 23:20:04 EST 2025] [GitHub] 🔗 GitHub sync hook fired
|
|
126
|
+
[Mon Dec 1 23:20:04 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
|
|
127
|
+
[Mon Dec 1 23:20:33 EST 2025] [GitHub] 🔗 GitHub sync hook fired
|
|
128
|
+
[Mon Dec 1 23:20:33 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
|
|
129
|
+
[Mon Dec 1 23:20:33 EST 2025] [GitHub] 🔗 GitHub sync hook fired
|
|
130
|
+
[Mon Dec 1 23:20:33 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
|
|
131
|
+
[Mon Dec 1 23:20:34 EST 2025] [GitHub] 🔗 GitHub sync hook fired
|
|
132
|
+
[Mon Dec 1 23:20:34 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
|
|
133
|
+
[Tue Dec 2 00:40:04 EST 2025] [GitHub] 🔗 GitHub sync hook fired
|
|
134
|
+
[Tue Dec 2 00:40:04 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
|
|
135
|
+
[Tue Dec 2 00:40:04 EST 2025] [GitHub] 🔗 GitHub sync hook fired
|
|
136
|
+
[Tue Dec 2 00:40:04 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
|
|
137
|
+
[Tue Dec 2 00:40:05 EST 2025] [GitHub] 🔗 GitHub sync hook fired
|
|
138
|
+
[Tue Dec 2 00:40:05 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
|
|
139
|
+
[Tue Dec 2 00:40:32 EST 2025] [GitHub] 🔗 GitHub sync hook fired
|
|
140
|
+
[Tue Dec 2 00:40:32 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
|
|
141
|
+
[Tue Dec 2 00:40:32 EST 2025] [GitHub] 🔗 GitHub sync hook fired
|
|
142
|
+
[Tue Dec 2 00:40:32 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
|
|
143
|
+
[Tue Dec 2 00:40:32 EST 2025] [GitHub] 🔗 GitHub sync hook fired
|
|
144
|
+
[Tue Dec 2 00:40:32 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
|
|
145
|
+
[Tue Dec 2 00:40:50 EST 2025] [GitHub] 🔗 GitHub sync hook fired
|
|
146
|
+
[Tue Dec 2 00:40:50 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
|
|
147
|
+
[Tue Dec 2 00:40:50 EST 2025] [GitHub] 🔗 GitHub sync hook fired
|
|
148
|
+
[Tue Dec 2 00:40:50 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
|
|
149
|
+
[Tue Dec 2 00:40:50 EST 2025] [GitHub] 🔗 GitHub sync hook fired
|
|
150
|
+
[Tue Dec 2 00:40:50 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
|
|
151
|
+
[Tue Dec 2 00:41:15 EST 2025] [GitHub] 🔗 GitHub sync hook fired
|
|
152
|
+
[Tue Dec 2 00:41:15 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
|
|
153
|
+
[Tue Dec 2 00:41:15 EST 2025] [GitHub] 🔗 GitHub sync hook fired
|
|
154
|
+
[Tue Dec 2 00:41:15 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
|
|
155
|
+
[Tue Dec 2 00:41:16 EST 2025] [GitHub] 🔗 GitHub sync hook fired
|
|
156
|
+
[Tue Dec 2 00:41:16 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
|
|
157
|
+
[Tue Dec 2 01:27:16 EST 2025] [GitHub] 🔗 GitHub sync hook fired
|
|
158
|
+
[Tue Dec 2 01:27:16 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
|
|
159
|
+
[Tue Dec 2 01:27:17 EST 2025] [GitHub] 🔗 GitHub sync hook fired
|
|
160
|
+
[Tue Dec 2 01:27:17 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
|
|
161
|
+
[Tue Dec 2 01:27:17 EST 2025] [GitHub] 🔗 GitHub sync hook fired
|
|
162
|
+
[Tue Dec 2 01:27:17 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
|
|
163
|
+
[Tue Dec 2 01:27:44 EST 2025] [GitHub] 🔗 GitHub sync hook fired
|
|
164
|
+
[Tue Dec 2 01:27:44 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
|
|
165
|
+
[Tue Dec 2 01:27:45 EST 2025] [GitHub] 🔗 GitHub sync hook fired
|
|
166
|
+
[Tue Dec 2 01:27:45 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
|
|
167
|
+
[Tue Dec 2 01:27:45 EST 2025] [GitHub] 🔗 GitHub sync hook fired
|
|
168
|
+
[Tue Dec 2 01:27:45 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Documents/Projects/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
|
|
@@ -629,6 +629,103 @@ ${body}`;
|
|
|
629
629
|
sleep(ms) {
|
|
630
630
|
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
631
631
|
}
|
|
632
|
+
// ==========================================================================
|
|
633
|
+
// Pull Sync - External Change Detection (Increment 0089)
|
|
634
|
+
// ==========================================================================
|
|
635
|
+
/**
|
|
636
|
+
* Fetch recently changed issues for pull sync
|
|
637
|
+
*
|
|
638
|
+
* Uses GitHub Issues API with `since` parameter to find issues
|
|
639
|
+
* that have been updated since a given timestamp.
|
|
640
|
+
*
|
|
641
|
+
* @param since - Timestamp to query changes from
|
|
642
|
+
* @param linkedIssueNumbers - Optional list of issue numbers to filter (linked items only)
|
|
643
|
+
* @returns Array of external changes with changedAt, changedBy, and current values
|
|
644
|
+
*/
|
|
645
|
+
async fetchRecentChanges(since, linkedIssueNumbers) {
|
|
646
|
+
const sinceISO = since.toISOString();
|
|
647
|
+
const jqFilter = linkedIssueNumbers && linkedIssueNumbers.length > 0 ? `.[] | select(.number | IN(${linkedIssueNumbers.join(",")})) | {number, title, state, updated_at, user: .user.login, assignee: .assignee.login, labels: [.labels[].name]}` : `.[] | {number, title, state, updated_at, user: .user.login, assignee: .assignee.login, labels: [.labels[].name]}`;
|
|
648
|
+
const result = await execFileNoThrow("gh", [
|
|
649
|
+
"api",
|
|
650
|
+
`repos/${this.fullRepo}/issues`,
|
|
651
|
+
"--method",
|
|
652
|
+
"GET",
|
|
653
|
+
"-f",
|
|
654
|
+
`since=${sinceISO}`,
|
|
655
|
+
"-f",
|
|
656
|
+
"state=all",
|
|
657
|
+
"-f",
|
|
658
|
+
"sort=updated",
|
|
659
|
+
"-f",
|
|
660
|
+
"direction=desc",
|
|
661
|
+
"-f",
|
|
662
|
+
"per_page=100",
|
|
663
|
+
"--jq",
|
|
664
|
+
jqFilter
|
|
665
|
+
]);
|
|
666
|
+
if (result.exitCode !== 0) {
|
|
667
|
+
throw new Error(
|
|
668
|
+
`Failed to fetch recent changes: ${result.stderr || result.stdout}`
|
|
669
|
+
);
|
|
670
|
+
}
|
|
671
|
+
const lines = result.stdout.trim().split("\n").filter((l) => l.trim());
|
|
672
|
+
const issues = [];
|
|
673
|
+
for (const line of lines) {
|
|
674
|
+
try {
|
|
675
|
+
issues.push(JSON.parse(line));
|
|
676
|
+
} catch {
|
|
677
|
+
}
|
|
678
|
+
}
|
|
679
|
+
const changes = issues.map((issue) => ({
|
|
680
|
+
platform: "github",
|
|
681
|
+
externalId: `GH-${issue.number}`,
|
|
682
|
+
issueNumber: issue.number,
|
|
683
|
+
changedAt: issue.updated_at || (/* @__PURE__ */ new Date()).toISOString(),
|
|
684
|
+
changedBy: issue.user || "unknown",
|
|
685
|
+
changedFields: [],
|
|
686
|
+
// GitHub doesn't provide changelog in list API
|
|
687
|
+
currentState: {
|
|
688
|
+
status: issue.state,
|
|
689
|
+
labels: issue.labels || [],
|
|
690
|
+
assignee: issue.assignee || null
|
|
691
|
+
}
|
|
692
|
+
}));
|
|
693
|
+
return changes;
|
|
694
|
+
}
|
|
695
|
+
/**
|
|
696
|
+
* Get issue events for detailed change tracking
|
|
697
|
+
*
|
|
698
|
+
* Use this for detailed changelog when needed.
|
|
699
|
+
* GET /repos/{owner}/{repo}/issues/{issue_number}/events
|
|
700
|
+
*
|
|
701
|
+
* @param issueNumber - Issue number
|
|
702
|
+
* @param perPage - Limit number of events
|
|
703
|
+
* @returns Array of events with action details
|
|
704
|
+
*/
|
|
705
|
+
async getIssueEvents(issueNumber, perPage = 30) {
|
|
706
|
+
const result = await execFileNoThrow("gh", [
|
|
707
|
+
"api",
|
|
708
|
+
`repos/${this.fullRepo}/issues/${issueNumber}/events`,
|
|
709
|
+
"-f",
|
|
710
|
+
`per_page=${perPage}`,
|
|
711
|
+
"--jq",
|
|
712
|
+
".[].{event, created_at, actor: .actor.login}"
|
|
713
|
+
]);
|
|
714
|
+
if (result.exitCode !== 0) {
|
|
715
|
+
throw new Error(
|
|
716
|
+
`Failed to get issue events: ${result.stderr || result.stdout}`
|
|
717
|
+
);
|
|
718
|
+
}
|
|
719
|
+
const lines = result.stdout.trim().split("\n").filter((l) => l.trim());
|
|
720
|
+
const events = [];
|
|
721
|
+
for (const line of lines) {
|
|
722
|
+
try {
|
|
723
|
+
events.push(JSON.parse(line));
|
|
724
|
+
} catch {
|
|
725
|
+
}
|
|
726
|
+
}
|
|
727
|
+
return events;
|
|
728
|
+
}
|
|
632
729
|
}
|
|
633
730
|
export {
|
|
634
731
|
GitHubClientV2
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
11
|
import { execFileNoThrow } from '../../../src/utils/execFileNoThrow.js';
|
|
12
|
-
import { GitHubIssue, GitHubMilestone } from './types';
|
|
12
|
+
import { GitHubIssue, GitHubMilestone, GitHubExternalChange } from './types';
|
|
13
13
|
import { SyncProfile, GitHubConfig, TimeRangePreset } from '../../../src/core/types/sync-profile';
|
|
14
14
|
|
|
15
15
|
export class GitHubClientV2 {
|
|
@@ -812,4 +812,118 @@ export class GitHubClientV2 {
|
|
|
812
812
|
private sleep(ms: number): Promise<void> {
|
|
813
813
|
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
814
814
|
}
|
|
815
|
+
|
|
816
|
+
// ==========================================================================
|
|
817
|
+
// Pull Sync - External Change Detection (Increment 0089)
|
|
818
|
+
// ==========================================================================
|
|
819
|
+
|
|
820
|
+
/**
|
|
821
|
+
* Fetch recently changed issues for pull sync
|
|
822
|
+
*
|
|
823
|
+
* Uses GitHub Issues API with `since` parameter to find issues
|
|
824
|
+
* that have been updated since a given timestamp.
|
|
825
|
+
*
|
|
826
|
+
* @param since - Timestamp to query changes from
|
|
827
|
+
* @param linkedIssueNumbers - Optional list of issue numbers to filter (linked items only)
|
|
828
|
+
* @returns Array of external changes with changedAt, changedBy, and current values
|
|
829
|
+
*/
|
|
830
|
+
async fetchRecentChanges(
|
|
831
|
+
since: Date,
|
|
832
|
+
linkedIssueNumbers?: number[]
|
|
833
|
+
): Promise<GitHubExternalChange[]> {
|
|
834
|
+
// Build JQ filter for issues updated since timestamp
|
|
835
|
+
const sinceISO = since.toISOString();
|
|
836
|
+
|
|
837
|
+
// Query parameters - MUST use .[] to iterate array from GitHub API
|
|
838
|
+
const jqFilter = linkedIssueNumbers && linkedIssueNumbers.length > 0
|
|
839
|
+
? `.[] | select(.number | IN(${linkedIssueNumbers.join(',')})) | {number, title, state, updated_at, user: .user.login, assignee: .assignee.login, labels: [.labels[].name]}`
|
|
840
|
+
: `.[] | {number, title, state, updated_at, user: .user.login, assignee: .assignee.login, labels: [.labels[].name]}`;
|
|
841
|
+
|
|
842
|
+
// Use GitHub API to fetch issues updated since timestamp
|
|
843
|
+
const result = await execFileNoThrow('gh', [
|
|
844
|
+
'api',
|
|
845
|
+
`repos/${this.fullRepo}/issues`,
|
|
846
|
+
'--method', 'GET',
|
|
847
|
+
'-f', `since=${sinceISO}`,
|
|
848
|
+
'-f', 'state=all',
|
|
849
|
+
'-f', 'sort=updated',
|
|
850
|
+
'-f', 'direction=desc',
|
|
851
|
+
'-f', 'per_page=100',
|
|
852
|
+
'--jq', jqFilter,
|
|
853
|
+
]);
|
|
854
|
+
|
|
855
|
+
if (result.exitCode !== 0) {
|
|
856
|
+
throw new Error(
|
|
857
|
+
`Failed to fetch recent changes: ${result.stderr || result.stdout}`
|
|
858
|
+
);
|
|
859
|
+
}
|
|
860
|
+
|
|
861
|
+
// Parse NDJSON output (one JSON object per line)
|
|
862
|
+
const lines = result.stdout.trim().split('\n').filter(l => l.trim());
|
|
863
|
+
const issues: any[] = [];
|
|
864
|
+
|
|
865
|
+
for (const line of lines) {
|
|
866
|
+
try {
|
|
867
|
+
issues.push(JSON.parse(line));
|
|
868
|
+
} catch {
|
|
869
|
+
// Skip malformed lines
|
|
870
|
+
}
|
|
871
|
+
}
|
|
872
|
+
|
|
873
|
+
// Map to GitHubExternalChange format
|
|
874
|
+
const changes: GitHubExternalChange[] = issues.map(issue => ({
|
|
875
|
+
platform: 'github' as const,
|
|
876
|
+
externalId: `GH-${issue.number}`,
|
|
877
|
+
issueNumber: issue.number,
|
|
878
|
+
changedAt: issue.updated_at || new Date().toISOString(),
|
|
879
|
+
changedBy: issue.user || 'unknown',
|
|
880
|
+
changedFields: [] as Array<{ field: string; oldValue: unknown; newValue: unknown }>, // GitHub doesn't provide changelog in list API
|
|
881
|
+
currentState: {
|
|
882
|
+
status: issue.state as 'open' | 'closed',
|
|
883
|
+
labels: issue.labels || [],
|
|
884
|
+
assignee: issue.assignee || null,
|
|
885
|
+
},
|
|
886
|
+
}));
|
|
887
|
+
|
|
888
|
+
return changes;
|
|
889
|
+
}
|
|
890
|
+
|
|
891
|
+
/**
|
|
892
|
+
* Get issue events for detailed change tracking
|
|
893
|
+
*
|
|
894
|
+
* Use this for detailed changelog when needed.
|
|
895
|
+
* GET /repos/{owner}/{repo}/issues/{issue_number}/events
|
|
896
|
+
*
|
|
897
|
+
* @param issueNumber - Issue number
|
|
898
|
+
* @param perPage - Limit number of events
|
|
899
|
+
* @returns Array of events with action details
|
|
900
|
+
*/
|
|
901
|
+
async getIssueEvents(issueNumber: number, perPage = 30): Promise<any[]> {
|
|
902
|
+
const result = await execFileNoThrow('gh', [
|
|
903
|
+
'api',
|
|
904
|
+
`repos/${this.fullRepo}/issues/${issueNumber}/events`,
|
|
905
|
+
'-f', `per_page=${perPage}`,
|
|
906
|
+
'--jq', '.[].{event, created_at, actor: .actor.login}',
|
|
907
|
+
]);
|
|
908
|
+
|
|
909
|
+
if (result.exitCode !== 0) {
|
|
910
|
+
throw new Error(
|
|
911
|
+
`Failed to get issue events: ${result.stderr || result.stdout}`
|
|
912
|
+
);
|
|
913
|
+
}
|
|
914
|
+
|
|
915
|
+
// Parse NDJSON output
|
|
916
|
+
const lines = result.stdout.trim().split('\n').filter(l => l.trim());
|
|
917
|
+
const events: any[] = [];
|
|
918
|
+
|
|
919
|
+
for (const line of lines) {
|
|
920
|
+
try {
|
|
921
|
+
events.push(JSON.parse(line));
|
|
922
|
+
} catch {
|
|
923
|
+
// Skip malformed lines
|
|
924
|
+
}
|
|
925
|
+
}
|
|
926
|
+
|
|
927
|
+
return events;
|
|
928
|
+
}
|
|
815
929
|
}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* This enables traceability from spec user stories to actual code changes.
|
|
6
6
|
*/
|
|
7
7
|
import { GitCommit, GitRepository } from '../../../src/utils/git-utils.js';
|
|
8
|
-
import { UserStory } from '../../../src/core/spec-task-mapper.js';
|
|
8
|
+
import { UserStory } from '../../../src/core/specs/spec-task-mapper.js';
|
|
9
9
|
export interface SyncOptions {
|
|
10
10
|
incrementPath: string;
|
|
11
11
|
dryRun?: boolean;
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
buildExternalDescription,
|
|
6
6
|
hasExternalLink,
|
|
7
7
|
updateSpecWithExternalLink
|
|
8
|
-
} from "../../../src/core/spec-content-sync.js";
|
|
8
|
+
} from "../../../src/core/specs/spec-content-sync.js";
|
|
9
9
|
import { ProgressCommentBuilder } from "./progress-comment-builder.js";
|
|
10
10
|
import path from "path";
|
|
11
11
|
import fs from "fs/promises";
|
|
@@ -19,7 +19,7 @@ import {
|
|
|
19
19
|
wasSpecModifiedSinceSync,
|
|
20
20
|
SpecContent,
|
|
21
21
|
ContentSyncResult,
|
|
22
|
-
} from '../../../src/core/spec-content-sync.js';
|
|
22
|
+
} from '../../../src/core/specs/spec-content-sync.js';
|
|
23
23
|
import { ProgressCommentBuilder } from './progress-comment-builder.js';
|
|
24
24
|
import path from 'path';
|
|
25
25
|
import fs from 'fs/promises';
|
|
@@ -122,3 +122,24 @@ export interface ThreeLayerSyncResult {
|
|
|
122
122
|
conflicts: string[];
|
|
123
123
|
errors: string[];
|
|
124
124
|
}
|
|
125
|
+
|
|
126
|
+
/**
|
|
127
|
+
* External change representation for pull sync (Increment 0089)
|
|
128
|
+
*/
|
|
129
|
+
export interface GitHubExternalChange {
|
|
130
|
+
platform: 'github';
|
|
131
|
+
externalId: string;
|
|
132
|
+
issueNumber: number;
|
|
133
|
+
changedAt: string; // ISO timestamp
|
|
134
|
+
changedBy: string; // Username
|
|
135
|
+
changedFields: Array<{
|
|
136
|
+
field: string;
|
|
137
|
+
oldValue: unknown;
|
|
138
|
+
newValue: unknown;
|
|
139
|
+
}>;
|
|
140
|
+
currentState: {
|
|
141
|
+
status: 'open' | 'closed';
|
|
142
|
+
labels: string[];
|
|
143
|
+
assignee: string | null;
|
|
144
|
+
};
|
|
145
|
+
}
|
|
@@ -21,7 +21,7 @@ max_response_tokens: 2000
|
|
|
21
21
|
Task({
|
|
22
22
|
subagent_type: "specweave-infrastructure:devops:devops",
|
|
23
23
|
prompt: "Deploy application to AWS ECS Fargate with Terraform and configure CI/CD pipeline with GitHub Actions",
|
|
24
|
-
model: "
|
|
24
|
+
model: "opus" // default: opus (best quality)
|
|
25
25
|
});
|
|
26
26
|
```
|
|
27
27
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: network-engineer
|
|
3
3
|
description: Expert network engineer specializing in modern cloud networking, security architectures, and performance optimization. Masters multi-cloud connectivity, service mesh, zero-trust networking, SSL/TLS, global load balancing, and advanced troubleshooting. Handles CDN optimization, network automation, and compliance. Use PROACTIVELY for network design, connectivity issues, or performance optimization.
|
|
4
|
-
model: claude-
|
|
5
|
-
model_preference:
|
|
4
|
+
model: claude-opus-4-5-20251101
|
|
5
|
+
model_preference: opus
|
|
6
6
|
cost_profile: execution
|
|
7
7
|
fallback_behavior: flexible
|
|
8
8
|
max_response_tokens: 2000
|
|
@@ -24,7 +24,7 @@ You are a network engineer specializing in modern cloud networking, security, an
|
|
|
24
24
|
Task({
|
|
25
25
|
subagent_type: "specweave-infrastructure:network-engineer:network-engineer",
|
|
26
26
|
prompt: "Design secure multi-cloud network architecture with zero-trust connectivity and service mesh",
|
|
27
|
-
model: "
|
|
27
|
+
model: "opus" // default: opus (best quality)
|
|
28
28
|
});
|
|
29
29
|
```
|
|
30
30
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: observability-engineer
|
|
3
3
|
description: Production observability architect - metrics, logs, traces, SLOs. Opinionated on OpenTelemetry-first, Prometheus+Grafana stack, alert fatigue prevention. Activates for monitoring, observability, SLI/SLO, alerting, Prometheus, Grafana, tracing, logging, Datadog, New Relic.
|
|
4
|
-
model: claude-
|
|
5
|
-
model_preference:
|
|
4
|
+
model: claude-opus-4-5-20251101
|
|
5
|
+
model_preference: opus
|
|
6
6
|
cost_profile: execution
|
|
7
7
|
fallback_behavior: flexible
|
|
8
8
|
max_response_tokens: 2000
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: performance-engineer
|
|
3
3
|
description: Expert performance engineer specializing in modern observability, application optimization, and scalable system performance. Masters OpenTelemetry, distributed tracing, load testing, multi-tier caching, Core Web Vitals, and performance monitoring. Handles end-to-end optimization, real user monitoring, and scalability patterns. Use PROACTIVELY for performance optimization, observability, or scalability challenges.
|
|
4
|
-
model: claude-
|
|
5
|
-
model_preference:
|
|
4
|
+
model: claude-opus-4-5-20251101
|
|
5
|
+
model_preference: opus
|
|
6
6
|
cost_profile: execution
|
|
7
7
|
fallback_behavior: flexible
|
|
8
8
|
max_response_tokens: 2000
|
|
@@ -24,7 +24,7 @@ You are a performance engineer specializing in modern application optimization,
|
|
|
24
24
|
Task({
|
|
25
25
|
subagent_type: "specweave-infrastructure:performance-engineer:performance-engineer",
|
|
26
26
|
prompt: "Analyze and optimize API performance with distributed tracing, implement multi-tier caching, and load testing",
|
|
27
|
-
model: "
|
|
27
|
+
model: "opus" // default: opus (best quality)
|
|
28
28
|
});
|
|
29
29
|
```
|
|
30
30
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
name: sre
|
|
3
3
|
description: Site Reliability Engineering expert for incident response, troubleshooting, and mitigation. Handles production incidents across UI, backend, database, infrastructure, and security layers. Performs root cause analysis, creates mitigation plans, writes post-mortems, and maintains runbooks. Activates for incident, outage, slow, down, performance, latency, error rate, 5xx, 500, 502, 503, 504, crash, memory leak, CPU spike, disk full, database deadlock, SRE, on-call, SEV1, SEV2, SEV3, production issue, debugging, root cause analysis, RCA, post-mortem, runbook, health check, service degradation, timeout, connection refused, high load, monitor, alert, p95, p99, response time, throughput, Prometheus, Grafana, Datadog, New Relic, PagerDuty, observability, logging, tracing, metrics.
|
|
4
4
|
tools: Read, Bash, Grep
|
|
5
|
-
model: claude-
|
|
5
|
+
model: claude-opus-4-5-20251101
|
|
6
6
|
model_preference: auto
|
|
7
7
|
cost_profile: hybrid
|
|
8
8
|
fallback_behavior: auto
|
|
@@ -25,7 +25,7 @@ When generating comprehensive incident reports that exceed 1000 lines (e.g., com
|
|
|
25
25
|
Task({
|
|
26
26
|
subagent_type: "specweave-infrastructure:sre:sre",
|
|
27
27
|
prompt: "Diagnose why dashboard loading is slow (10 seconds) and provide immediate and long-term mitigation plans",
|
|
28
|
-
model: "
|
|
28
|
+
model: "opus" // default: opus (best quality)
|
|
29
29
|
});
|
|
30
30
|
```
|
|
31
31
|
|
|
@@ -1,3 +1,13 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: jira-manager
|
|
3
|
+
description: Jira integration specialist for SpecWeave increments. Handles epic creation, bidirectional sync, task completion status updates, and cross-system consistency between SpecWeave and Jira.
|
|
4
|
+
model: claude-opus-4-5-20251101
|
|
5
|
+
model_preference: opus
|
|
6
|
+
cost_profile: execution
|
|
7
|
+
fallback_behavior: flexible
|
|
8
|
+
max_response_tokens: 2000
|
|
9
|
+
---
|
|
10
|
+
|
|
1
11
|
# Jira Manager Agent
|
|
2
12
|
|
|
3
13
|
## 🚀 How to Invoke This Agent
|
|
@@ -10,7 +20,7 @@
|
|
|
10
20
|
Task({
|
|
11
21
|
subagent_type: "specweave-jira:jira-manager:jira-manager",
|
|
12
22
|
prompt: "Create Jira epic for increment 0005 and sync all tasks from spec.md and tasks.md",
|
|
13
|
-
model: "
|
|
23
|
+
model: "opus" // default: opus (best quality)
|
|
14
24
|
});
|
|
15
25
|
```
|
|
16
26
|
|
|
@@ -6,7 +6,7 @@ import { JiraClient } from "../../../src/integrations/jira/jira-client.js";
|
|
|
6
6
|
import { FilterProcessor } from "../../../src/integrations/jira/filter-processor.js";
|
|
7
7
|
import { mergeEnvList, getEnvValue } from "../../../src/utils/env-manager.js";
|
|
8
8
|
import { consoleLogger } from "../../../src/utils/logger.js";
|
|
9
|
-
import { credentialsManager } from "../../../src/core/credentials-manager.js";
|
|
9
|
+
import { credentialsManager } from "../../../src/core/credentials/credentials-manager.js";
|
|
10
10
|
async function importProjects(options = {}) {
|
|
11
11
|
const logger = options.logger ?? consoleLogger;
|
|
12
12
|
const projectRoot = process.cwd();
|
|
@@ -26,7 +26,7 @@ import { FilterProcessor, type FilterOptions } from '../../../src/integrations/j
|
|
|
26
26
|
import { AsyncProjectLoader } from '../../../src/cli/helpers/async-project-loader.js';
|
|
27
27
|
import { mergeEnvList, getEnvValue } from '../../../src/utils/env-manager.js';
|
|
28
28
|
import { consoleLogger, type Logger } from '../../../src/utils/logger.js';
|
|
29
|
-
import { credentialsManager } from '../../../src/core/credentials-manager.js';
|
|
29
|
+
import { credentialsManager } from '../../../src/core/credentials/credentials-manager.js';
|
|
30
30
|
|
|
31
31
|
export interface ImportProjectsOptions {
|
|
32
32
|
filter?: 'active' | 'archived' | 'all';
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* This enables traceability from spec user stories to actual code changes.
|
|
6
6
|
*/
|
|
7
7
|
import { GitCommit, GitRepository } from '../../../src/utils/git-utils.js';
|
|
8
|
-
import { UserStory } from '../../../src/core/spec-task-mapper.js';
|
|
8
|
+
import { UserStory } from '../../../src/core/specs/spec-task-mapper.js';
|
|
9
9
|
export interface JiraConfig {
|
|
10
10
|
domain: string;
|
|
11
11
|
email: string;
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
detectContentChanges,
|
|
5
5
|
hasExternalLink,
|
|
6
6
|
updateSpecWithExternalLink
|
|
7
|
-
} from "../../../src/core/spec-content-sync.js";
|
|
7
|
+
} from "../../../src/core/specs/spec-content-sync.js";
|
|
8
8
|
import path from "path";
|
|
9
9
|
import fs from "fs/promises";
|
|
10
10
|
async function syncSpecContentToJira(options) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { confirm, select, input, password } from "@inquirer/prompts";
|
|
2
|
-
import { credentialsManager } from "../../../src/core/credentials-manager.js";
|
|
3
|
-
import { JiraCredentials as JiraCredentials2 } from "../../../src/core/credentials-manager.js";
|
|
2
|
+
import { credentialsManager } from "../../../src/core/credentials/credentials-manager.js";
|
|
3
|
+
import { JiraCredentials as JiraCredentials2 } from "../../../src/core/credentials/credentials-manager.js";
|
|
4
4
|
async function detectJiraCredentials() {
|
|
5
5
|
if (credentialsManager.hasJiraCredentials()) {
|
|
6
6
|
try {
|
|
@@ -8,13 +8,13 @@
|
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
import { confirm, select, input, password } from '@inquirer/prompts';
|
|
11
|
-
import { credentialsManager, JiraCredentials } from '../../../src/core/credentials-manager.js';
|
|
11
|
+
import { credentialsManager, JiraCredentials } from '../../../src/core/credentials/credentials-manager.js';
|
|
12
12
|
|
|
13
13
|
// ============================================================================
|
|
14
14
|
// Types
|
|
15
15
|
// ============================================================================
|
|
16
16
|
|
|
17
|
-
export { JiraCredentials } from '../../../src/core/credentials-manager.js';
|
|
17
|
+
export { JiraCredentials } from '../../../src/core/credentials/credentials-manager.js';
|
|
18
18
|
|
|
19
19
|
export interface CredentialDetectionResult {
|
|
20
20
|
found: boolean;
|