@pennyfarthing/core 7.4.0 → 7.5.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/dist/cli/utils/files.d.ts +0 -1
- package/dist/cli/utils/files.js +73 -56
- package/dist/cli/utils/manifest.d.ts +0 -1
- package/dist/cli/utils/manifest.js +48 -45
- package/dist/cli/utils/version.d.ts +0 -1
- package/dist/cli/utils/version.js +38 -32
- package/dist/index.d.ts +0 -1
- package/dist/index.js +39 -11
- package/dist/permissions/index.d.ts +0 -1
- package/dist/permissions/index.js +7 -4
- package/dist/permissions/permission-schema.d.ts +0 -1
- package/dist/permissions/permission-schema.js +13 -9
- package/dist/scripts/job-fair-aggregator.d.ts +0 -1
- package/dist/scripts/job-fair-aggregator.js +484 -341
- package/dist/workflow/index.d.ts +0 -1
- package/dist/workflow/index.js +12 -5
- package/dist/workflow/workflow-loader.d.ts +0 -1
- package/dist/workflow/workflow-loader.js +40 -34
- package/dist/workflow/workflow-permissions.d.ts +0 -1
- package/dist/workflow/workflow-permissions.js +14 -8
- package/dist/workflow/workflow-router.d.ts +0 -1
- package/dist/workflow/workflow-router.js +70 -51
- package/dist/workflow/workflow-schema.d.ts +0 -1
- package/dist/workflow/workflow-schema.js +62 -59
- package/package.json +1 -1
- package/dist/bmad/context-reader.d.ts +0 -71
- package/dist/bmad/context-reader.d.ts.map +0 -1
- package/dist/bmad/context-reader.js +0 -369
- package/dist/bmad/context-reader.js.map +0 -1
- package/dist/bmad/context-reader.test.d.ts +0 -71
- package/dist/bmad/context-reader.test.d.ts.map +0 -1
- package/dist/bmad/context-reader.test.js +0 -878
- package/dist/bmad/context-reader.test.js.map +0 -1
- package/dist/bmad/epics-parser.d.ts +0 -61
- package/dist/bmad/epics-parser.d.ts.map +0 -1
- package/dist/bmad/epics-parser.js +0 -331
- package/dist/bmad/epics-parser.js.map +0 -1
- package/dist/bmad/epics-parser.test.d.ts +0 -7
- package/dist/bmad/epics-parser.test.d.ts.map +0 -1
- package/dist/bmad/epics-parser.test.js +0 -449
- package/dist/bmad/epics-parser.test.js.map +0 -1
- package/dist/bmad/index.d.ts +0 -11
- package/dist/bmad/index.d.ts.map +0 -1
- package/dist/bmad/index.js +0 -24
- package/dist/bmad/index.js.map +0 -1
- package/dist/bmad/status-sync.d.ts +0 -173
- package/dist/bmad/status-sync.d.ts.map +0 -1
- package/dist/bmad/status-sync.js +0 -463
- package/dist/bmad/status-sync.js.map +0 -1
- package/dist/bmad/status-sync.test.d.ts +0 -7
- package/dist/bmad/status-sync.test.d.ts.map +0 -1
- package/dist/bmad/status-sync.test.js +0 -702
- package/dist/bmad/status-sync.test.js.map +0 -1
- package/dist/bmad/story-exporter.d.ts +0 -55
- package/dist/bmad/story-exporter.d.ts.map +0 -1
- package/dist/bmad/story-exporter.js +0 -170
- package/dist/bmad/story-exporter.js.map +0 -1
- package/dist/bmad/story-exporter.test.d.ts +0 -51
- package/dist/bmad/story-exporter.test.d.ts.map +0 -1
- package/dist/bmad/story-exporter.test.js +0 -603
- package/dist/bmad/story-exporter.test.js.map +0 -1
- package/dist/bmad/story-parser.d.ts +0 -44
- package/dist/bmad/story-parser.d.ts.map +0 -1
- package/dist/bmad/story-parser.js +0 -307
- package/dist/bmad/story-parser.js.map +0 -1
- package/dist/bmad/story-parser.test.d.ts +0 -44
- package/dist/bmad/story-parser.test.d.ts.map +0 -1
- package/dist/bmad/story-parser.test.js +0 -693
- package/dist/bmad/story-parser.test.js.map +0 -1
- package/dist/cli/commands/command.d.ts +0 -28
- package/dist/cli/commands/command.d.ts.map +0 -1
- package/dist/cli/commands/command.js +0 -399
- package/dist/cli/commands/command.js.map +0 -1
- package/dist/cli/commands/cyclist.d.ts +0 -46
- package/dist/cli/commands/cyclist.d.ts.map +0 -1
- package/dist/cli/commands/cyclist.js +0 -196
- package/dist/cli/commands/cyclist.js.map +0 -1
- package/dist/cli/commands/cyclist.test.d.ts +0 -13
- package/dist/cli/commands/cyclist.test.d.ts.map +0 -1
- package/dist/cli/commands/cyclist.test.js +0 -245
- package/dist/cli/commands/cyclist.test.js.map +0 -1
- package/dist/cli/commands/doctor.d.ts +0 -9
- package/dist/cli/commands/doctor.d.ts.map +0 -1
- package/dist/cli/commands/doctor.js +0 -652
- package/dist/cli/commands/doctor.js.map +0 -1
- package/dist/cli/commands/init.d.ts +0 -8
- package/dist/cli/commands/init.d.ts.map +0 -1
- package/dist/cli/commands/init.js +0 -524
- package/dist/cli/commands/init.js.map +0 -1
- package/dist/cli/commands/skill.d.ts +0 -28
- package/dist/cli/commands/skill.d.ts.map +0 -1
- package/dist/cli/commands/skill.js +0 -416
- package/dist/cli/commands/skill.js.map +0 -1
- package/dist/cli/commands/theme.d.ts +0 -21
- package/dist/cli/commands/theme.d.ts.map +0 -1
- package/dist/cli/commands/theme.js +0 -201
- package/dist/cli/commands/theme.js.map +0 -1
- package/dist/cli/commands/uninstall.d.ts +0 -8
- package/dist/cli/commands/uninstall.d.ts.map +0 -1
- package/dist/cli/commands/uninstall.js +0 -237
- package/dist/cli/commands/uninstall.js.map +0 -1
- package/dist/cli/commands/update.d.ts +0 -9
- package/dist/cli/commands/update.d.ts.map +0 -1
- package/dist/cli/commands/update.js +0 -418
- package/dist/cli/commands/update.js.map +0 -1
- package/dist/cli/commands/version.d.ts +0 -2
- package/dist/cli/commands/version.d.ts.map +0 -1
- package/dist/cli/commands/version.js +0 -28
- package/dist/cli/commands/version.js.map +0 -1
- package/dist/cli/customization.test.d.ts +0 -12
- package/dist/cli/customization.test.d.ts.map +0 -1
- package/dist/cli/customization.test.js +0 -84
- package/dist/cli/customization.test.js.map +0 -1
- package/dist/cli/cyclist-migration.test.d.ts +0 -16
- package/dist/cli/cyclist-migration.test.d.ts.map +0 -1
- package/dist/cli/cyclist-migration.test.js +0 -225
- package/dist/cli/cyclist-migration.test.js.map +0 -1
- package/dist/cli/index.d.ts +0 -3
- package/dist/cli/index.d.ts.map +0 -1
- package/dist/cli/index.js +0 -174
- package/dist/cli/index.js.map +0 -1
- package/dist/cli/ocean-profiles.test.d.ts +0 -13
- package/dist/cli/ocean-profiles.test.d.ts.map +0 -1
- package/dist/cli/ocean-profiles.test.js +0 -134
- package/dist/cli/ocean-profiles.test.js.map +0 -1
- package/dist/cli/theme-maker.test.d.ts +0 -11
- package/dist/cli/theme-maker.test.d.ts.map +0 -1
- package/dist/cli/theme-maker.test.js +0 -356
- package/dist/cli/theme-maker.test.js.map +0 -1
- package/dist/cli/utils/constants.d.ts +0 -66
- package/dist/cli/utils/constants.d.ts.map +0 -1
- package/dist/cli/utils/constants.js +0 -54
- package/dist/cli/utils/constants.js.map +0 -1
- package/dist/cli/utils/files.d.ts.map +0 -1
- package/dist/cli/utils/files.js.map +0 -1
- package/dist/cli/utils/logger.d.ts +0 -26
- package/dist/cli/utils/logger.d.ts.map +0 -1
- package/dist/cli/utils/logger.js +0 -88
- package/dist/cli/utils/logger.js.map +0 -1
- package/dist/cli/utils/manifest.d.ts.map +0 -1
- package/dist/cli/utils/manifest.js.map +0 -1
- package/dist/cli/utils/node-modules.d.ts +0 -6
- package/dist/cli/utils/node-modules.d.ts.map +0 -1
- package/dist/cli/utils/node-modules.js +0 -31
- package/dist/cli/utils/node-modules.js.map +0 -1
- package/dist/cli/utils/prompts.d.ts +0 -34
- package/dist/cli/utils/prompts.d.ts.map +0 -1
- package/dist/cli/utils/prompts.js +0 -93
- package/dist/cli/utils/prompts.js.map +0 -1
- package/dist/cli/utils/symlinks.d.ts +0 -29
- package/dist/cli/utils/symlinks.d.ts.map +0 -1
- package/dist/cli/utils/symlinks.js +0 -181
- package/dist/cli/utils/symlinks.js.map +0 -1
- package/dist/cli/utils/themes.d.ts +0 -101
- package/dist/cli/utils/themes.d.ts.map +0 -1
- package/dist/cli/utils/themes.js +0 -373
- package/dist/cli/utils/themes.js.map +0 -1
- package/dist/cli/utils/themes.test.d.ts +0 -12
- package/dist/cli/utils/themes.test.d.ts.map +0 -1
- package/dist/cli/utils/themes.test.js +0 -147
- package/dist/cli/utils/themes.test.js.map +0 -1
- package/dist/cli/utils/version.d.ts.map +0 -1
- package/dist/cli/utils/version.js.map +0 -1
- package/dist/cli/workspace.test.d.ts +0 -8
- package/dist/cli/workspace.test.d.ts.map +0 -1
- package/dist/cli/workspace.test.js +0 -151
- package/dist/cli/workspace.test.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/jira/jira-epic-creation.d.ts +0 -109
- package/dist/jira/jira-epic-creation.d.ts.map +0 -1
- package/dist/jira/jira-epic-creation.js +0 -253
- package/dist/jira/jira-epic-creation.js.map +0 -1
- package/dist/jira/jira-epic-creation.test.d.ts +0 -16
- package/dist/jira/jira-epic-creation.test.d.ts.map +0 -1
- package/dist/jira/jira-epic-creation.test.js +0 -387
- package/dist/jira/jira-epic-creation.test.js.map +0 -1
- package/dist/jira/jira-sprint-sync.d.ts +0 -247
- package/dist/jira/jira-sprint-sync.d.ts.map +0 -1
- package/dist/jira/jira-sprint-sync.js +0 -670
- package/dist/jira/jira-sprint-sync.js.map +0 -1
- package/dist/jira/jira-sprint-sync.test.d.ts +0 -16
- package/dist/jira/jira-sprint-sync.test.d.ts.map +0 -1
- package/dist/jira/jira-sprint-sync.test.js +0 -845
- package/dist/jira/jira-sprint-sync.test.js.map +0 -1
- package/dist/permissions/index.d.ts.map +0 -1
- package/dist/permissions/index.js.map +0 -1
- package/dist/permissions/permission-schema.d.ts.map +0 -1
- package/dist/permissions/permission-schema.js.map +0 -1
- package/dist/permissions/permission-schema.test.d.ts +0 -40
- package/dist/permissions/permission-schema.test.d.ts.map +0 -1
- package/dist/permissions/permission-schema.test.js +0 -367
- package/dist/permissions/permission-schema.test.js.map +0 -1
- package/dist/scripts/add-ocean-profiles.d.ts +0 -9
- package/dist/scripts/add-ocean-profiles.d.ts.map +0 -1
- package/dist/scripts/add-ocean-profiles.js +0 -695
- package/dist/scripts/add-ocean-profiles.js.map +0 -1
- package/dist/scripts/benchmark-integration.d.ts +0 -182
- package/dist/scripts/benchmark-integration.d.ts.map +0 -1
- package/dist/scripts/benchmark-integration.js +0 -691
- package/dist/scripts/benchmark-integration.js.map +0 -1
- package/dist/scripts/benchmark-integration.test.d.ts +0 -13
- package/dist/scripts/benchmark-integration.test.d.ts.map +0 -1
- package/dist/scripts/benchmark-integration.test.js +0 -680
- package/dist/scripts/benchmark-integration.test.js.map +0 -1
- package/dist/scripts/debugging-scenarios.test.d.ts +0 -18
- package/dist/scripts/debugging-scenarios.test.d.ts.map +0 -1
- package/dist/scripts/debugging-scenarios.test.js +0 -317
- package/dist/scripts/debugging-scenarios.test.js.map +0 -1
- package/dist/scripts/generate-all-spiders.d.ts +0 -10
- package/dist/scripts/generate-all-spiders.d.ts.map +0 -1
- package/dist/scripts/generate-all-spiders.js +0 -306
- package/dist/scripts/generate-all-spiders.js.map +0 -1
- package/dist/scripts/generate-report.d.ts +0 -65
- package/dist/scripts/generate-report.d.ts.map +0 -1
- package/dist/scripts/generate-report.js +0 -378
- package/dist/scripts/generate-report.js.map +0 -1
- package/dist/scripts/generate-report.test.d.ts +0 -13
- package/dist/scripts/generate-report.test.d.ts.map +0 -1
- package/dist/scripts/generate-report.test.js +0 -363
- package/dist/scripts/generate-report.test.js.map +0 -1
- package/dist/scripts/generate-spider-report.d.ts +0 -65
- package/dist/scripts/generate-spider-report.d.ts.map +0 -1
- package/dist/scripts/generate-spider-report.js +0 -366
- package/dist/scripts/generate-spider-report.js.map +0 -1
- package/dist/scripts/generate-spider-report.test.d.ts +0 -13
- package/dist/scripts/generate-spider-report.test.d.ts.map +0 -1
- package/dist/scripts/generate-spider-report.test.js +0 -367
- package/dist/scripts/generate-spider-report.test.js.map +0 -1
- package/dist/scripts/generate-spider.d.ts +0 -47
- package/dist/scripts/generate-spider.d.ts.map +0 -1
- package/dist/scripts/generate-spider.js +0 -338
- package/dist/scripts/generate-spider.js.map +0 -1
- package/dist/scripts/generate-spider.test.d.ts +0 -14
- package/dist/scripts/generate-spider.test.d.ts.map +0 -1
- package/dist/scripts/generate-spider.test.js +0 -271
- package/dist/scripts/generate-spider.test.js.map +0 -1
- package/dist/scripts/job-fair-aggregator.d.ts.map +0 -1
- package/dist/scripts/job-fair-aggregator.js.map +0 -1
- package/dist/scripts/job-fair-aggregator.test.d.ts +0 -14
- package/dist/scripts/job-fair-aggregator.test.d.ts.map +0 -1
- package/dist/scripts/job-fair-aggregator.test.js +0 -616
- package/dist/scripts/job-fair-aggregator.test.js.map +0 -1
- package/dist/scripts/run-ci.test.d.ts +0 -20
- package/dist/scripts/run-ci.test.d.ts.map +0 -1
- package/dist/scripts/run-ci.test.js +0 -127
- package/dist/scripts/run-ci.test.js.map +0 -1
- package/dist/scripts/theme-detail.test.d.ts +0 -10
- package/dist/scripts/theme-detail.test.d.ts.map +0 -1
- package/dist/scripts/theme-detail.test.js +0 -199
- package/dist/scripts/theme-detail.test.js.map +0 -1
- package/dist/scripts/validate-ocean-profiles.d.ts +0 -9
- package/dist/scripts/validate-ocean-profiles.d.ts.map +0 -1
- package/dist/scripts/validate-ocean-profiles.js +0 -130
- package/dist/scripts/validate-ocean-profiles.js.map +0 -1
- package/dist/workflow/gate-handler.d.ts +0 -94
- package/dist/workflow/gate-handler.d.ts.map +0 -1
- package/dist/workflow/gate-handler.js +0 -189
- package/dist/workflow/gate-handler.js.map +0 -1
- package/dist/workflow/gate-handler.test.d.ts +0 -14
- package/dist/workflow/gate-handler.test.d.ts.map +0 -1
- package/dist/workflow/gate-handler.test.js +0 -543
- package/dist/workflow/gate-handler.test.js.map +0 -1
- package/dist/workflow/generic-handoff.d.ts +0 -281
- package/dist/workflow/generic-handoff.d.ts.map +0 -1
- package/dist/workflow/generic-handoff.js +0 -411
- package/dist/workflow/generic-handoff.js.map +0 -1
- package/dist/workflow/generic-handoff.test.d.ts +0 -21
- package/dist/workflow/generic-handoff.test.d.ts.map +0 -1
- package/dist/workflow/generic-handoff.test.js +0 -499
- package/dist/workflow/generic-handoff.test.js.map +0 -1
- package/dist/workflow/generic-sm-finish.d.ts +0 -89
- package/dist/workflow/generic-sm-finish.d.ts.map +0 -1
- package/dist/workflow/generic-sm-finish.js +0 -157
- package/dist/workflow/generic-sm-finish.js.map +0 -1
- package/dist/workflow/generic-sm-setup.d.ts +0 -138
- package/dist/workflow/generic-sm-setup.d.ts.map +0 -1
- package/dist/workflow/generic-sm-setup.js +0 -382
- package/dist/workflow/generic-sm-setup.js.map +0 -1
- package/dist/workflow/index.d.ts.map +0 -1
- package/dist/workflow/index.js.map +0 -1
- package/dist/workflow/session-state.d.ts +0 -92
- package/dist/workflow/session-state.d.ts.map +0 -1
- package/dist/workflow/session-state.js +0 -198
- package/dist/workflow/session-state.js.map +0 -1
- package/dist/workflow/session-state.test.d.ts +0 -8
- package/dist/workflow/session-state.test.d.ts.map +0 -1
- package/dist/workflow/session-state.test.js +0 -551
- package/dist/workflow/session-state.test.js.map +0 -1
- package/dist/workflow/sm-subagents.test.d.ts +0 -23
- package/dist/workflow/sm-subagents.test.d.ts.map +0 -1
- package/dist/workflow/sm-subagents.test.js +0 -727
- package/dist/workflow/sm-subagents.test.js.map +0 -1
- package/dist/workflow/step-parser.d.ts +0 -45
- package/dist/workflow/step-parser.d.ts.map +0 -1
- package/dist/workflow/step-parser.js +0 -147
- package/dist/workflow/step-parser.js.map +0 -1
- package/dist/workflow/step-parser.test.d.ts +0 -14
- package/dist/workflow/step-parser.test.d.ts.map +0 -1
- package/dist/workflow/step-parser.test.js +0 -470
- package/dist/workflow/step-parser.test.js.map +0 -1
- package/dist/workflow/story-workflow-routing.test.d.ts +0 -17
- package/dist/workflow/story-workflow-routing.test.d.ts.map +0 -1
- package/dist/workflow/story-workflow-routing.test.js +0 -559
- package/dist/workflow/story-workflow-routing.test.js.map +0 -1
- package/dist/workflow/test-cache.d.ts +0 -131
- package/dist/workflow/test-cache.d.ts.map +0 -1
- package/dist/workflow/test-cache.js +0 -226
- package/dist/workflow/test-cache.js.map +0 -1
- package/dist/workflow/test-cache.test.d.ts +0 -17
- package/dist/workflow/test-cache.test.d.ts.map +0 -1
- package/dist/workflow/test-cache.test.js +0 -438
- package/dist/workflow/test-cache.test.js.map +0 -1
- package/dist/workflow/trimodal.d.ts +0 -86
- package/dist/workflow/trimodal.d.ts.map +0 -1
- package/dist/workflow/trimodal.js +0 -118
- package/dist/workflow/trimodal.js.map +0 -1
- package/dist/workflow/trimodal.test.d.ts +0 -11
- package/dist/workflow/trimodal.test.d.ts.map +0 -1
- package/dist/workflow/trimodal.test.js +0 -395
- package/dist/workflow/trimodal.test.js.map +0 -1
- package/dist/workflow/variable-resolver.d.ts +0 -67
- package/dist/workflow/variable-resolver.d.ts.map +0 -1
- package/dist/workflow/variable-resolver.js +0 -156
- package/dist/workflow/variable-resolver.js.map +0 -1
- package/dist/workflow/variable-resolver.test.d.ts +0 -14
- package/dist/workflow/variable-resolver.test.d.ts.map +0 -1
- package/dist/workflow/variable-resolver.test.js +0 -400
- package/dist/workflow/variable-resolver.test.js.map +0 -1
- package/dist/workflow/workflow-executor.d.ts +0 -163
- package/dist/workflow/workflow-executor.d.ts.map +0 -1
- package/dist/workflow/workflow-executor.js +0 -197
- package/dist/workflow/workflow-executor.js.map +0 -1
- package/dist/workflow/workflow-executor.test.d.ts +0 -8
- package/dist/workflow/workflow-executor.test.d.ts.map +0 -1
- package/dist/workflow/workflow-executor.test.js +0 -444
- package/dist/workflow/workflow-executor.test.js.map +0 -1
- package/dist/workflow/workflow-loader.d.ts.map +0 -1
- package/dist/workflow/workflow-loader.js.map +0 -1
- package/dist/workflow/workflow-loader.test.d.ts +0 -15
- package/dist/workflow/workflow-loader.test.d.ts.map +0 -1
- package/dist/workflow/workflow-loader.test.js +0 -354
- package/dist/workflow/workflow-loader.test.js.map +0 -1
- package/dist/workflow/workflow-migration.test.d.ts +0 -17
- package/dist/workflow/workflow-migration.test.d.ts.map +0 -1
- package/dist/workflow/workflow-migration.test.js +0 -371
- package/dist/workflow/workflow-migration.test.js.map +0 -1
- package/dist/workflow/workflow-permissions.d.ts.map +0 -1
- package/dist/workflow/workflow-permissions.js.map +0 -1
- package/dist/workflow/workflow-permissions.test.d.ts +0 -15
- package/dist/workflow/workflow-permissions.test.d.ts.map +0 -1
- package/dist/workflow/workflow-permissions.test.js +0 -301
- package/dist/workflow/workflow-permissions.test.js.map +0 -1
- package/dist/workflow/workflow-router.d.ts.map +0 -1
- package/dist/workflow/workflow-router.js.map +0 -1
- package/dist/workflow/workflow-router.test.d.ts +0 -20
- package/dist/workflow/workflow-router.test.d.ts.map +0 -1
- package/dist/workflow/workflow-router.test.js +0 -607
- package/dist/workflow/workflow-router.test.js.map +0 -1
- package/dist/workflow/workflow-schema.d.ts.map +0 -1
- package/dist/workflow/workflow-schema.js.map +0 -1
- package/dist/workflow/workflow-schema.test.d.ts +0 -45
- package/dist/workflow/workflow-schema.test.d.ts.map +0 -1
- package/dist/workflow/workflow-schema.test.js +0 -512
- package/dist/workflow/workflow-schema.test.js.map +0 -1
- package/dist/workflow/workflow-stepped-schema.test.d.ts +0 -18
- package/dist/workflow/workflow-stepped-schema.test.d.ts.map +0 -1
- package/dist/workflow/workflow-stepped-schema.test.js +0 -608
- package/dist/workflow/workflow-stepped-schema.test.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/cli/utils/logger.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/manifest.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,SAAS,GAAG,MAAM,CAAC;IACrC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAID;;GAEG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAE3D;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAajE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,QAAQ,EAClB,OAAO,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GAC7B,IAAI,CAaN;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE;IACP,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,GACA,QAAQ,CAuBV;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACjC,YAAY,CAAC,EAAE,MAAM,EAAE,GACtB,QAAQ,CAQV;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGtE"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../../src/cli/utils/manifest.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Find pennyfarthing in node_modules (handles monorepo hoisting)
|
|
3
|
-
* Returns the absolute path to pennyfarthing-dist/ or null if not found
|
|
4
|
-
*/
|
|
5
|
-
export declare function findNodeModulesPath(projectRoot: string): string | null;
|
|
6
|
-
//# sourceMappingURL=node-modules.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"node-modules.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/node-modules.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAwBtE"}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { join, dirname } from 'path';
|
|
2
|
-
import { pathExists } from './files.js';
|
|
3
|
-
/**
|
|
4
|
-
* Find pennyfarthing in node_modules (handles monorepo hoisting)
|
|
5
|
-
* Returns the absolute path to pennyfarthing-dist/ or null if not found
|
|
6
|
-
*/
|
|
7
|
-
export function findNodeModulesPath(projectRoot) {
|
|
8
|
-
// Package locations to check (in priority order)
|
|
9
|
-
const packagePaths = [
|
|
10
|
-
'@pennyfarthing/core/pennyfarthing-dist', // Scoped package (current)
|
|
11
|
-
'pennyfarthing/pennyfarthing-dist', // Legacy unscoped package
|
|
12
|
-
];
|
|
13
|
-
// Check standard location first
|
|
14
|
-
for (const pkgPath of packagePaths) {
|
|
15
|
-
const standard = join(projectRoot, 'node_modules', pkgPath);
|
|
16
|
-
if (pathExists(standard))
|
|
17
|
-
return standard;
|
|
18
|
-
}
|
|
19
|
-
// Check hoisted locations (monorepo)
|
|
20
|
-
let dir = dirname(projectRoot);
|
|
21
|
-
while (dir !== '/' && dir !== dirname(dir)) {
|
|
22
|
-
for (const pkgPath of packagePaths) {
|
|
23
|
-
const hoisted = join(dir, 'node_modules', pkgPath);
|
|
24
|
-
if (pathExists(hoisted))
|
|
25
|
-
return hoisted;
|
|
26
|
-
}
|
|
27
|
-
dir = dirname(dir);
|
|
28
|
-
}
|
|
29
|
-
return null;
|
|
30
|
-
}
|
|
31
|
-
//# sourceMappingURL=node-modules.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"node-modules.js","sourceRoot":"","sources":["../../../src/cli/utils/node-modules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,WAAmB;IACrD,iDAAiD;IACjD,MAAM,YAAY,GAAG;QACnB,wCAAwC,EAAG,2BAA2B;QACtE,kCAAkC,EAAU,0BAA0B;KACvE,CAAC;IAEF,gCAAgC;IAChC,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;QAC5D,IAAI,UAAU,CAAC,QAAQ,CAAC;YAAE,OAAO,QAAQ,CAAC;IAC5C,CAAC;IAED,qCAAqC;IACrC,IAAI,GAAG,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAC/B,OAAO,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3C,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE,CAAC;YACnC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;YACnD,IAAI,UAAU,CAAC,OAAO,CAAC;gBAAE,OAAO,OAAO,CAAC;QAC1C,CAAC;QACD,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
export interface Choice<T = string> {
|
|
2
|
-
name: string;
|
|
3
|
-
value: T;
|
|
4
|
-
short?: string;
|
|
5
|
-
}
|
|
6
|
-
/**
|
|
7
|
-
* Prompt for a single selection from a list
|
|
8
|
-
*/
|
|
9
|
-
export declare function select<T = string>(message: string, choices: Choice<T>[], options?: {
|
|
10
|
-
default?: T;
|
|
11
|
-
}): Promise<T>;
|
|
12
|
-
/**
|
|
13
|
-
* Prompt for confirmation
|
|
14
|
-
*/
|
|
15
|
-
export declare function confirm(message: string, options?: {
|
|
16
|
-
default?: boolean;
|
|
17
|
-
}): Promise<boolean>;
|
|
18
|
-
/**
|
|
19
|
-
* Prompt for text input
|
|
20
|
-
*/
|
|
21
|
-
export declare function input(message: string, options?: {
|
|
22
|
-
default?: string;
|
|
23
|
-
validate?: (input: string) => boolean | string;
|
|
24
|
-
}): Promise<string>;
|
|
25
|
-
/**
|
|
26
|
-
* Common prompts for installation scenarios
|
|
27
|
-
*/
|
|
28
|
-
export declare const prompts: {
|
|
29
|
-
existingSetup(): Promise<"merge" | "overwrite" | "abort">;
|
|
30
|
-
alreadyInstalled(version: string): Promise<"update" | "reinstall" | "abort">;
|
|
31
|
-
modifiedFiles(files: string[]): Promise<"overwrite" | "skip" | "backup">;
|
|
32
|
-
projectName(suggested?: string): Promise<string>;
|
|
33
|
-
};
|
|
34
|
-
//# sourceMappingURL=prompts.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/prompts.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,MAAM,CAAC,CAAC,GAAG,MAAM;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,CAAC,CAAC;IACT,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,wBAAsB,MAAM,CAAC,CAAC,GAAG,MAAM,EACrC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EACpB,OAAO,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,CAAC,CAAA;CAAE,GACxB,OAAO,CAAC,CAAC,CAAC,CAiBZ;AAED;;GAEG;AACH,wBAAsB,OAAO,CAC3B,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GAC9B,OAAO,CAAC,OAAO,CAAC,CAgBlB;AAED;;GAEG;AACH,wBAAsB,KAAK,CACzB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,GAAG,MAAM,CAAA;CAAE,GAC7E,OAAO,CAAC,MAAM,CAAC,CAiBjB;AAED;;GAEG;AACH,eAAO,MAAM,OAAO;qBACK,OAAO,CAAC,OAAO,GAAG,WAAW,GAAG,OAAO,CAAC;8BAQ/B,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,WAAW,GAAG,OAAO,CAAC;yBAQvD,MAAM,EAAE,GAAG,OAAO,CAAC,WAAW,GAAG,MAAM,GAAG,QAAQ,CAAC;4BAYhD,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAMvD,CAAC"}
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
import inquirer from 'inquirer';
|
|
2
|
-
/**
|
|
3
|
-
* Prompt for a single selection from a list
|
|
4
|
-
*/
|
|
5
|
-
export async function select(message, choices, options) {
|
|
6
|
-
// In non-interactive mode, return default or first choice
|
|
7
|
-
if (!process.stdin.isTTY) {
|
|
8
|
-
return options?.default ?? choices[0].value;
|
|
9
|
-
}
|
|
10
|
-
const { answer } = await inquirer.prompt([
|
|
11
|
-
{
|
|
12
|
-
type: 'list',
|
|
13
|
-
name: 'answer',
|
|
14
|
-
message,
|
|
15
|
-
choices,
|
|
16
|
-
default: options?.default
|
|
17
|
-
}
|
|
18
|
-
]);
|
|
19
|
-
return answer;
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Prompt for confirmation
|
|
23
|
-
*/
|
|
24
|
-
export async function confirm(message, options) {
|
|
25
|
-
// In non-interactive mode, return default or true
|
|
26
|
-
if (!process.stdin.isTTY) {
|
|
27
|
-
return options?.default ?? true;
|
|
28
|
-
}
|
|
29
|
-
const { answer } = await inquirer.prompt([
|
|
30
|
-
{
|
|
31
|
-
type: 'confirm',
|
|
32
|
-
name: 'answer',
|
|
33
|
-
message,
|
|
34
|
-
default: options?.default ?? true
|
|
35
|
-
}
|
|
36
|
-
]);
|
|
37
|
-
return answer;
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* Prompt for text input
|
|
41
|
-
*/
|
|
42
|
-
export async function input(message, options) {
|
|
43
|
-
// In non-interactive mode, return default or empty string
|
|
44
|
-
if (!process.stdin.isTTY) {
|
|
45
|
-
return options?.default ?? '';
|
|
46
|
-
}
|
|
47
|
-
const { answer } = await inquirer.prompt([
|
|
48
|
-
{
|
|
49
|
-
type: 'input',
|
|
50
|
-
name: 'answer',
|
|
51
|
-
message,
|
|
52
|
-
default: options?.default,
|
|
53
|
-
validate: options?.validate
|
|
54
|
-
}
|
|
55
|
-
]);
|
|
56
|
-
return answer;
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* Common prompts for installation scenarios
|
|
60
|
-
*/
|
|
61
|
-
export const prompts = {
|
|
62
|
-
async existingSetup() {
|
|
63
|
-
return select('Existing .claude/ found. How to proceed?', [
|
|
64
|
-
{ name: 'Merge (keep user files, update core)', value: 'merge' },
|
|
65
|
-
{ name: 'Overwrite (replace everything)', value: 'overwrite' },
|
|
66
|
-
{ name: 'Abort', value: 'abort' }
|
|
67
|
-
]);
|
|
68
|
-
},
|
|
69
|
-
async alreadyInstalled(version) {
|
|
70
|
-
return select(`Pennyfarthing already installed (v${version}). What to do?`, [
|
|
71
|
-
{ name: 'Update to latest', value: 'update' },
|
|
72
|
-
{ name: 'Reinstall (fresh)', value: 'reinstall' },
|
|
73
|
-
{ name: 'Abort', value: 'abort' }
|
|
74
|
-
]);
|
|
75
|
-
},
|
|
76
|
-
async modifiedFiles(files) {
|
|
77
|
-
console.log('\nLocally modified files detected:');
|
|
78
|
-
files.forEach(f => console.log(` - ${f}`));
|
|
79
|
-
console.log();
|
|
80
|
-
return select('How to handle these files?', [
|
|
81
|
-
{ name: 'Overwrite (lose local changes)', value: 'overwrite' },
|
|
82
|
-
{ name: 'Skip (keep local changes)', value: 'skip' },
|
|
83
|
-
{ name: 'Backup and replace', value: 'backup' }
|
|
84
|
-
]);
|
|
85
|
-
},
|
|
86
|
-
async projectName(suggested) {
|
|
87
|
-
return input('Project name:', {
|
|
88
|
-
default: suggested,
|
|
89
|
-
validate: (input) => input.length > 0 || 'Project name is required'
|
|
90
|
-
});
|
|
91
|
-
}
|
|
92
|
-
};
|
|
93
|
-
//# sourceMappingURL=prompts.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../../src/cli/utils/prompts.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Compute relative path for symlink from link location to target
|
|
3
|
-
*/
|
|
4
|
-
export declare function computeRelativeSymlink(linkPath: string, targetPath: string): string;
|
|
5
|
-
/**
|
|
6
|
-
* Remove a symlink or directory at the given path
|
|
7
|
-
* Handles both symlinks and directories (for migration from copy mode)
|
|
8
|
-
* Returns true if something was removed, false if path didn't exist
|
|
9
|
-
*/
|
|
10
|
-
export declare function removeSymlinkOrDirectory(path: string, dryRun?: boolean): boolean;
|
|
11
|
-
/**
|
|
12
|
-
* Create commands directory with individual symlinks to each command file.
|
|
13
|
-
* This allows users to add their own commands alongside built-in ones.
|
|
14
|
-
*/
|
|
15
|
-
export declare function createCommandsDirectory(projectRoot: string, builtInCommandsPath: string, projectCommandsPath: string, dryRun: boolean): void;
|
|
16
|
-
/**
|
|
17
|
-
* Create skills directory with individual symlinks to each skill file.
|
|
18
|
-
* This allows users to add their own skills alongside built-in ones.
|
|
19
|
-
*/
|
|
20
|
-
export declare function createSkillsDirectory(projectRoot: string, builtInSkillsPath: string, projectSkillsPath: string, dryRun: boolean): void;
|
|
21
|
-
/**
|
|
22
|
-
* Check if commands directory needs migration from single symlink to directory
|
|
23
|
-
*/
|
|
24
|
-
export declare function needsCommandsMigration(projectRoot: string): boolean;
|
|
25
|
-
/**
|
|
26
|
-
* Check if skills directory needs migration from single symlink to directory
|
|
27
|
-
*/
|
|
28
|
-
export declare function needsSkillsMigration(projectRoot: string): boolean;
|
|
29
|
-
//# sourceMappingURL=symlinks.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"symlinks.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/symlinks.ts"],"names":[],"mappings":"AAQA;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAEnF;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,GAAE,OAAe,GAAG,OAAO,CAoBvF;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,MAAM,EACnB,mBAAmB,EAAE,MAAM,EAC3B,mBAAmB,EAAE,MAAM,EAC3B,MAAM,EAAE,OAAO,GACd,IAAI,CA4DN;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,WAAW,EAAE,MAAM,EACnB,iBAAiB,EAAE,MAAM,EACzB,iBAAiB,EAAE,MAAM,EACzB,MAAM,EAAE,OAAO,GACd,IAAI,CAkEN;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAGnE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAGjE"}
|
|
@@ -1,181 +0,0 @@
|
|
|
1
|
-
import { readdirSync, unlinkSync, symlinkSync } from 'fs';
|
|
2
|
-
import { join, relative, dirname } from 'path';
|
|
3
|
-
import fsExtra from 'fs-extra';
|
|
4
|
-
const { ensureDirSync, removeSync } = fsExtra;
|
|
5
|
-
import { logger } from './logger.js';
|
|
6
|
-
import { pathExists, isSymlink, isDirectory } from './files.js';
|
|
7
|
-
/**
|
|
8
|
-
* Compute relative path for symlink from link location to target
|
|
9
|
-
*/
|
|
10
|
-
export function computeRelativeSymlink(linkPath, targetPath) {
|
|
11
|
-
return relative(dirname(linkPath), targetPath);
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* Remove a symlink or directory at the given path
|
|
15
|
-
* Handles both symlinks and directories (for migration from copy mode)
|
|
16
|
-
* Returns true if something was removed, false if path didn't exist
|
|
17
|
-
*/
|
|
18
|
-
export function removeSymlinkOrDirectory(path, dryRun = false) {
|
|
19
|
-
if (!pathExists(path) && !isSymlink(path)) {
|
|
20
|
-
return false;
|
|
21
|
-
}
|
|
22
|
-
if (dryRun) {
|
|
23
|
-
return true;
|
|
24
|
-
}
|
|
25
|
-
try {
|
|
26
|
-
unlinkSync(path);
|
|
27
|
-
return true;
|
|
28
|
-
}
|
|
29
|
-
catch {
|
|
30
|
-
try {
|
|
31
|
-
removeSync(path);
|
|
32
|
-
return true;
|
|
33
|
-
}
|
|
34
|
-
catch {
|
|
35
|
-
return false;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* Create commands directory with individual symlinks to each command file.
|
|
41
|
-
* This allows users to add their own commands alongside built-in ones.
|
|
42
|
-
*/
|
|
43
|
-
export function createCommandsDirectory(projectRoot, builtInCommandsPath, projectCommandsPath, dryRun) {
|
|
44
|
-
const commandsDir = join(projectRoot, '.claude/commands');
|
|
45
|
-
// Remove existing symlink or directory
|
|
46
|
-
removeSymlinkOrDirectory(commandsDir, dryRun);
|
|
47
|
-
// Create commands directory
|
|
48
|
-
if (!dryRun) {
|
|
49
|
-
ensureDirSync(commandsDir);
|
|
50
|
-
}
|
|
51
|
-
logger.created('.claude/commands/ (directory for built-in + user commands)');
|
|
52
|
-
// Symlink each built-in command
|
|
53
|
-
if (pathExists(builtInCommandsPath)) {
|
|
54
|
-
const builtInCommands = readdirSync(builtInCommandsPath).filter(f => f.endsWith('.md'));
|
|
55
|
-
for (const cmd of builtInCommands) {
|
|
56
|
-
const linkPath = join(commandsDir, cmd);
|
|
57
|
-
const targetPath = join(builtInCommandsPath, cmd);
|
|
58
|
-
const relativeTarget = computeRelativeSymlink(linkPath, targetPath);
|
|
59
|
-
if (!dryRun) {
|
|
60
|
-
try {
|
|
61
|
-
symlinkSync(relativeTarget, linkPath);
|
|
62
|
-
}
|
|
63
|
-
catch (e) {
|
|
64
|
-
logger.warning(`Could not create symlink for ${cmd}: ${e}`);
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
logger.info(` Linked ${builtInCommands.length} built-in commands`);
|
|
69
|
-
}
|
|
70
|
-
// Symlink user project commands (if any exist)
|
|
71
|
-
if (pathExists(projectCommandsPath)) {
|
|
72
|
-
const projectCommands = readdirSync(projectCommandsPath).filter(f => f.endsWith('.md'));
|
|
73
|
-
let linkedCount = 0;
|
|
74
|
-
for (const cmd of projectCommands) {
|
|
75
|
-
const linkPath = join(commandsDir, cmd);
|
|
76
|
-
if (pathExists(linkPath)) {
|
|
77
|
-
logger.warning(` Skipping ${cmd} - would override built-in command`);
|
|
78
|
-
continue;
|
|
79
|
-
}
|
|
80
|
-
const targetPath = join(projectCommandsPath, cmd);
|
|
81
|
-
const relativeTarget = computeRelativeSymlink(linkPath, targetPath);
|
|
82
|
-
if (!dryRun) {
|
|
83
|
-
try {
|
|
84
|
-
symlinkSync(relativeTarget, linkPath);
|
|
85
|
-
linkedCount++;
|
|
86
|
-
}
|
|
87
|
-
catch (e) {
|
|
88
|
-
logger.warning(`Could not create symlink for ${cmd}: ${e}`);
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
else {
|
|
92
|
-
linkedCount++;
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
if (linkedCount > 0) {
|
|
96
|
-
logger.info(` Linked ${linkedCount} user commands from project/commands/`);
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
/**
|
|
101
|
-
* Create skills directory with individual symlinks to each skill file.
|
|
102
|
-
* This allows users to add their own skills alongside built-in ones.
|
|
103
|
-
*/
|
|
104
|
-
export function createSkillsDirectory(projectRoot, builtInSkillsPath, projectSkillsPath, dryRun) {
|
|
105
|
-
const skillsDir = join(projectRoot, '.claude/skills');
|
|
106
|
-
// Remove existing symlink or directory
|
|
107
|
-
removeSymlinkOrDirectory(skillsDir, dryRun);
|
|
108
|
-
// Create skills directory
|
|
109
|
-
if (!dryRun) {
|
|
110
|
-
ensureDirSync(skillsDir);
|
|
111
|
-
}
|
|
112
|
-
logger.created('.claude/skills/ (directory for built-in + user skills)');
|
|
113
|
-
// Symlink each built-in skill (skills are directories, not .md files)
|
|
114
|
-
if (pathExists(builtInSkillsPath)) {
|
|
115
|
-
const builtInSkills = readdirSync(builtInSkillsPath).filter(f => {
|
|
116
|
-
const fullPath = join(builtInSkillsPath, f);
|
|
117
|
-
return isDirectory(fullPath) && !f.startsWith('.');
|
|
118
|
-
});
|
|
119
|
-
for (const skill of builtInSkills) {
|
|
120
|
-
const linkPath = join(skillsDir, skill);
|
|
121
|
-
const targetPath = join(builtInSkillsPath, skill);
|
|
122
|
-
const relativeTarget = computeRelativeSymlink(linkPath, targetPath);
|
|
123
|
-
if (!dryRun) {
|
|
124
|
-
try {
|
|
125
|
-
symlinkSync(relativeTarget, linkPath);
|
|
126
|
-
}
|
|
127
|
-
catch (e) {
|
|
128
|
-
logger.warning(`Could not create symlink for ${skill}: ${e}`);
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
logger.info(` Linked ${builtInSkills.length} built-in skills`);
|
|
133
|
-
}
|
|
134
|
-
// Symlink user project skills (if any exist) - skills are directories
|
|
135
|
-
if (pathExists(projectSkillsPath)) {
|
|
136
|
-
const projectSkills = readdirSync(projectSkillsPath).filter(f => {
|
|
137
|
-
const fullPath = join(projectSkillsPath, f);
|
|
138
|
-
return isDirectory(fullPath) && !f.startsWith('.');
|
|
139
|
-
});
|
|
140
|
-
let linkedCount = 0;
|
|
141
|
-
for (const skill of projectSkills) {
|
|
142
|
-
const linkPath = join(skillsDir, skill);
|
|
143
|
-
if (pathExists(linkPath)) {
|
|
144
|
-
logger.warning(` Skipping ${skill} - would override built-in skill`);
|
|
145
|
-
continue;
|
|
146
|
-
}
|
|
147
|
-
const targetPath = join(projectSkillsPath, skill);
|
|
148
|
-
const relativeTarget = computeRelativeSymlink(linkPath, targetPath);
|
|
149
|
-
if (!dryRun) {
|
|
150
|
-
try {
|
|
151
|
-
symlinkSync(relativeTarget, linkPath);
|
|
152
|
-
linkedCount++;
|
|
153
|
-
}
|
|
154
|
-
catch (e) {
|
|
155
|
-
logger.warning(`Could not create symlink for ${skill}: ${e}`);
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
else {
|
|
159
|
-
linkedCount++;
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
if (linkedCount > 0) {
|
|
163
|
-
logger.info(` Linked ${linkedCount} user skills from project/skills/`);
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
/**
|
|
168
|
-
* Check if commands directory needs migration from single symlink to directory
|
|
169
|
-
*/
|
|
170
|
-
export function needsCommandsMigration(projectRoot) {
|
|
171
|
-
const commandsPath = join(projectRoot, '.claude/commands');
|
|
172
|
-
return isSymlink(commandsPath);
|
|
173
|
-
}
|
|
174
|
-
/**
|
|
175
|
-
* Check if skills directory needs migration from single symlink to directory
|
|
176
|
-
*/
|
|
177
|
-
export function needsSkillsMigration(projectRoot) {
|
|
178
|
-
const skillsPath = join(projectRoot, '.claude/skills');
|
|
179
|
-
return isSymlink(skillsPath);
|
|
180
|
-
}
|
|
181
|
-
//# sourceMappingURL=symlinks.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"symlinks.js","sourceRoot":"","sources":["../../../src/cli/utils/symlinks.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
export interface ThemeAgentHelper {
|
|
2
|
-
name: string;
|
|
3
|
-
style: string;
|
|
4
|
-
}
|
|
5
|
-
export interface ThemeAgent {
|
|
6
|
-
character: string;
|
|
7
|
-
style?: string;
|
|
8
|
-
role?: string;
|
|
9
|
-
quote?: string;
|
|
10
|
-
trait?: string;
|
|
11
|
-
expertise?: string;
|
|
12
|
-
emoji?: string;
|
|
13
|
-
helper?: ThemeAgentHelper;
|
|
14
|
-
}
|
|
15
|
-
export interface ThemeInfo {
|
|
16
|
-
id: string;
|
|
17
|
-
name: string;
|
|
18
|
-
description: string;
|
|
19
|
-
isCustom?: boolean;
|
|
20
|
-
agents: {
|
|
21
|
-
sm?: ThemeAgent;
|
|
22
|
-
tea?: ThemeAgent;
|
|
23
|
-
dev?: ThemeAgent;
|
|
24
|
-
reviewer?: ThemeAgent;
|
|
25
|
-
[key: string]: ThemeAgent | undefined;
|
|
26
|
-
};
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* Get the path to the themes directory
|
|
30
|
-
*/
|
|
31
|
-
export declare function getThemesDir(): string;
|
|
32
|
-
/**
|
|
33
|
-
* Get the project-level custom themes directory
|
|
34
|
-
*/
|
|
35
|
-
export declare function getProjectCustomThemesDir(projectRoot: string): string;
|
|
36
|
-
/**
|
|
37
|
-
* Get the user-level custom themes directory
|
|
38
|
-
*/
|
|
39
|
-
export declare function getUserCustomThemesDir(): string;
|
|
40
|
-
/**
|
|
41
|
-
* Get the path to the .pennyfarthing local config (preferred for dogfooding)
|
|
42
|
-
*/
|
|
43
|
-
export declare function getPennyfarthingConfigPath(projectRoot: string): string;
|
|
44
|
-
/**
|
|
45
|
-
* Get the current theme from config files
|
|
46
|
-
* Priority: .pennyfarthing/config.local.yaml > .claude/persona-config.yaml
|
|
47
|
-
*/
|
|
48
|
-
export declare function getCurrentTheme(projectRoot?: string): string | null;
|
|
49
|
-
/**
|
|
50
|
-
* Parse a theme YAML file and extract theme info
|
|
51
|
-
*/
|
|
52
|
-
export declare function parseThemeFile(filePath: string, isCustom?: boolean): ThemeInfo | null;
|
|
53
|
-
/**
|
|
54
|
-
* Get all available themes (built-in + custom)
|
|
55
|
-
*/
|
|
56
|
-
export declare function getThemes(projectRoot?: string): ThemeInfo[];
|
|
57
|
-
/**
|
|
58
|
-
* Get sample agent characters for display
|
|
59
|
-
*/
|
|
60
|
-
export declare function getAgentSamples(theme: ThemeInfo): string;
|
|
61
|
-
export interface SetThemeOptions {
|
|
62
|
-
/** If true, write to shared config (.claude/persona-config.yaml) instead of local */
|
|
63
|
-
global?: boolean;
|
|
64
|
-
}
|
|
65
|
-
/**
|
|
66
|
-
* Set the active theme
|
|
67
|
-
* By default writes to .pennyfarthing/config.local.yaml (agent-writable, dogfooding-friendly)
|
|
68
|
-
* Use { global: true } to write to .claude/persona-config.yaml (project default)
|
|
69
|
-
* Returns the ThemeInfo if successful, throws if theme not found
|
|
70
|
-
*/
|
|
71
|
-
export declare function setTheme(themeName: string, projectRoot: string, options?: SetThemeOptions): ThemeInfo;
|
|
72
|
-
/**
|
|
73
|
-
* Validate a theme name
|
|
74
|
-
*/
|
|
75
|
-
export declare function validateThemeName(name: string): {
|
|
76
|
-
valid: boolean;
|
|
77
|
-
error?: string;
|
|
78
|
-
};
|
|
79
|
-
/**
|
|
80
|
-
* Get the path to a theme file (built-in or custom)
|
|
81
|
-
*/
|
|
82
|
-
export declare function getThemeFilePath(themeId: string): string | null;
|
|
83
|
-
export interface CreateThemeOptions {
|
|
84
|
-
baseTheme?: string;
|
|
85
|
-
userLevel?: boolean;
|
|
86
|
-
}
|
|
87
|
-
/**
|
|
88
|
-
* Create a new custom theme
|
|
89
|
-
* Returns the path to the created theme file
|
|
90
|
-
*/
|
|
91
|
-
export declare function createTheme(themeName: string, projectRoot: string, options?: CreateThemeOptions): string;
|
|
92
|
-
export interface ThemeSchemaValidationResult {
|
|
93
|
-
valid: boolean;
|
|
94
|
-
errors?: string[];
|
|
95
|
-
}
|
|
96
|
-
/**
|
|
97
|
-
* Validate a theme object has all required fields and agents
|
|
98
|
-
* Used to validate AI-generated themes before writing to file
|
|
99
|
-
*/
|
|
100
|
-
export declare function validateThemeSchema(themeData: unknown): ThemeSchemaValidationResult;
|
|
101
|
-
//# sourceMappingURL=themes.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"themes.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/themes.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,gBAAgB,CAAC;CAC3B;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE;QACN,EAAE,CAAC,EAAE,UAAU,CAAC;QAChB,GAAG,CAAC,EAAE,UAAU,CAAC;QACjB,GAAG,CAAC,EAAE,UAAU,CAAC;QACjB,QAAQ,CAAC,EAAE,UAAU,CAAC;QACtB,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;KACvC,CAAC;CACH;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAmBrC;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAErE;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CAE/C;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAEtE;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CA8BnE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,UAAQ,GAAG,SAAS,GAAG,IAAI,CAqBnF;AAwBD;;GAEG;AACH,wBAAgB,SAAS,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,EAAE,CAsC3D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAcxD;AAED,MAAM,WAAW,eAAe;IAC9B,qFAAqF;IACrF,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,GAAE,eAAoB,GAAG,SAAS,CAgDzG;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAkBlF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAwB/D;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;;GAGG;AACH,wBAAgB,WAAW,CACzB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,kBAAuB,GAC/B,MAAM,CA+CR;AAkBD,MAAM,WAAW,2BAA2B;IAC1C,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,OAAO,GAAG,2BAA2B,CAoDnF"}
|