@ginkoai/cli 1.0.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 +230 -0
- package/dist/adapters/ai-adapter.d.ts +25 -0
- package/dist/adapters/ai-adapter.d.ts.map +1 -0
- package/dist/adapters/ai-adapter.js +21 -0
- package/dist/adapters/ai-adapter.js.map +1 -0
- package/dist/adapters/ai-completion.d.ts +35 -0
- package/dist/adapters/ai-completion.d.ts.map +1 -0
- package/dist/adapters/ai-completion.js +118 -0
- package/dist/adapters/ai-completion.js.map +1 -0
- package/dist/adapters/base.d.ts +64 -0
- package/dist/adapters/base.d.ts.map +1 -0
- package/dist/adapters/base.js +48 -0
- package/dist/adapters/base.js.map +1 -0
- package/dist/adapters/claude-adapter.d.ts +18 -0
- package/dist/adapters/claude-adapter.d.ts.map +1 -0
- package/dist/adapters/claude-adapter.js +73 -0
- package/dist/adapters/claude-adapter.js.map +1 -0
- package/dist/adapters/claude.d.ts +20 -0
- package/dist/adapters/claude.d.ts.map +1 -0
- package/dist/adapters/claude.js +91 -0
- package/dist/adapters/claude.js.map +1 -0
- package/dist/adapters/copilot-adapter.d.ts +16 -0
- package/dist/adapters/copilot-adapter.d.ts.map +1 -0
- package/dist/adapters/copilot-adapter.js +288 -0
- package/dist/adapters/copilot-adapter.js.map +1 -0
- package/dist/adapters/cursor-adapter.d.ts +22 -0
- package/dist/adapters/cursor-adapter.d.ts.map +1 -0
- package/dist/adapters/cursor-adapter.js +108 -0
- package/dist/adapters/cursor-adapter.js.map +1 -0
- package/dist/adapters/detector.d.ts +29 -0
- package/dist/adapters/detector.d.ts.map +1 -0
- package/dist/adapters/detector.js +132 -0
- package/dist/adapters/detector.js.map +1 -0
- package/dist/adapters/generic-adapter.d.ts +18 -0
- package/dist/adapters/generic-adapter.d.ts.map +1 -0
- package/dist/adapters/generic-adapter.js +37 -0
- package/dist/adapters/generic-adapter.js.map +1 -0
- package/dist/adapters/gpt4.d.ts +20 -0
- package/dist/adapters/gpt4.d.ts.map +1 -0
- package/dist/adapters/gpt4.js +114 -0
- package/dist/adapters/gpt4.js.map +1 -0
- package/dist/adapters/grok-adapter.d.ts +18 -0
- package/dist/adapters/grok-adapter.d.ts.map +1 -0
- package/dist/adapters/grok-adapter.js +94 -0
- package/dist/adapters/grok-adapter.js.map +1 -0
- package/dist/adapters/index.d.ts +18 -0
- package/dist/adapters/index.d.ts.map +1 -0
- package/dist/adapters/index.js +71 -0
- package/dist/adapters/index.js.map +1 -0
- package/dist/adapters/openai-adapter.d.ts +18 -0
- package/dist/adapters/openai-adapter.d.ts.map +1 -0
- package/dist/adapters/openai-adapter.js +97 -0
- package/dist/adapters/openai-adapter.js.map +1 -0
- package/dist/adapters/universal.d.ts +20 -0
- package/dist/adapters/universal.d.ts.map +1 -0
- package/dist/adapters/universal.js +80 -0
- package/dist/adapters/universal.js.map +1 -0
- package/dist/analysis/deep-analyzer.d.ts +61 -0
- package/dist/analysis/deep-analyzer.d.ts.map +1 -0
- package/dist/analysis/deep-analyzer.js +349 -0
- package/dist/analysis/deep-analyzer.js.map +1 -0
- package/dist/analysis/project-analyzer.d.ts +25 -0
- package/dist/analysis/project-analyzer.d.ts.map +1 -0
- package/dist/analysis/project-analyzer.js +244 -0
- package/dist/analysis/project-analyzer.js.map +1 -0
- package/dist/commands/architecture/architecture-pipeline-enhanced.d.ts +82 -0
- package/dist/commands/architecture/architecture-pipeline-enhanced.d.ts.map +1 -0
- package/dist/commands/architecture/architecture-pipeline-enhanced.js +649 -0
- package/dist/commands/architecture/architecture-pipeline-enhanced.js.map +1 -0
- package/dist/commands/architecture/architecture-pipeline.d.ts +105 -0
- package/dist/commands/architecture/architecture-pipeline.d.ts.map +1 -0
- package/dist/commands/architecture/architecture-pipeline.js +510 -0
- package/dist/commands/architecture/architecture-pipeline.js.map +1 -0
- package/dist/commands/architecture/architecture-reflection.d.ts +67 -0
- package/dist/commands/architecture/architecture-reflection.d.ts.map +1 -0
- package/dist/commands/architecture/architecture-reflection.js +508 -0
- package/dist/commands/architecture/architecture-reflection.js.map +1 -0
- package/dist/commands/architecture/index.d.ts +21 -0
- package/dist/commands/architecture/index.d.ts.map +1 -0
- package/dist/commands/architecture/index.js +41 -0
- package/dist/commands/architecture/index.js.map +1 -0
- package/dist/commands/architecture.d.ts +20 -0
- package/dist/commands/architecture.d.ts.map +1 -0
- package/dist/commands/architecture.js +223 -0
- package/dist/commands/architecture.js.map +1 -0
- package/dist/commands/backlog/ai-enhanced.d.ts +83 -0
- package/dist/commands/backlog/ai-enhanced.d.ts.map +1 -0
- package/dist/commands/backlog/ai-enhanced.js +462 -0
- package/dist/commands/backlog/ai-enhanced.js.map +1 -0
- package/dist/commands/backlog/ai-prompt.d.ts +21 -0
- package/dist/commands/backlog/ai-prompt.d.ts.map +1 -0
- package/dist/commands/backlog/ai-prompt.js +373 -0
- package/dist/commands/backlog/ai-prompt.js.map +1 -0
- package/dist/commands/backlog/ai-template.d.ts +21 -0
- package/dist/commands/backlog/ai-template.d.ts.map +1 -0
- package/dist/commands/backlog/ai-template.js +374 -0
- package/dist/commands/backlog/ai-template.js.map +1 -0
- package/dist/commands/backlog/ai.d.ts +21 -0
- package/dist/commands/backlog/ai.d.ts.map +1 -0
- package/dist/commands/backlog/ai.js +76 -0
- package/dist/commands/backlog/ai.js.map +1 -0
- package/dist/commands/backlog/backlog-pipeline.d.ts +103 -0
- package/dist/commands/backlog/backlog-pipeline.d.ts.map +1 -0
- package/dist/commands/backlog/backlog-pipeline.js +538 -0
- package/dist/commands/backlog/backlog-pipeline.js.map +1 -0
- package/dist/commands/backlog/backlog-reflection.d.ts +48 -0
- package/dist/commands/backlog/backlog-reflection.d.ts.map +1 -0
- package/dist/commands/backlog/backlog-reflection.js +231 -0
- package/dist/commands/backlog/backlog-reflection.js.map +1 -0
- package/dist/commands/backlog/base.d.ts +95 -0
- package/dist/commands/backlog/base.d.ts.map +1 -0
- package/dist/commands/backlog/base.js +291 -0
- package/dist/commands/backlog/base.js.map +1 -0
- package/dist/commands/backlog/complete.d.ts +20 -0
- package/dist/commands/backlog/complete.d.ts.map +1 -0
- package/dist/commands/backlog/complete.js +83 -0
- package/dist/commands/backlog/complete.js.map +1 -0
- package/dist/commands/backlog/context-gatherer.d.ts +76 -0
- package/dist/commands/backlog/context-gatherer.d.ts.map +1 -0
- package/dist/commands/backlog/context-gatherer.js +216 -0
- package/dist/commands/backlog/context-gatherer.js.map +1 -0
- package/dist/commands/backlog/create.d.ts +25 -0
- package/dist/commands/backlog/create.d.ts.map +1 -0
- package/dist/commands/backlog/create.js +131 -0
- package/dist/commands/backlog/create.js.map +1 -0
- package/dist/commands/backlog/index.d.ts +17 -0
- package/dist/commands/backlog/index.d.ts.map +1 -0
- package/dist/commands/backlog/index.js +177 -0
- package/dist/commands/backlog/index.js.map +1 -0
- package/dist/commands/backlog/list.d.ts +25 -0
- package/dist/commands/backlog/list.d.ts.map +1 -0
- package/dist/commands/backlog/list.js +136 -0
- package/dist/commands/backlog/list.js.map +1 -0
- package/dist/commands/backlog/quick-query.d.ts +16 -0
- package/dist/commands/backlog/quick-query.d.ts.map +1 -0
- package/dist/commands/backlog/quick-query.js +126 -0
- package/dist/commands/backlog/quick-query.js.map +1 -0
- package/dist/commands/backlog/show.d.ts +20 -0
- package/dist/commands/backlog/show.d.ts.map +1 -0
- package/dist/commands/backlog/show.js +95 -0
- package/dist/commands/backlog/show.js.map +1 -0
- package/dist/commands/backlog/update.d.ts +25 -0
- package/dist/commands/backlog/update.d.ts.map +1 -0
- package/dist/commands/backlog/update.js +113 -0
- package/dist/commands/backlog/update.js.map +1 -0
- package/dist/commands/bug/bug-context-gatherer.d.ts +58 -0
- package/dist/commands/bug/bug-context-gatherer.d.ts.map +1 -0
- package/dist/commands/bug/bug-context-gatherer.js +228 -0
- package/dist/commands/bug/bug-context-gatherer.js.map +1 -0
- package/dist/commands/bug/bug-reflection.d.ts +70 -0
- package/dist/commands/bug/bug-reflection.d.ts.map +1 -0
- package/dist/commands/bug/bug-reflection.js +343 -0
- package/dist/commands/bug/bug-reflection.js.map +1 -0
- package/dist/commands/capture/capture-reflection.d.ts +139 -0
- package/dist/commands/capture/capture-reflection.d.ts.map +1 -0
- package/dist/commands/capture/capture-reflection.js +583 -0
- package/dist/commands/capture/capture-reflection.js.map +1 -0
- package/dist/commands/capture.d.ts +22 -0
- package/dist/commands/capture.d.ts.map +1 -0
- package/dist/commands/capture.js +301 -0
- package/dist/commands/capture.js.map +1 -0
- package/dist/commands/changelog/changelog-reflection.d.ts +65 -0
- package/dist/commands/changelog/changelog-reflection.d.ts.map +1 -0
- package/dist/commands/changelog/changelog-reflection.js +252 -0
- package/dist/commands/changelog/changelog-reflection.js.map +1 -0
- package/dist/commands/compact.d.ts +15 -0
- package/dist/commands/compact.d.ts.map +1 -0
- package/dist/commands/compact.js +113 -0
- package/dist/commands/compact.js.map +1 -0
- package/dist/commands/config.d.ts +10 -0
- package/dist/commands/config.d.ts.map +1 -0
- package/dist/commands/config.js +85 -0
- package/dist/commands/config.js.map +1 -0
- package/dist/commands/context-new.d.ts +18 -0
- package/dist/commands/context-new.d.ts.map +1 -0
- package/dist/commands/context-new.js +265 -0
- package/dist/commands/context-new.js.map +1 -0
- package/dist/commands/context.d.ts +16 -0
- package/dist/commands/context.d.ts.map +1 -0
- package/dist/commands/context.js +82 -0
- package/dist/commands/context.js.map +1 -0
- package/dist/commands/documentation/documentation-pipeline.d.ts +130 -0
- package/dist/commands/documentation/documentation-pipeline.d.ts.map +1 -0
- package/dist/commands/documentation/documentation-pipeline.js +716 -0
- package/dist/commands/documentation/documentation-pipeline.js.map +1 -0
- package/dist/commands/documentation/documentation-reflection.d.ts +54 -0
- package/dist/commands/documentation/documentation-reflection.d.ts.map +1 -0
- package/dist/commands/documentation/documentation-reflection.js +338 -0
- package/dist/commands/documentation/documentation-reflection.js.map +1 -0
- package/dist/commands/explore/explore-reflection-pipeline.d.ts +117 -0
- package/dist/commands/explore/explore-reflection-pipeline.d.ts.map +1 -0
- package/dist/commands/explore/explore-reflection-pipeline.js +503 -0
- package/dist/commands/explore/explore-reflection-pipeline.js.map +1 -0
- package/dist/commands/explore/index.d.ts +29 -0
- package/dist/commands/explore/index.d.ts.map +1 -0
- package/dist/commands/explore/index.js +30 -0
- package/dist/commands/explore/index.js.map +1 -0
- package/dist/commands/explore.d.ts +20 -0
- package/dist/commands/explore.d.ts.map +1 -0
- package/dist/commands/explore.js +224 -0
- package/dist/commands/explore.js.map +1 -0
- package/dist/commands/git/git-context-gatherer.d.ts +101 -0
- package/dist/commands/git/git-context-gatherer.d.ts.map +1 -0
- package/dist/commands/git/git-context-gatherer.js +284 -0
- package/dist/commands/git/git-context-gatherer.js.map +1 -0
- package/dist/commands/git/git-pipeline.d.ts +75 -0
- package/dist/commands/git/git-pipeline.d.ts.map +1 -0
- package/dist/commands/git/git-pipeline.js +530 -0
- package/dist/commands/git/git-pipeline.js.map +1 -0
- package/dist/commands/git/git-reflection.d.ts +50 -0
- package/dist/commands/git/git-reflection.d.ts.map +1 -0
- package/dist/commands/git/git-reflection.js +193 -0
- package/dist/commands/git/git-reflection.js.map +1 -0
- package/dist/commands/handoff/handoff-reflection-pipeline.d.ts +106 -0
- package/dist/commands/handoff/handoff-reflection-pipeline.d.ts.map +1 -0
- package/dist/commands/handoff/handoff-reflection-pipeline.js +534 -0
- package/dist/commands/handoff/handoff-reflection-pipeline.js.map +1 -0
- package/dist/commands/handoff/handoff-save.d.ts +16 -0
- package/dist/commands/handoff/handoff-save.d.ts.map +1 -0
- package/dist/commands/handoff/handoff-save.js +72 -0
- package/dist/commands/handoff/handoff-save.js.map +1 -0
- package/dist/commands/handoff/index.d.ts +19 -0
- package/dist/commands/handoff/index.d.ts.map +1 -0
- package/dist/commands/handoff/index.js +55 -0
- package/dist/commands/handoff/index.js.map +1 -0
- package/dist/commands/handoff-ai-orig.d.ts +27 -0
- package/dist/commands/handoff-ai-orig.d.ts.map +1 -0
- package/dist/commands/handoff-ai-orig.js +405 -0
- package/dist/commands/handoff-ai-orig.js.map +1 -0
- package/dist/commands/handoff-ai.d.ts +27 -0
- package/dist/commands/handoff-ai.d.ts.map +1 -0
- package/dist/commands/handoff-ai.js +405 -0
- package/dist/commands/handoff-ai.js.map +1 -0
- package/dist/commands/handoff-enhanced-orig.d.ts +25 -0
- package/dist/commands/handoff-enhanced-orig.d.ts.map +1 -0
- package/dist/commands/handoff-enhanced-orig.js +349 -0
- package/dist/commands/handoff-enhanced-orig.js.map +1 -0
- package/dist/commands/handoff-enhanced.d.ts +25 -0
- package/dist/commands/handoff-enhanced.d.ts.map +1 -0
- package/dist/commands/handoff-enhanced.js +349 -0
- package/dist/commands/handoff-enhanced.js.map +1 -0
- package/dist/commands/handoff-orig.d.ts +10 -0
- package/dist/commands/handoff-orig.d.ts.map +1 -0
- package/dist/commands/handoff-orig.js +167 -0
- package/dist/commands/handoff-orig.js.map +1 -0
- package/dist/commands/handoff.d.ts +10 -0
- package/dist/commands/handoff.d.ts.map +1 -0
- package/dist/commands/handoff.js +167 -0
- package/dist/commands/handoff.js.map +1 -0
- package/dist/commands/init-copilot.d.ts +6 -0
- package/dist/commands/init-copilot.d.ts.map +1 -0
- package/dist/commands/init-copilot.js +151 -0
- package/dist/commands/init-copilot.js.map +1 -0
- package/dist/commands/init-cursor.d.ts +5 -0
- package/dist/commands/init-cursor.d.ts.map +1 -0
- package/dist/commands/init-cursor.js +95 -0
- package/dist/commands/init-cursor.js.map +1 -0
- package/dist/commands/init-enhanced.d.ts +20 -0
- package/dist/commands/init-enhanced.d.ts.map +1 -0
- package/dist/commands/init-enhanced.js +430 -0
- package/dist/commands/init-enhanced.js.map +1 -0
- package/dist/commands/init.d.ts +16 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +213 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/magic-prompt.d.ts +20 -0
- package/dist/commands/magic-prompt.d.ts.map +1 -0
- package/dist/commands/magic-prompt.js +166 -0
- package/dist/commands/magic-prompt.js.map +1 -0
- package/dist/commands/magic-simple.d.ts +20 -0
- package/dist/commands/magic-simple.d.ts.map +1 -0
- package/dist/commands/magic-simple.js +32 -0
- package/dist/commands/magic-simple.js.map +1 -0
- package/dist/commands/magic.d.ts +20 -0
- package/dist/commands/magic.d.ts.map +1 -0
- package/dist/commands/magic.js +144 -0
- package/dist/commands/magic.js.map +1 -0
- package/dist/commands/plan/plan-reflection-pipeline.d.ts +126 -0
- package/dist/commands/plan/plan-reflection-pipeline.d.ts.map +1 -0
- package/dist/commands/plan/plan-reflection-pipeline.js +554 -0
- package/dist/commands/plan/plan-reflection-pipeline.js.map +1 -0
- package/dist/commands/plan.d.ts +20 -0
- package/dist/commands/plan.d.ts.map +1 -0
- package/dist/commands/plan.js +253 -0
- package/dist/commands/plan.js.map +1 -0
- package/dist/commands/prd/index.d.ts +21 -0
- package/dist/commands/prd/index.d.ts.map +1 -0
- package/dist/commands/prd/index.js +41 -0
- package/dist/commands/prd/index.js.map +1 -0
- package/dist/commands/prd/prd-pipeline-enhanced.d.ts +82 -0
- package/dist/commands/prd/prd-pipeline-enhanced.d.ts.map +1 -0
- package/dist/commands/prd/prd-pipeline-enhanced.js +565 -0
- package/dist/commands/prd/prd-pipeline-enhanced.js.map +1 -0
- package/dist/commands/prd/prd-pipeline.d.ts +106 -0
- package/dist/commands/prd/prd-pipeline.d.ts.map +1 -0
- package/dist/commands/prd/prd-pipeline.js +491 -0
- package/dist/commands/prd/prd-pipeline.js.map +1 -0
- package/dist/commands/prd/prd-reflection-enhanced.d.ts +63 -0
- package/dist/commands/prd/prd-reflection-enhanced.d.ts.map +1 -0
- package/dist/commands/prd/prd-reflection-enhanced.js +310 -0
- package/dist/commands/prd/prd-reflection-enhanced.js.map +1 -0
- package/dist/commands/prd/prd-reflection.d.ts +59 -0
- package/dist/commands/prd/prd-reflection.d.ts.map +1 -0
- package/dist/commands/prd/prd-reflection.js +548 -0
- package/dist/commands/prd/prd-reflection.js.map +1 -0
- package/dist/commands/reflect.d.ts +24 -0
- package/dist/commands/reflect.d.ts.map +1 -0
- package/dist/commands/reflect.js +135 -0
- package/dist/commands/reflect.js.map +1 -0
- package/dist/commands/ship/ship-reflection.d.ts +164 -0
- package/dist/commands/ship/ship-reflection.d.ts.map +1 -0
- package/dist/commands/ship/ship-reflection.js +732 -0
- package/dist/commands/ship/ship-reflection.js.map +1 -0
- package/dist/commands/ship-ai.d.ts +28 -0
- package/dist/commands/ship-ai.d.ts.map +1 -0
- package/dist/commands/ship-ai.js +318 -0
- package/dist/commands/ship-ai.js.map +1 -0
- package/dist/commands/ship.d.ts +17 -0
- package/dist/commands/ship.d.ts.map +1 -0
- package/dist/commands/ship.js +175 -0
- package/dist/commands/ship.js.map +1 -0
- package/dist/commands/sprint/index.d.ts +21 -0
- package/dist/commands/sprint/index.d.ts.map +1 -0
- package/dist/commands/sprint/index.js +39 -0
- package/dist/commands/sprint/index.js.map +1 -0
- package/dist/commands/sprint/sprint-pipeline-enhanced.d.ts +142 -0
- package/dist/commands/sprint/sprint-pipeline-enhanced.d.ts.map +1 -0
- package/dist/commands/sprint/sprint-pipeline-enhanced.js +822 -0
- package/dist/commands/sprint/sprint-pipeline-enhanced.js.map +1 -0
- package/dist/commands/sprint/sprint-pipeline.d.ts +72 -0
- package/dist/commands/sprint/sprint-pipeline.d.ts.map +1 -0
- package/dist/commands/sprint/sprint-pipeline.js +363 -0
- package/dist/commands/sprint/sprint-pipeline.js.map +1 -0
- package/dist/commands/start/index.d.ts +19 -0
- package/dist/commands/start/index.d.ts.map +1 -0
- package/dist/commands/start/index.js +41 -0
- package/dist/commands/start/index.js.map +1 -0
- package/dist/commands/start/start-reflection-pipeline.d.ts +99 -0
- package/dist/commands/start/start-reflection-pipeline.d.ts.map +1 -0
- package/dist/commands/start/start-reflection-pipeline.js +458 -0
- package/dist/commands/start/start-reflection-pipeline.js.map +1 -0
- package/dist/commands/start/start-reflection.d.ts +89 -0
- package/dist/commands/start/start-reflection.d.ts.map +1 -0
- package/dist/commands/start/start-reflection.js +572 -0
- package/dist/commands/start/start-reflection.js.map +1 -0
- package/dist/commands/start/start-with-synthesis.d.ts +20 -0
- package/dist/commands/start/start-with-synthesis.d.ts.map +1 -0
- package/dist/commands/start/start-with-synthesis.js +134 -0
- package/dist/commands/start/start-with-synthesis.js.map +1 -0
- package/dist/commands/start-enhanced-orig.d.ts +19 -0
- package/dist/commands/start-enhanced-orig.d.ts.map +1 -0
- package/dist/commands/start-enhanced-orig.js +434 -0
- package/dist/commands/start-enhanced-orig.js.map +1 -0
- package/dist/commands/start-enhanced.d.ts +19 -0
- package/dist/commands/start-enhanced.d.ts.map +1 -0
- package/dist/commands/start-enhanced.js +434 -0
- package/dist/commands/start-enhanced.js.map +1 -0
- package/dist/commands/start-orig.d.ts +10 -0
- package/dist/commands/start-orig.d.ts.map +1 -0
- package/dist/commands/start-orig.js +119 -0
- package/dist/commands/start-orig.js.map +1 -0
- package/dist/commands/start.d.ts +10 -0
- package/dist/commands/start.d.ts.map +1 -0
- package/dist/commands/start.js +119 -0
- package/dist/commands/start.js.map +1 -0
- package/dist/commands/status.d.ts +11 -0
- package/dist/commands/status.d.ts.map +1 -0
- package/dist/commands/status.js +119 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/commands/testing/index.d.ts +21 -0
- package/dist/commands/testing/index.d.ts.map +1 -0
- package/dist/commands/testing/index.js +41 -0
- package/dist/commands/testing/index.js.map +1 -0
- package/dist/commands/testing/testing-pipeline-enhanced.d.ts +94 -0
- package/dist/commands/testing/testing-pipeline-enhanced.d.ts.map +1 -0
- package/dist/commands/testing/testing-pipeline-enhanced.js +760 -0
- package/dist/commands/testing/testing-pipeline-enhanced.js.map +1 -0
- package/dist/commands/testing/testing-pipeline.d.ts +77 -0
- package/dist/commands/testing/testing-pipeline.d.ts.map +1 -0
- package/dist/commands/testing/testing-pipeline.js +479 -0
- package/dist/commands/testing/testing-pipeline.js.map +1 -0
- package/dist/commands/uninstall-copilot.d.ts +5 -0
- package/dist/commands/uninstall-copilot.d.ts.map +1 -0
- package/dist/commands/uninstall-copilot.js +143 -0
- package/dist/commands/uninstall-copilot.js.map +1 -0
- package/dist/commands/uninstall-cursor.d.ts +6 -0
- package/dist/commands/uninstall-cursor.d.ts.map +1 -0
- package/dist/commands/uninstall-cursor.js +124 -0
- package/dist/commands/uninstall-cursor.js.map +1 -0
- package/dist/commands/vibecheck-ai.d.ts +25 -0
- package/dist/commands/vibecheck-ai.d.ts.map +1 -0
- package/dist/commands/vibecheck-ai.js +260 -0
- package/dist/commands/vibecheck-ai.js.map +1 -0
- package/dist/commands/vibecheck-aware.d.ts +19 -0
- package/dist/commands/vibecheck-aware.d.ts.map +1 -0
- package/dist/commands/vibecheck-aware.js +350 -0
- package/dist/commands/vibecheck-aware.js.map +1 -0
- package/dist/commands/vibecheck-final.d.ts +22 -0
- package/dist/commands/vibecheck-final.d.ts.map +1 -0
- package/dist/commands/vibecheck-final.js +132 -0
- package/dist/commands/vibecheck-final.js.map +1 -0
- package/dist/commands/vibecheck-natural.d.ts +18 -0
- package/dist/commands/vibecheck-natural.d.ts.map +1 -0
- package/dist/commands/vibecheck-natural.js +105 -0
- package/dist/commands/vibecheck-natural.js.map +1 -0
- package/dist/commands/vibecheck-simple.d.ts +20 -0
- package/dist/commands/vibecheck-simple.d.ts.map +1 -0
- package/dist/commands/vibecheck-simple.js +136 -0
- package/dist/commands/vibecheck-simple.js.map +1 -0
- package/dist/commands/vibecheck.d.ts +10 -0
- package/dist/commands/vibecheck.d.ts.map +1 -0
- package/dist/commands/vibecheck.js +95 -0
- package/dist/commands/vibecheck.js.map +1 -0
- package/dist/core/adapters/path-adapter.d.ts +144 -0
- package/dist/core/adapters/path-adapter.d.ts.map +1 -0
- package/dist/core/adapters/path-adapter.js +245 -0
- package/dist/core/adapters/path-adapter.js.map +1 -0
- package/dist/core/command-shortcuts.d.ts +62 -0
- package/dist/core/command-shortcuts.d.ts.map +1 -0
- package/dist/core/command-shortcuts.js +124 -0
- package/dist/core/command-shortcuts.js.map +1 -0
- package/dist/core/config/config-aware-reflection.d.ts +37 -0
- package/dist/core/config/config-aware-reflection.d.ts.map +1 -0
- package/dist/core/config/config-aware-reflection.js +97 -0
- package/dist/core/config/config-aware-reflection.js.map +1 -0
- package/dist/core/config/config-loader.d.ts +154 -0
- package/dist/core/config/config-loader.d.ts.map +1 -0
- package/dist/core/config/config-loader.js +424 -0
- package/dist/core/config/config-loader.js.map +1 -0
- package/dist/core/config/config-migrator.d.ts +150 -0
- package/dist/core/config/config-migrator.d.ts.map +1 -0
- package/dist/core/config/config-migrator.js +423 -0
- package/dist/core/config/config-migrator.js.map +1 -0
- package/dist/core/config/config-schema.d.ts +276 -0
- package/dist/core/config/config-schema.d.ts.map +1 -0
- package/dist/core/config/config-schema.js +277 -0
- package/dist/core/config/config-schema.js.map +1 -0
- package/dist/core/config/index.d.ts +260 -0
- package/dist/core/config/index.d.ts.map +1 -0
- package/dist/core/config/index.js +283 -0
- package/dist/core/config/index.js.map +1 -0
- package/dist/core/config/interactive-config.d.ts +76 -0
- package/dist/core/config/interactive-config.d.ts.map +1 -0
- package/dist/core/config/interactive-config.js +315 -0
- package/dist/core/config/interactive-config.js.map +1 -0
- package/dist/core/config/path-config.d.ts +121 -0
- package/dist/core/config/path-config.d.ts.map +1 -0
- package/dist/core/config/path-config.js +210 -0
- package/dist/core/config/path-config.js.map +1 -0
- package/dist/core/config/path-resolver.d.ts +151 -0
- package/dist/core/config/path-resolver.d.ts.map +1 -0
- package/dist/core/config/path-resolver.js +343 -0
- package/dist/core/config/path-resolver.js.map +1 -0
- package/dist/core/config/project-detector.d.ts +58 -0
- package/dist/core/config/project-detector.d.ts.map +1 -0
- package/dist/core/config/project-detector.js +310 -0
- package/dist/core/config/project-detector.js.map +1 -0
- package/dist/core/config-backup/config-aware-reflection.d.ts +37 -0
- package/dist/core/config-backup/config-aware-reflection.d.ts.map +1 -0
- package/dist/core/config-backup/config-aware-reflection.js +97 -0
- package/dist/core/config-backup/config-aware-reflection.js.map +1 -0
- package/dist/core/config-backup/config-loader.d.ts +71 -0
- package/dist/core/config-backup/config-loader.d.ts.map +1 -0
- package/dist/core/config-backup/config-loader.js +288 -0
- package/dist/core/config-backup/config-loader.js.map +1 -0
- package/dist/core/config-backup/interactive-config.d.ts +76 -0
- package/dist/core/config-backup/interactive-config.d.ts.map +1 -0
- package/dist/core/config-backup/interactive-config.js +315 -0
- package/dist/core/config-backup/interactive-config.js.map +1 -0
- package/dist/core/config-backup/path-config.d.ts +121 -0
- package/dist/core/config-backup/path-config.d.ts.map +1 -0
- package/dist/core/config-backup/path-config.js +210 -0
- package/dist/core/config-backup/path-config.js.map +1 -0
- package/dist/core/config-backup/project-detector.d.ts +58 -0
- package/dist/core/config-backup/project-detector.d.ts.map +1 -0
- package/dist/core/config-backup/project-detector.js +310 -0
- package/dist/core/config-backup/project-detector.js.map +1 -0
- package/dist/core/documents/document-manager.d.ts +97 -0
- package/dist/core/documents/document-manager.d.ts.map +1 -0
- package/dist/core/documents/document-manager.js +441 -0
- package/dist/core/documents/document-manager.js.map +1 -0
- package/dist/core/documents/document-migrator.d.ts +138 -0
- package/dist/core/documents/document-migrator.d.ts.map +1 -0
- package/dist/core/documents/document-migrator.js +349 -0
- package/dist/core/documents/document-migrator.js.map +1 -0
- package/dist/core/documents/document-namer.d.ts +111 -0
- package/dist/core/documents/document-namer.d.ts.map +1 -0
- package/dist/core/documents/document-namer.js +225 -0
- package/dist/core/documents/document-namer.js.map +1 -0
- package/dist/core/documents/examples.d.ts +74 -0
- package/dist/core/documents/examples.d.ts.map +1 -0
- package/dist/core/documents/examples.js +273 -0
- package/dist/core/documents/examples.js.map +1 -0
- package/dist/core/documents/file-system.d.ts +93 -0
- package/dist/core/documents/file-system.d.ts.map +1 -0
- package/dist/core/documents/file-system.js +432 -0
- package/dist/core/documents/file-system.js.map +1 -0
- package/dist/core/documents/index.d.ts +97 -0
- package/dist/core/documents/index.d.ts.map +1 -0
- package/dist/core/documents/index.js +119 -0
- package/dist/core/documents/index.js.map +1 -0
- package/dist/core/documents/markdown-processor.d.ts +84 -0
- package/dist/core/documents/markdown-processor.d.ts.map +1 -0
- package/dist/core/documents/markdown-processor.js +302 -0
- package/dist/core/documents/markdown-processor.js.map +1 -0
- package/dist/core/documents/sequence-manager.d.ts +107 -0
- package/dist/core/documents/sequence-manager.d.ts.map +1 -0
- package/dist/core/documents/sequence-manager.js +246 -0
- package/dist/core/documents/sequence-manager.js.map +1 -0
- package/dist/core/documents/template-engine.d.ts +101 -0
- package/dist/core/documents/template-engine.d.ts.map +1 -0
- package/dist/core/documents/template-engine.js +440 -0
- package/dist/core/documents/template-engine.js.map +1 -0
- package/dist/core/handoff-quality.d.ts +164 -0
- package/dist/core/handoff-quality.d.ts.map +1 -0
- package/dist/core/handoff-quality.js +590 -0
- package/dist/core/handoff-quality.js.map +1 -0
- package/dist/core/platform/hook-adapter.d.ts +109 -0
- package/dist/core/platform/hook-adapter.d.ts.map +1 -0
- package/dist/core/platform/hook-adapter.js +527 -0
- package/dist/core/platform/hook-adapter.js.map +1 -0
- package/dist/core/platform/hook-migration.d.ts +73 -0
- package/dist/core/platform/hook-migration.d.ts.map +1 -0
- package/dist/core/platform/hook-migration.js +339 -0
- package/dist/core/platform/hook-migration.js.map +1 -0
- package/dist/core/platform/hook-migrator.d.ts +49 -0
- package/dist/core/platform/hook-migrator.d.ts.map +1 -0
- package/dist/core/platform/hook-migrator.js +305 -0
- package/dist/core/platform/hook-migrator.js.map +1 -0
- package/dist/core/platform/hook-templates.d.ts +60 -0
- package/dist/core/platform/hook-templates.d.ts.map +1 -0
- package/dist/core/platform/hook-templates.js +352 -0
- package/dist/core/platform/hook-templates.js.map +1 -0
- package/dist/core/platform/index.d.ts +82 -0
- package/dist/core/platform/index.d.ts.map +1 -0
- package/dist/core/platform/index.js +173 -0
- package/dist/core/platform/index.js.map +1 -0
- package/dist/core/platform/path-normalizer.d.ts +117 -0
- package/dist/core/platform/path-normalizer.d.ts.map +1 -0
- package/dist/core/platform/path-normalizer.js +333 -0
- package/dist/core/platform/path-normalizer.js.map +1 -0
- package/dist/core/platform/path-resolver.d.ts +120 -0
- package/dist/core/platform/path-resolver.d.ts.map +1 -0
- package/dist/core/platform/path-resolver.js +339 -0
- package/dist/core/platform/path-resolver.js.map +1 -0
- package/dist/core/platform/platform-adapter.d.ts +101 -0
- package/dist/core/platform/platform-adapter.d.ts.map +1 -0
- package/dist/core/platform/platform-adapter.js +243 -0
- package/dist/core/platform/platform-adapter.js.map +1 -0
- package/dist/core/platform/platform-detector.d.ts +122 -0
- package/dist/core/platform/platform-detector.d.ts.map +1 -0
- package/dist/core/platform/platform-detector.js +318 -0
- package/dist/core/platform/platform-detector.js.map +1 -0
- package/dist/core/platform/platform-templates.d.ts +62 -0
- package/dist/core/platform/platform-templates.d.ts.map +1 -0
- package/dist/core/platform/platform-templates.js +364 -0
- package/dist/core/platform/platform-templates.js.map +1 -0
- package/dist/core/platform/types.d.ts +54 -0
- package/dist/core/platform/types.d.ts.map +1 -0
- package/dist/core/platform/types.js +12 -0
- package/dist/core/platform/types.js.map +1 -0
- package/dist/core/polyglot-example.d.ts +115 -0
- package/dist/core/polyglot-example.d.ts.map +1 -0
- package/dist/core/polyglot-example.js +341 -0
- package/dist/core/polyglot-example.js.map +1 -0
- package/dist/core/pressure-monitor.d.ts +76 -0
- package/dist/core/pressure-monitor.d.ts.map +1 -0
- package/dist/core/pressure-monitor.js +156 -0
- package/dist/core/pressure-monitor.js.map +1 -0
- package/dist/core/reflection-pattern.d.ts +99 -0
- package/dist/core/reflection-pattern.d.ts.map +1 -0
- package/dist/core/reflection-pattern.js +294 -0
- package/dist/core/reflection-pattern.js.map +1 -0
- package/dist/core/session-log-manager.d.ts +83 -0
- package/dist/core/session-log-manager.d.ts.map +1 -0
- package/dist/core/session-log-manager.js +288 -0
- package/dist/core/session-log-manager.js.map +1 -0
- package/dist/core/simple-pipeline-base.d.ts +130 -0
- package/dist/core/simple-pipeline-base.d.ts.map +1 -0
- package/dist/core/simple-pipeline-base.js +240 -0
- package/dist/core/simple-pipeline-base.js.map +1 -0
- package/dist/core/simple-pipeline.d.ts +70 -0
- package/dist/core/simple-pipeline.d.ts.map +1 -0
- package/dist/core/simple-pipeline.js +241 -0
- package/dist/core/simple-pipeline.js.map +1 -0
- package/dist/core/utils/paths.d.ts +50 -0
- package/dist/core/utils/paths.d.ts.map +1 -0
- package/dist/core/utils/paths.js +75 -0
- package/dist/core/utils/paths.js.map +1 -0
- package/dist/core/validators/command-argument-validator.d.ts +102 -0
- package/dist/core/validators/command-argument-validator.d.ts.map +1 -0
- package/dist/core/validators/command-argument-validator.js +377 -0
- package/dist/core/validators/command-argument-validator.js.map +1 -0
- package/dist/core/validators/config-validator.d.ts +111 -0
- package/dist/core/validators/config-validator.d.ts.map +1 -0
- package/dist/core/validators/config-validator.js +433 -0
- package/dist/core/validators/config-validator.js.map +1 -0
- package/dist/core/validators/environment-validator.d.ts +138 -0
- package/dist/core/validators/environment-validator.d.ts.map +1 -0
- package/dist/core/validators/environment-validator.js +516 -0
- package/dist/core/validators/environment-validator.js.map +1 -0
- package/dist/core/validators/git-validator.d.ts +100 -0
- package/dist/core/validators/git-validator.d.ts.map +1 -0
- package/dist/core/validators/git-validator.js +288 -0
- package/dist/core/validators/git-validator.js.map +1 -0
- package/dist/core/validators/git-validator.test.d.ts +12 -0
- package/dist/core/validators/git-validator.test.d.ts.map +1 -0
- package/dist/core/validators/git-validator.test.js +40 -0
- package/dist/core/validators/git-validator.test.js.map +1 -0
- package/dist/core/validators/index.d.ts +90 -0
- package/dist/core/validators/index.d.ts.map +1 -0
- package/dist/core/validators/index.js +166 -0
- package/dist/core/validators/index.js.map +1 -0
- package/dist/core/validators/input-validator.d.ts +117 -0
- package/dist/core/validators/input-validator.d.ts.map +1 -0
- package/dist/core/validators/input-validator.js +368 -0
- package/dist/core/validators/input-validator.js.map +1 -0
- package/dist/core/validators/temp_index.d.ts +56 -0
- package/dist/core/validators/temp_index.d.ts.map +1 -0
- package/dist/core/validators/temp_index.js +94 -0
- package/dist/core/validators/temp_index.js.map +1 -0
- package/dist/core/validators/validation-error-handler.d.ts +107 -0
- package/dist/core/validators/validation-error-handler.d.ts.map +1 -0
- package/dist/core/validators/validation-error-handler.js +379 -0
- package/dist/core/validators/validation-error-handler.js.map +1 -0
- package/dist/core/validators/validation-orchestrator.d.ts +128 -0
- package/dist/core/validators/validation-orchestrator.d.ts.map +1 -0
- package/dist/core/validators/validation-orchestrator.js +301 -0
- package/dist/core/validators/validation-orchestrator.js.map +1 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +316 -0
- package/dist/index.js.map +1 -0
- package/dist/services/active-context-manager.d.ts +118 -0
- package/dist/services/active-context-manager.d.ts.map +1 -0
- package/dist/services/active-context-manager.js +435 -0
- package/dist/services/active-context-manager.js.map +1 -0
- package/dist/services/ai-service.d.ts +71 -0
- package/dist/services/ai-service.d.ts.map +1 -0
- package/dist/services/ai-service.js +329 -0
- package/dist/services/ai-service.js.map +1 -0
- package/dist/services/context-search.d.ts +98 -0
- package/dist/services/context-search.d.ts.map +1 -0
- package/dist/services/context-search.js +289 -0
- package/dist/services/context-search.js.map +1 -0
- package/dist/services/insight-extractor.d.ts +69 -0
- package/dist/services/insight-extractor.d.ts.map +1 -0
- package/dist/services/insight-extractor.js +343 -0
- package/dist/services/insight-extractor.js.map +1 -0
- package/dist/services/insight-quality-controller.d.ts +167 -0
- package/dist/services/insight-quality-controller.d.ts.map +1 -0
- package/dist/services/insight-quality-controller.js +543 -0
- package/dist/services/insight-quality-controller.js.map +1 -0
- package/dist/services/module-generator.d.ts +108 -0
- package/dist/services/module-generator.d.ts.map +1 -0
- package/dist/services/module-generator.js +561 -0
- package/dist/services/module-generator.js.map +1 -0
- package/dist/services/statusline-tracker.d.ts +139 -0
- package/dist/services/statusline-tracker.d.ts.map +1 -0
- package/dist/services/statusline-tracker.js +360 -0
- package/dist/services/statusline-tracker.js.map +1 -0
- package/dist/templates/ai-instructions-template.d.ts +39 -0
- package/dist/templates/ai-instructions-template.d.ts.map +1 -0
- package/dist/templates/ai-instructions-template.js +222 -0
- package/dist/templates/ai-instructions-template.js.map +1 -0
- package/dist/types/config.d.ts +128 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/config.js +49 -0
- package/dist/types/config.js.map +1 -0
- package/dist/types/documents.d.ts +87 -0
- package/dist/types/documents.d.ts.map +1 -0
- package/dist/types/documents.js +12 -0
- package/dist/types/documents.js.map +1 -0
- package/dist/types/session-log.d.ts +83 -0
- package/dist/types/session-log.d.ts.map +1 -0
- package/dist/types/session-log.js +12 -0
- package/dist/types/session-log.js.map +1 -0
- package/dist/types/session.d.ts +257 -0
- package/dist/types/session.d.ts.map +1 -0
- package/dist/types/session.js +12 -0
- package/dist/types/session.js.map +1 -0
- package/dist/utils/ai-templates.d.ts +98 -0
- package/dist/utils/ai-templates.d.ts.map +1 -0
- package/dist/utils/ai-templates.js +179 -0
- package/dist/utils/ai-templates.js.map +1 -0
- package/dist/utils/ginko-root.d.ts +51 -0
- package/dist/utils/ginko-root.d.ts.map +1 -0
- package/dist/utils/ginko-root.js +96 -0
- package/dist/utils/ginko-root.js.map +1 -0
- package/dist/utils/helpers.d.ts +19 -0
- package/dist/utils/helpers.d.ts.map +1 -0
- package/dist/utils/helpers.js +107 -0
- package/dist/utils/helpers.js.map +1 -0
- package/dist/utils/progressive-learning.d.ts +42 -0
- package/dist/utils/progressive-learning.d.ts.map +1 -0
- package/dist/utils/progressive-learning.js +248 -0
- package/dist/utils/progressive-learning.js.map +1 -0
- package/dist/utils/session-collector.d.ts +81 -0
- package/dist/utils/session-collector.d.ts.map +1 -0
- package/dist/utils/session-collector.js +387 -0
- package/dist/utils/session-collector.js.map +1 -0
- package/dist/utils/session-logger.d.ts +125 -0
- package/dist/utils/session-logger.d.ts.map +1 -0
- package/dist/utils/session-logger.js +359 -0
- package/dist/utils/session-logger.js.map +1 -0
- package/dist/utils/session-synthesizer.d.ts +36 -0
- package/dist/utils/session-synthesizer.d.ts.map +1 -0
- package/dist/utils/session-synthesizer.js +239 -0
- package/dist/utils/session-synthesizer.js.map +1 -0
- package/package.json +76 -0
|
@@ -0,0 +1,301 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileType: utility
|
|
3
|
+
* @status: current
|
|
4
|
+
* @updated: 2025-09-19
|
|
5
|
+
* @tags: [validation, orchestrator, coordinator, first-use-experience]
|
|
6
|
+
* @related: [git-validator.ts, config-validator.ts, environment-validator.ts, index.ts]
|
|
7
|
+
* @priority: critical
|
|
8
|
+
* @complexity: medium
|
|
9
|
+
* @dependencies: []
|
|
10
|
+
*/
|
|
11
|
+
import { GitValidator } from './git-validator.js';
|
|
12
|
+
import { ConfigValidator } from './config-validator.js';
|
|
13
|
+
import { EnvironmentValidator } from './environment-validator.js';
|
|
14
|
+
/**
|
|
15
|
+
* Severity levels for validation issues
|
|
16
|
+
*/
|
|
17
|
+
export var ValidationSeverity;
|
|
18
|
+
(function (ValidationSeverity) {
|
|
19
|
+
ValidationSeverity["ERROR"] = "error";
|
|
20
|
+
ValidationSeverity["WARNING"] = "warning";
|
|
21
|
+
ValidationSeverity["INFO"] = "info";
|
|
22
|
+
})(ValidationSeverity || (ValidationSeverity = {}));
|
|
23
|
+
/**
|
|
24
|
+
* Orchestrates multiple validators to provide comprehensive validation
|
|
25
|
+
* Used by ginko doctor command and init process
|
|
26
|
+
*/
|
|
27
|
+
export class ValidationOrchestrator {
|
|
28
|
+
options;
|
|
29
|
+
reports = [];
|
|
30
|
+
constructor(options = {}) {
|
|
31
|
+
this.options = {
|
|
32
|
+
projectRoot: process.cwd(),
|
|
33
|
+
skipOptional: false,
|
|
34
|
+
verbose: false,
|
|
35
|
+
timeoutMs: 10000,
|
|
36
|
+
...options
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Run all validation checks
|
|
41
|
+
*/
|
|
42
|
+
async runAllValidations() {
|
|
43
|
+
const startTime = Date.now();
|
|
44
|
+
this.reports = [];
|
|
45
|
+
try {
|
|
46
|
+
// Run core validations in order
|
|
47
|
+
await this.runEnvironmentValidation();
|
|
48
|
+
await this.runGitValidation();
|
|
49
|
+
await this.runConfigValidation();
|
|
50
|
+
// Run optional validations if requested
|
|
51
|
+
if (!this.options.skipOptional) {
|
|
52
|
+
await this.runOptionalValidations();
|
|
53
|
+
}
|
|
54
|
+
return this.generateSummary(Date.now() - startTime);
|
|
55
|
+
}
|
|
56
|
+
catch (error) {
|
|
57
|
+
// If orchestration itself fails, create emergency summary
|
|
58
|
+
return this.generateEmergencySummary(Date.now() - startTime, error instanceof Error ? error.message : 'Unknown orchestration error');
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Run only critical validations needed for ginko to function
|
|
63
|
+
*/
|
|
64
|
+
async runCriticalValidations() {
|
|
65
|
+
const startTime = Date.now();
|
|
66
|
+
this.reports = [];
|
|
67
|
+
try {
|
|
68
|
+
await this.runEnvironmentValidation();
|
|
69
|
+
await this.runGitValidation();
|
|
70
|
+
return this.generateSummary(Date.now() - startTime);
|
|
71
|
+
}
|
|
72
|
+
catch (error) {
|
|
73
|
+
return this.generateEmergencySummary(Date.now() - startTime, error instanceof Error ? error.message : 'Critical validation failed');
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Run environment validation
|
|
78
|
+
*/
|
|
79
|
+
async runEnvironmentValidation() {
|
|
80
|
+
const validator = new EnvironmentValidator();
|
|
81
|
+
await this.runValidator('Environment', validator, ValidationSeverity.ERROR);
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Run git repository validation
|
|
85
|
+
*/
|
|
86
|
+
async runGitValidation() {
|
|
87
|
+
const validator = new GitValidator(this.options.projectRoot);
|
|
88
|
+
await this.runValidator('Git Repository', validator, ValidationSeverity.ERROR);
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Run configuration validation
|
|
92
|
+
*/
|
|
93
|
+
async runConfigValidation() {
|
|
94
|
+
const validator = new ConfigValidator(this.options.projectRoot);
|
|
95
|
+
await this.runValidator('Configuration', validator, ValidationSeverity.WARNING);
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Run optional validations for enhanced experience
|
|
99
|
+
*/
|
|
100
|
+
async runOptionalValidations() {
|
|
101
|
+
// Could add validators for:
|
|
102
|
+
// - IDE integration checks
|
|
103
|
+
// - Network connectivity
|
|
104
|
+
// - Disk space requirements
|
|
105
|
+
// - Performance benchmarks
|
|
106
|
+
// For now, we'll add a placeholder that succeeds
|
|
107
|
+
this.reports.push({
|
|
108
|
+
validator: 'Optional Tools',
|
|
109
|
+
severity: ValidationSeverity.INFO,
|
|
110
|
+
valid: true,
|
|
111
|
+
message: 'Optional tool checks completed',
|
|
112
|
+
suggestions: [
|
|
113
|
+
'Consider installing VS Code for enhanced development experience',
|
|
114
|
+
'Install vim or nano for quick file editing',
|
|
115
|
+
'curl or wget can help with downloading resources'
|
|
116
|
+
],
|
|
117
|
+
metadata: { skipped: false }
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Run a single validator with timeout and error handling
|
|
122
|
+
*/
|
|
123
|
+
async runValidator(name, validator, defaultSeverity) {
|
|
124
|
+
const startTime = Date.now();
|
|
125
|
+
try {
|
|
126
|
+
// Create timeout promise
|
|
127
|
+
const timeoutPromise = new Promise((_, reject) => {
|
|
128
|
+
setTimeout(() => {
|
|
129
|
+
reject(new Error(`Validation timeout (${this.options.timeoutMs}ms)`));
|
|
130
|
+
}, this.options.timeoutMs);
|
|
131
|
+
});
|
|
132
|
+
// Race validation against timeout
|
|
133
|
+
const result = await Promise.race([
|
|
134
|
+
validator.validate(),
|
|
135
|
+
timeoutPromise
|
|
136
|
+
]);
|
|
137
|
+
const duration = Date.now() - startTime;
|
|
138
|
+
// Determine severity
|
|
139
|
+
let severity = defaultSeverity;
|
|
140
|
+
if (result.valid) {
|
|
141
|
+
severity = ValidationSeverity.INFO;
|
|
142
|
+
}
|
|
143
|
+
else if (result.metadata?.warning) {
|
|
144
|
+
severity = ValidationSeverity.WARNING;
|
|
145
|
+
}
|
|
146
|
+
this.reports.push({
|
|
147
|
+
validator: name,
|
|
148
|
+
severity,
|
|
149
|
+
valid: result.valid,
|
|
150
|
+
message: result.error || `${name} validation passed`,
|
|
151
|
+
suggestions: result.suggestions || [],
|
|
152
|
+
metadata: result.metadata,
|
|
153
|
+
duration
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
catch (error) {
|
|
157
|
+
const duration = Date.now() - startTime;
|
|
158
|
+
this.reports.push({
|
|
159
|
+
validator: name,
|
|
160
|
+
severity: ValidationSeverity.ERROR,
|
|
161
|
+
valid: false,
|
|
162
|
+
message: error instanceof Error ? error.message : `${name} validation failed`,
|
|
163
|
+
suggestions: this.getGenericSuggestions(name),
|
|
164
|
+
duration
|
|
165
|
+
});
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Generate comprehensive validation summary
|
|
170
|
+
*/
|
|
171
|
+
generateSummary(totalDuration) {
|
|
172
|
+
const errors = this.reports.filter(r => r.severity === ValidationSeverity.ERROR);
|
|
173
|
+
const warnings = this.reports.filter(r => r.severity === ValidationSeverity.WARNING);
|
|
174
|
+
const passedChecks = this.reports.filter(r => r.valid).length;
|
|
175
|
+
// Determine if ginko can proceed
|
|
176
|
+
// Critical: No errors in Environment or Git validation
|
|
177
|
+
const criticalErrors = errors.filter(r => r.validator === 'Environment' || r.validator === 'Git Repository');
|
|
178
|
+
const canProceed = criticalErrors.length === 0;
|
|
179
|
+
// Overall success: no errors at all
|
|
180
|
+
const success = errors.length === 0;
|
|
181
|
+
return {
|
|
182
|
+
success,
|
|
183
|
+
canProceed,
|
|
184
|
+
reports: this.reports,
|
|
185
|
+
errors,
|
|
186
|
+
warnings,
|
|
187
|
+
duration: totalDuration,
|
|
188
|
+
metadata: {
|
|
189
|
+
platform: process.platform,
|
|
190
|
+
nodeVersion: process.version,
|
|
191
|
+
gitAvailable: this.isToolAvailable('Git Repository'),
|
|
192
|
+
configExists: this.isToolAvailable('Configuration'),
|
|
193
|
+
totalChecks: this.reports.length,
|
|
194
|
+
passedChecks
|
|
195
|
+
}
|
|
196
|
+
};
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* Generate emergency summary when orchestration fails
|
|
200
|
+
*/
|
|
201
|
+
generateEmergencySummary(duration, error) {
|
|
202
|
+
const emergencyReport = {
|
|
203
|
+
validator: 'Orchestration',
|
|
204
|
+
severity: ValidationSeverity.ERROR,
|
|
205
|
+
valid: false,
|
|
206
|
+
message: `Validation system failed: ${error}`,
|
|
207
|
+
suggestions: [
|
|
208
|
+
'Check Node.js installation and permissions',
|
|
209
|
+
'Try running in a different directory',
|
|
210
|
+
'Contact support if issue persists'
|
|
211
|
+
],
|
|
212
|
+
duration
|
|
213
|
+
};
|
|
214
|
+
return {
|
|
215
|
+
success: false,
|
|
216
|
+
canProceed: false,
|
|
217
|
+
reports: [emergencyReport],
|
|
218
|
+
errors: [emergencyReport],
|
|
219
|
+
warnings: [],
|
|
220
|
+
duration,
|
|
221
|
+
metadata: {
|
|
222
|
+
platform: process.platform,
|
|
223
|
+
nodeVersion: process.version,
|
|
224
|
+
gitAvailable: false,
|
|
225
|
+
configExists: false,
|
|
226
|
+
totalChecks: 1,
|
|
227
|
+
passedChecks: 0
|
|
228
|
+
}
|
|
229
|
+
};
|
|
230
|
+
}
|
|
231
|
+
/**
|
|
232
|
+
* Check if a tool/validator passed
|
|
233
|
+
*/
|
|
234
|
+
isToolAvailable(validatorName) {
|
|
235
|
+
const report = this.reports.find(r => r.validator === validatorName);
|
|
236
|
+
return report?.valid ?? false;
|
|
237
|
+
}
|
|
238
|
+
/**
|
|
239
|
+
* Get generic suggestions for validator failures
|
|
240
|
+
*/
|
|
241
|
+
getGenericSuggestions(validatorName) {
|
|
242
|
+
switch (validatorName) {
|
|
243
|
+
case 'Environment':
|
|
244
|
+
return [
|
|
245
|
+
'Check Node.js installation: node --version',
|
|
246
|
+
'Verify system requirements',
|
|
247
|
+
'Restart terminal and try again'
|
|
248
|
+
];
|
|
249
|
+
case 'Git Repository':
|
|
250
|
+
return [
|
|
251
|
+
'Initialize git repository: git init',
|
|
252
|
+
'Navigate to existing repository',
|
|
253
|
+
'Install git if not available'
|
|
254
|
+
];
|
|
255
|
+
case 'Configuration':
|
|
256
|
+
return [
|
|
257
|
+
'Create ginko.json: ginko init',
|
|
258
|
+
'Check file permissions',
|
|
259
|
+
'Verify JSON syntax'
|
|
260
|
+
];
|
|
261
|
+
default:
|
|
262
|
+
return [
|
|
263
|
+
'Check system configuration',
|
|
264
|
+
'Verify all requirements are met',
|
|
265
|
+
'Try running validation again'
|
|
266
|
+
];
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
/**
|
|
270
|
+
* Get filtered reports by severity
|
|
271
|
+
*/
|
|
272
|
+
getReportsBySeverity(severity) {
|
|
273
|
+
return this.reports.filter(r => r.severity === severity);
|
|
274
|
+
}
|
|
275
|
+
/**
|
|
276
|
+
* Get failed validations
|
|
277
|
+
*/
|
|
278
|
+
getFailedValidations() {
|
|
279
|
+
return this.reports.filter(r => !r.valid);
|
|
280
|
+
}
|
|
281
|
+
/**
|
|
282
|
+
* Check if specific validator passed
|
|
283
|
+
*/
|
|
284
|
+
hasValidatorPassed(validatorName) {
|
|
285
|
+
return this.isToolAvailable(validatorName);
|
|
286
|
+
}
|
|
287
|
+
/**
|
|
288
|
+
* Get suggestions for fixing all issues
|
|
289
|
+
*/
|
|
290
|
+
getAllSuggestions() {
|
|
291
|
+
const allSuggestions = [];
|
|
292
|
+
this.reports
|
|
293
|
+
.filter(r => !r.valid)
|
|
294
|
+
.forEach(r => {
|
|
295
|
+
allSuggestions.push(`${r.validator}: ${r.message}`);
|
|
296
|
+
r.suggestions.forEach(s => allSuggestions.push(` → ${s}`));
|
|
297
|
+
});
|
|
298
|
+
return allSuggestions;
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
//# sourceMappingURL=validation-orchestrator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation-orchestrator.js","sourceRoot":"","sources":["../../../src/core/validators/validation-orchestrator.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;;;GAOG"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,316 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* @fileType: cli
|
|
4
|
+
* @status: current
|
|
5
|
+
* @updated: 2025-08-27
|
|
6
|
+
* @tags: [cli, privacy, git-native, entry-point]
|
|
7
|
+
* @priority: critical
|
|
8
|
+
* @complexity: medium
|
|
9
|
+
*/
|
|
10
|
+
import { Command } from 'commander';
|
|
11
|
+
import chalk from 'chalk';
|
|
12
|
+
import { initCommand } from './commands/init.js';
|
|
13
|
+
import { startCommand } from './commands/start/index.js';
|
|
14
|
+
import { handoffCommand } from './commands/handoff/index.js';
|
|
15
|
+
import { statusCommand } from './commands/status.js';
|
|
16
|
+
import { contextCommand } from './commands/context.js';
|
|
17
|
+
import { configCommand } from './commands/config.js';
|
|
18
|
+
import vibecheckCommand from './commands/vibecheck-final.js';
|
|
19
|
+
import { vibecheckAiCommand } from './commands/vibecheck-ai.js';
|
|
20
|
+
import { compactCommand } from './commands/compact.js';
|
|
21
|
+
import { shipCommand } from './commands/ship.js';
|
|
22
|
+
import { shipAiCommand } from './commands/ship-ai.js';
|
|
23
|
+
import { captureCommand } from './commands/capture.js';
|
|
24
|
+
import { exploreCommand } from './commands/explore.js';
|
|
25
|
+
import { architectureCommand } from './commands/architecture.js';
|
|
26
|
+
import { planCommand } from './commands/plan.js';
|
|
27
|
+
import { initCursorCommand } from './commands/init-cursor.js';
|
|
28
|
+
import { uninstallCursorCommand } from './commands/uninstall-cursor.js';
|
|
29
|
+
import { initCopilotCommand } from './commands/init-copilot.js';
|
|
30
|
+
import { uninstallCopilotCommand } from './commands/uninstall-copilot.js';
|
|
31
|
+
import { backlogCommand } from './commands/backlog/index.js';
|
|
32
|
+
import { magicSimpleCommand } from './commands/magic-simple.js';
|
|
33
|
+
const program = new Command();
|
|
34
|
+
// ASCII art logo for fun
|
|
35
|
+
const logo = chalk.green(`
|
|
36
|
+
╔═══════════════════════════════════╗
|
|
37
|
+
║ 🌿 Ginko CLI - Privacy First ║
|
|
38
|
+
║ Your code never leaves home ║
|
|
39
|
+
╚═══════════════════════════════════╝
|
|
40
|
+
`);
|
|
41
|
+
program
|
|
42
|
+
.name('ginko')
|
|
43
|
+
.description('Privacy-first CLI for AI-assisted development')
|
|
44
|
+
.version('0.1.0-alpha')
|
|
45
|
+
.addHelpText('before', logo);
|
|
46
|
+
// Core commands
|
|
47
|
+
program
|
|
48
|
+
.command('init')
|
|
49
|
+
.description('Initialize Ginko in your project with AI-optimized setup')
|
|
50
|
+
.option('--quick', 'Quick initialization without project analysis')
|
|
51
|
+
.option('--analyze', 'Deep analysis mode for comprehensive setup')
|
|
52
|
+
.option('--model <model>', 'Specify AI model (claude, gpt, generic)')
|
|
53
|
+
.action((options) => initCommand(options));
|
|
54
|
+
program
|
|
55
|
+
.command('start [sessionId]')
|
|
56
|
+
.description('Start or resume a session with AI-enhanced reflection by default')
|
|
57
|
+
.option('-v, --verbose', 'Show full context and handoff')
|
|
58
|
+
.option('-m, --minimal', 'Minimal output for quick start')
|
|
59
|
+
.option('--noai', 'Disable AI enhancement and use procedural templates')
|
|
60
|
+
.option('--legacy', 'Use original implementation without reflection (deprecated)')
|
|
61
|
+
.action((sessionId, options) => startCommand({ sessionId, ...options }));
|
|
62
|
+
program
|
|
63
|
+
.command('handoff [message]')
|
|
64
|
+
.description('Create a session handoff with AI-enhanced reflection by default')
|
|
65
|
+
.option('--noai', 'Disable AI enhancement and use procedural templates')
|
|
66
|
+
.option('--legacy', 'Use original implementation without reflection (deprecated)')
|
|
67
|
+
.option('-v, --verbose', 'Show detailed output')
|
|
68
|
+
.option('-r, --review', 'Review handoff before saving')
|
|
69
|
+
.action((message, options) => {
|
|
70
|
+
// Use AI-enhanced reflection-based handoff by default
|
|
71
|
+
return handoffCommand({ message, ...options });
|
|
72
|
+
});
|
|
73
|
+
program
|
|
74
|
+
.command('status')
|
|
75
|
+
.description('Show current session status')
|
|
76
|
+
.action(statusCommand);
|
|
77
|
+
program
|
|
78
|
+
.command('context')
|
|
79
|
+
.description('Manage session context')
|
|
80
|
+
.option('-a, --add <files...>', 'Add files to context')
|
|
81
|
+
.option('-r, --remove <files...>', 'Remove files from context')
|
|
82
|
+
.option('-s, --show', 'Show current context')
|
|
83
|
+
.action(contextCommand);
|
|
84
|
+
program
|
|
85
|
+
.command('config')
|
|
86
|
+
.description('Manage Ginko configuration')
|
|
87
|
+
.argument('[key]', 'Configuration key')
|
|
88
|
+
.argument('[value]', 'Configuration value')
|
|
89
|
+
.option('--get', 'Get configuration value')
|
|
90
|
+
.option('--set', 'Set configuration value')
|
|
91
|
+
.option('--list', 'List all configuration')
|
|
92
|
+
.action(configCommand);
|
|
93
|
+
program
|
|
94
|
+
.command('vibecheck [concern]')
|
|
95
|
+
.description('Pause moment for recalibration - conversational check-in')
|
|
96
|
+
.option('-v, --verbose', 'Show additional context')
|
|
97
|
+
.option('--analyze', 'Full AI analysis mode (generates detailed report)')
|
|
98
|
+
.option('--store', 'Store AI analysis (internal use)')
|
|
99
|
+
.option('--id <id>', 'Vibecheck ID for storing analysis')
|
|
100
|
+
.option('--content <content>', 'Enriched analysis to store')
|
|
101
|
+
.action((concern, options) => {
|
|
102
|
+
// Only use AI version if explicitly requested or in store phase
|
|
103
|
+
if (options.analyze || options.store || options.id || options.content) {
|
|
104
|
+
return vibecheckAiCommand(concern, options);
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
// Default to simple conversational vibecheck
|
|
108
|
+
return vibecheckCommand(concern, options);
|
|
109
|
+
}
|
|
110
|
+
});
|
|
111
|
+
program
|
|
112
|
+
.command('compact')
|
|
113
|
+
.description('Reduce context size by removing stale information')
|
|
114
|
+
.option('-p, --preserve <files...>', 'Files to preserve during compaction')
|
|
115
|
+
.option('-a, --aggressive', 'Aggressive compaction mode')
|
|
116
|
+
.action(compactCommand);
|
|
117
|
+
program
|
|
118
|
+
.command('ship [message]')
|
|
119
|
+
.description('AI-enhanced shipping with smart commit messages and PR descriptions')
|
|
120
|
+
.option('-b, --branch <name>', 'Specify branch name')
|
|
121
|
+
.option('--no-push', 'Skip pushing to remote')
|
|
122
|
+
.option('--no-tests', 'Skip running tests')
|
|
123
|
+
.option('--store', 'Execute ship with AI content (internal use)')
|
|
124
|
+
.option('--id <id>', 'Ship ID for AI content')
|
|
125
|
+
.option('--content <content>', 'AI-generated ship content')
|
|
126
|
+
.option('--no-ai', 'Disable AI enhancement')
|
|
127
|
+
.option('--quick', 'Quick ship without AI')
|
|
128
|
+
.option('--legacy', 'Use standalone implementation (deprecated)')
|
|
129
|
+
.option('-v, --verbose', 'Show detailed output')
|
|
130
|
+
.action(async (message, options) => {
|
|
131
|
+
// Use legacy standalone if explicitly requested
|
|
132
|
+
if (options.legacy) {
|
|
133
|
+
const useAiVersion = options.store || options.id || options.content ||
|
|
134
|
+
(options.ai !== false && !options.quick);
|
|
135
|
+
if (useAiVersion) {
|
|
136
|
+
return shipAiCommand(message, options);
|
|
137
|
+
}
|
|
138
|
+
else {
|
|
139
|
+
return shipCommand(message, options);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
// Default: Use Universal Reflection Pattern via shortcut
|
|
143
|
+
const { executeShortcut } = await import('./core/command-shortcuts.js');
|
|
144
|
+
return executeShortcut('ship', [message, options]);
|
|
145
|
+
});
|
|
146
|
+
// Hero command: capture - for effortless context capture
|
|
147
|
+
program
|
|
148
|
+
.command('capture [description]')
|
|
149
|
+
.description('Capture a learning, discovery, or important context')
|
|
150
|
+
.option('--store', 'Store AI-enriched content (internal use)')
|
|
151
|
+
.option('--id <id>', 'Capture ID for storing enriched content')
|
|
152
|
+
.option('--content <content>', 'Enriched content to store')
|
|
153
|
+
.option('-r, --review', 'Review before saving')
|
|
154
|
+
.option('-v, --verbose', 'Show detailed output')
|
|
155
|
+
.option('-q, --quiet', 'Suppress all output')
|
|
156
|
+
.option('--quick', 'Quick capture without AI enhancement')
|
|
157
|
+
.option('--noai', 'Disable AI enhancement (use reflection templates)')
|
|
158
|
+
.option('--legacy', 'Use standalone implementation (deprecated)')
|
|
159
|
+
.option('-e, --edit', 'Open in editor after creation')
|
|
160
|
+
.action(async (description, options) => {
|
|
161
|
+
// Use legacy standalone if explicitly requested
|
|
162
|
+
if (options.legacy) {
|
|
163
|
+
return captureCommand(description, options);
|
|
164
|
+
}
|
|
165
|
+
// Default: Use Universal Reflection Pattern via shortcut
|
|
166
|
+
const { executeShortcut } = await import('./core/command-shortcuts.js');
|
|
167
|
+
return executeShortcut('capture', [description, options]);
|
|
168
|
+
});
|
|
169
|
+
// Development workflow commands: explore -> architecture -> plan -> build
|
|
170
|
+
program
|
|
171
|
+
.command('explore [topic]')
|
|
172
|
+
.description('Collaborative thinking mode for exploring problems and solutions')
|
|
173
|
+
.option('--store', 'Store generated PRD or backlog item (internal use)')
|
|
174
|
+
.option('--id <id>', 'Exploration ID')
|
|
175
|
+
.option('--content <content>', 'Content to store')
|
|
176
|
+
.option('--type <type>', 'Output type: prd or backlog', 'backlog')
|
|
177
|
+
.option('-r, --review', 'Review before saving')
|
|
178
|
+
.option('-v, --verbose', 'Show detailed output')
|
|
179
|
+
.option('--noai', 'Disable AI enhancement (use reflection templates)')
|
|
180
|
+
.option('--legacy', 'Use standalone implementation (deprecated)')
|
|
181
|
+
.action(async (topic, options) => {
|
|
182
|
+
// Use legacy standalone if explicitly requested
|
|
183
|
+
if (options.legacy) {
|
|
184
|
+
return exploreCommand(topic, options);
|
|
185
|
+
}
|
|
186
|
+
// Default: Use Universal Reflection Pattern via shortcut
|
|
187
|
+
const { executeShortcut } = await import('./core/command-shortcuts.js');
|
|
188
|
+
return executeShortcut('explore', [topic, options]);
|
|
189
|
+
});
|
|
190
|
+
program
|
|
191
|
+
.command('architecture [decision]')
|
|
192
|
+
.description('Design mode for crafting Architecture Decision Records (ADRs) with AI enhancement by default')
|
|
193
|
+
.option('--store', 'Store generated ADR (internal use)')
|
|
194
|
+
.option('--id <id>', 'Architecture ID')
|
|
195
|
+
.option('--content <content>', 'ADR content to store')
|
|
196
|
+
.option('--number <number>', 'ADR number')
|
|
197
|
+
.option('--noai', 'Disable AI enhancement and use basic templates')
|
|
198
|
+
.option('--basic', 'Use basic pipeline (deprecated, use --noai)')
|
|
199
|
+
.option('-r, --review', 'Review before saving')
|
|
200
|
+
.option('-v, --verbose', 'Show detailed output')
|
|
201
|
+
.action(architectureCommand);
|
|
202
|
+
program
|
|
203
|
+
.command('plan [feature]')
|
|
204
|
+
.description('Create phased implementation plan with acceptance criteria')
|
|
205
|
+
.option('--store', 'Store sprint plan (internal use)')
|
|
206
|
+
.option('--id <id>', 'Plan ID')
|
|
207
|
+
.option('--content <content>', 'Sprint plan content')
|
|
208
|
+
.option('-d, --days <number>', 'Sprint duration in days', '5')
|
|
209
|
+
.option('-r, --review', 'Review before saving')
|
|
210
|
+
.option('-v, --verbose', 'Show detailed output')
|
|
211
|
+
.option('--noai', 'Disable AI enhancement (use reflection templates)')
|
|
212
|
+
.option('--legacy', 'Use standalone implementation (deprecated)')
|
|
213
|
+
.action(async (feature, options) => {
|
|
214
|
+
// Use legacy standalone if explicitly requested
|
|
215
|
+
if (options.legacy) {
|
|
216
|
+
return planCommand(feature, options);
|
|
217
|
+
}
|
|
218
|
+
// Default: Use Universal Reflection Pattern via shortcut
|
|
219
|
+
const { executeShortcut } = await import('./core/command-shortcuts.js');
|
|
220
|
+
return executeShortcut('plan', [feature, options]);
|
|
221
|
+
});
|
|
222
|
+
program
|
|
223
|
+
.command('init-cursor')
|
|
224
|
+
.description('Generate a Cursor setup preview or apply it to the repository')
|
|
225
|
+
.option('--preview', 'Preview mode (default). Writes to .ginko/generated only', true)
|
|
226
|
+
.option('--apply', 'Apply setup permanently to repository root and commit changes')
|
|
227
|
+
.action((options) => initCursorCommand(options));
|
|
228
|
+
program
|
|
229
|
+
.command('uninstall-cursor')
|
|
230
|
+
.description('Remove Cursor integration and optionally revert git commit')
|
|
231
|
+
.option('--force', 'Skip confirmation prompt')
|
|
232
|
+
.option('--revert-commit', 'Revert the Cursor integration git commit')
|
|
233
|
+
.action((options) => uninstallCursorCommand(options));
|
|
234
|
+
program
|
|
235
|
+
.command('init-copilot')
|
|
236
|
+
.description('Generate GitHub Copilot setup preview or apply to repository')
|
|
237
|
+
.option('--preview', 'Preview mode (default). Writes to .ginko/generated only', true)
|
|
238
|
+
.option('--apply', 'Apply setup permanently and commit changes')
|
|
239
|
+
.option('--workspace', 'Apply workspace settings only')
|
|
240
|
+
.action((options) => initCopilotCommand(options));
|
|
241
|
+
program
|
|
242
|
+
.command('uninstall-copilot')
|
|
243
|
+
.description('Remove GitHub Copilot integration')
|
|
244
|
+
.option('--force', 'Skip confirmation prompt')
|
|
245
|
+
.option('--revert-commit', 'Revert the Copilot integration git commit')
|
|
246
|
+
.action((options) => uninstallCopilotCommand(options));
|
|
247
|
+
// Backlog management command
|
|
248
|
+
program.addCommand(backlogCommand());
|
|
249
|
+
// Universal Reflection Pattern command
|
|
250
|
+
program
|
|
251
|
+
.command('reflect <intent>')
|
|
252
|
+
.description('Universal reflection pattern for AI-enhanced content generation by default')
|
|
253
|
+
.option('-d, --domain <domain>', 'Specify domain: start, handoff, capture, explore, architecture, plan, ship, backlog, prd, documentation, bug, changelog, git, testing')
|
|
254
|
+
.option('-r, --raw', 'Output raw reflection prompt without formatting')
|
|
255
|
+
.option('-v, --verbose', 'Show detailed processing information')
|
|
256
|
+
.option('-s, --save', 'Save generated artifact to proper location')
|
|
257
|
+
.option('--noai', 'Disable AI enhancement and use procedural templates')
|
|
258
|
+
.action(async (intent, options) => {
|
|
259
|
+
const { reflectCommand } = await import('./commands/reflect.js');
|
|
260
|
+
return reflectCommand(intent, options);
|
|
261
|
+
});
|
|
262
|
+
// Progressive shortcuts (Level 2-3 of architecture)
|
|
263
|
+
// Shortcut: ginko feature "description" instead of ginko backlog create feature "description"
|
|
264
|
+
program
|
|
265
|
+
.command('feature <description>')
|
|
266
|
+
.description('Quick create a feature (shortcut for backlog create feature)')
|
|
267
|
+
.option('-p, --priority <priority>', 'Priority level')
|
|
268
|
+
.option('-s, --size <size>', 'Size estimate')
|
|
269
|
+
.action(async (description, options) => {
|
|
270
|
+
const { createCommand } = await import('./commands/backlog/create.js');
|
|
271
|
+
return createCommand(description, { ...options, type: 'feature' });
|
|
272
|
+
});
|
|
273
|
+
program
|
|
274
|
+
.command('story <description>')
|
|
275
|
+
.description('Quick create a story (shortcut for backlog create story)')
|
|
276
|
+
.option('-p, --priority <priority>', 'Priority level')
|
|
277
|
+
.option('-s, --size <size>', 'Size estimate')
|
|
278
|
+
.action(async (description, options) => {
|
|
279
|
+
const { createCommand } = await import('./commands/backlog/create.js');
|
|
280
|
+
return createCommand(description, { ...options, type: 'story' });
|
|
281
|
+
});
|
|
282
|
+
program
|
|
283
|
+
.command('task <description>')
|
|
284
|
+
.description('Quick create a task (shortcut for backlog create task)')
|
|
285
|
+
.option('-p, --priority <priority>', 'Priority level')
|
|
286
|
+
.option('-s, --size <size>', 'Size estimate')
|
|
287
|
+
.action(async (description, options) => {
|
|
288
|
+
const { createCommand } = await import('./commands/backlog/create.js');
|
|
289
|
+
return createCommand(description, { ...options, type: 'task' });
|
|
290
|
+
});
|
|
291
|
+
// Magic command - catch-all for natural language (Level 4-5)
|
|
292
|
+
// This must be defined AFTER all other commands to work as a catch-all
|
|
293
|
+
program
|
|
294
|
+
.argument('[request]', 'Natural language request')
|
|
295
|
+
.option('-v, --verbose', 'Show AI reasoning')
|
|
296
|
+
.option('--dry-run', 'Show what would be done without executing')
|
|
297
|
+
.action((request, options) => {
|
|
298
|
+
// If no request and no other command matched, show help
|
|
299
|
+
if (!request) {
|
|
300
|
+
program.help();
|
|
301
|
+
return;
|
|
302
|
+
}
|
|
303
|
+
// Route to simple magic command
|
|
304
|
+
return magicSimpleCommand(request, options);
|
|
305
|
+
});
|
|
306
|
+
// Privacy notice only for help command
|
|
307
|
+
program.hook('preAction', (thisCommand) => {
|
|
308
|
+
// Only show privacy notice for help or when no command is given
|
|
309
|
+
if (process.argv.length === 2 || process.argv.includes('--help') || process.argv.includes('-h')) {
|
|
310
|
+
if (!process.env.GINKO_HIDE_PRIVACY && thisCommand.name() === 'ginko') {
|
|
311
|
+
console.log(chalk.dim('🔐 Privacy: No code leaves your machine. Analytics disabled by default.\n'));
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
});
|
|
315
|
+
program.parse();
|
|
316
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|