edsger 0.76.0 → 0.78.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/LICENSE +21 -0
- package/README.md +95 -210
- package/assets/LICENSE +21 -0
- package/assets/README.md +104 -0
- package/assets/benchmark/base.yaml +286 -0
- package/assets/benchmark/csharp.yaml +68 -0
- package/assets/benchmark/dart.yaml +70 -0
- package/assets/benchmark/go.yaml +71 -0
- package/assets/benchmark/java.yaml +68 -0
- package/assets/benchmark/python.yaml +72 -0
- package/assets/benchmark/typescript.yaml +71 -0
- package/assets/languages.yaml +35 -0
- package/assets/manifest.yaml +39 -0
- package/assets/review/base.yaml +111 -0
- package/assets/review/csharp.yaml +38 -0
- package/assets/review/dart.yaml +40 -0
- package/assets/review/go.yaml +40 -0
- package/assets/review/java.yaml +40 -0
- package/assets/review/python.yaml +41 -0
- package/assets/review/typescript.yaml +40 -0
- package/assets/schema/benchmark.schema.json +87 -0
- package/assets/schema/review.schema.json +73 -0
- package/assets/skills/benchmark/SKILL.md +66 -0
- package/assets/skills/pr-resolve/SKILL.md +58 -0
- package/assets/skills/pr-review/SKILL.md +66 -0
- package/dist/index.js +1339 -1218
- package/dist/index.js.map +1 -0
- package/package.json +58 -53
- package/dist/api/adr.d.ts +0 -48
- package/dist/api/adr.js +0 -139
- package/dist/api/app-store-iap.d.ts +0 -60
- package/dist/api/app-store-iap.js +0 -145
- package/dist/api/app-store.d.ts +0 -93
- package/dist/api/app-store.js +0 -206
- package/dist/api/chat.d.ts +0 -72
- package/dist/api/chat.js +0 -272
- package/dist/api/cross-product.d.ts +0 -33
- package/dist/api/cross-product.js +0 -127
- package/dist/api/financing.d.ts +0 -47
- package/dist/api/financing.js +0 -37
- package/dist/api/github.d.ts +0 -86
- package/dist/api/github.js +0 -203
- package/dist/api/growth.d.ts +0 -81
- package/dist/api/growth.js +0 -75
- package/dist/api/intelligence-normalize.d.ts +0 -25
- package/dist/api/intelligence-normalize.js +0 -103
- package/dist/api/intelligence.d.ts +0 -187
- package/dist/api/intelligence.js +0 -402
- package/dist/api/issues/approval-checker.d.ts +0 -22
- package/dist/api/issues/approval-checker.js +0 -141
- package/dist/api/issues/batch-operations.d.ts +0 -17
- package/dist/api/issues/batch-operations.js +0 -100
- package/dist/api/issues/get-issue.d.ts +0 -5
- package/dist/api/issues/get-issue.js +0 -47
- package/dist/api/issues/index.d.ts +0 -8
- package/dist/api/issues/index.js +0 -10
- package/dist/api/issues/issue-utils.d.ts +0 -25
- package/dist/api/issues/issue-utils.js +0 -133
- package/dist/api/issues/status-updater.d.ts +0 -68
- package/dist/api/issues/status-updater.js +0 -190
- package/dist/api/issues/test-cases.d.ts +0 -29
- package/dist/api/issues/test-cases.js +0 -185
- package/dist/api/issues/update-issue.d.ts +0 -25
- package/dist/api/issues/update-issue.js +0 -127
- package/dist/api/issues/user-stories.d.ts +0 -21
- package/dist/api/issues/user-stories.js +0 -163
- package/dist/api/mcp-client.d.ts +0 -22
- package/dist/api/mcp-client.js +0 -75
- package/dist/api/products/test-cases.d.ts +0 -18
- package/dist/api/products/test-cases.js +0 -51
- package/dist/api/products.d.ts +0 -15
- package/dist/api/products.js +0 -45
- package/dist/api/release-test-cases.d.ts +0 -7
- package/dist/api/release-test-cases.js +0 -59
- package/dist/api/releases.d.ts +0 -41
- package/dist/api/releases.js +0 -117
- package/dist/api/run-sheets.d.ts +0 -22
- package/dist/api/run-sheets.js +0 -13
- package/dist/api/storage.d.ts +0 -13
- package/dist/api/storage.js +0 -29
- package/dist/api/tasks.d.ts +0 -26
- package/dist/api/tasks.js +0 -81
- package/dist/api/test-reports.d.ts +0 -9
- package/dist/api/test-reports.js +0 -43
- package/dist/api/user-psychology.d.ts +0 -101
- package/dist/api/user-psychology.js +0 -143
- package/dist/api/web-deploy.d.ts +0 -67
- package/dist/api/web-deploy.js +0 -199
- package/dist/auth/auth-store.d.ts +0 -98
- package/dist/auth/auth-store.js +0 -194
- package/dist/auth/env-store.d.ts +0 -41
- package/dist/auth/env-store.js +0 -127
- package/dist/auth/login.d.ts +0 -18
- package/dist/auth/login.js +0 -179
- package/dist/commands/adr/index.d.ts +0 -13
- package/dist/commands/adr/index.js +0 -31
- package/dist/commands/agent-workflow/chat-worker.d.ts +0 -16
- package/dist/commands/agent-workflow/chat-worker.js +0 -465
- package/dist/commands/agent-workflow/index.d.ts +0 -13
- package/dist/commands/agent-workflow/index.js +0 -107
- package/dist/commands/agent-workflow/issue-worker.d.ts +0 -14
- package/dist/commands/agent-workflow/issue-worker.js +0 -65
- package/dist/commands/agent-workflow/processor.d.ts +0 -95
- package/dist/commands/agent-workflow/processor.js +0 -519
- package/dist/commands/analyze-logs/index.d.ts +0 -7
- package/dist/commands/analyze-logs/index.js +0 -34
- package/dist/commands/app-store/index.d.ts +0 -12
- package/dist/commands/app-store/index.js +0 -69
- package/dist/commands/architecture-diagram/index.d.ts +0 -8
- package/dist/commands/architecture-diagram/index.js +0 -10
- package/dist/commands/build/detect-project.d.ts +0 -52
- package/dist/commands/build/detect-project.js +0 -277
- package/dist/commands/build/index.d.ts +0 -66
- package/dist/commands/build/index.js +0 -544
- package/dist/commands/chat-serve/chat-server.d.ts +0 -114
- package/dist/commands/chat-serve/chat-server.js +0 -339
- package/dist/commands/chat-serve/index.d.ts +0 -20
- package/dist/commands/chat-serve/index.js +0 -58
- package/dist/commands/checklists/index.d.ts +0 -16
- package/dist/commands/checklists/index.js +0 -187
- package/dist/commands/checklists/tools.d.ts +0 -17
- package/dist/commands/checklists/tools.js +0 -19
- package/dist/commands/class-diagram/index.d.ts +0 -7
- package/dist/commands/class-diagram/index.js +0 -9
- package/dist/commands/code-review/index.d.ts +0 -2
- package/dist/commands/code-review/index.js +0 -37
- package/dist/commands/code-review/reviewer.d.ts +0 -3
- package/dist/commands/code-review/reviewer.js +0 -205
- package/dist/commands/config/index.d.ts +0 -16
- package/dist/commands/config/index.js +0 -60
- package/dist/commands/data-flow/index.d.ts +0 -19
- package/dist/commands/data-flow/index.js +0 -55
- package/dist/commands/diagram-shared/index.d.ts +0 -21
- package/dist/commands/diagram-shared/index.js +0 -37
- package/dist/commands/discover/index.d.ts +0 -14
- package/dist/commands/discover/index.js +0 -29
- package/dist/commands/er-diagram/index.d.ts +0 -19
- package/dist/commands/er-diagram/index.js +0 -55
- package/dist/commands/features/index.d.ts +0 -15
- package/dist/commands/features/index.js +0 -34
- package/dist/commands/financing-deck/index.d.ts +0 -8
- package/dist/commands/financing-deck/index.js +0 -66
- package/dist/commands/find-architecture/index.d.ts +0 -15
- package/dist/commands/find-architecture/index.js +0 -50
- package/dist/commands/find-bugs/index.d.ts +0 -13
- package/dist/commands/find-bugs/index.js +0 -48
- package/dist/commands/find-features/index.d.ts +0 -14
- package/dist/commands/find-features/index.js +0 -42
- package/dist/commands/find-smells/index.d.ts +0 -23
- package/dist/commands/find-smells/index.js +0 -74
- package/dist/commands/flowchart/index.d.ts +0 -8
- package/dist/commands/flowchart/index.js +0 -10
- package/dist/commands/growth-analysis/index.d.ts +0 -7
- package/dist/commands/growth-analysis/index.js +0 -89
- package/dist/commands/init/index.d.ts +0 -5
- package/dist/commands/init/index.js +0 -152
- package/dist/commands/init/prompts.d.ts +0 -9
- package/dist/commands/init/prompts.js +0 -128
- package/dist/commands/init/templates.d.ts +0 -9
- package/dist/commands/init/templates.js +0 -264
- package/dist/commands/intelligence/index.d.ts +0 -15
- package/dist/commands/intelligence/index.js +0 -138
- package/dist/commands/issue-analysis/index.d.ts +0 -5
- package/dist/commands/issue-analysis/index.js +0 -9
- package/dist/commands/pr-resolve/index.d.ts +0 -13
- package/dist/commands/pr-resolve/index.js +0 -50
- package/dist/commands/pr-review/index.d.ts +0 -12
- package/dist/commands/pr-review/index.js +0 -47
- package/dist/commands/product-techniques/index.d.ts +0 -15
- package/dist/commands/product-techniques/index.js +0 -37
- package/dist/commands/product-test-cases/index.d.ts +0 -12
- package/dist/commands/product-test-cases/index.js +0 -40
- package/dist/commands/quality-benchmark/index.d.ts +0 -40
- package/dist/commands/quality-benchmark/index.js +0 -219
- package/dist/commands/recipes/index.d.ts +0 -17
- package/dist/commands/recipes/index.js +0 -40
- package/dist/commands/refactor/refactor.d.ts +0 -2
- package/dist/commands/refactor/refactor.js +0 -134
- package/dist/commands/release-sync/index.d.ts +0 -5
- package/dist/commands/release-sync/index.js +0 -38
- package/dist/commands/run-sheet/index.d.ts +0 -6
- package/dist/commands/run-sheet/index.js +0 -48
- package/dist/commands/screen-flow/index.d.ts +0 -18
- package/dist/commands/screen-flow/index.js +0 -54
- package/dist/commands/sequence-diagram/index.d.ts +0 -19
- package/dist/commands/sequence-diagram/index.js +0 -55
- package/dist/commands/session-serve/index.d.ts +0 -32
- package/dist/commands/session-serve/index.js +0 -100
- package/dist/commands/session-turn/index.d.ts +0 -73
- package/dist/commands/session-turn/index.js +0 -254
- package/dist/commands/smoke-test/index.d.ts +0 -5
- package/dist/commands/smoke-test/index.js +0 -40
- package/dist/commands/state-diagram/index.d.ts +0 -7
- package/dist/commands/state-diagram/index.js +0 -9
- package/dist/commands/sync-aws/index.d.ts +0 -16
- package/dist/commands/sync-aws/index.js +0 -214
- package/dist/commands/sync-datadog/index.d.ts +0 -16
- package/dist/commands/sync-datadog/index.js +0 -236
- package/dist/commands/sync-github-issues/index.d.ts +0 -11
- package/dist/commands/sync-github-issues/index.js +0 -42
- package/dist/commands/sync-github-pull-requests/index.d.ts +0 -11
- package/dist/commands/sync-github-pull-requests/index.js +0 -42
- package/dist/commands/sync-org-repos/index.d.ts +0 -12
- package/dist/commands/sync-org-repos/index.js +0 -60
- package/dist/commands/sync-sentry-issues/index.d.ts +0 -14
- package/dist/commands/sync-sentry-issues/index.js +0 -73
- package/dist/commands/sync-terraform/index.d.ts +0 -16
- package/dist/commands/sync-terraform/index.js +0 -248
- package/dist/commands/task-worker/index.d.ts +0 -8
- package/dist/commands/task-worker/index.js +0 -34
- package/dist/commands/task-worker/processor.d.ts +0 -23
- package/dist/commands/task-worker/processor.js +0 -84
- package/dist/commands/technical-design/index.d.ts +0 -5
- package/dist/commands/technical-design/index.js +0 -9
- package/dist/commands/test-cases-analysis/index.d.ts +0 -5
- package/dist/commands/test-cases-analysis/index.js +0 -9
- package/dist/commands/user-psychology/index.d.ts +0 -7
- package/dist/commands/user-psychology/index.js +0 -51
- package/dist/commands/user-stories-analysis/index.d.ts +0 -5
- package/dist/commands/user-stories-analysis/index.js +0 -9
- package/dist/commands/workflow/config/phase-configs.d.ts +0 -5
- package/dist/commands/workflow/config/phase-configs.js +0 -132
- package/dist/commands/workflow/core/index.d.ts +0 -8
- package/dist/commands/workflow/core/index.js +0 -12
- package/dist/commands/workflow/core/issue-filter.d.ts +0 -16
- package/dist/commands/workflow/core/issue-filter.js +0 -47
- package/dist/commands/workflow/core/pipeline-evaluator.d.ts +0 -24
- package/dist/commands/workflow/core/pipeline-evaluator.js +0 -32
- package/dist/commands/workflow/core/state-manager.d.ts +0 -24
- package/dist/commands/workflow/core/state-manager.js +0 -42
- package/dist/commands/workflow/core/workflow-logger.d.ts +0 -23
- package/dist/commands/workflow/core/workflow-logger.js +0 -77
- package/dist/commands/workflow/executors/phase-executor.d.ts +0 -8
- package/dist/commands/workflow/executors/phase-executor.js +0 -338
- package/dist/commands/workflow/index.d.ts +0 -2
- package/dist/commands/workflow/index.js +0 -34
- package/dist/commands/workflow/issue-coordinator.d.ts +0 -18
- package/dist/commands/workflow/issue-coordinator.js +0 -161
- package/dist/commands/workflow/phase-orchestrator.d.ts +0 -26
- package/dist/commands/workflow/phase-orchestrator.js +0 -699
- package/dist/commands/workflow/processor.d.ts +0 -47
- package/dist/commands/workflow/processor.js +0 -149
- package/dist/config/issue-status.d.ts +0 -29
- package/dist/config/issue-status.js +0 -44
- package/dist/config.d.ts +0 -3
- package/dist/config.js +0 -79
- package/dist/constants.d.ts +0 -10
- package/dist/constants.js +0 -36
- package/dist/errors/index.d.ts +0 -68
- package/dist/errors/index.js +0 -129
- package/dist/index.d.ts +0 -4
- package/dist/phases/adr-generation/agent.d.ts +0 -6
- package/dist/phases/adr-generation/agent.js +0 -69
- package/dist/phases/adr-generation/index.d.ts +0 -15
- package/dist/phases/adr-generation/index.js +0 -66
- package/dist/phases/adr-generation/parse.d.ts +0 -12
- package/dist/phases/adr-generation/parse.js +0 -123
- package/dist/phases/adr-generation/prompts.d.ts +0 -8
- package/dist/phases/adr-generation/prompts.js +0 -35
- package/dist/phases/analyze-logs/agent.d.ts +0 -11
- package/dist/phases/analyze-logs/agent.js +0 -66
- package/dist/phases/analyze-logs/index.d.ts +0 -23
- package/dist/phases/analyze-logs/index.js +0 -152
- package/dist/phases/analyze-logs/prompts.d.ts +0 -3
- package/dist/phases/analyze-logs/prompts.js +0 -27
- package/dist/phases/app-store-generation/agent.d.ts +0 -2
- package/dist/phases/app-store-generation/agent.js +0 -177
- package/dist/phases/app-store-generation/assets/inter-latin-ext.woff2 +0 -0
- package/dist/phases/app-store-generation/assets/inter-latin.woff2 +0 -0
- package/dist/phases/app-store-generation/context.d.ts +0 -21
- package/dist/phases/app-store-generation/context.js +0 -78
- package/dist/phases/app-store-generation/index.d.ts +0 -20
- package/dist/phases/app-store-generation/index.js +0 -157
- package/dist/phases/app-store-generation/inter-font.d.ts +0 -20
- package/dist/phases/app-store-generation/inter-font.js +0 -49
- package/dist/phases/app-store-generation/prompts.d.ts +0 -43
- package/dist/phases/app-store-generation/prompts.js +0 -73
- package/dist/phases/app-store-generation/screenshot-composer.d.ts +0 -41
- package/dist/phases/app-store-generation/screenshot-composer.js +0 -516
- package/dist/phases/app-store-generation/uploader.d.ts +0 -19
- package/dist/phases/app-store-generation/uploader.js +0 -150
- package/dist/phases/architecture-diagram/index.d.ts +0 -15
- package/dist/phases/architecture-diagram/index.js +0 -51
- package/dist/phases/autonomous/index.d.ts +0 -32
- package/dist/phases/autonomous/index.js +0 -412
- package/dist/phases/autonomous/prompts.d.ts +0 -5
- package/dist/phases/autonomous/prompts.js +0 -31
- package/dist/phases/branch-planning/context.d.ts +0 -14
- package/dist/phases/branch-planning/context.js +0 -43
- package/dist/phases/branch-planning/index.d.ts +0 -25
- package/dist/phases/branch-planning/index.js +0 -404
- package/dist/phases/branch-planning/outcome.d.ts +0 -28
- package/dist/phases/branch-planning/outcome.js +0 -115
- package/dist/phases/branch-planning/prompts.d.ts +0 -41
- package/dist/phases/branch-planning/prompts.js +0 -157
- package/dist/phases/bug-fixing/analyzer.d.ts +0 -17
- package/dist/phases/bug-fixing/analyzer.js +0 -247
- package/dist/phases/bug-fixing/context-fetcher.d.ts +0 -22
- package/dist/phases/bug-fixing/context-fetcher.js +0 -137
- package/dist/phases/bug-fixing/index.d.ts +0 -7
- package/dist/phases/bug-fixing/index.js +0 -7
- package/dist/phases/bug-fixing/mcp-server.d.ts +0 -18
- package/dist/phases/bug-fixing/mcp-server.js +0 -19
- package/dist/phases/bug-fixing/prompts.d.ts +0 -2
- package/dist/phases/bug-fixing/prompts.js +0 -9
- package/dist/phases/chat-processor/context.d.ts +0 -38
- package/dist/phases/chat-processor/context.js +0 -91
- package/dist/phases/chat-processor/index.d.ts +0 -49
- package/dist/phases/chat-processor/index.js +0 -482
- package/dist/phases/chat-processor/product-context.d.ts +0 -36
- package/dist/phases/chat-processor/product-context.js +0 -113
- package/dist/phases/chat-processor/product-prompts.d.ts +0 -4
- package/dist/phases/chat-processor/product-prompts.js +0 -65
- package/dist/phases/chat-processor/product-tools.d.ts +0 -8
- package/dist/phases/chat-processor/product-tools.js +0 -11
- package/dist/phases/chat-processor/prompts.d.ts +0 -35
- package/dist/phases/chat-processor/prompts.js +0 -213
- package/dist/phases/chat-processor/tools.d.ts +0 -8
- package/dist/phases/chat-processor/tools.js +0 -11
- package/dist/phases/class-diagram/index.d.ts +0 -14
- package/dist/phases/class-diagram/index.js +0 -76
- package/dist/phases/code-implementation/branch-pr-creator.d.ts +0 -31
- package/dist/phases/code-implementation/branch-pr-creator.js +0 -172
- package/dist/phases/code-implementation/context.d.ts +0 -17
- package/dist/phases/code-implementation/context.js +0 -88
- package/dist/phases/code-implementation/index.d.ts +0 -33
- package/dist/phases/code-implementation/index.js +0 -926
- package/dist/phases/code-implementation/outcome.d.ts +0 -47
- package/dist/phases/code-implementation/outcome.js +0 -53
- package/dist/phases/code-implementation/prompts.d.ts +0 -8
- package/dist/phases/code-implementation/prompts.js +0 -166
- package/dist/phases/code-implementation-verification/agent.d.ts +0 -32
- package/dist/phases/code-implementation-verification/agent.js +0 -225
- package/dist/phases/code-implementation-verification/index.d.ts +0 -27
- package/dist/phases/code-implementation-verification/index.js +0 -121
- package/dist/phases/code-implementation-verification/prompts.d.ts +0 -10
- package/dist/phases/code-implementation-verification/prompts.js +0 -90
- package/dist/phases/code-refine/context.d.ts +0 -99
- package/dist/phases/code-refine/context.js +0 -457
- package/dist/phases/code-refine/index.d.ts +0 -59
- package/dist/phases/code-refine/index.js +0 -348
- package/dist/phases/code-refine/prompts.d.ts +0 -5
- package/dist/phases/code-refine/prompts.js +0 -162
- package/dist/phases/code-refine/refine-iteration.d.ts +0 -33
- package/dist/phases/code-refine/refine-iteration.js +0 -166
- package/dist/phases/code-refine/retry-handler.d.ts +0 -17
- package/dist/phases/code-refine/retry-handler.js +0 -87
- package/dist/phases/code-refine-verification/github.d.ts +0 -54
- package/dist/phases/code-refine-verification/github.js +0 -328
- package/dist/phases/code-refine-verification/index.d.ts +0 -11
- package/dist/phases/code-refine-verification/index.js +0 -260
- package/dist/phases/code-refine-verification/llm-analyzer.d.ts +0 -22
- package/dist/phases/code-refine-verification/llm-analyzer.js +0 -152
- package/dist/phases/code-refine-verification/prompts.d.ts +0 -5
- package/dist/phases/code-refine-verification/prompts.js +0 -119
- package/dist/phases/code-refine-verification/types.d.ts +0 -74
- package/dist/phases/code-refine-verification/types.js +0 -4
- package/dist/phases/code-review/context.d.ts +0 -96
- package/dist/phases/code-review/context.js +0 -278
- package/dist/phases/code-review/diff-utils.d.ts +0 -36
- package/dist/phases/code-review/diff-utils.js +0 -100
- package/dist/phases/code-review/index.d.ts +0 -40
- package/dist/phases/code-review/index.js +0 -627
- package/dist/phases/code-testing/analyzer.d.ts +0 -19
- package/dist/phases/code-testing/analyzer.js +0 -215
- package/dist/phases/code-testing/context-fetcher.d.ts +0 -16
- package/dist/phases/code-testing/context-fetcher.js +0 -83
- package/dist/phases/code-testing/index.d.ts +0 -2
- package/dist/phases/code-testing/index.js +0 -2
- package/dist/phases/code-testing/prompts.d.ts +0 -3
- package/dist/phases/code-testing/prompts.js +0 -63
- package/dist/phases/data-flow/index.d.ts +0 -28
- package/dist/phases/data-flow/index.js +0 -286
- package/dist/phases/data-flow/mcp-server.d.ts +0 -85
- package/dist/phases/data-flow/mcp-server.js +0 -140
- package/dist/phases/data-flow/prompts.d.ts +0 -14
- package/dist/phases/data-flow/prompts.js +0 -36
- package/dist/phases/data-flow/types.d.ts +0 -71
- package/dist/phases/data-flow/types.js +0 -86
- package/dist/phases/diagram-shared/clone-repos.d.ts +0 -63
- package/dist/phases/diagram-shared/clone-repos.js +0 -153
- package/dist/phases/diagram-shared/generate.d.ts +0 -42
- package/dist/phases/diagram-shared/generate.js +0 -162
- package/dist/phases/diagram-shared/graph.d.ts +0 -62
- package/dist/phases/diagram-shared/graph.js +0 -169
- package/dist/phases/diagram-shared/mcp.d.ts +0 -35
- package/dist/phases/diagram-shared/mcp.js +0 -68
- package/dist/phases/diagram-shared/prompts.d.ts +0 -23
- package/dist/phases/diagram-shared/prompts.js +0 -35
- package/dist/phases/discover-services/index.d.ts +0 -29
- package/dist/phases/discover-services/index.js +0 -528
- package/dist/phases/er-diagram/index.d.ts +0 -28
- package/dist/phases/er-diagram/index.js +0 -290
- package/dist/phases/er-diagram/mcp-server.d.ts +0 -77
- package/dist/phases/er-diagram/mcp-server.js +0 -144
- package/dist/phases/er-diagram/prompts.d.ts +0 -14
- package/dist/phases/er-diagram/prompts.js +0 -36
- package/dist/phases/er-diagram/types.d.ts +0 -76
- package/dist/phases/er-diagram/types.js +0 -84
- package/dist/phases/features/index.d.ts +0 -65
- package/dist/phases/features/index.js +0 -292
- package/dist/phases/features/mcp-server.d.ts +0 -61
- package/dist/phases/features/mcp-server.js +0 -165
- package/dist/phases/features/prompts.d.ts +0 -32
- package/dist/phases/features/prompts.js +0 -92
- package/dist/phases/features/types.d.ts +0 -34
- package/dist/phases/features/types.js +0 -15
- package/dist/phases/financing-deck/agent.d.ts +0 -1
- package/dist/phases/financing-deck/agent.js +0 -96
- package/dist/phases/financing-deck/context.d.ts +0 -13
- package/dist/phases/financing-deck/context.js +0 -69
- package/dist/phases/financing-deck/index.d.ts +0 -15
- package/dist/phases/financing-deck/index.js +0 -89
- package/dist/phases/financing-deck/prompts.d.ts +0 -2
- package/dist/phases/financing-deck/prompts.js +0 -94
- package/dist/phases/find-architecture/index.d.ts +0 -47
- package/dist/phases/find-architecture/index.js +0 -261
- package/dist/phases/find-architecture/prompts.d.ts +0 -31
- package/dist/phases/find-architecture/prompts.js +0 -128
- package/dist/phases/find-architecture/state.d.ts +0 -21
- package/dist/phases/find-architecture/state.js +0 -17
- package/dist/phases/find-architecture/types.d.ts +0 -55
- package/dist/phases/find-architecture/types.js +0 -69
- package/dist/phases/find-bugs/index.d.ts +0 -33
- package/dist/phases/find-bugs/index.js +0 -236
- package/dist/phases/find-bugs/prompts.d.ts +0 -22
- package/dist/phases/find-bugs/prompts.js +0 -101
- package/dist/phases/find-bugs/state.d.ts +0 -19
- package/dist/phases/find-bugs/state.js +0 -13
- package/dist/phases/find-bugs/types.d.ts +0 -21
- package/dist/phases/find-bugs/types.js +0 -16
- package/dist/phases/find-features/index.d.ts +0 -40
- package/dist/phases/find-features/index.js +0 -328
- package/dist/phases/find-features/prompts.d.ts +0 -43
- package/dist/phases/find-features/prompts.js +0 -138
- package/dist/phases/find-features/state.d.ts +0 -25
- package/dist/phases/find-features/state.js +0 -22
- package/dist/phases/find-features/types.d.ts +0 -27
- package/dist/phases/find-features/types.js +0 -16
- package/dist/phases/find-shared/git.d.ts +0 -24
- package/dist/phases/find-shared/git.js +0 -60
- package/dist/phases/find-shared/mcp.d.ts +0 -48
- package/dist/phases/find-shared/mcp.js +0 -125
- package/dist/phases/find-shared/scan-state.d.ts +0 -33
- package/dist/phases/find-shared/scan-state.js +0 -112
- package/dist/phases/find-smells/index.d.ts +0 -50
- package/dist/phases/find-smells/index.js +0 -298
- package/dist/phases/find-smells/prompts.d.ts +0 -30
- package/dist/phases/find-smells/prompts.js +0 -129
- package/dist/phases/find-smells/state.d.ts +0 -21
- package/dist/phases/find-smells/state.js +0 -17
- package/dist/phases/find-smells/types.d.ts +0 -51
- package/dist/phases/find-smells/types.js +0 -64
- package/dist/phases/flow-shared/clone-repos.d.ts +0 -63
- package/dist/phases/flow-shared/clone-repos.js +0 -153
- package/dist/phases/flowchart/index.d.ts +0 -15
- package/dist/phases/flowchart/index.js +0 -50
- package/dist/phases/functional-testing/analyzer.d.ts +0 -46
- package/dist/phases/functional-testing/analyzer.js +0 -622
- package/dist/phases/functional-testing/context-fetcher.d.ts +0 -16
- package/dist/phases/functional-testing/context-fetcher.js +0 -83
- package/dist/phases/functional-testing/http-fallback.d.ts +0 -10
- package/dist/phases/functional-testing/http-fallback.js +0 -156
- package/dist/phases/functional-testing/index.d.ts +0 -4
- package/dist/phases/functional-testing/index.js +0 -4
- package/dist/phases/functional-testing/mcp-server.d.ts +0 -9
- package/dist/phases/functional-testing/mcp-server.js +0 -13
- package/dist/phases/functional-testing/prompts.d.ts +0 -2
- package/dist/phases/functional-testing/prompts.js +0 -58
- package/dist/phases/functional-testing/test-report-creator.d.ts +0 -68
- package/dist/phases/functional-testing/test-report-creator.js +0 -306
- package/dist/phases/functional-testing/test-retry-handler.d.ts +0 -16
- package/dist/phases/functional-testing/test-retry-handler.js +0 -70
- package/dist/phases/growth-analysis/agent.d.ts +0 -2
- package/dist/phases/growth-analysis/agent.js +0 -107
- package/dist/phases/growth-analysis/context.d.ts +0 -23
- package/dist/phases/growth-analysis/context.js +0 -137
- package/dist/phases/growth-analysis/index.d.ts +0 -32
- package/dist/phases/growth-analysis/index.js +0 -226
- package/dist/phases/growth-analysis/prompts.d.ts +0 -2
- package/dist/phases/growth-analysis/prompts.js +0 -45
- package/dist/phases/intelligence-analysis/agent.d.ts +0 -2
- package/dist/phases/intelligence-analysis/agent.js +0 -338
- package/dist/phases/intelligence-analysis/context.d.ts +0 -23
- package/dist/phases/intelligence-analysis/context.js +0 -142
- package/dist/phases/intelligence-analysis/index.d.ts +0 -58
- package/dist/phases/intelligence-analysis/index.js +0 -244
- package/dist/phases/intelligence-analysis/prompts.d.ts +0 -2
- package/dist/phases/intelligence-analysis/prompts.js +0 -62
- package/dist/phases/issue-analysis/agent.d.ts +0 -21
- package/dist/phases/issue-analysis/agent.js +0 -153
- package/dist/phases/issue-analysis/context.d.ts +0 -20
- package/dist/phases/issue-analysis/context.js +0 -93
- package/dist/phases/issue-analysis/index.d.ts +0 -8
- package/dist/phases/issue-analysis/index.js +0 -147
- package/dist/phases/issue-analysis/outcome.d.ts +0 -10
- package/dist/phases/issue-analysis/outcome.js +0 -42
- package/dist/phases/issue-analysis/prompts.d.ts +0 -8
- package/dist/phases/issue-analysis/prompts.js +0 -99
- package/dist/phases/issue-analysis-verification/agent.d.ts +0 -33
- package/dist/phases/issue-analysis-verification/agent.js +0 -124
- package/dist/phases/issue-analysis-verification/index.d.ts +0 -27
- package/dist/phases/issue-analysis-verification/index.js +0 -79
- package/dist/phases/issue-analysis-verification/prompts.d.ts +0 -9
- package/dist/phases/issue-analysis-verification/prompts.js +0 -75
- package/dist/phases/output-contracts.d.ts +0 -7
- package/dist/phases/output-contracts.js +0 -1201
- package/dist/phases/pr-execution/context.d.ts +0 -32
- package/dist/phases/pr-execution/context.js +0 -246
- package/dist/phases/pr-execution/file-assigner.d.ts +0 -57
- package/dist/phases/pr-execution/file-assigner.js +0 -287
- package/dist/phases/pr-execution/index.d.ts +0 -22
- package/dist/phases/pr-execution/index.js +0 -401
- package/dist/phases/pr-execution/outcome.d.ts +0 -24
- package/dist/phases/pr-execution/outcome.js +0 -34
- package/dist/phases/pr-execution/pr-executor.d.ts +0 -42
- package/dist/phases/pr-execution/pr-executor.js +0 -78
- package/dist/phases/pr-execution/prompts.d.ts +0 -27
- package/dist/phases/pr-execution/prompts.js +0 -131
- package/dist/phases/pr-resolve/checklist-learner.d.ts +0 -28
- package/dist/phases/pr-resolve/checklist-learner.js +0 -153
- package/dist/phases/pr-resolve/github-reply.d.ts +0 -16
- package/dist/phases/pr-resolve/github-reply.js +0 -75
- package/dist/phases/pr-resolve/index.d.ts +0 -33
- package/dist/phases/pr-resolve/index.js +0 -272
- package/dist/phases/pr-resolve/prompts.d.ts +0 -17
- package/dist/phases/pr-resolve/prompts.js +0 -107
- package/dist/phases/pr-resolve/types.d.ts +0 -18
- package/dist/phases/pr-resolve/types.js +0 -14
- package/dist/phases/pr-resolve/workspace.d.ts +0 -45
- package/dist/phases/pr-resolve/workspace.js +0 -174
- package/dist/phases/pr-review/index.d.ts +0 -27
- package/dist/phases/pr-review/index.js +0 -209
- package/dist/phases/pr-review/prompts.d.ts +0 -5
- package/dist/phases/pr-review/prompts.js +0 -87
- package/dist/phases/pr-shared/agent-utils.d.ts +0 -47
- package/dist/phases/pr-shared/agent-utils.js +0 -112
- package/dist/phases/pr-shared/context.d.ts +0 -24
- package/dist/phases/pr-shared/context.js +0 -78
- package/dist/phases/pr-shared/status.d.ts +0 -18
- package/dist/phases/pr-shared/status.js +0 -37
- package/dist/phases/pr-splitting/context.d.ts +0 -28
- package/dist/phases/pr-splitting/context.js +0 -182
- package/dist/phases/pr-splitting/import-dep-validator.d.ts +0 -67
- package/dist/phases/pr-splitting/import-dep-validator.js +0 -255
- package/dist/phases/pr-splitting/index.d.ts +0 -36
- package/dist/phases/pr-splitting/index.js +0 -413
- package/dist/phases/pr-splitting/outcome.d.ts +0 -24
- package/dist/phases/pr-splitting/outcome.js +0 -114
- package/dist/phases/pr-splitting/prompts.d.ts +0 -43
- package/dist/phases/pr-splitting/prompts.js +0 -154
- package/dist/phases/product-techniques/index.d.ts +0 -52
- package/dist/phases/product-techniques/index.js +0 -268
- package/dist/phases/product-techniques/mcp-server.d.ts +0 -41
- package/dist/phases/product-techniques/mcp-server.js +0 -96
- package/dist/phases/product-techniques/prompts.d.ts +0 -19
- package/dist/phases/product-techniques/prompts.js +0 -66
- package/dist/phases/product-techniques/types.d.ts +0 -13
- package/dist/phases/product-techniques/types.js +0 -13
- package/dist/phases/product-test-cases/index.d.ts +0 -25
- package/dist/phases/product-test-cases/index.js +0 -174
- package/dist/phases/product-test-cases/prompts.d.ts +0 -24
- package/dist/phases/product-test-cases/prompts.js +0 -80
- package/dist/phases/product-test-cases/types.d.ts +0 -17
- package/dist/phases/product-test-cases/types.js +0 -27
- package/dist/phases/pull-request/creator.d.ts +0 -30
- package/dist/phases/pull-request/creator.js +0 -319
- package/dist/phases/pull-request/handler.d.ts +0 -15
- package/dist/phases/pull-request/handler.js +0 -92
- package/dist/phases/quality-benchmark/index.d.ts +0 -65
- package/dist/phases/quality-benchmark/index.js +0 -194
- package/dist/phases/quality-benchmark/mcp-server.d.ts +0 -46
- package/dist/phases/quality-benchmark/mcp-server.js +0 -252
- package/dist/phases/quality-benchmark/parsers.d.ts +0 -22
- package/dist/phases/quality-benchmark/parsers.js +0 -1101
- package/dist/phases/quality-benchmark/prompts.d.ts +0 -31
- package/dist/phases/quality-benchmark/prompts.js +0 -154
- package/dist/phases/quality-benchmark/rubric.md +0 -1174
- package/dist/phases/quality-benchmark/tool-catalog.d.ts +0 -33
- package/dist/phases/quality-benchmark/tool-catalog.js +0 -636
- package/dist/phases/quality-benchmark/tool-runner.d.ts +0 -69
- package/dist/phases/quality-benchmark/tool-runner.js +0 -399
- package/dist/phases/quality-benchmark/types.d.ts +0 -312
- package/dist/phases/quality-benchmark/types.js +0 -23
- package/dist/phases/quality-benchmark/workspace.d.ts +0 -31
- package/dist/phases/quality-benchmark/workspace.js +0 -110
- package/dist/phases/recipes/index.d.ts +0 -63
- package/dist/phases/recipes/index.js +0 -358
- package/dist/phases/recipes/mcp-server.d.ts +0 -66
- package/dist/phases/recipes/mcp-server.js +0 -229
- package/dist/phases/recipes/prompts.d.ts +0 -35
- package/dist/phases/recipes/prompts.js +0 -105
- package/dist/phases/recipes/types.d.ts +0 -42
- package/dist/phases/recipes/types.js +0 -16
- package/dist/phases/release-sync/github.d.ts +0 -66
- package/dist/phases/release-sync/github.js +0 -140
- package/dist/phases/release-sync/index.d.ts +0 -24
- package/dist/phases/release-sync/index.js +0 -156
- package/dist/phases/release-sync/snapshot.d.ts +0 -27
- package/dist/phases/release-sync/snapshot.js +0 -158
- package/dist/phases/run-sheet/agent.d.ts +0 -49
- package/dist/phases/run-sheet/agent.js +0 -156
- package/dist/phases/run-sheet/index.d.ts +0 -57
- package/dist/phases/run-sheet/index.js +0 -392
- package/dist/phases/screen-flow/index.d.ts +0 -26
- package/dist/phases/screen-flow/index.js +0 -349
- package/dist/phases/screen-flow/mcp-server.d.ts +0 -201
- package/dist/phases/screen-flow/mcp-server.js +0 -272
- package/dist/phases/screen-flow/prompts.d.ts +0 -19
- package/dist/phases/screen-flow/prompts.js +0 -43
- package/dist/phases/screen-flow/theme.d.ts +0 -19
- package/dist/phases/screen-flow/theme.js +0 -193
- package/dist/phases/screen-flow/types.d.ts +0 -137
- package/dist/phases/screen-flow/types.js +0 -81
- package/dist/phases/sequence-diagram/index.d.ts +0 -30
- package/dist/phases/sequence-diagram/index.js +0 -290
- package/dist/phases/sequence-diagram/mcp-server.d.ts +0 -64
- package/dist/phases/sequence-diagram/mcp-server.js +0 -134
- package/dist/phases/sequence-diagram/prompts.d.ts +0 -14
- package/dist/phases/sequence-diagram/prompts.js +0 -36
- package/dist/phases/sequence-diagram/types.d.ts +0 -52
- package/dist/phases/sequence-diagram/types.js +0 -93
- package/dist/phases/smoke-test/agent.d.ts +0 -12
- package/dist/phases/smoke-test/agent.js +0 -93
- package/dist/phases/smoke-test/index.d.ts +0 -22
- package/dist/phases/smoke-test/index.js +0 -241
- package/dist/phases/smoke-test/prompts.d.ts +0 -15
- package/dist/phases/smoke-test/prompts.js +0 -35
- package/dist/phases/state-diagram/index.d.ts +0 -15
- package/dist/phases/state-diagram/index.js +0 -53
- package/dist/phases/sync-github-issues/index.d.ts +0 -41
- package/dist/phases/sync-github-issues/index.js +0 -187
- package/dist/phases/sync-github-issues/state.d.ts +0 -26
- package/dist/phases/sync-github-issues/state.js +0 -18
- package/dist/phases/sync-github-issues/types.d.ts +0 -35
- package/dist/phases/sync-github-issues/types.js +0 -6
- package/dist/phases/sync-github-pull-requests/index.d.ts +0 -23
- package/dist/phases/sync-github-pull-requests/index.js +0 -210
- package/dist/phases/sync-github-pull-requests/state.d.ts +0 -24
- package/dist/phases/sync-github-pull-requests/state.js +0 -16
- package/dist/phases/sync-github-pull-requests/types.d.ts +0 -22
- package/dist/phases/sync-github-pull-requests/types.js +0 -1
- package/dist/phases/sync-org-repos/index.d.ts +0 -28
- package/dist/phases/sync-org-repos/index.js +0 -133
- package/dist/phases/sync-sentry-issues/index.d.ts +0 -29
- package/dist/phases/sync-sentry-issues/index.js +0 -153
- package/dist/phases/sync-sentry-issues/sentry-client.d.ts +0 -66
- package/dist/phases/sync-sentry-issues/sentry-client.js +0 -221
- package/dist/phases/sync-sentry-issues/state.d.ts +0 -23
- package/dist/phases/sync-sentry-issues/state.js +0 -18
- package/dist/phases/sync-sentry-issues/types.d.ts +0 -46
- package/dist/phases/sync-sentry-issues/types.js +0 -6
- package/dist/phases/sync-shared/mcp.d.ts +0 -81
- package/dist/phases/sync-shared/mcp.js +0 -111
- package/dist/phases/task/agent.d.ts +0 -10
- package/dist/phases/task/agent.js +0 -83
- package/dist/phases/task/context.d.ts +0 -16
- package/dist/phases/task/context.js +0 -50
- package/dist/phases/task/index.d.ts +0 -17
- package/dist/phases/task/index.js +0 -54
- package/dist/phases/task/prompts.d.ts +0 -9
- package/dist/phases/task/prompts.js +0 -21
- package/dist/phases/technical-design/context.d.ts +0 -12
- package/dist/phases/technical-design/context.js +0 -39
- package/dist/phases/technical-design/index.d.ts +0 -21
- package/dist/phases/technical-design/index.js +0 -456
- package/dist/phases/technical-design/outcome.d.ts +0 -25
- package/dist/phases/technical-design/outcome.js +0 -41
- package/dist/phases/technical-design/prompts.d.ts +0 -8
- package/dist/phases/technical-design/prompts.js +0 -210
- package/dist/phases/technical-design-verification/agent.d.ts +0 -53
- package/dist/phases/technical-design-verification/agent.js +0 -186
- package/dist/phases/technical-design-verification/index.d.ts +0 -38
- package/dist/phases/technical-design-verification/index.js +0 -152
- package/dist/phases/technical-design-verification/prompts.d.ts +0 -12
- package/dist/phases/technical-design-verification/prompts.js +0 -143
- package/dist/phases/test-cases-analysis/agent.d.ts +0 -9
- package/dist/phases/test-cases-analysis/agent.js +0 -105
- package/dist/phases/test-cases-analysis/context.d.ts +0 -15
- package/dist/phases/test-cases-analysis/context.js +0 -86
- package/dist/phases/test-cases-analysis/formatters.d.ts +0 -6
- package/dist/phases/test-cases-analysis/formatters.js +0 -35
- package/dist/phases/test-cases-analysis/index.d.ts +0 -9
- package/dist/phases/test-cases-analysis/index.js +0 -175
- package/dist/phases/test-cases-analysis/outcome.d.ts +0 -27
- package/dist/phases/test-cases-analysis/outcome.js +0 -146
- package/dist/phases/test-cases-analysis/prompts.d.ts +0 -7
- package/dist/phases/test-cases-analysis/prompts.js +0 -171
- package/dist/phases/user-psychology/agent.d.ts +0 -16
- package/dist/phases/user-psychology/agent.js +0 -105
- package/dist/phases/user-psychology/context.d.ts +0 -10
- package/dist/phases/user-psychology/context.js +0 -65
- package/dist/phases/user-psychology/index.d.ts +0 -18
- package/dist/phases/user-psychology/index.js +0 -96
- package/dist/phases/user-psychology/prompts.d.ts +0 -2
- package/dist/phases/user-psychology/prompts.js +0 -41
- package/dist/phases/user-stories-analysis/agent.d.ts +0 -9
- package/dist/phases/user-stories-analysis/agent.js +0 -105
- package/dist/phases/user-stories-analysis/context.d.ts +0 -15
- package/dist/phases/user-stories-analysis/context.js +0 -86
- package/dist/phases/user-stories-analysis/formatters.d.ts +0 -6
- package/dist/phases/user-stories-analysis/formatters.js +0 -32
- package/dist/phases/user-stories-analysis/index.d.ts +0 -9
- package/dist/phases/user-stories-analysis/index.js +0 -175
- package/dist/phases/user-stories-analysis/outcome.d.ts +0 -27
- package/dist/phases/user-stories-analysis/outcome.js +0 -146
- package/dist/phases/user-stories-analysis/prompts.d.ts +0 -7
- package/dist/phases/user-stories-analysis/prompts.js +0 -194
- package/dist/services/audit-logs.d.ts +0 -73
- package/dist/services/audit-logs.js +0 -174
- package/dist/services/branches.d.ts +0 -103
- package/dist/services/branches.js +0 -391
- package/dist/services/checklist.d.ts +0 -100
- package/dist/services/checklist.js +0 -259
- package/dist/services/coaching/coaching-agent.d.ts +0 -39
- package/dist/services/coaching/coaching-agent.js +0 -308
- package/dist/services/coaching/coaching-loop.d.ts +0 -62
- package/dist/services/coaching/coaching-loop.js +0 -265
- package/dist/services/coaching/index.d.ts +0 -8
- package/dist/services/coaching/index.js +0 -8
- package/dist/services/coaching/phase-coaching.d.ts +0 -47
- package/dist/services/coaching/phase-coaching.js +0 -60
- package/dist/services/coaching/self-rating.d.ts +0 -26
- package/dist/services/coaching/self-rating.js +0 -153
- package/dist/services/feedbacks.d.ts +0 -57
- package/dist/services/feedbacks.js +0 -264
- package/dist/services/phase-hooks/bindings-fetcher.d.ts +0 -21
- package/dist/services/phase-hooks/bindings-fetcher.js +0 -53
- package/dist/services/phase-hooks/hook-executor.d.ts +0 -36
- package/dist/services/phase-hooks/hook-executor.js +0 -167
- package/dist/services/phase-hooks/hook-logging.d.ts +0 -14
- package/dist/services/phase-hooks/hook-logging.js +0 -41
- package/dist/services/phase-hooks/hook-runner.d.ts +0 -19
- package/dist/services/phase-hooks/hook-runner.js +0 -83
- package/dist/services/phase-hooks/index.d.ts +0 -10
- package/dist/services/phase-hooks/index.js +0 -9
- package/dist/services/phase-hooks/plugin-loader.d.ts +0 -31
- package/dist/services/phase-hooks/plugin-loader.js +0 -207
- package/dist/services/phase-hooks/types.d.ts +0 -69
- package/dist/services/phase-hooks/types.js +0 -8
- package/dist/services/phase-ratings.d.ts +0 -70
- package/dist/services/phase-ratings.js +0 -143
- package/dist/services/product-logs.d.ts +0 -31
- package/dist/services/product-logs.js +0 -94
- package/dist/services/pull-requests.d.ts +0 -57
- package/dist/services/pull-requests.js +0 -186
- package/dist/services/quality-reports.d.ts +0 -45
- package/dist/services/quality-reports.js +0 -93
- package/dist/services/repo-config.d.ts +0 -17
- package/dist/services/repo-config.js +0 -50
- package/dist/services/skill-resolver.d.ts +0 -46
- package/dist/services/skill-resolver.js +0 -123
- package/dist/services/video/device-frames.d.ts +0 -34
- package/dist/services/video/device-frames.js +0 -513
- package/dist/services/video/index.d.ts +0 -66
- package/dist/services/video/index.js +0 -238
- package/dist/services/video/retry.d.ts +0 -20
- package/dist/services/video/retry.js +0 -76
- package/dist/services/video/screenshot-generator.d.ts +0 -69
- package/dist/services/video/screenshot-generator.js +0 -259
- package/dist/services/video/tts-generator.d.ts +0 -40
- package/dist/services/video/tts-generator.js +0 -121
- package/dist/services/video/video-assembler.d.ts +0 -45
- package/dist/services/video/video-assembler.js +0 -351
- package/dist/services/video/video-uploader.d.ts +0 -28
- package/dist/services/video/video-uploader.js +0 -108
- package/dist/skills/phase/adr-generation/SKILL.md +0 -51
- package/dist/skills/phase/analyze-logs/SKILL.md +0 -24
- package/dist/skills/phase/app-store-generation/SKILL.md +0 -60
- package/dist/skills/phase/architecture-diagram/SKILL.md +0 -41
- package/dist/skills/phase/autonomous/SKILL.md +0 -52
- package/dist/skills/phase/branch-planning/SKILL.md +0 -55
- package/dist/skills/phase/bug-fixing/SKILL.md +0 -47
- package/dist/skills/phase/class-diagram/SKILL.md +0 -44
- package/dist/skills/phase/code-implementation/SKILL.md +0 -68
- package/dist/skills/phase/code-implementation-verification/SKILL.md +0 -76
- package/dist/skills/phase/code-refine/SKILL.md +0 -62
- package/dist/skills/phase/code-testing/SKILL.md +0 -78
- package/dist/skills/phase/data-flow/SKILL.md +0 -82
- package/dist/skills/phase/er-diagram/SKILL.md +0 -71
- package/dist/skills/phase/flowchart/SKILL.md +0 -38
- package/dist/skills/phase/functional-testing/SKILL.md +0 -62
- package/dist/skills/phase/growth-analysis/SKILL.md +0 -97
- package/dist/skills/phase/incremental-sync/SKILL.md +0 -59
- package/dist/skills/phase/intelligence-analysis/SKILL.md +0 -52
- package/dist/skills/phase/issue-analysis/SKILL.md +0 -73
- package/dist/skills/phase/issue-analysis-verification/SKILL.md +0 -61
- package/dist/skills/phase/pr-execution/SKILL.md +0 -69
- package/dist/skills/phase/pr-splitting/SKILL.md +0 -78
- package/dist/skills/phase/screen-flow/SKILL.md +0 -78
- package/dist/skills/phase/sequence-diagram/SKILL.md +0 -67
- package/dist/skills/phase/smoke-test/SKILL.md +0 -80
- package/dist/skills/phase/state-diagram/SKILL.md +0 -38
- package/dist/skills/phase/task/SKILL.md +0 -19
- package/dist/skills/phase/technical-design/SKILL.md +0 -75
- package/dist/skills/phase/technical-design-verification/SKILL.md +0 -43
- package/dist/skills/phase/test-cases-analysis/SKILL.md +0 -88
- package/dist/skills/phase/user-psychology/SKILL.md +0 -135
- package/dist/skills/phase/user-stories-analysis/SKILL.md +0 -118
- package/dist/supabase/client.d.ts +0 -34
- package/dist/supabase/client.js +0 -123
- package/dist/system/session-manager.d.ts +0 -67
- package/dist/system/session-manager.js +0 -300
- package/dist/system/sleep-notification.d.ts +0 -15
- package/dist/system/sleep-notification.js +0 -108
- package/dist/system/sleep-prevention.d.ts +0 -20
- package/dist/system/sleep-prevention.js +0 -112
- package/dist/tools/bootstrap.d.ts +0 -45
- package/dist/tools/bootstrap.js +0 -50
- package/dist/types/external-sources.d.ts +0 -22
- package/dist/types/external-sources.js +0 -23
- package/dist/types/index.d.ts +0 -206
- package/dist/types/index.js +0 -1
- package/dist/types/issues.d.ts +0 -37
- package/dist/types/issues.js +0 -1
- package/dist/types/llm-responses.d.ts +0 -114
- package/dist/types/llm-responses.js +0 -9
- package/dist/types/pipeline.d.ts +0 -28
- package/dist/types/pipeline.js +0 -4
- package/dist/updater/auto-updater.d.ts +0 -39
- package/dist/updater/auto-updater.js +0 -134
- package/dist/utils/conflict-resolver.d.ts +0 -49
- package/dist/utils/conflict-resolver.js +0 -201
- package/dist/utils/formatters.d.ts +0 -42
- package/dist/utils/formatters.js +0 -166
- package/dist/utils/git-branch-manager-async.d.ts +0 -127
- package/dist/utils/git-branch-manager-async.js +0 -425
- package/dist/utils/git-branch-manager.d.ts +0 -160
- package/dist/utils/git-branch-manager.js +0 -613
- package/dist/utils/git-push.d.ts +0 -43
- package/dist/utils/git-push.js +0 -136
- package/dist/utils/github-repo-info.d.ts +0 -26
- package/dist/utils/github-repo-info.js +0 -45
- package/dist/utils/image-downloader.d.ts +0 -32
- package/dist/utils/image-downloader.js +0 -152
- package/dist/utils/issue-phase-cli.d.ts +0 -26
- package/dist/utils/issue-phase-cli.js +0 -44
- package/dist/utils/json-extract.d.ts +0 -6
- package/dist/utils/json-extract.js +0 -44
- package/dist/utils/json-extractor.d.ts +0 -27
- package/dist/utils/json-extractor.js +0 -102
- package/dist/utils/logger.d.ts +0 -35
- package/dist/utils/logger.js +0 -167
- package/dist/utils/pipeline-logger.d.ts +0 -8
- package/dist/utils/pipeline-logger.js +0 -38
- package/dist/utils/validation.d.ts +0 -68
- package/dist/utils/validation.js +0 -229
- package/dist/utils/workflow-utils.d.ts +0 -22
- package/dist/utils/workflow-utils.js +0 -48
- package/dist/workspace/session-workspace.d.ts +0 -43
- package/dist/workspace/session-workspace.js +0 -90
- package/dist/workspace/workspace-manager.d.ts +0 -105
- package/dist/workspace/workspace-manager.js +0 -280
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* CLI command: edsger pr-review <productId> --pr-url <url>
|
|
3
|
-
* Reviews a standalone GitHub PR and posts comments.
|
|
4
|
-
*/
|
|
5
|
-
import { getGitHubConfigByProduct, getGitHubConfigByRepository, } from '../../api/github.js';
|
|
6
|
-
import { reviewStandalonePR } from '../../phases/pr-review/index.js';
|
|
7
|
-
import { logError, logInfo, logSuccess } from '../../utils/logger.js';
|
|
8
|
-
export async function runPRReview(productId, options) {
|
|
9
|
-
const { prUrl, prId, repoId, verbose } = options;
|
|
10
|
-
const scopeLabel = repoId ? `repository ${repoId}` : `product ${productId}`;
|
|
11
|
-
logInfo(`Starting PR review for ${scopeLabel}`);
|
|
12
|
-
logInfo(`PR URL: ${prUrl}`);
|
|
13
|
-
// Resolve GitHub config from the repository (repo-only mode) or the product.
|
|
14
|
-
const githubConfig = repoId
|
|
15
|
-
? await getGitHubConfigByRepository(repoId, verbose)
|
|
16
|
-
: await getGitHubConfigByProduct(productId ?? '', verbose);
|
|
17
|
-
if (!githubConfig.configured ||
|
|
18
|
-
!githubConfig.token ||
|
|
19
|
-
!githubConfig.owner ||
|
|
20
|
-
!githubConfig.repo) {
|
|
21
|
-
logError(`GitHub not configured for ${scopeLabel}: ${githubConfig.message || 'No installation found'}`);
|
|
22
|
-
process.exit(1);
|
|
23
|
-
}
|
|
24
|
-
const result = await reviewStandalonePR({
|
|
25
|
-
productId,
|
|
26
|
-
repositoryId: repoId,
|
|
27
|
-
pullRequestUrl: prUrl,
|
|
28
|
-
githubToken: githubConfig.token,
|
|
29
|
-
owner: githubConfig.owner,
|
|
30
|
-
repo: githubConfig.repo,
|
|
31
|
-
prId,
|
|
32
|
-
verbose,
|
|
33
|
-
});
|
|
34
|
-
if (result.status === 'success') {
|
|
35
|
-
logSuccess(`PR review completed: ${result.message}`);
|
|
36
|
-
if (result.reviewUrl) {
|
|
37
|
-
logInfo(`Review URL: ${result.reviewUrl}`);
|
|
38
|
-
}
|
|
39
|
-
if (result.commentsCount !== undefined) {
|
|
40
|
-
logInfo(`Comments posted: ${result.commentsCount}`);
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
else {
|
|
44
|
-
logError(`PR review failed: ${result.message}`);
|
|
45
|
-
process.exit(1);
|
|
46
|
-
}
|
|
47
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* CLI command: edsger product-techniques <productId> --techniques-id <id>
|
|
3
|
-
*
|
|
4
|
-
* Clones the product's repo, asks Claude to write a catalogue of the
|
|
5
|
-
* techniques the repo uses, and stores the markdown body in
|
|
6
|
-
* product_techniques. The desktop UI creates a pending row first then
|
|
7
|
-
* invokes the CLI with --techniques-id; the CLI flips status running →
|
|
8
|
-
* success/failed and populates the content/summary fields.
|
|
9
|
-
*/
|
|
10
|
-
export interface ProductTechniquesCliOptions {
|
|
11
|
-
techniquesId: string;
|
|
12
|
-
guidance?: string;
|
|
13
|
-
verbose?: boolean;
|
|
14
|
-
}
|
|
15
|
-
export declare function runProductTechniques(productId: string, options: ProductTechniquesCliOptions): Promise<void>;
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* CLI command: edsger product-techniques <productId> --techniques-id <id>
|
|
3
|
-
*
|
|
4
|
-
* Clones the product's repo, asks Claude to write a catalogue of the
|
|
5
|
-
* techniques the repo uses, and stores the markdown body in
|
|
6
|
-
* product_techniques. The desktop UI creates a pending row first then
|
|
7
|
-
* invokes the CLI with --techniques-id; the CLI flips status running →
|
|
8
|
-
* success/failed and populates the content/summary fields.
|
|
9
|
-
*/
|
|
10
|
-
import { runProductTechniquesPhase } from '../../phases/product-techniques/index.js';
|
|
11
|
-
import { logError, logInfo, logSuccess } from '../../utils/logger.js';
|
|
12
|
-
export async function runProductTechniques(productId, options) {
|
|
13
|
-
const { techniquesId, guidance, verbose } = options;
|
|
14
|
-
if (!productId) {
|
|
15
|
-
throw new Error('Product ID is required for product-techniques');
|
|
16
|
-
}
|
|
17
|
-
if (!techniquesId) {
|
|
18
|
-
throw new Error('--techniques-id is required (the pending product_techniques row id)');
|
|
19
|
-
}
|
|
20
|
-
logInfo(`Starting techniques generation for product ${productId}`);
|
|
21
|
-
const result = await runProductTechniquesPhase({
|
|
22
|
-
productId,
|
|
23
|
-
techniquesId,
|
|
24
|
-
guidance,
|
|
25
|
-
verbose,
|
|
26
|
-
});
|
|
27
|
-
if (result.status === 'success') {
|
|
28
|
-
logSuccess(result.message);
|
|
29
|
-
if (result.summary) {
|
|
30
|
-
logInfo(`\nSummary: ${result.summary}`);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
else {
|
|
34
|
-
logError(result.message);
|
|
35
|
-
process.exit(1);
|
|
36
|
-
}
|
|
37
|
-
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* CLI command: edsger product-test-cases <productId>
|
|
3
|
-
*
|
|
4
|
-
* Clones the product's repo, asks Claude to draft a product-level regression
|
|
5
|
-
* suite (deduped against existing approved + unapproved cases), saves the new
|
|
6
|
-
* ones as drafts, and cleans up the workspace.
|
|
7
|
-
*/
|
|
8
|
-
export interface ProductTestCasesCliOptions {
|
|
9
|
-
branch?: string;
|
|
10
|
-
verbose?: boolean;
|
|
11
|
-
}
|
|
12
|
-
export declare function runProductTestCases(productId: string, options: ProductTestCasesCliOptions): Promise<void>;
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* CLI command: edsger product-test-cases <productId>
|
|
3
|
-
*
|
|
4
|
-
* Clones the product's repo, asks Claude to draft a product-level regression
|
|
5
|
-
* suite (deduped against existing approved + unapproved cases), saves the new
|
|
6
|
-
* ones as drafts, and cleans up the workspace.
|
|
7
|
-
*/
|
|
8
|
-
import { getGitHubConfigByProduct } from '../../api/github.js';
|
|
9
|
-
import { generateProductTestCases } from '../../phases/product-test-cases/index.js';
|
|
10
|
-
import { logError, logInfo, logSuccess } from '../../utils/logger.js';
|
|
11
|
-
export async function runProductTestCases(productId, options) {
|
|
12
|
-
const { branch, verbose } = options;
|
|
13
|
-
logInfo(`Starting product test cases generation for product ${productId}`);
|
|
14
|
-
const githubConfig = await getGitHubConfigByProduct(productId, verbose);
|
|
15
|
-
if (!githubConfig.configured ||
|
|
16
|
-
!githubConfig.token ||
|
|
17
|
-
!githubConfig.owner ||
|
|
18
|
-
!githubConfig.repo) {
|
|
19
|
-
logError(`GitHub not configured for product ${productId}: ${githubConfig.message || 'No installation found'}`);
|
|
20
|
-
process.exit(1);
|
|
21
|
-
}
|
|
22
|
-
const result = await generateProductTestCases({
|
|
23
|
-
productId,
|
|
24
|
-
githubToken: githubConfig.token,
|
|
25
|
-
owner: githubConfig.owner,
|
|
26
|
-
repo: githubConfig.repo,
|
|
27
|
-
branch,
|
|
28
|
-
verbose,
|
|
29
|
-
});
|
|
30
|
-
if (result.status === 'success') {
|
|
31
|
-
logSuccess(result.message);
|
|
32
|
-
if (result.summary) {
|
|
33
|
-
logInfo(result.summary);
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
else {
|
|
37
|
-
logError(result.message);
|
|
38
|
-
process.exit(1);
|
|
39
|
-
}
|
|
40
|
-
}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* CLI command: `edsger quality-benchmark <productId>`
|
|
3
|
-
*
|
|
4
|
-
* Runs the quality-benchmark phase against the product's GitHub repo,
|
|
5
|
-
* writes the resulting JSON report to disk, and persists it to the
|
|
6
|
-
* `quality_reports` table via the supabase SDK (RLS-scoped; MCP
|
|
7
|
-
* fallback when no desktop session is synced) unless --no-save.
|
|
8
|
-
*
|
|
9
|
-
* Default invocation (desktop): no --repo, no --branch — the CLI fetches
|
|
10
|
-
* the product's GitHub config via MCP, clones (or reuses) the repo into
|
|
11
|
-
* `~/edsger/quality-<owner>-<repo>`, and analyses its default branch.
|
|
12
|
-
*
|
|
13
|
-
* Usage:
|
|
14
|
-
* edsger quality-benchmark <productId>
|
|
15
|
-
* --repo <path> (optional) override the auto-clone with a
|
|
16
|
-
* local checkout (used by tests / power users)
|
|
17
|
-
* --branch <name> (optional) override the detected default
|
|
18
|
-
* branch on the report envelope
|
|
19
|
-
* --pkg-manager <name> (optional) npm|pnpm|yarn (auto-detected if absent)
|
|
20
|
-
* --no-install refuse to install missing tools
|
|
21
|
-
* --output <path> where to write the JSON report
|
|
22
|
-
* (default: ./quality-report-<commit>.json)
|
|
23
|
-
* --verbose print every progress event
|
|
24
|
-
*/
|
|
25
|
-
export interface QualityBenchmarkCliOptions {
|
|
26
|
-
/** Optional local-checkout override; when absent the CLI clones the product's repo. */
|
|
27
|
-
repo?: string;
|
|
28
|
-
/** Benchmark a specific linked repository (id) instead of the product's primary repo. */
|
|
29
|
-
repoId?: string;
|
|
30
|
-
branch?: string;
|
|
31
|
-
pkgManager?: string;
|
|
32
|
-
install?: boolean;
|
|
33
|
-
output?: string;
|
|
34
|
-
verbose?: boolean;
|
|
35
|
-
/** When false, skip persisting the report to quality_reports. */
|
|
36
|
-
save?: boolean;
|
|
37
|
-
/** Overwrite any existing report row for this (product, commit, rubric). */
|
|
38
|
-
force?: boolean;
|
|
39
|
-
}
|
|
40
|
-
export declare function runQualityBenchmarkCli(productId: string, options: QualityBenchmarkCliOptions): Promise<void>;
|
|
@@ -1,219 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* CLI command: `edsger quality-benchmark <productId>`
|
|
3
|
-
*
|
|
4
|
-
* Runs the quality-benchmark phase against the product's GitHub repo,
|
|
5
|
-
* writes the resulting JSON report to disk, and persists it to the
|
|
6
|
-
* `quality_reports` table via the supabase SDK (RLS-scoped; MCP
|
|
7
|
-
* fallback when no desktop session is synced) unless --no-save.
|
|
8
|
-
*
|
|
9
|
-
* Default invocation (desktop): no --repo, no --branch — the CLI fetches
|
|
10
|
-
* the product's GitHub config via MCP, clones (or reuses) the repo into
|
|
11
|
-
* `~/edsger/quality-<owner>-<repo>`, and analyses its default branch.
|
|
12
|
-
*
|
|
13
|
-
* Usage:
|
|
14
|
-
* edsger quality-benchmark <productId>
|
|
15
|
-
* --repo <path> (optional) override the auto-clone with a
|
|
16
|
-
* local checkout (used by tests / power users)
|
|
17
|
-
* --branch <name> (optional) override the detected default
|
|
18
|
-
* branch on the report envelope
|
|
19
|
-
* --pkg-manager <name> (optional) npm|pnpm|yarn (auto-detected if absent)
|
|
20
|
-
* --no-install refuse to install missing tools
|
|
21
|
-
* --output <path> where to write the JSON report
|
|
22
|
-
* (default: ./quality-report-<commit>.json)
|
|
23
|
-
* --verbose print every progress event
|
|
24
|
-
*/
|
|
25
|
-
import { mkdirSync, writeFileSync } from 'node:fs';
|
|
26
|
-
import { dirname, resolve } from 'node:path';
|
|
27
|
-
import { getGitHubConfigByProduct, getGitHubConfigByRepository, getRepositoryBasics, } from '../../api/github.js';
|
|
28
|
-
import { fetchProductBasics } from '../../phases/find-shared/mcp.js';
|
|
29
|
-
import { runQualityBenchmark, } from '../../phases/quality-benchmark/index.js';
|
|
30
|
-
import { prepareQualityWorkspace } from '../../phases/quality-benchmark/workspace.js';
|
|
31
|
-
import { saveQualityReport } from '../../services/quality-reports.js';
|
|
32
|
-
import { getSupabase } from '../../supabase/client.js';
|
|
33
|
-
import { logError, logInfo, logSuccess, logWarning, } from '../../utils/logger.js';
|
|
34
|
-
export async function runQualityBenchmarkCli(productId, options) {
|
|
35
|
-
const installEnabled = options.install !== false;
|
|
36
|
-
// Repo-only mode: no product context, benchmark a single repositories row.
|
|
37
|
-
const repoOnly = !productId && Boolean(options.repoId);
|
|
38
|
-
if (repoOnly) {
|
|
39
|
-
logInfo(`Starting quality benchmark for repository ${options.repoId}`);
|
|
40
|
-
}
|
|
41
|
-
else {
|
|
42
|
-
logInfo(`Starting quality benchmark for product ${productId}`);
|
|
43
|
-
}
|
|
44
|
-
let repoRoot;
|
|
45
|
-
let resolvedBranch;
|
|
46
|
-
// Recorded on the report so it's scoped to the repo that was benchmarked.
|
|
47
|
-
let repositoryId = options.repoId ?? null;
|
|
48
|
-
// Display name used on the prompt + report (repo full_name in repo-only mode).
|
|
49
|
-
let productName = productId;
|
|
50
|
-
if (options.repo) {
|
|
51
|
-
repoRoot = resolve(options.repo);
|
|
52
|
-
resolvedBranch = options.branch;
|
|
53
|
-
logInfo(`Repo (override): ${repoRoot}`);
|
|
54
|
-
if (repoOnly) {
|
|
55
|
-
const basics = await getRepositoryBasics(options.repoId).catch(() => null);
|
|
56
|
-
productName = basics?.fullName ?? options.repoId;
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
else if (repoOnly) {
|
|
60
|
-
const gh = await getGitHubConfigByRepository(options.repoId, options.verbose);
|
|
61
|
-
if (!gh.configured || !gh.token || !gh.owner || !gh.repo) {
|
|
62
|
-
logError(`Cannot run quality benchmark: ${gh.message ??
|
|
63
|
-
'GitHub is not configured for this repository. Connect the repo first.'}`);
|
|
64
|
-
process.exit(1);
|
|
65
|
-
}
|
|
66
|
-
const ws = prepareQualityWorkspace({
|
|
67
|
-
owner: gh.owner,
|
|
68
|
-
repo: gh.repo,
|
|
69
|
-
token: gh.token,
|
|
70
|
-
verbose: options.verbose,
|
|
71
|
-
});
|
|
72
|
-
repoRoot = ws.repoPath;
|
|
73
|
-
resolvedBranch = options.branch ?? ws.branch;
|
|
74
|
-
productName = `${gh.owner}/${gh.repo}`;
|
|
75
|
-
logInfo(`Repo: ${repoRoot} (branch: ${resolvedBranch})`);
|
|
76
|
-
}
|
|
77
|
-
else {
|
|
78
|
-
const gh = await getGitHubConfigByProduct(productId, options.verbose);
|
|
79
|
-
if (!gh.configured || !gh.token || !gh.owner || !gh.repo) {
|
|
80
|
-
logError(`Cannot run quality benchmark: ${gh.message ??
|
|
81
|
-
'GitHub is not configured for this product. Connect a repo in product settings.'}`);
|
|
82
|
-
process.exit(1);
|
|
83
|
-
}
|
|
84
|
-
// Default to the product's primary repo; if a specific repo id was passed,
|
|
85
|
-
// resolve its owner/repo so we benchmark that codebase instead.
|
|
86
|
-
let { owner } = gh;
|
|
87
|
-
let { repo } = gh;
|
|
88
|
-
if (options.repoId) {
|
|
89
|
-
const fullName = await resolveRepositoryFullName(options.repoId);
|
|
90
|
-
if (fullName) {
|
|
91
|
-
const [o, r] = fullName.split('/');
|
|
92
|
-
if (o && r) {
|
|
93
|
-
owner = o;
|
|
94
|
-
repo = r;
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
else {
|
|
98
|
-
logWarning(`repo-id ${options.repoId} not found; falling back to the product's primary repo.`);
|
|
99
|
-
repositoryId = null;
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
const ws = prepareQualityWorkspace({
|
|
103
|
-
owner,
|
|
104
|
-
repo,
|
|
105
|
-
token: gh.token,
|
|
106
|
-
verbose: options.verbose,
|
|
107
|
-
});
|
|
108
|
-
repoRoot = ws.repoPath;
|
|
109
|
-
resolvedBranch = options.branch ?? ws.branch;
|
|
110
|
-
logInfo(`Repo: ${repoRoot} (branch: ${resolvedBranch})`);
|
|
111
|
-
}
|
|
112
|
-
if (!installEnabled) {
|
|
113
|
-
logWarning('Install consent NOT granted (--no-install). Missing tools will be marked unmeasured.');
|
|
114
|
-
}
|
|
115
|
-
if (!repoOnly) {
|
|
116
|
-
const basics = await fetchProductBasics(productId).catch(() => ({
|
|
117
|
-
name: productId,
|
|
118
|
-
}));
|
|
119
|
-
productName = basics.name;
|
|
120
|
-
}
|
|
121
|
-
const onProgress = (event) => {
|
|
122
|
-
if (options.verbose) {
|
|
123
|
-
logInfo(`[${event.phase}] ${event.message}`);
|
|
124
|
-
}
|
|
125
|
-
else {
|
|
126
|
-
// Non-verbose: surface phase changes and tool completions only.
|
|
127
|
-
if (event.phase === 'execution' ||
|
|
128
|
-
event.phase === 'synthesis' ||
|
|
129
|
-
event.phase === 'installation') {
|
|
130
|
-
logInfo(`[${event.phase}] ${event.message}`);
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
};
|
|
134
|
-
const outcome = await runQualityBenchmark({
|
|
135
|
-
productId: repoOnly ? '' : productId,
|
|
136
|
-
productName,
|
|
137
|
-
repoRoot,
|
|
138
|
-
branch: resolvedBranch,
|
|
139
|
-
packageManager: options.pkgManager,
|
|
140
|
-
installEnabled,
|
|
141
|
-
onProgress,
|
|
142
|
-
verbose: options.verbose,
|
|
143
|
-
});
|
|
144
|
-
if (outcome.status === 'error') {
|
|
145
|
-
logError(`Quality benchmark failed: ${outcome.message}`);
|
|
146
|
-
if (outcome.lastPhase) {
|
|
147
|
-
logError(`Last phase: ${outcome.lastPhase}`);
|
|
148
|
-
}
|
|
149
|
-
process.exit(1);
|
|
150
|
-
}
|
|
151
|
-
// Write the report to disk (caller persists from there).
|
|
152
|
-
const outputPath = options.output ??
|
|
153
|
-
resolve(process.cwd(), `quality-report-${outcome.commitSha.slice(0, 8)}.json`);
|
|
154
|
-
const reportEnvelope = {
|
|
155
|
-
run_id: outcome.runId,
|
|
156
|
-
product_id: repoOnly ? null : productId,
|
|
157
|
-
repository_id: repositoryId,
|
|
158
|
-
commit_sha: outcome.commitSha,
|
|
159
|
-
branch: resolvedBranch ?? null,
|
|
160
|
-
started_at: outcome.startedAt,
|
|
161
|
-
completed_at: outcome.completedAt,
|
|
162
|
-
duration_seconds: outcome.durationSeconds,
|
|
163
|
-
payload: outcome.report,
|
|
164
|
-
};
|
|
165
|
-
mkdirSync(dirname(outputPath), { recursive: true });
|
|
166
|
-
writeFileSync(outputPath, JSON.stringify(reportEnvelope, null, 2), 'utf8');
|
|
167
|
-
logSuccess(`Report written to ${outputPath}`);
|
|
168
|
-
// Persist to quality_reports unless the caller opted out. Goes through
|
|
169
|
-
// the supabase SDK directly (RLS-scoped), with an MCP fallback for
|
|
170
|
-
// sessions authorized by an MCP token only.
|
|
171
|
-
if (options.save !== false) {
|
|
172
|
-
try {
|
|
173
|
-
const saved = await saveQualityReport({
|
|
174
|
-
product_id: repoOnly ? null : productId,
|
|
175
|
-
repository_id: repositoryId,
|
|
176
|
-
commit_sha: outcome.commitSha,
|
|
177
|
-
rubric_version: outcome.report.rubric_version,
|
|
178
|
-
branch: resolvedBranch ?? null,
|
|
179
|
-
repo_root: repoRoot,
|
|
180
|
-
detected_context: outcome.report.detected_context,
|
|
181
|
-
tool_versions: outcome.report.tool_versions,
|
|
182
|
-
unavailable_tools: outcome.report.unavailable_tools,
|
|
183
|
-
applied_checks: outcome.report.applied_checks,
|
|
184
|
-
tool_outputs: outcome.report.tool_outputs,
|
|
185
|
-
external_signals: outcome.report.external_signals,
|
|
186
|
-
dropped_findings: outcome.report.dropped_findings,
|
|
187
|
-
dimension_scores: outcome.report.dimension_scores,
|
|
188
|
-
overall_score: outcome.report.overall_score,
|
|
189
|
-
overall_grade: outcome.report.overall_grade,
|
|
190
|
-
executive_summary: outcome.report.executive_summary,
|
|
191
|
-
low_confidence: outcome.report.low_confidence,
|
|
192
|
-
status: 'completed',
|
|
193
|
-
started_at: outcome.startedAt,
|
|
194
|
-
completed_at: outcome.completedAt,
|
|
195
|
-
duration_seconds: outcome.durationSeconds,
|
|
196
|
-
replace_existing: options.force === true,
|
|
197
|
-
});
|
|
198
|
-
if (saved.id) {
|
|
199
|
-
logSuccess(`Saved to quality_reports.id = ${saved.id}`);
|
|
200
|
-
}
|
|
201
|
-
}
|
|
202
|
-
catch (err) {
|
|
203
|
-
logWarning(`Failed to persist report (will keep local file): ${err instanceof Error ? err.message : String(err)}`);
|
|
204
|
-
}
|
|
205
|
-
}
|
|
206
|
-
logInfo(`Overall: grade ${outcome.report.overall_grade ?? '?'} (${outcome.report.overall_score ?? '?'})`);
|
|
207
|
-
if (outcome.report.executive_summary) {
|
|
208
|
-
logInfo(outcome.report.executive_summary);
|
|
209
|
-
}
|
|
210
|
-
}
|
|
211
|
-
/** Resolve a repository id to its "owner/repo" full name (RLS-scoped). */
|
|
212
|
-
async function resolveRepositoryFullName(repositoryId) {
|
|
213
|
-
const { data } = await getSupabase()
|
|
214
|
-
.from('repositories')
|
|
215
|
-
.select('full_name')
|
|
216
|
-
.eq('id', repositoryId)
|
|
217
|
-
.maybeSingle();
|
|
218
|
-
return data?.full_name ?? null;
|
|
219
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* CLI command: edsger recipes <productId> --scan-id <id>
|
|
3
|
-
*
|
|
4
|
-
* Clones the product's repo, asks Claude to identify implementation recipes
|
|
5
|
-
* the product uses, and persists them via the recipes / product_recipes
|
|
6
|
-
* tables. The desktop UI creates a pending recipe_scans row first then
|
|
7
|
-
* invokes the CLI with --scan-id; the CLI flips status running →
|
|
8
|
-
* success/failed and writes recipes via the MCP toolkit.
|
|
9
|
-
*/
|
|
10
|
-
export interface RecipesCliOptions {
|
|
11
|
-
scanId: string;
|
|
12
|
-
/** Repo-only mode: scan a single repositories row with no product context. */
|
|
13
|
-
repoId?: string;
|
|
14
|
-
guidance?: string;
|
|
15
|
-
verbose?: boolean;
|
|
16
|
-
}
|
|
17
|
-
export declare function runRecipes(productId: string | undefined, options: RecipesCliOptions): Promise<void>;
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* CLI command: edsger recipes <productId> --scan-id <id>
|
|
3
|
-
*
|
|
4
|
-
* Clones the product's repo, asks Claude to identify implementation recipes
|
|
5
|
-
* the product uses, and persists them via the recipes / product_recipes
|
|
6
|
-
* tables. The desktop UI creates a pending recipe_scans row first then
|
|
7
|
-
* invokes the CLI with --scan-id; the CLI flips status running →
|
|
8
|
-
* success/failed and writes recipes via the MCP toolkit.
|
|
9
|
-
*/
|
|
10
|
-
import { runRecipesPhase } from '../../phases/recipes/index.js';
|
|
11
|
-
import { logError, logInfo, logSuccess } from '../../utils/logger.js';
|
|
12
|
-
export async function runRecipes(productId, options) {
|
|
13
|
-
const { scanId, repoId, guidance, verbose } = options;
|
|
14
|
-
if (!productId && !repoId) {
|
|
15
|
-
throw new Error('Either a product ID or --repo-id is required for recipes');
|
|
16
|
-
}
|
|
17
|
-
if (!scanId) {
|
|
18
|
-
throw new Error('--scan-id is required (the pending recipe_scans row id)');
|
|
19
|
-
}
|
|
20
|
-
if (productId) {
|
|
21
|
-
logInfo(`Starting recipes scan for product ${productId}`);
|
|
22
|
-
}
|
|
23
|
-
else {
|
|
24
|
-
logInfo(`Starting recipes scan for repository ${repoId}`);
|
|
25
|
-
}
|
|
26
|
-
const result = await runRecipesPhase({
|
|
27
|
-
productId,
|
|
28
|
-
repoId,
|
|
29
|
-
scanId,
|
|
30
|
-
guidance,
|
|
31
|
-
verbose,
|
|
32
|
-
});
|
|
33
|
-
if (result.status === 'success') {
|
|
34
|
-
logSuccess(result.message);
|
|
35
|
-
}
|
|
36
|
-
else {
|
|
37
|
-
logError(result.message);
|
|
38
|
-
process.exit(1);
|
|
39
|
-
}
|
|
40
|
-
}
|
|
@@ -1,134 +0,0 @@
|
|
|
1
|
-
import { query } from '@anthropic-ai/claude-agent-sdk';
|
|
2
|
-
import { DEFAULT_MODEL } from '../../constants.js';
|
|
3
|
-
import { logDebug, logError, logInfo, logSuccess, logWarning, } from '../../utils/logger.js';
|
|
4
|
-
import { validateConfiguration } from '../../utils/validation.js';
|
|
5
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
6
|
-
function logAssistantContent(content, verbose) {
|
|
7
|
-
for (const item of content) {
|
|
8
|
-
if (item.type === 'text') {
|
|
9
|
-
logDebug(`🤖 ${item.text}`, verbose);
|
|
10
|
-
}
|
|
11
|
-
else if (item.type === 'tool_use') {
|
|
12
|
-
logDebug(`🔧 ${item.name}: ${item.input.description || item.input.command || 'Running...'}`, verbose);
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
export const runRefactor = async (options) => {
|
|
17
|
-
// Load and validate configuration
|
|
18
|
-
const config = validateConfiguration(options);
|
|
19
|
-
if (options.verbose) {
|
|
20
|
-
logInfo('Starting automatic code refactoring for current directory...');
|
|
21
|
-
}
|
|
22
|
-
logInfo('Analyzing and refactoring code...');
|
|
23
|
-
try {
|
|
24
|
-
const refactorPrompt = createRefactorPrompt(config);
|
|
25
|
-
const systemPrompt = createSystemPrompt();
|
|
26
|
-
let hasCompleted = false;
|
|
27
|
-
for await (const message of query({
|
|
28
|
-
prompt: refactorPrompt,
|
|
29
|
-
options: {
|
|
30
|
-
systemPrompt: {
|
|
31
|
-
type: 'preset',
|
|
32
|
-
preset: 'claude_code',
|
|
33
|
-
append: systemPrompt,
|
|
34
|
-
},
|
|
35
|
-
model: DEFAULT_MODEL,
|
|
36
|
-
permissionMode: 'bypassPermissions',
|
|
37
|
-
},
|
|
38
|
-
})) {
|
|
39
|
-
// Stream the refactoring process
|
|
40
|
-
if (message.type === 'assistant') {
|
|
41
|
-
logAssistantContent(message.message?.content ?? [], options.verbose);
|
|
42
|
-
continue;
|
|
43
|
-
}
|
|
44
|
-
if (message.type !== 'result') {
|
|
45
|
-
continue;
|
|
46
|
-
}
|
|
47
|
-
hasCompleted = true;
|
|
48
|
-
if (message.subtype === 'success') {
|
|
49
|
-
logSuccess('Code refactoring completed successfully');
|
|
50
|
-
process.exit(0);
|
|
51
|
-
}
|
|
52
|
-
else {
|
|
53
|
-
logError(`Refactoring incomplete: ${message.subtype}`);
|
|
54
|
-
if (message.subtype === 'error_max_turns') {
|
|
55
|
-
logWarning('Try simplifying the codebase or increase timeout');
|
|
56
|
-
}
|
|
57
|
-
process.exit(1);
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
if (!hasCompleted) {
|
|
61
|
-
logError('Refactoring process did not complete');
|
|
62
|
-
process.exit(1);
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
catch (error) {
|
|
66
|
-
logError(`Refactoring failed: ${error instanceof Error ? error.message : String(error)}`);
|
|
67
|
-
process.exit(1);
|
|
68
|
-
}
|
|
69
|
-
};
|
|
70
|
-
const createSystemPrompt = () => {
|
|
71
|
-
return `You are an expert code refactoring assistant using Claude Code. Your task is to analyze and AUTOMATICALLY REFACTOR code in the current directory to improve quality and maintainability.
|
|
72
|
-
|
|
73
|
-
IMPORTANT INSTRUCTIONS:
|
|
74
|
-
1. Use the Bash tool to explore the project structure (ls, find, etc.)
|
|
75
|
-
2. Use the Read tool to examine file contents
|
|
76
|
-
3. Use the Grep tool to search for patterns, code smells, or duplications
|
|
77
|
-
4. Use the Edit tool to DIRECTLY apply refactoring changes
|
|
78
|
-
5. You have FULL PERMISSION to make refactoring changes without asking for confirmation
|
|
79
|
-
|
|
80
|
-
REFACTORING FOCUS AREAS (prioritized):
|
|
81
|
-
1. Code duplication and DRY violations (HIGHEST PRIORITY)
|
|
82
|
-
2. Complex functions that need simplification
|
|
83
|
-
3. Poor naming conventions
|
|
84
|
-
4. Missing type annotations (TypeScript)
|
|
85
|
-
5. Inefficient algorithms or data structures
|
|
86
|
-
6. Code organization and structure
|
|
87
|
-
7. Missing or inadequate error handling
|
|
88
|
-
8. Opportunities for better abstraction
|
|
89
|
-
9. Performance improvements
|
|
90
|
-
|
|
91
|
-
WORKFLOW:
|
|
92
|
-
1. First, explore the project structure to understand the codebase
|
|
93
|
-
2. Identify files that would benefit from refactoring
|
|
94
|
-
3. Analyze specific issues and patterns (focus on high-impact issues first)
|
|
95
|
-
4. For each issue found:
|
|
96
|
-
- Explain what you're refactoring and why
|
|
97
|
-
- Apply the refactoring using the Edit tool
|
|
98
|
-
- Verify the change is correct
|
|
99
|
-
5. Continue until all high-priority refactorings are complete or you run out of turns
|
|
100
|
-
|
|
101
|
-
SAFETY GUIDELINES:
|
|
102
|
-
- Start with safest refactorings (extract utilities, remove duplication)
|
|
103
|
-
- Preserve existing functionality - only improve structure/quality
|
|
104
|
-
- Focus on non-breaking changes
|
|
105
|
-
- Make atomic commits for each logical refactoring
|
|
106
|
-
|
|
107
|
-
IMPORTANT: You should DIRECTLY perform refactorings without asking for permission. The user has granted you full bypass authority to improve the code.`;
|
|
108
|
-
};
|
|
109
|
-
const createRefactorPrompt = (config) => {
|
|
110
|
-
return `Please analyze and REFACTOR the code in the current directory. You have full permission to make improvements directly.
|
|
111
|
-
|
|
112
|
-
TASK: Automatically identify and fix code quality issues
|
|
113
|
-
|
|
114
|
-
Steps to follow:
|
|
115
|
-
1. Start by running "ls -la" to see the project structure
|
|
116
|
-
2. Identify key source files (focus on patterns: ${config.patterns.join(', ')})
|
|
117
|
-
3. Read and analyze relevant source files
|
|
118
|
-
4. Look for HIGH-PRIORITY issues:
|
|
119
|
-
- Code duplication (MOST IMPORTANT - fix first)
|
|
120
|
-
- Complex or long functions
|
|
121
|
-
- Poor naming
|
|
122
|
-
- Missing types or documentation
|
|
123
|
-
- Error handling issues
|
|
124
|
-
- Performance bottlenecks
|
|
125
|
-
5. For EACH issue found, IMMEDIATELY apply the fix:
|
|
126
|
-
- Use the Edit tool to make the change
|
|
127
|
-
- Explain what you changed and why
|
|
128
|
-
- Move to the next issue
|
|
129
|
-
6. Continue refactoring until all high-priority issues are addressed
|
|
130
|
-
|
|
131
|
-
IMPORTANT: Do NOT ask for permission. You have full bypass authority to improve the code directly. Start refactoring immediately after analysis.
|
|
132
|
-
|
|
133
|
-
Start by exploring the current directory structure and begin refactoring.`;
|
|
134
|
-
};
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { runReleaseSync, } from '../../phases/release-sync/index.js';
|
|
2
|
-
import { deregisterSession, registerSession, } from '../../system/session-manager.js';
|
|
3
|
-
import { logError, logInfo } from '../../utils/logger.js';
|
|
4
|
-
import { validateConfiguration } from '../../utils/validation.js';
|
|
5
|
-
export const runReleaseSyncCommand = async (options) => {
|
|
6
|
-
const { productId } = options;
|
|
7
|
-
if (!productId) {
|
|
8
|
-
throw new Error('Product ID is required for release-sync');
|
|
9
|
-
}
|
|
10
|
-
const config = validateConfiguration({
|
|
11
|
-
verbose: options.verbose,
|
|
12
|
-
});
|
|
13
|
-
await registerSession({ command: 'release-sync', productId });
|
|
14
|
-
logInfo(`Starting release sync for product: ${productId}`);
|
|
15
|
-
try {
|
|
16
|
-
const result = await runReleaseSync({
|
|
17
|
-
productId,
|
|
18
|
-
verbose: options.verbose,
|
|
19
|
-
}, config);
|
|
20
|
-
if (result.status === 'success') {
|
|
21
|
-
logInfo(result.summary);
|
|
22
|
-
for (const r of result.syncedReleases ?? []) {
|
|
23
|
-
logInfo(` - ${r.tag}${r.isSnapshot ? ' (snapshot)' : ''}`);
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
else {
|
|
27
|
-
logError(`Release sync failed: ${result.summary}`);
|
|
28
|
-
process.exitCode = 1;
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
catch (error) {
|
|
32
|
-
logError(`Release sync failed: ${error instanceof Error ? error.message : String(error)}`);
|
|
33
|
-
process.exitCode = 1;
|
|
34
|
-
}
|
|
35
|
-
finally {
|
|
36
|
-
await deregisterSession();
|
|
37
|
-
}
|
|
38
|
-
};
|