@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,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileType: model
|
|
3
|
+
* @status: current
|
|
4
|
+
* @updated: 2025-08-28
|
|
5
|
+
* @tags: [adapter, claude, anthropic, ai]
|
|
6
|
+
* @related: [ai-adapter.ts, ai-instructions-template.ts]
|
|
7
|
+
* @priority: high
|
|
8
|
+
* @complexity: low
|
|
9
|
+
* @dependencies: []
|
|
10
|
+
*/
|
|
11
|
+
import { BaseAiAdapter } from './ai-adapter.js';
|
|
12
|
+
export class ClaudeAdapter extends BaseAiAdapter {
|
|
13
|
+
name = 'Claude';
|
|
14
|
+
fileExtension = 'CLAUDE.md';
|
|
15
|
+
getModelSpecificSections() {
|
|
16
|
+
return `
|
|
17
|
+
## Claude-Specific Features
|
|
18
|
+
|
|
19
|
+
### Artifacts
|
|
20
|
+
- Claude can create and edit artifacts for code files
|
|
21
|
+
- Use clear file boundaries when sharing code
|
|
22
|
+
- Claude preserves exact formatting and indentation
|
|
23
|
+
|
|
24
|
+
### Context Windows
|
|
25
|
+
- Claude has a large context window (200k tokens)
|
|
26
|
+
- Can handle entire codebases in context
|
|
27
|
+
- Maintains conversation history effectively
|
|
28
|
+
|
|
29
|
+
### Best Practices with Claude
|
|
30
|
+
- Be direct and specific with requests
|
|
31
|
+
- Claude responds well to structured prompts
|
|
32
|
+
- Use markdown for clear communication`;
|
|
33
|
+
}
|
|
34
|
+
getQuickReferenceCommands() {
|
|
35
|
+
return `
|
|
36
|
+
### Claude Quick Reference
|
|
37
|
+
- **Clear context**: Start new conversation when switching tasks
|
|
38
|
+
- **Code artifacts**: Request "create an artifact" for new files
|
|
39
|
+
- **Detailed analysis**: Claude excels at code review and refactoring
|
|
40
|
+
|
|
41
|
+
## 🧠 Context Reflexes for Claude
|
|
42
|
+
|
|
43
|
+
### Claude-Optimized Reflexes
|
|
44
|
+
|
|
45
|
+
1. **"Let me understand the context" Reflex** 🔍
|
|
46
|
+
- Claude deeply analyzes before acting
|
|
47
|
+
- Triggers: New tasks, complex requirements
|
|
48
|
+
- Example: "Looking at the existing auth system, I see it uses JWT with..."
|
|
49
|
+
|
|
50
|
+
2. **"I notice a pattern" Reflex** 🎯
|
|
51
|
+
- Claude identifies and follows established patterns
|
|
52
|
+
- Triggers: Code implementation, architecture decisions
|
|
53
|
+
- Example: "I see you're using the Repository pattern consistently, so I'll..."
|
|
54
|
+
|
|
55
|
+
3. **"I should clarify" Reflex** 🤝
|
|
56
|
+
- Claude proactively identifies ambiguities
|
|
57
|
+
- Triggers: Multiple valid approaches, unclear requirements
|
|
58
|
+
- Example: "Before proceeding, should this middleware handle refresh tokens?"
|
|
59
|
+
|
|
60
|
+
4. **"Let me document this" Reflex** 📝
|
|
61
|
+
- Claude captures detailed context for continuity
|
|
62
|
+
- Triggers: Complex solutions, important decisions
|
|
63
|
+
- Example: "This approach works because... Future considerations include..."
|
|
64
|
+
|
|
65
|
+
### Claude Work Modes
|
|
66
|
+
- **Deep work**: Reflexes emphasize thorough understanding
|
|
67
|
+
- **Collaborative**: Reflexes focus on alignment and clarity
|
|
68
|
+
- **Learning**: Reflexes capture detailed documentation
|
|
69
|
+
|
|
70
|
+
Claude's reflexes leverage deep context understanding and thoughtful analysis.`;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=claude-adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude-adapter.js","sourceRoot":"","sources":["../../src/adapters/claude-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,MAAM,OAAO,aAAc,SAAQ,aAAa;IAC9C,IAAI,GAAG,QAAQ,CAAC;IAChB,aAAa,GAAG,WAAW,CAAC;IAE5B,wBAAwB;QACtB,OAAO;;;;;;;;;;;;;;;;uCAgB4B,CAAC;IACtC,CAAC;IAED,yBAAyB;QACvB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+EAmCoE,CAAC;IAC9E,CAAC;CACF"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileType: adapter
|
|
3
|
+
* @status: current
|
|
4
|
+
* @updated: 2025-08-27
|
|
5
|
+
* @tags: [cli, adapter, claude, markdown]
|
|
6
|
+
* @priority: high
|
|
7
|
+
* @complexity: low
|
|
8
|
+
*/
|
|
9
|
+
import { AIAdapter, SessionInfo, HandoffInfo } from './base.js';
|
|
10
|
+
export declare class ClaudeAdapter extends AIAdapter {
|
|
11
|
+
/**
|
|
12
|
+
* Claude prefers narrative markdown with colors and emojis
|
|
13
|
+
*/
|
|
14
|
+
formatSessionStart(info: SessionInfo): string;
|
|
15
|
+
formatHandoffCreated(info: HandoffInfo): string;
|
|
16
|
+
formatStatus(status: any): string;
|
|
17
|
+
formatError(error: Error): string;
|
|
18
|
+
formatSuccess(message: string): string;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=claude.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../src/adapters/claude.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAGhE,qBAAa,aAAc,SAAQ,SAAS;IAC1C;;OAEG;IACH,kBAAkB,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM;IAyB7C,oBAAoB,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM;IAsB/C,YAAY,CAAC,MAAM,EAAE,GAAG,GAAG,MAAM;IAqCjC,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM;IAIjC,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;CAGvC"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileType: adapter
|
|
3
|
+
* @status: current
|
|
4
|
+
* @updated: 2025-08-27
|
|
5
|
+
* @tags: [cli, adapter, claude, markdown]
|
|
6
|
+
* @priority: high
|
|
7
|
+
* @complexity: low
|
|
8
|
+
*/
|
|
9
|
+
import { AIAdapter } from './base.js';
|
|
10
|
+
import chalk from 'chalk';
|
|
11
|
+
export class ClaudeAdapter extends AIAdapter {
|
|
12
|
+
/**
|
|
13
|
+
* Claude prefers narrative markdown with colors and emojis
|
|
14
|
+
*/
|
|
15
|
+
formatSessionStart(info) {
|
|
16
|
+
const output = [];
|
|
17
|
+
if (info.lastUpdated) {
|
|
18
|
+
output.push(this.format(`${this.emoji('✨')}Welcome back!`, 'success'));
|
|
19
|
+
output.push(this.format(`${this.emoji('📅')}Last session: ${this.formatTime(info.lastUpdated)}`, 'info'));
|
|
20
|
+
output.push(this.format(`${this.emoji('🌿')}Branch: ${info.branch}`, 'info'));
|
|
21
|
+
output.push(this.format(`${this.emoji('📝')}Mode: ${info.mode}`, 'info'));
|
|
22
|
+
if (info.summary) {
|
|
23
|
+
output.push('');
|
|
24
|
+
output.push(this.format(`${this.emoji('🎯')}Continue with: ${info.summary}`, 'warning'));
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
output.push(this.format(`${this.emoji('🌱')}Starting fresh session`, 'success'));
|
|
29
|
+
output.push(chalk.dim('No previous handoff found'));
|
|
30
|
+
}
|
|
31
|
+
output.push('');
|
|
32
|
+
output.push(chalk.dim(`${this.emoji('🔐')}Privacy: All data stored locally in git`));
|
|
33
|
+
output.push(chalk.dim(`${this.emoji('💡')}Tip: Run \`ginko handoff\` to save progress`));
|
|
34
|
+
return output.join('\n');
|
|
35
|
+
}
|
|
36
|
+
formatHandoffCreated(info) {
|
|
37
|
+
const output = [];
|
|
38
|
+
output.push(this.format(`${this.emoji('✅')}Session saved`, 'success'));
|
|
39
|
+
output.push(this.format(`${this.emoji('📁')}Location: .ginko/sessions/`, 'info'));
|
|
40
|
+
output.push(chalk.dim(`${this.emoji('🎯')}Mode detected: ${info.mode}`));
|
|
41
|
+
output.push(chalk.dim(`${this.emoji('📝')}Files modified: ${info.filesModified}`));
|
|
42
|
+
if (info.nextSteps.length > 0) {
|
|
43
|
+
output.push('');
|
|
44
|
+
output.push(this.format('Next steps:', 'info'));
|
|
45
|
+
info.nextSteps.slice(0, 3).forEach(step => {
|
|
46
|
+
output.push(chalk.dim(` - ${step}`));
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
output.push('');
|
|
50
|
+
output.push(chalk.dim(`${this.emoji('🔐')}Privacy: All data stored locally`));
|
|
51
|
+
return output.join('\n');
|
|
52
|
+
}
|
|
53
|
+
formatStatus(status) {
|
|
54
|
+
const output = [];
|
|
55
|
+
output.push(this.format(`\n${this.emoji('🌿')}Ginko Status\n`, 'success'));
|
|
56
|
+
// Project info
|
|
57
|
+
output.push(this.format(`${this.emoji('📦')}Project`, 'info'));
|
|
58
|
+
output.push(` Name: ${status.project.name}`);
|
|
59
|
+
output.push(` Type: ${status.project.type}`);
|
|
60
|
+
output.push(` User: ${status.user}`);
|
|
61
|
+
// Session info
|
|
62
|
+
output.push('');
|
|
63
|
+
output.push(this.format(`${this.emoji('📝')}Session`, 'info'));
|
|
64
|
+
if (status.session.active) {
|
|
65
|
+
output.push(` Status: Active`);
|
|
66
|
+
output.push(` Mode: ${status.session.mode}`);
|
|
67
|
+
output.push(` Last saved: ${status.session.lastSaved}`);
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
output.push(` Status: No active session`);
|
|
71
|
+
output.push(chalk.dim(` Run 'ginko start' to begin`));
|
|
72
|
+
}
|
|
73
|
+
// Git info
|
|
74
|
+
output.push('');
|
|
75
|
+
output.push(this.format(`${this.emoji('🌳')}Git`, 'info'));
|
|
76
|
+
output.push(` Branch: ${status.git.branch}`);
|
|
77
|
+
output.push(` Modified: ${status.git.modified} files`);
|
|
78
|
+
// Privacy info
|
|
79
|
+
output.push('');
|
|
80
|
+
output.push(this.format(`${this.emoji('🔐')}Privacy`, 'info'));
|
|
81
|
+
output.push(` Analytics: ${status.privacy.analytics ? chalk.yellow('Enabled (anonymous)') : chalk.green('Disabled')}`);
|
|
82
|
+
return output.join('\n');
|
|
83
|
+
}
|
|
84
|
+
formatError(error) {
|
|
85
|
+
return `${this.emoji('❌')}${this.format(`Error: ${error.message}`, 'error')}`;
|
|
86
|
+
}
|
|
87
|
+
formatSuccess(message) {
|
|
88
|
+
return `${this.emoji('✅')}${this.format(message, 'success')}`;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=claude.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude.js","sourceRoot":"","sources":["../../src/adapters/claude.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { BaseAiAdapter } from './ai-adapter.js';
|
|
2
|
+
export declare class CopilotAdapter extends BaseAiAdapter {
|
|
3
|
+
name: string;
|
|
4
|
+
fileExtension: string;
|
|
5
|
+
getModelSpecificSections(): string;
|
|
6
|
+
getQuickReferenceCommands(): string;
|
|
7
|
+
generateWorkspaceSettings(context: any): Promise<any>;
|
|
8
|
+
generateInstructions(template: string): string;
|
|
9
|
+
private generateCustomInstructions;
|
|
10
|
+
private generateCodeStyleSection;
|
|
11
|
+
private generateTestingSection;
|
|
12
|
+
private generateArchitectureSection;
|
|
13
|
+
private generateTechStackInstructions;
|
|
14
|
+
generate(context: any): Promise<string>;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=copilot-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"copilot-adapter.d.ts","sourceRoot":"","sources":["../../src/adapters/copilot-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,qBAAa,cAAe,SAAQ,aAAa;IAC/C,IAAI,SAAoB;IACxB,aAAa,SAAqC;IAElD,wBAAwB,IAAI,MAAM;IAsClC,yBAAyB,IAAI,MAAM;IAU7B,yBAAyB,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAiD3D,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAM9C,OAAO,CAAC,0BAA0B;IAwGlC,OAAO,CAAC,wBAAwB;IAyBhC,OAAO,CAAC,sBAAsB;IAuB9B,OAAO,CAAC,2BAA2B;IAwBnC,OAAO,CAAC,6BAA6B;IA6C/B,QAAQ,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC;CAG9C"}
|
|
@@ -0,0 +1,288 @@
|
|
|
1
|
+
import { BaseAiAdapter } from './ai-adapter.js';
|
|
2
|
+
export class CopilotAdapter extends BaseAiAdapter {
|
|
3
|
+
name = 'GitHub Copilot';
|
|
4
|
+
fileExtension = '.github/copilot-instructions.md';
|
|
5
|
+
getModelSpecificSections() {
|
|
6
|
+
return `
|
|
7
|
+
## GitHub Copilot Integration
|
|
8
|
+
|
|
9
|
+
This project uses Ginko for AI-enhanced development with GitHub Copilot. The integration provides:
|
|
10
|
+
- Repository-wide custom instructions via .github/copilot-instructions.md
|
|
11
|
+
- Project-specific conventions and patterns
|
|
12
|
+
- Team best practices and standards
|
|
13
|
+
- Seamless context management across sessions
|
|
14
|
+
|
|
15
|
+
### Copilot-Specific Features
|
|
16
|
+
|
|
17
|
+
#### Using Ginko Context
|
|
18
|
+
- Session files: .ginko/sessions/*/current.md contains latest work context
|
|
19
|
+
- Handoffs: .ginko/sessions/*/handoff.md for seamless continuation
|
|
20
|
+
- Context modules: .ginko/context/modules/*.md for specific domains
|
|
21
|
+
- Best practices: Automatically loaded from team standards
|
|
22
|
+
|
|
23
|
+
#### GitHub Copilot Chat
|
|
24
|
+
- Reference ginko context files in chat with @workspace
|
|
25
|
+
- Ask about session state and project conventions
|
|
26
|
+
- Get suggestions that follow team patterns
|
|
27
|
+
- Code completions respect project standards
|
|
28
|
+
|
|
29
|
+
### Workflow Integration
|
|
30
|
+
|
|
31
|
+
1. **Starting work**: Run \`ginko start\` to load session context
|
|
32
|
+
2. **During development**: Copilot reads .github/copilot-instructions.md automatically
|
|
33
|
+
3. **Saving progress**: Run \`ginko handoff\` to save session state
|
|
34
|
+
4. **Team alignment**: Instructions ensure consistent code generation
|
|
35
|
+
|
|
36
|
+
### Copilot Best Practices
|
|
37
|
+
- Instructions are automatically applied to all Copilot interactions
|
|
38
|
+
- Works across VS Code, Visual Studio, JetBrains IDEs, and GitHub.com
|
|
39
|
+
- Custom instructions stack with workspace and global settings
|
|
40
|
+
- Keep instructions concise and focused on project specifics`;
|
|
41
|
+
}
|
|
42
|
+
getQuickReferenceCommands() {
|
|
43
|
+
return `
|
|
44
|
+
### Quick Commands
|
|
45
|
+
- **Load context**: Reference .ginko/sessions/*/current.md
|
|
46
|
+
- **Check handoff**: Read .ginko/sessions/*/handoff.md
|
|
47
|
+
- **Team standards**: See .ginko/context/modules/best-practices.md
|
|
48
|
+
- **Save state**: Run \`ginko handoff\` in terminal
|
|
49
|
+
- **Copilot Chat**: Use @workspace to reference project files`;
|
|
50
|
+
}
|
|
51
|
+
async generateWorkspaceSettings(context) {
|
|
52
|
+
const settings = {
|
|
53
|
+
// Enable Copilot features
|
|
54
|
+
"github.copilot.enable": {
|
|
55
|
+
"*": true,
|
|
56
|
+
"plaintext": true,
|
|
57
|
+
"markdown": true,
|
|
58
|
+
"scminput": false
|
|
59
|
+
},
|
|
60
|
+
// Copilot editor settings
|
|
61
|
+
"github.copilot.editor.enableAutoCompletions": true,
|
|
62
|
+
"github.copilot.editor.enableCodeActions": true,
|
|
63
|
+
// Chat settings
|
|
64
|
+
"github.copilot.chat.welcomeMessage": "startup",
|
|
65
|
+
"github.copilot.chat.localeOverride": "auto",
|
|
66
|
+
// Advanced settings based on project
|
|
67
|
+
"github.copilot.advanced": {}
|
|
68
|
+
};
|
|
69
|
+
// Add language-specific settings
|
|
70
|
+
if (context.language === 'typescript' || context.language === 'javascript') {
|
|
71
|
+
settings["github.copilot.enable"]["javascript"] = true;
|
|
72
|
+
settings["github.copilot.enable"]["typescript"] = true;
|
|
73
|
+
settings["github.copilot.enable"]["javascriptreact"] = true;
|
|
74
|
+
settings["github.copilot.enable"]["typescriptreact"] = true;
|
|
75
|
+
}
|
|
76
|
+
if (context.language === 'python') {
|
|
77
|
+
settings["github.copilot.enable"]["python"] = true;
|
|
78
|
+
}
|
|
79
|
+
// Add framework-specific settings
|
|
80
|
+
if (context.framework === 'nextjs' || context.framework === 'react') {
|
|
81
|
+
settings["github.copilot.enable"]["jsx"] = true;
|
|
82
|
+
settings["github.copilot.enable"]["tsx"] = true;
|
|
83
|
+
}
|
|
84
|
+
// Disable for certain file types
|
|
85
|
+
settings["github.copilot.enable"]["env"] = false;
|
|
86
|
+
settings["github.copilot.enable"]["dotenv"] = false;
|
|
87
|
+
settings["github.copilot.enable"][".env.local"] = false;
|
|
88
|
+
return settings;
|
|
89
|
+
}
|
|
90
|
+
// Override the base generateInstructions to create custom content
|
|
91
|
+
generateInstructions(template) {
|
|
92
|
+
// For Copilot, we generate custom markdown instructions
|
|
93
|
+
// rather than using the template replacement approach
|
|
94
|
+
return this.generateCustomInstructions(template);
|
|
95
|
+
}
|
|
96
|
+
generateCustomInstructions(context) {
|
|
97
|
+
const { framework = 'unknown', language = 'typescript', testFramework, dependencies = [], bestPractices = [], teamPatterns = [], projectName } = context;
|
|
98
|
+
// Build comprehensive Copilot instructions
|
|
99
|
+
let instructions = `# GitHub Copilot Instructions for ${projectName || 'Project'}
|
|
100
|
+
|
|
101
|
+
## Project Context
|
|
102
|
+
This is a ${framework} project using ${language}.
|
|
103
|
+
|
|
104
|
+
## Development Standards
|
|
105
|
+
|
|
106
|
+
### Code Style
|
|
107
|
+
${this.generateCodeStyleSection(context)}
|
|
108
|
+
|
|
109
|
+
### Testing Requirements
|
|
110
|
+
${this.generateTestingSection(context)}
|
|
111
|
+
|
|
112
|
+
### Architecture Patterns
|
|
113
|
+
${this.generateArchitectureSection(context)}
|
|
114
|
+
|
|
115
|
+
## Team Conventions
|
|
116
|
+
|
|
117
|
+
`;
|
|
118
|
+
// Add team-specific patterns
|
|
119
|
+
if (teamPatterns.length > 0) {
|
|
120
|
+
instructions += '### Established Patterns\n';
|
|
121
|
+
teamPatterns.forEach((pattern) => {
|
|
122
|
+
instructions += `- ${pattern.description}\n`;
|
|
123
|
+
});
|
|
124
|
+
instructions += '\n';
|
|
125
|
+
}
|
|
126
|
+
// Add best practices
|
|
127
|
+
if (bestPractices.length > 0) {
|
|
128
|
+
instructions += '### Best Practices\n';
|
|
129
|
+
bestPractices.forEach((practice) => {
|
|
130
|
+
instructions += `- **${practice.title}**: ${practice.description}\n`;
|
|
131
|
+
});
|
|
132
|
+
instructions += '\n';
|
|
133
|
+
}
|
|
134
|
+
// Add technology-specific instructions
|
|
135
|
+
instructions += this.generateTechStackInstructions(context);
|
|
136
|
+
// Add common guidelines
|
|
137
|
+
instructions += `
|
|
138
|
+
## Important Guidelines
|
|
139
|
+
|
|
140
|
+
### Always Follow
|
|
141
|
+
- Use existing patterns found in the codebase
|
|
142
|
+
- Write tests for new functionality
|
|
143
|
+
- Handle errors gracefully with meaningful messages
|
|
144
|
+
- Use TypeScript types strictly - avoid 'any'
|
|
145
|
+
- Follow existing file naming conventions
|
|
146
|
+
- Maintain consistent import ordering
|
|
147
|
+
|
|
148
|
+
### Never Do
|
|
149
|
+
- Don't add console.log statements in production code
|
|
150
|
+
- Don't commit sensitive information or credentials
|
|
151
|
+
- Don't use deprecated APIs or patterns
|
|
152
|
+
- Don't ignore TypeScript errors
|
|
153
|
+
- Don't skip error handling
|
|
154
|
+
|
|
155
|
+
## Code Generation Preferences
|
|
156
|
+
|
|
157
|
+
### When creating new components
|
|
158
|
+
- Look at existing components for patterns
|
|
159
|
+
- Use the established state management approach
|
|
160
|
+
- Follow the existing file structure
|
|
161
|
+
- Include proper TypeScript types
|
|
162
|
+
- Add appropriate error boundaries
|
|
163
|
+
|
|
164
|
+
### When modifying existing code
|
|
165
|
+
- Preserve the existing code style
|
|
166
|
+
- Maintain backward compatibility
|
|
167
|
+
- Update related tests
|
|
168
|
+
- Keep changes focused and minimal
|
|
169
|
+
- Document breaking changes
|
|
170
|
+
|
|
171
|
+
## Git Commit Messages
|
|
172
|
+
- Use conventional commits format (feat:, fix:, docs:, etc.)
|
|
173
|
+
- Keep first line under 50 characters
|
|
174
|
+
- Add detailed description when needed
|
|
175
|
+
- Reference issue numbers when applicable
|
|
176
|
+
|
|
177
|
+
## Documentation
|
|
178
|
+
- Update README when adding new features
|
|
179
|
+
- Document complex logic with comments
|
|
180
|
+
- Keep API documentation current
|
|
181
|
+
- Include examples for new utilities
|
|
182
|
+
`;
|
|
183
|
+
return instructions.trim();
|
|
184
|
+
}
|
|
185
|
+
generateCodeStyleSection(context) {
|
|
186
|
+
const { language } = context;
|
|
187
|
+
if (language === 'typescript' || language === 'javascript') {
|
|
188
|
+
return `- Use 2 spaces for indentation
|
|
189
|
+
- Use single quotes for strings
|
|
190
|
+
- Always use semicolons
|
|
191
|
+
- Prefer const over let
|
|
192
|
+
- Use arrow functions for callbacks
|
|
193
|
+
- Destructure objects and arrays when possible
|
|
194
|
+
- Use template literals for string interpolation`;
|
|
195
|
+
}
|
|
196
|
+
if (language === 'python') {
|
|
197
|
+
return `- Follow PEP 8 style guide
|
|
198
|
+
- Use 4 spaces for indentation
|
|
199
|
+
- Use snake_case for variables and functions
|
|
200
|
+
- Use CamelCase for classes
|
|
201
|
+
- Include type hints for function parameters
|
|
202
|
+
- Write docstrings for all public functions`;
|
|
203
|
+
}
|
|
204
|
+
return '- Follow language-specific best practices';
|
|
205
|
+
}
|
|
206
|
+
generateTestingSection(context) {
|
|
207
|
+
const { testFramework } = context;
|
|
208
|
+
if (testFramework === 'jest') {
|
|
209
|
+
return `- Write tests using Jest
|
|
210
|
+
- Use describe blocks for grouping tests
|
|
211
|
+
- Follow AAA pattern (Arrange, Act, Assert)
|
|
212
|
+
- Mock external dependencies
|
|
213
|
+
- Aim for high code coverage
|
|
214
|
+
- Test edge cases and error scenarios`;
|
|
215
|
+
}
|
|
216
|
+
if (testFramework === 'pytest') {
|
|
217
|
+
return `- Write tests using pytest
|
|
218
|
+
- Use fixtures for test setup
|
|
219
|
+
- Follow given-when-then pattern
|
|
220
|
+
- Use parametrize for multiple test cases
|
|
221
|
+
- Test both happy path and error cases`;
|
|
222
|
+
}
|
|
223
|
+
return '- Write comprehensive tests for new features';
|
|
224
|
+
}
|
|
225
|
+
generateArchitectureSection(context) {
|
|
226
|
+
const { framework } = context;
|
|
227
|
+
if (framework === 'nextjs') {
|
|
228
|
+
return `- Use App Router for routing
|
|
229
|
+
- Implement Server Components where possible
|
|
230
|
+
- Use Client Components for interactivity
|
|
231
|
+
- Follow Next.js best practices for data fetching
|
|
232
|
+
- Optimize images with next/image
|
|
233
|
+
- Use middleware for auth and redirects`;
|
|
234
|
+
}
|
|
235
|
+
if (framework === 'express') {
|
|
236
|
+
return `- Follow MVC architecture
|
|
237
|
+
- Use middleware for cross-cutting concerns
|
|
238
|
+
- Implement proper error handling middleware
|
|
239
|
+
- Use routers for organizing endpoints
|
|
240
|
+
- Validate input data
|
|
241
|
+
- Implement rate limiting`;
|
|
242
|
+
}
|
|
243
|
+
return '- Follow established architectural patterns';
|
|
244
|
+
}
|
|
245
|
+
generateTechStackInstructions(context) {
|
|
246
|
+
let instructions = '\n## Technology-Specific Instructions\n\n';
|
|
247
|
+
// Database instructions
|
|
248
|
+
if (context.dependencies?.includes('supabase')) {
|
|
249
|
+
instructions += `### Supabase
|
|
250
|
+
- Use Row Level Security (RLS) policies
|
|
251
|
+
- Handle auth with Supabase Auth
|
|
252
|
+
- Use realtime subscriptions sparingly
|
|
253
|
+
- Properly type database responses
|
|
254
|
+
- Handle connection errors gracefully\n\n`;
|
|
255
|
+
}
|
|
256
|
+
if (context.dependencies?.includes('prisma')) {
|
|
257
|
+
instructions += `### Prisma
|
|
258
|
+
- Keep schema.prisma up to date
|
|
259
|
+
- Run migrations for schema changes
|
|
260
|
+
- Use Prisma Client types
|
|
261
|
+
- Handle database errors properly
|
|
262
|
+
- Use transactions for related operations\n\n`;
|
|
263
|
+
}
|
|
264
|
+
// UI framework instructions
|
|
265
|
+
if (context.dependencies?.includes('tailwindcss')) {
|
|
266
|
+
instructions += `### Tailwind CSS
|
|
267
|
+
- Use utility classes consistently
|
|
268
|
+
- Avoid arbitrary values when possible
|
|
269
|
+
- Use component classes for repeated patterns
|
|
270
|
+
- Follow mobile-first responsive design
|
|
271
|
+
- Use CSS variables for theming\n\n`;
|
|
272
|
+
}
|
|
273
|
+
if (context.dependencies?.includes('@shadcn/ui')) {
|
|
274
|
+
instructions += `### Shadcn UI
|
|
275
|
+
- Use existing components from the library
|
|
276
|
+
- Follow the established component patterns
|
|
277
|
+
- Maintain consistent styling
|
|
278
|
+
- Properly handle component props
|
|
279
|
+
- Use the theming system\n\n`;
|
|
280
|
+
}
|
|
281
|
+
return instructions;
|
|
282
|
+
}
|
|
283
|
+
// Compatibility method for base adapter
|
|
284
|
+
async generate(context) {
|
|
285
|
+
return this.generateCustomInstructions(context);
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
//# sourceMappingURL=copilot-adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"copilot-adapter.js","sourceRoot":"","sources":["../../src/adapters/copilot-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileType: model
|
|
3
|
+
* @status: current
|
|
4
|
+
* @updated: 2025-08-28
|
|
5
|
+
* @tags: [adapter, cursor, ide, ai]
|
|
6
|
+
* @related: [ai-adapter.ts, ai-instructions-template.ts]
|
|
7
|
+
* @priority: high
|
|
8
|
+
* @complexity: low
|
|
9
|
+
* @dependencies: []
|
|
10
|
+
*/
|
|
11
|
+
import { BaseAiAdapter } from './ai-adapter.js';
|
|
12
|
+
export declare class CursorAdapter extends BaseAiAdapter {
|
|
13
|
+
name: string;
|
|
14
|
+
fileExtension: string;
|
|
15
|
+
getModelSpecificSections(): string;
|
|
16
|
+
getQuickReferenceCommands(): string;
|
|
17
|
+
/**
|
|
18
|
+
* Override the main generate method for Cursor's special format
|
|
19
|
+
*/
|
|
20
|
+
generate(projectInfo: any): Promise<string>;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=cursor-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cursor-adapter.d.ts","sourceRoot":"","sources":["../../src/adapters/cursor-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,qBAAa,aAAc,SAAQ,aAAa;IAC9C,IAAI,SAAY;IAChB,aAAa,SAAkB;IAE/B,wBAAwB,IAAI,MAAM;IAmClC,yBAAyB,IAAI,MAAM;IASnC;;OAEG;IACG,QAAQ,CAAC,WAAW,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC;CAqDlD"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileType: model
|
|
3
|
+
* @status: current
|
|
4
|
+
* @updated: 2025-08-28
|
|
5
|
+
* @tags: [adapter, cursor, ide, ai]
|
|
6
|
+
* @related: [ai-adapter.ts, ai-instructions-template.ts]
|
|
7
|
+
* @priority: high
|
|
8
|
+
* @complexity: low
|
|
9
|
+
* @dependencies: []
|
|
10
|
+
*/
|
|
11
|
+
import { BaseAiAdapter } from './ai-adapter.js';
|
|
12
|
+
export class CursorAdapter extends BaseAiAdapter {
|
|
13
|
+
name = 'Cursor';
|
|
14
|
+
fileExtension = '.cursorrules';
|
|
15
|
+
getModelSpecificSections() {
|
|
16
|
+
return `
|
|
17
|
+
## Cursor IDE Integration
|
|
18
|
+
|
|
19
|
+
This project uses Ginko for AI-enhanced development. The .ginko/ directory contains:
|
|
20
|
+
- Session handoffs for context continuity
|
|
21
|
+
- Best practices and team standards
|
|
22
|
+
- Project-specific patterns
|
|
23
|
+
|
|
24
|
+
### Cursor-Specific Features
|
|
25
|
+
|
|
26
|
+
#### Using Ginko Context
|
|
27
|
+
- Session files: .ginko/sessions/*/current.md contains latest work context
|
|
28
|
+
- Handoffs: .ginko/sessions/*/handoff.md for seamless continuation
|
|
29
|
+
- Context modules: .ginko/context/modules/*.md for specific domains
|
|
30
|
+
|
|
31
|
+
#### Cursor Commands
|
|
32
|
+
- Use Cmd+K to reference ginko context files
|
|
33
|
+
- Use Cmd+L to ask about session state
|
|
34
|
+
- @codebase includes .ginko automatically
|
|
35
|
+
|
|
36
|
+
### Workflow Integration
|
|
37
|
+
|
|
38
|
+
1. **Starting work**: Run \`ginko start\` in terminal to load context
|
|
39
|
+
2. **During development**: Cursor reads .ginko/ for persistent context
|
|
40
|
+
3. **Saving progress**: Run \`ginko handoff\` to save session state
|
|
41
|
+
4. **Switching tasks**: Handoffs preserve mental model across context switches
|
|
42
|
+
|
|
43
|
+
### Cursor Best Practices
|
|
44
|
+
- Keep .cursorrules concise to save tokens
|
|
45
|
+
- Reference .ginko/context/modules/ for detailed patterns
|
|
46
|
+
- Use @doc to pull in specific ginko modules
|
|
47
|
+
- Let Cursor's indexing handle the .ginko directory`;
|
|
48
|
+
}
|
|
49
|
+
getQuickReferenceCommands() {
|
|
50
|
+
return `
|
|
51
|
+
### Quick Commands
|
|
52
|
+
- **Load context**: Reference .ginko/sessions/*/current.md
|
|
53
|
+
- **Check handoff**: Read .ginko/sessions/*/handoff.md
|
|
54
|
+
- **Team standards**: See .ginko/context/modules/best-practices.md
|
|
55
|
+
- **Save state**: Run \`ginko handoff\` in terminal`;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Override the main generate method for Cursor's special format
|
|
59
|
+
*/
|
|
60
|
+
async generate(projectInfo) {
|
|
61
|
+
// For Cursor, we generate a more concise .cursorrules file
|
|
62
|
+
// that references the .ginko directory for detailed context
|
|
63
|
+
const projectName = projectInfo.name || projectInfo.projectName || 'Unnamed Project';
|
|
64
|
+
const projectType = projectInfo.type || projectInfo.projectType || 'software';
|
|
65
|
+
const techStack = projectInfo.techStack || [];
|
|
66
|
+
const languages = projectInfo.languages || [];
|
|
67
|
+
const frameworks = projectInfo.frameworks || [];
|
|
68
|
+
const quickCommands = projectInfo.quickCommands || [];
|
|
69
|
+
// Find test command from quick commands
|
|
70
|
+
const testCommand = quickCommands.find((cmd) => cmd.name?.toLowerCase().includes('test') || cmd.command?.includes('test'))?.command;
|
|
71
|
+
const template = `# Project: ${projectName}
|
|
72
|
+
|
|
73
|
+
You are an AI assistant helping with ${projectType} development.
|
|
74
|
+
|
|
75
|
+
## Project Context
|
|
76
|
+
- Tech Stack: ${techStack.join(', ') || 'Not specified'}
|
|
77
|
+
- Languages: ${languages.join(', ') || 'Not specified'}
|
|
78
|
+
- Frameworks: ${frameworks.join(', ') || 'Not specified'}
|
|
79
|
+
|
|
80
|
+
## Development Methodology
|
|
81
|
+
Follow INVENTORY → CONTEXT → THINK → PLAN → PRE-MORTEM → VALIDATE → ACT → TEST
|
|
82
|
+
|
|
83
|
+
## Ginko Integration
|
|
84
|
+
This project uses Ginko for context management:
|
|
85
|
+
- Session context: .ginko/sessions/*/current.md
|
|
86
|
+
- Handoffs: .ginko/sessions/*/handoff.md
|
|
87
|
+
- Best practices: .ginko/context/modules/best-practices.md
|
|
88
|
+
- Project patterns: .ginko/context/modules/*.md
|
|
89
|
+
|
|
90
|
+
When starting work, check .ginko/sessions/ for recent context and handoffs.
|
|
91
|
+
|
|
92
|
+
## Code Style
|
|
93
|
+
${frameworks.includes('react') ? '- Use functional components with hooks\n' : ''}${frameworks.includes('nextjs') ? '- Follow Next.js App Router patterns\n' : ''}${languages.includes('typescript') ? '- Use TypeScript strictly, avoid any\n' : ''}- Follow existing patterns in the codebase
|
|
94
|
+
- Maintain consistency with team standards
|
|
95
|
+
|
|
96
|
+
## Testing
|
|
97
|
+
${testCommand ? `Run tests with: ${testCommand}` : 'Add tests for new features'}
|
|
98
|
+
|
|
99
|
+
## Quick Reference
|
|
100
|
+
${this.getQuickReferenceCommands()}
|
|
101
|
+
|
|
102
|
+
---
|
|
103
|
+
Note: Extended context and detailed patterns are in .ginko/context/modules/
|
|
104
|
+
This keeps the .cursorrules file concise while maintaining full context access.`;
|
|
105
|
+
return template;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
//# sourceMappingURL=cursor-adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cursor-adapter.js","sourceRoot":"","sources":["../../src/adapters/cursor-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,MAAM,OAAO,aAAc,SAAQ,aAAa;IAC9C,IAAI,GAAG,QAAQ,CAAC;IAChB,aAAa,GAAG,cAAc,CAAC;IAE/B,wBAAwB;QACtB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oDA+ByC,CAAC;IACnD,CAAC;IAED,yBAAyB;QACvB,OAAO;;;;;oDAKyC,CAAC;IACnD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ,CAAC,WAAgB;QAC7B,2DAA2D;QAC3D,4DAA4D;QAE5D,MAAM,WAAW,GAAG,WAAW,CAAC,IAAI,IAAI,WAAW,CAAC,WAAW,IAAI,iBAAiB,CAAC;QACrF,MAAM,WAAW,GAAG,WAAW,CAAC,IAAI,IAAI,WAAW,CAAC,WAAW,IAAI,UAAU,CAAC;QAC9E,MAAM,SAAS,GAAG,WAAW,CAAC,SAAS,IAAI,EAAE,CAAC;QAC9C,MAAM,SAAS,GAAG,WAAW,CAAC,SAAS,IAAI,EAAE,CAAC;QAC9C,MAAM,UAAU,GAAG,WAAW,CAAC,UAAU,IAAI,EAAE,CAAC;QAChD,MAAM,aAAa,GAAG,WAAW,CAAC,aAAa,IAAI,EAAE,CAAC;QAEtD,wCAAwC;QACxC,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,GAAQ,EAAE,EAAE,CAClD,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,CAC1E,EAAE,OAAO,CAAC;QAEX,MAAM,QAAQ,GAAG,cAAc,WAAW;;uCAEP,WAAW;;;gBAGlC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,eAAe;eACxC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,eAAe;gBACtC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,eAAe;;;;;;;;;;;;;;;EAetD,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,0CAA0C,CAAC,CAAC,CAAC,EAAE,GAAG,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,wCAAwC,CAAC,CAAC,CAAC,EAAE,GAAG,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,wCAAwC,CAAC,CAAC,CAAC,EAAE;;;;EAIjP,WAAW,CAAC,CAAC,CAAC,mBAAmB,WAAW,EAAE,CAAC,CAAC,CAAC,4BAA4B;;;EAG7E,IAAI,CAAC,yBAAyB,EAAE;;;;gFAI8C,CAAC;QAE7E,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF"}
|