@kb-labs/commit-cli 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (118) hide show
  1. package/README.md +120 -0
  2. package/dist/cli/commands/apply.d.ts +22 -0
  3. package/dist/cli/commands/apply.js +132 -0
  4. package/dist/cli/commands/apply.js.map +1 -0
  5. package/dist/cli/commands/flags.d.ts +99 -0
  6. package/dist/cli/commands/flags.js +73 -0
  7. package/dist/cli/commands/flags.js.map +1 -0
  8. package/dist/cli/commands/generate.d.ts +45 -0
  9. package/dist/cli/commands/generate.js +149 -0
  10. package/dist/cli/commands/generate.js.map +1 -0
  11. package/dist/cli/commands/index.d.ts +1 -0
  12. package/dist/cli/commands/index.js +73 -0
  13. package/dist/cli/commands/index.js.map +1 -0
  14. package/dist/cli/commands/open.d.ts +50 -0
  15. package/dist/cli/commands/open.js +80 -0
  16. package/dist/cli/commands/open.js.map +1 -0
  17. package/dist/cli/commands/push.d.ts +18 -0
  18. package/dist/cli/commands/push.js +71 -0
  19. package/dist/cli/commands/push.js.map +1 -0
  20. package/dist/cli/commands/reset.d.ts +15 -0
  21. package/dist/cli/commands/reset.js +52 -0
  22. package/dist/cli/commands/reset.js.map +1 -0
  23. package/dist/cli/commands/run.d.ts +51 -0
  24. package/dist/cli/commands/run.js +190 -0
  25. package/dist/cli/commands/run.js.map +1 -0
  26. package/dist/index.d.ts +5 -0
  27. package/dist/index.js +916 -0
  28. package/dist/index.js.map +1 -0
  29. package/dist/lifecycle/setup.d.ts +53 -0
  30. package/dist/lifecycle/setup.js +96 -0
  31. package/dist/lifecycle/setup.js.map +1 -0
  32. package/dist/manifest.d.ts +207 -0
  33. package/dist/manifest.js +833 -0
  34. package/dist/manifest.js.map +1 -0
  35. package/dist/rest/handlers/actions-handler.d.ts +16 -0
  36. package/dist/rest/handlers/actions-handler.js +15 -0
  37. package/dist/rest/handlers/actions-handler.js.map +1 -0
  38. package/dist/rest/handlers/apply-handler.d.ts +26 -0
  39. package/dist/rest/handlers/apply-handler.js +115 -0
  40. package/dist/rest/handlers/apply-handler.js.map +1 -0
  41. package/dist/rest/handlers/diff-handler.d.ts +20 -0
  42. package/dist/rest/handlers/diff-handler.js +64 -0
  43. package/dist/rest/handlers/diff-handler.js.map +1 -0
  44. package/dist/rest/handlers/files-handler.d.ts +16 -0
  45. package/dist/rest/handlers/files-handler.js +143 -0
  46. package/dist/rest/handlers/files-handler.js.map +1 -0
  47. package/dist/rest/handlers/generate-handler.d.ts +66 -0
  48. package/dist/rest/handlers/generate-handler.js +97 -0
  49. package/dist/rest/handlers/generate-handler.js.map +1 -0
  50. package/dist/rest/handlers/git-status-handler.d.ts +13 -0
  51. package/dist/rest/handlers/git-status-handler.js +58 -0
  52. package/dist/rest/handlers/git-status-handler.js.map +1 -0
  53. package/dist/rest/handlers/patch-plan-handler.d.ts +23 -0
  54. package/dist/rest/handlers/patch-plan-handler.js +50 -0
  55. package/dist/rest/handlers/patch-plan-handler.js.map +1 -0
  56. package/dist/rest/handlers/plan-handler.d.ts +50 -0
  57. package/dist/rest/handlers/plan-handler.js +32 -0
  58. package/dist/rest/handlers/plan-handler.js.map +1 -0
  59. package/dist/rest/handlers/push-handler.d.ts +25 -0
  60. package/dist/rest/handlers/push-handler.js +75 -0
  61. package/dist/rest/handlers/push-handler.js.map +1 -0
  62. package/dist/rest/handlers/regenerate-handler.d.ts +37 -0
  63. package/dist/rest/handlers/regenerate-handler.js +124 -0
  64. package/dist/rest/handlers/regenerate-handler.js.map +1 -0
  65. package/dist/rest/handlers/reset-handler.d.ts +17 -0
  66. package/dist/rest/handlers/reset-handler.js +30 -0
  67. package/dist/rest/handlers/reset-handler.js.map +1 -0
  68. package/dist/rest/handlers/scope-resolver.d.ts +15 -0
  69. package/dist/rest/handlers/scope-resolver.js +12 -0
  70. package/dist/rest/handlers/scope-resolver.js.map +1 -0
  71. package/dist/rest/handlers/scopes-handler.d.ts +12 -0
  72. package/dist/rest/handlers/scopes-handler.js +24 -0
  73. package/dist/rest/handlers/scopes-handler.js.map +1 -0
  74. package/dist/rest/handlers/status-handler.d.ts +27 -0
  75. package/dist/rest/handlers/status-handler.js +91 -0
  76. package/dist/rest/handlers/status-handler.js.map +1 -0
  77. package/dist/rest/handlers/summarize-handler.d.ts +21 -0
  78. package/dist/rest/handlers/summarize-handler.js +106 -0
  79. package/dist/rest/handlers/summarize-handler.js.map +1 -0
  80. package/dist/widgets/220.js +446 -0
  81. package/dist/widgets/220.js.map +1 -0
  82. package/dist/widgets/331.js +2 -0
  83. package/dist/widgets/331.js.map +1 -0
  84. package/dist/widgets/403.js +2 -0
  85. package/dist/widgets/403.js.map +1 -0
  86. package/dist/widgets/406.js +35 -0
  87. package/dist/widgets/406.js.map +1 -0
  88. package/dist/widgets/455.js +2 -0
  89. package/dist/widgets/455.js.map +1 -0
  90. package/dist/widgets/482.js +2 -0
  91. package/dist/widgets/482.js.map +1 -0
  92. package/dist/widgets/485.js +2 -0
  93. package/dist/widgets/485.js.map +1 -0
  94. package/dist/widgets/527.js +2 -0
  95. package/dist/widgets/527.js.map +1 -0
  96. package/dist/widgets/628.js +2 -0
  97. package/dist/widgets/628.js.map +1 -0
  98. package/dist/widgets/694.js +2 -0
  99. package/dist/widgets/694.js.map +1 -0
  100. package/dist/widgets/712.js +2 -0
  101. package/dist/widgets/712.js.map +1 -0
  102. package/dist/widgets/866.js +2 -0
  103. package/dist/widgets/866.js.map +1 -0
  104. package/dist/widgets/915.js +39 -0
  105. package/dist/widgets/915.js.map +1 -0
  106. package/dist/widgets/957.js +10 -0
  107. package/dist/widgets/957.js.map +1 -0
  108. package/dist/widgets/983.js +2 -0
  109. package/dist/widgets/983.js.map +1 -0
  110. package/dist/widgets/@mf-types.d.ts +3 -0
  111. package/dist/widgets/@mf-types.zip +0 -0
  112. package/dist/widgets/__federation_expose_CommitOverview.js +2 -0
  113. package/dist/widgets/__federation_expose_CommitOverview.js.map +1 -0
  114. package/dist/widgets/mf-manifest.json +260 -0
  115. package/dist/widgets/mf-stats.json +302 -0
  116. package/dist/widgets/remoteEntry.js +7 -0
  117. package/dist/widgets/remoteEntry.js.map +1 -0
  118. package/package.json +95 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/cli/commands/flags.ts","../src/lifecycle/setup.ts","../src/manifest.ts"],"names":[],"mappings":"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;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAyaA,SAAA,EAAW;AAAA,IACT;AAAA,MACE,EAAA,EAAI,kBAAA;AAAA,MACJ,YAAA,EAAc,8BAAA;AAAA,MACd,WAAA,EAAa;AAAA,KACf;AAAA,IACA;AAAA,MACE,EAAA,EAAI,oBAAA;AAAA,MACJ,YAAA,EAAc,gCAAA;AAAA,MACd,WAAA,EAAa;AAAA;AACf;AAEJ","file":"index.js","sourcesContent":["/**\n * Shared command flags definitions\n *\n * DRY pattern: Define flags once, use in both manifest and command handlers.\n */\n\n/**\n * Flags for commit:generate command\n */\nexport const generateFlags = {\n scope: {\n type: 'string',\n description: 'Filter by package name (@kb-labs/core), wildcard (@kb-labs/*), or path pattern (packages/**)',\n alias: 's',\n },\n json: {\n type: 'boolean',\n description: 'Output JSON',\n default: false,\n },\n} as const;\n\nexport type GenerateFlags = typeof generateFlags;\n\n/**\n * Flags for commit:apply command\n */\nexport const applyFlags = {\n force: {\n type: 'boolean',\n description: 'Apply even if working tree changed',\n default: false,\n alias: 'f',\n },\n json: {\n type: 'boolean',\n description: 'Output JSON',\n default: false,\n },\n} as const;\n\nexport type ApplyFlags = typeof applyFlags;\n\n/**\n * Flags for commit:push command\n */\nexport const pushFlags = {\n force: {\n type: 'boolean',\n description: 'Force push (dangerous!)',\n default: false,\n alias: 'f',\n },\n json: {\n type: 'boolean',\n description: 'Output JSON',\n default: false,\n },\n} as const;\n\nexport type PushFlags = typeof pushFlags;\n\n/**\n * Flags for commit (run) command - combines generate + apply + optional push\n */\nexport const runFlags = {\n scope: {\n type: 'string',\n description: 'Filter by package name (@kb-labs/core), wildcard (@kb-labs/*), or path pattern (packages/**)',\n alias: 's',\n },\n json: {\n type: 'boolean',\n description: 'Output JSON',\n default: false,\n },\n 'dry-run': {\n type: 'boolean',\n description: 'Generate plan only, do not apply',\n default: false,\n },\n 'with-push': {\n type: 'boolean',\n description: 'Push after apply',\n default: false,\n },\n} as const;\n\nexport type RunFlags = typeof runFlags;\n\n/**\n * Common json-only flags for simple commands\n */\nexport const jsonOnlyFlags = {\n json: {\n type: 'boolean',\n description: 'Output JSON',\n default: false,\n },\n} as const;\n\nexport type JsonOnlyFlags = typeof jsonOnlyFlags;\n\n/**\n * Empty flags for commands that take no arguments\n */\nexport const emptyFlags = {} as const;\n\nexport type EmptyFlags = typeof emptyFlags;\n","/**\n * Setup handler for commit plugin\n * Initializes .kb/commit/ directory structure and config\n */\n\nimport { defaultCommitConfig } from '@kb-labs/commit-contracts';\n\nconst COMMIT_DIR = '.kb/commit';\n\n/**\n * Plugin setup configuration\n *\n * Uses CommitPluginConfig from contracts as single source of truth.\n */\nexport const setup = {\n files: [\n {\n path: `${COMMIT_DIR}/README.md`,\n content: [\n '# Commit Plugin Workspace',\n '',\n 'This directory contains commit plugin data:',\n '',\n '- `current/` - Current commit plan (generated, not committed)',\n '- `history/` - Applied commit plans history',\n '',\n '## Configuration',\n '',\n 'Plugin configuration is stored in `kb.config.json` under `plugins.commit`.',\n '',\n '### Environment Variables',\n '',\n '| Variable | Description | Default |',\n '|----------|-------------|---------|',\n '| `KB_COMMIT_LLM_ENABLED` | Enable/disable LLM | `true` |',\n '| `KB_COMMIT_LLM_TEMPERATURE` | LLM temperature (0-1) | `0.3` |',\n '| `KB_COMMIT_LLM_MAX_TOKENS` | Max tokens for LLM | `2000` |',\n '| `KB_COMMIT_STORAGE_DIR` | Storage directory | `.kb/commit` |',\n '| `KB_COMMIT_AUTO_STAGE` | Auto-stage changes | `false` |',\n '',\n '## Commands',\n '',\n '```bash',\n '# Full flow: generate → apply',\n 'kb commit',\n '',\n '# Generate plan only',\n 'kb commit:generate',\n '',\n '# Apply current plan',\n 'kb commit:apply',\n '',\n '# View current plan',\n 'kb commit:open',\n '',\n '# Reset current plan',\n 'kb commit:reset',\n '',\n '# Push commits',\n 'kb commit:push',\n '```',\n '',\n 'Re-run `kb commit setup --force` to regenerate defaults.',\n ].join('\\n') + '\\n',\n description: 'README for commit plugin workspace',\n },\n ],\n\n config: [\n {\n pointer: 'plugins.commit',\n value: defaultCommitConfig,\n },\n ],\n\n scripts: [\n {\n name: 'commit',\n command: 'kb commit',\n description: 'Generate and apply commits',\n },\n {\n name: 'commit:generate',\n command: 'kb commit:generate',\n description: 'Generate commit plan from changes',\n },\n ],\n\n gitignore: [\n '.kb/commit/current/',\n '.kb/commit/history/',\n ],\n\n notes: [\n 'Run `kb commit` to analyze changes and generate commit plan.',\n 'Set KB_COMMIT_LLM_ENABLED=false to use heuristics only.',\n 'Use `kb commit:open` to view current plan before applying.',\n ],\n};\n\n/**\n * Setup handler function (for manifest registration)\n */\nexport async function run() {\n return {\n message: 'Commit plugin setup completed. Try `kb commit` to generate commits!',\n ...setup,\n };\n}\n\nexport default run;\n","/**\n * KB Labs Commit Plugin - Manifest V3\n *\n * Migration from V2 to V3 following best practices from V3-MIGRATION-GUIDE.md\n *\n * Key changes:\n * - Schema: kb.plugin/3\n * - Commands use handler#default suffix\n * - Commands have handlerPath field\n * - All imports from @kb-labs/sdk\n */\n\nimport {\n defineCommandFlags,\n combinePermissions,\n gitWorkflowPreset,\n kbPlatformPreset,\n} from '@kb-labs/sdk';\nimport {\n COMMIT_ENV_VARS,\n COMMIT_BASE_PATH,\n COMMIT_ROUTES,\n COMMIT_CACHE_PREFIX,\n} from '@kb-labs/commit-contracts';\nimport {\n runFlags,\n generateFlags,\n applyFlags,\n pushFlags,\n jsonOnlyFlags,\n emptyFlags,\n} from './cli/commands/flags';\n\n/**\n * Build permissions using presets:\n * - gitWorkflow: HOME, USER, GIT_*, SSH_* for git operations\n * - kbPlatform: KB_* env vars and .kb/ directory\n * - Custom: COMMIT_ENV_VARS, quotas, platform services (llm, cache)\n *\n * Note: LLM access goes through platform services, no direct API keys needed.\n */\nconst pluginPermissions = combinePermissions()\n .with(gitWorkflowPreset)\n .with(kbPlatformPreset)\n .withEnv([...COMMIT_ENV_VARS])\n .withFs({\n mode: 'readWrite',\n allow: ['.kb/commit/**'],\n })\n .withPlatform({\n llm: true, // Full LLM access for commit generation\n cache: [COMMIT_CACHE_PREFIX], // Cache namespace prefix from contracts\n analytics: true, // Track commit generation events\n })\n .withQuotas({\n timeoutMs: 600000, // 10 min for LLM\n memoryMb: 512,\n })\n .build();\n\nexport const manifest = {\n schema: 'kb.plugin/3',\n id: '@kb-labs/commit',\n version: '0.1.0',\n configSection: 'commit',\n\n display: {\n name: 'Commit Generator',\n description: 'AI-powered commit generation with conventional commit support.',\n tags: ['commit', 'git', 'ai', 'conventional-commits'],\n },\n\n // Platform requirements (LLM is optional but preferred)\n platform: {\n requires: ['storage', 'cache'],\n optional: ['llm', 'analytics', 'logger'],\n },\n\n // TODO: Implement V3 setup handler\n // Setup temporarily disabled during migration - needs proper V3 implementation\n // setup: {\n // handler: './lifecycle/setup.js#default',\n // handlerPath: './lifecycle/setup.js',\n // describe: 'Initialize .kb/commit/ directory structure.',\n // permissions: permissions.combine(\n // permissions.presets.pluginWorkspace('commit'),\n // {\n // quotas: { timeoutMs: 10000, memoryMb: 128, cpuMs: 3000 },\n // }\n // ),\n // },\n\n // V3: cli wrapper with commands array\n cli: {\n commands: [\n // Main command: commit (default flow)\n {\n id: 'commit:commit', // ✅ With plugin prefix\n group: 'commit',\n describe: 'Generate and apply commits (default flow).',\n longDescription:\n 'Analyzes changes, generates commit plan with LLM, applies commits locally. ' +\n 'Use --dry-run to preview without applying, --with-push to push after applying.',\n\n // ✅ V3: handler with #default suffix\n handler: './cli/commands/run.js#default',\n handlerPath: './cli/commands/run.js',\n\n flags: defineCommandFlags(runFlags),\n\n examples: [\n 'kb commit commit',\n 'kb commit commit --dry-run',\n 'kb commit commit --with-push',\n 'kb commit commit --scope \"src/components/**\"',\n ],\n },\n\n // commit:generate - Generate commit plan\n {\n id: 'commit:generate',\n group: 'commit',\n describe: 'Generate commit plan from git changes.',\n longDescription:\n 'Analyzes staged and unstaged changes using git diff, then uses LLM to group ' +\n 'related changes and generate conventional commit messages.',\n\n handler: './cli/commands/generate.js#default',\n handlerPath: './cli/commands/generate.js',\n\n flags: defineCommandFlags(generateFlags),\n\n examples: [\n 'kb commit generate',\n 'kb commit generate --json',\n 'kb commit generate --scope \"packages/**\"',\n ],\n },\n\n // commit:apply - Apply commit plan\n {\n id: 'commit:apply',\n group: 'commit',\n describe: 'Apply current commit plan (create local commits).',\n longDescription:\n 'Creates git commits according to the current plan. Checks for staleness ' +\n '(working tree changes since plan generation) unless --force is used.',\n\n handler: './cli/commands/apply.js#default',\n handlerPath: './cli/commands/apply.js',\n\n flags: defineCommandFlags(applyFlags),\n\n examples: [\n 'kb commit apply',\n 'kb commit apply --force',\n ],\n },\n\n // commit:push - Push commits\n {\n id: 'commit:push',\n group: 'commit',\n describe: 'Push commits to remote repository.',\n longDescription:\n 'Pushes local commits to the remote. Refuses force push to protected branches ' +\n '(main, master) by default.',\n\n handler: './cli/commands/push.js#default',\n handlerPath: './cli/commands/push.js',\n\n flags: defineCommandFlags(pushFlags),\n\n examples: [\n 'kb commit push',\n ],\n },\n\n // commit:open - Show current plan\n {\n id: 'commit:open',\n group: 'commit',\n describe: 'Show current commit plan.',\n longDescription: 'Displays the current commit plan if one exists.',\n\n handler: './cli/commands/open.js#default',\n handlerPath: './cli/commands/open.js',\n\n flags: defineCommandFlags(jsonOnlyFlags),\n\n examples: [\n 'kb commit open',\n 'kb commit open --json',\n ],\n },\n\n // commit:reset - Clear current plan\n {\n id: 'commit:reset',\n group: 'commit',\n describe: 'Clear current commit plan.',\n longDescription: 'Removes the current commit plan from storage.',\n\n handler: './cli/commands/reset.js#default',\n handlerPath: './cli/commands/reset.js',\n\n flags: defineCommandFlags(emptyFlags),\n\n examples: [\n 'kb commit reset',\n ],\n },\n ],\n },\n\n capabilities: [],\n\n // ✅ V3: Manifest-first permissions using composable presets\n permissions: pluginPermissions,\n\n // REST API routes (inherit permissions from manifest)\n rest: {\n basePath: COMMIT_BASE_PATH,\n routes: [\n // GET /scopes\n {\n method: 'GET',\n path: COMMIT_ROUTES.SCOPES,\n handler: './rest/handlers/scopes-handler.js#default',\n output: {\n zod: '@kb-labs/sdk#SelectDataSchema',\n },\n },\n // GET /status\n {\n method: 'GET',\n path: COMMIT_ROUTES.STATUS,\n handler: './rest/handlers/status-handler.js#default',\n output: {\n zod: '@kb-labs/commit-contracts#StatusResponseSchema',\n },\n },\n // POST /generate\n {\n method: 'POST',\n path: COMMIT_ROUTES.GENERATE,\n handler: './rest/handlers/generate-handler.js#default',\n input: {\n zod: '@kb-labs/commit-contracts#GenerateRequestSchema',\n },\n output: {\n zod: '@kb-labs/commit-contracts#GenerateResponseSchema',\n },\n timeoutMs: 300000, // 5 minutes for LLM analysis\n },\n // GET /plan\n {\n method: 'GET',\n path: COMMIT_ROUTES.PLAN,\n handler: './rest/handlers/plan-handler.js#default',\n output: {\n zod: '@kb-labs/commit-contracts#PlanResponseSchema',\n },\n },\n // POST /apply\n {\n method: 'POST',\n path: COMMIT_ROUTES.APPLY,\n handler: './rest/handlers/apply-handler.js#default',\n input: {\n zod: '@kb-labs/commit-contracts#ApplyRequestSchema',\n },\n output: {\n zod: '@kb-labs/commit-contracts#ApplyResponseSchema',\n },\n timeoutMs: 600000, // 10 min for pre/post hooks\n },\n // POST /push\n {\n method: 'POST',\n path: COMMIT_ROUTES.PUSH,\n handler: './rest/handlers/push-handler.js#default',\n input: {\n zod: '@kb-labs/commit-contracts#PushRequestSchema',\n },\n output: {\n zod: '@kb-labs/commit-contracts#PushResponseSchema',\n },\n timeoutMs: 600000, // 10 min for pre/post push hooks\n },\n // DELETE /plan\n {\n method: 'DELETE',\n path: COMMIT_ROUTES.RESET,\n handler: './rest/handlers/reset-handler.js#default',\n output: {\n zod: '@kb-labs/commit-contracts#ResetResponseSchema',\n },\n },\n // GET /git-status\n {\n method: 'GET',\n path: COMMIT_ROUTES.GIT_STATUS,\n handler: './rest/handlers/git-status-handler.js#default',\n output: {\n zod: '@kb-labs/commit-contracts#GitStatusResponseSchema',\n },\n },\n // GET /files\n {\n method: 'GET',\n path: COMMIT_ROUTES.FILES,\n handler: './rest/handlers/files-handler.js#default',\n },\n // GET /diff\n {\n method: 'GET',\n path: COMMIT_ROUTES.DIFF,\n handler: './rest/handlers/diff-handler.js#default',\n output: {\n zod: '@kb-labs/commit-contracts#FileDiffResponseSchema',\n },\n },\n // POST /summarize\n {\n method: 'POST',\n path: COMMIT_ROUTES.SUMMARIZE,\n handler: './rest/handlers/summarize-handler.js#default',\n input: {\n zod: '@kb-labs/commit-contracts#SummarizeRequestSchema',\n },\n output: {\n zod: '@kb-labs/commit-contracts#SummarizeResponseSchema',\n },\n },\n // GET /actions\n {\n method: 'GET',\n path: COMMIT_ROUTES.ACTIONS,\n handler: './rest/handlers/actions-handler.js#default',\n output: {\n zod: '@kb-labs/commit-contracts#ActionsResponseSchema',\n },\n },\n // PATCH /plan — edit a single commit in the plan\n {\n method: 'PATCH',\n path: COMMIT_ROUTES.PATCH_PLAN,\n handler: './rest/handlers/patch-plan-handler.js#default',\n input: {\n zod: '@kb-labs/commit-contracts#PatchPlanRequestSchema',\n },\n output: {\n zod: '@kb-labs/commit-contracts#PatchPlanResponseSchema',\n },\n },\n // POST /regenerate-commit — regenerate a single commit with LLM\n {\n method: 'POST',\n path: COMMIT_ROUTES.REGENERATE_COMMIT,\n handler: './rest/handlers/regenerate-handler.js#default',\n input: {\n zod: '@kb-labs/commit-contracts#RegenerateCommitRequestSchema',\n },\n output: {\n zod: '@kb-labs/commit-contracts#RegenerateCommitResponseSchema',\n },\n timeoutMs: 300000, // 5 minutes for LLM analysis\n },\n ],\n },\n\n // Studio V2 — Module Federation pages\n studio: {\n version: 2 as const,\n remoteName: 'commitPlugin',\n pages: [\n {\n id: 'commit.overview',\n title: 'Commit',\n icon: 'GitlabOutlined',\n route: '/p/commit',\n entry: './CommitOverview',\n order: 1,\n },\n ],\n menus: [\n {\n id: 'commit',\n label: 'Commit',\n icon: 'GitlabOutlined',\n target: 'commit.overview',\n order: 30,\n },\n ],\n },\n\n // Legacy V1 studio widgets (deleted)\n /*\n _legacy_studio: {\n widgets: [\n // Workspace Selector\n {\n id: 'commit.workspace-selector',\n kind: 'select',\n title: 'Select Scope',\n description: 'Choose monorepo package or repository',\n data: {\n source: {\n type: 'rest',\n routeId: COMMIT_WIDGET_ROUTES.SCOPES,\n method: 'GET',\n },\n },\n options: {\n searchable: true,\n placeholder: 'Select scope...',\n },\n events: {\n emit: [{\n name: COMMIT_EVENTS.SCOPE_CHANGED,\n payloadMap: { scope: 'value' }, // Maps selected value to payload.scope\n }],\n },\n layoutHint: { w: 6, h: 1, minH: 1 },\n order: 0,\n },\n // Status Metrics\n {\n id: 'commit.status',\n kind: 'metric-group',\n title: 'Commit Status',\n description: 'Current plan and git status',\n data: {\n source: {\n type: 'rest',\n routeId: COMMIT_WIDGET_ROUTES.STATUS,\n method: 'GET',\n },\n },\n events: {\n subscribe: [\n {\n name: COMMIT_EVENTS.SCOPE_CHANGED,\n paramsMap: { scope: 'scope' }, // Maps payload.workspace to params.workspace\n },\n COMMIT_EVENTS.FORM_SUBMITTED,\n ],\n },\n layoutHint: { w: 6, h: 2, minH: 2 },\n order: 1,\n },\n // Plan Viewer (child of commit.plan-section)\n {\n id: 'commit.plan-viewer',\n kind: 'cardlist',\n title: '', // Title shown in parent section\n description: '',\n data: {\n source: {\n type: 'rest',\n routeId: COMMIT_WIDGET_ROUTES.PLAN,\n method: 'GET',\n },\n },\n options: {\n layout: 'list',\n emptyMessage: 'No plan. Click Generate Plan to create commits.',\n },\n events: {\n subscribe: [\n {\n name: COMMIT_EVENTS.SCOPE_CHANGED,\n paramsMap: { scope: 'scope' },\n },\n {\n name: COMMIT_EVENTS.PLAN_GENERATED,\n // When plan is generated, update widget data with cards\n // No paramsMap - use entire payload as widget data\n },\n COMMIT_EVENTS.FORM_SUBMITTED,\n ],\n },\n order: 2,\n },\n // Git Files Table (child of commit.files-section)\n {\n id: 'commit.git-files',\n kind: 'table',\n title: '', // Title shown in parent section\n description: '',\n data: {\n source: {\n type: 'rest',\n routeId: COMMIT_WIDGET_ROUTES.FILES,\n method: 'GET',\n },\n },\n options: {\n columns: [\n {\n id: 'path',\n label: 'File',\n sortable: true,\n width: '60%',\n },\n {\n id: 'status',\n label: 'Status',\n sortable: true,\n width: 80,\n },\n {\n id: 'changes',\n label: 'Changes',\n sortable: false,\n width: 120,\n },\n ],\n pagination: false,\n rowSelection: false,\n size: 'small',\n },\n events: {\n subscribe: [{\n name: COMMIT_EVENTS.SCOPE_CHANGED,\n paramsMap: { scope: 'scope' },\n }],\n },\n order: 3,\n },\n // Quick Actions Widget\n {\n id: 'commit.actions',\n kind: 'card',\n title: 'Quick Actions',\n description: 'Common commit workflow actions',\n data: {\n source: {\n type: 'rest',\n routeId: COMMIT_WIDGET_ROUTES.ACTIONS,\n method: 'GET',\n },\n },\n events: {\n subscribe: [{\n name: COMMIT_EVENTS.SCOPE_CHANGED,\n paramsMap: { scope: 'scope' },\n }],\n },\n actions: [\n {\n id: 'generate',\n label: 'Generate Plan',\n icon: 'ThunderboltOutlined',\n variant: 'primary',\n handler: {\n type: 'rest',\n routeId: COMMIT_WIDGET_ROUTES.GENERATE,\n method: 'POST',\n bodyMap: { scope: 'scope' },\n onSuccess: {\n emitEvent: COMMIT_EVENTS.PLAN_GENERATED,\n // Response data will be used as payload (contains plan + workspace)\n },\n },\n },\n {\n id: 'apply',\n label: 'Apply Commits',\n icon: 'CheckOutlined',\n variant: 'default',\n handler: {\n type: 'rest',\n routeId: COMMIT_WIDGET_ROUTES.APPLY,\n method: 'POST',\n bodyMap: { scope: 'scope' },\n },\n confirm: {\n title: 'Apply Commits',\n description: 'This will create git commits according to the plan. Continue?',\n confirmLabel: 'Apply',\n cancelLabel: 'Cancel',\n },\n },\n {\n id: 'push',\n label: 'Push',\n icon: 'UploadOutlined',\n handler: {\n type: 'rest',\n routeId: COMMIT_WIDGET_ROUTES.PUSH,\n method: 'POST',\n bodyMap: { scope: 'scope' },\n },\n confirm: {\n title: 'Push to Remote',\n description: 'This will push commits to the remote repository. Continue?',\n confirmLabel: 'Push',\n cancelLabel: 'Cancel',\n },\n },\n ],\n layoutHint: { w: 6, h: 3, minH: 2 },\n order: 6,\n },\n // Files Section (collapsible, GitLab-style)\n {\n id: 'commit.files-section',\n kind: 'section',\n title: 'Changed Files',\n description: 'Files with uncommitted changes',\n data: {\n source: { type: 'static' }, // Sections use static source (no data)\n },\n options: {\n collapsible: true,\n defaultExpanded: true,\n variant: 'bordered',\n icon: 'FolderOutlined',\n showDivider: true,\n },\n children: ['commit.git-files'],\n events: {\n subscribe: [{\n name: COMMIT_EVENTS.SCOPE_CHANGED,\n paramsMap: { scope: 'scope' },\n }],\n },\n layoutHint: { w: 6, h: 8, minH: 4 },\n order: 4,\n },\n // Plan Section (collapsible, GitLab-style)\n {\n id: 'commit.plan-section',\n kind: 'section',\n title: 'Commit Plan',\n description: 'Generated commits ready to apply',\n data: {\n source: { type: 'static' }, // Sections use static source (no data)\n },\n options: {\n collapsible: true,\n defaultExpanded: true,\n variant: 'bordered',\n icon: 'FileTextOutlined',\n showDivider: true,\n },\n children: ['commit.plan-viewer'],\n events: {\n subscribe: [\n {\n name: COMMIT_EVENTS.SCOPE_CHANGED,\n paramsMap: { scope: 'scope' },\n },\n COMMIT_EVENTS.FORM_SUBMITTED,\n ],\n },\n layoutHint: { w: 6, h: 8, minH: 4 },\n order: 5,\n },\n ],\n // Studio menus\n menus: [\n {\n id: 'commit-menu',\n label: 'Commit',\n icon: 'GitlabOutlined',\n target: '/plugins/commit/overview',\n order: 0,\n },\n {\n id: 'commit-overview',\n label: 'Overview',\n icon: 'DashboardOutlined',\n parentId: 'commit-menu',\n target: '/plugins/commit/overview',\n order: 1,\n },\n {\n id: 'commit-plan',\n label: 'Plan',\n icon: 'UnorderedListOutlined',\n parentId: 'commit-menu',\n target: '/plugins/commit/plan',\n order: 2,\n },\n {\n id: 'commit-files',\n label: 'Files',\n icon: 'FileTextOutlined',\n parentId: 'commit-menu',\n target: '/plugins/commit/files',\n order: 3,\n },\n ],\n // Studio layouts\n layouts: [\n // Overview page - Quick status and actions\n {\n id: 'commit.overview',\n kind: 'grid',\n title: 'Overview',\n description: 'Workspace status and quick actions',\n icon: 'home',\n widgets: [\n 'commit.workspace-selector',\n 'commit.status',\n 'commit.actions',\n 'commit.plan-section', // Show plan section on overview too\n ],\n config: {\n cols: 6,\n gap: 16,\n },\n order: 1,\n },\n // Plan page - GitLab-style commit plan view\n {\n id: 'commit.plan',\n kind: 'grid',\n title: 'Commit Plan',\n description: 'Review and manage generated commits',\n icon: 'list',\n widgets: [\n 'commit.workspace-selector',\n 'commit.files-section',\n 'commit.plan-section',\n ],\n actions: [\n {\n id: 'generate',\n label: 'Generate Plan',\n icon: 'ThunderboltOutlined',\n variant: 'primary',\n handler: {\n type: 'rest',\n routeId: COMMIT_WIDGET_ROUTES.GENERATE,\n method: 'POST',\n },\n },\n {\n id: 'apply',\n label: 'Apply Commits',\n icon: 'CheckOutlined',\n variant: 'default',\n handler: {\n type: 'rest',\n routeId: COMMIT_WIDGET_ROUTES.APPLY,\n method: 'POST',\n },\n confirm: {\n title: 'Apply Commits',\n description: 'This will create git commits according to the plan. Continue?',\n confirmLabel: 'Apply',\n cancelLabel: 'Cancel',\n },\n },\n {\n id: 'push',\n label: 'Push',\n icon: 'UploadOutlined',\n handler: {\n type: 'rest',\n routeId: COMMIT_WIDGET_ROUTES.PUSH,\n method: 'POST',\n },\n confirm: {\n title: 'Push to Remote',\n description: 'This will push commits to the remote repository. Continue?',\n confirmLabel: 'Push',\n cancelLabel: 'Cancel',\n },\n },\n {\n id: 'reset',\n label: 'Reset Plan',\n icon: 'DeleteOutlined',\n variant: 'danger',\n handler: {\n type: 'rest',\n routeId: COMMIT_WIDGET_ROUTES.RESET,\n method: 'DELETE',\n },\n confirm: {\n title: 'Reset Plan',\n description: 'This will delete the current commit plan. This action cannot be undone.',\n confirmLabel: 'Delete',\n cancelLabel: 'Cancel',\n },\n },\n ],\n config: {\n cols: 6,\n gap: 16,\n },\n order: 2,\n },\n // Files page - Changed files table\n {\n id: 'commit.files',\n kind: 'grid',\n title: 'Changed Files',\n description: 'Git status and modified files',\n icon: 'file',\n widgets: [\n 'commit.workspace-selector',\n 'commit.git-files',\n ],\n config: {\n cols: 6,\n gap: 16,\n },\n order: 3,\n },\n ],\n },\n */\n\n // Artifacts\n artifacts: [\n {\n id: 'commit.plan.json',\n pathTemplate: '.kb/commit/current/plan.json',\n description: 'Current commit plan.',\n },\n {\n id: 'commit.status.json',\n pathTemplate: '.kb/commit/current/status.json',\n description: 'Git status snapshot at plan generation time.',\n },\n ],\n};\n\nexport default manifest;\n"]}
@@ -0,0 +1,53 @@
1
+ import * as _kb_labs_commit_contracts from '@kb-labs/commit-contracts';
2
+
3
+ /**
4
+ * Setup handler for commit plugin
5
+ * Initializes .kb/commit/ directory structure and config
6
+ */
7
+ /**
8
+ * Plugin setup configuration
9
+ *
10
+ * Uses CommitPluginConfig from contracts as single source of truth.
11
+ */
12
+ declare const setup: {
13
+ files: {
14
+ path: string;
15
+ content: string;
16
+ description: string;
17
+ }[];
18
+ config: {
19
+ pointer: string;
20
+ value: _kb_labs_commit_contracts.CommitPluginConfig;
21
+ }[];
22
+ scripts: {
23
+ name: string;
24
+ command: string;
25
+ description: string;
26
+ }[];
27
+ gitignore: string[];
28
+ notes: string[];
29
+ };
30
+ /**
31
+ * Setup handler function (for manifest registration)
32
+ */
33
+ declare function run(): Promise<{
34
+ files: {
35
+ path: string;
36
+ content: string;
37
+ description: string;
38
+ }[];
39
+ config: {
40
+ pointer: string;
41
+ value: _kb_labs_commit_contracts.CommitPluginConfig;
42
+ }[];
43
+ scripts: {
44
+ name: string;
45
+ command: string;
46
+ description: string;
47
+ }[];
48
+ gitignore: string[];
49
+ notes: string[];
50
+ message: string;
51
+ }>;
52
+
53
+ export { run as default, run, setup };
@@ -0,0 +1,96 @@
1
+ import { defaultCommitConfig } from '@kb-labs/commit-contracts';
2
+
3
+ // src/lifecycle/setup.ts
4
+ var COMMIT_DIR = ".kb/commit";
5
+ var setup = {
6
+ files: [
7
+ {
8
+ path: `${COMMIT_DIR}/README.md`,
9
+ content: [
10
+ "# Commit Plugin Workspace",
11
+ "",
12
+ "This directory contains commit plugin data:",
13
+ "",
14
+ "- `current/` - Current commit plan (generated, not committed)",
15
+ "- `history/` - Applied commit plans history",
16
+ "",
17
+ "## Configuration",
18
+ "",
19
+ "Plugin configuration is stored in `kb.config.json` under `plugins.commit`.",
20
+ "",
21
+ "### Environment Variables",
22
+ "",
23
+ "| Variable | Description | Default |",
24
+ "|----------|-------------|---------|",
25
+ "| `KB_COMMIT_LLM_ENABLED` | Enable/disable LLM | `true` |",
26
+ "| `KB_COMMIT_LLM_TEMPERATURE` | LLM temperature (0-1) | `0.3` |",
27
+ "| `KB_COMMIT_LLM_MAX_TOKENS` | Max tokens for LLM | `2000` |",
28
+ "| `KB_COMMIT_STORAGE_DIR` | Storage directory | `.kb/commit` |",
29
+ "| `KB_COMMIT_AUTO_STAGE` | Auto-stage changes | `false` |",
30
+ "",
31
+ "## Commands",
32
+ "",
33
+ "```bash",
34
+ "# Full flow: generate \u2192 apply",
35
+ "kb commit",
36
+ "",
37
+ "# Generate plan only",
38
+ "kb commit:generate",
39
+ "",
40
+ "# Apply current plan",
41
+ "kb commit:apply",
42
+ "",
43
+ "# View current plan",
44
+ "kb commit:open",
45
+ "",
46
+ "# Reset current plan",
47
+ "kb commit:reset",
48
+ "",
49
+ "# Push commits",
50
+ "kb commit:push",
51
+ "```",
52
+ "",
53
+ "Re-run `kb commit setup --force` to regenerate defaults."
54
+ ].join("\n") + "\n",
55
+ description: "README for commit plugin workspace"
56
+ }
57
+ ],
58
+ config: [
59
+ {
60
+ pointer: "plugins.commit",
61
+ value: defaultCommitConfig
62
+ }
63
+ ],
64
+ scripts: [
65
+ {
66
+ name: "commit",
67
+ command: "kb commit",
68
+ description: "Generate and apply commits"
69
+ },
70
+ {
71
+ name: "commit:generate",
72
+ command: "kb commit:generate",
73
+ description: "Generate commit plan from changes"
74
+ }
75
+ ],
76
+ gitignore: [
77
+ ".kb/commit/current/",
78
+ ".kb/commit/history/"
79
+ ],
80
+ notes: [
81
+ "Run `kb commit` to analyze changes and generate commit plan.",
82
+ "Set KB_COMMIT_LLM_ENABLED=false to use heuristics only.",
83
+ "Use `kb commit:open` to view current plan before applying."
84
+ ]
85
+ };
86
+ async function run() {
87
+ return {
88
+ message: "Commit plugin setup completed. Try `kb commit` to generate commits!",
89
+ ...setup
90
+ };
91
+ }
92
+ var setup_default = run;
93
+
94
+ export { setup_default as default, run, setup };
95
+ //# sourceMappingURL=setup.js.map
96
+ //# sourceMappingURL=setup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/lifecycle/setup.ts"],"names":[],"mappings":";;;AAOA,IAAM,UAAA,GAAa,YAAA;AAOZ,IAAM,KAAA,GAAQ;AAAA,EACnB,KAAA,EAAO;AAAA,IACL;AAAA,MACE,IAAA,EAAM,GAAG,UAAU,CAAA,UAAA,CAAA;AAAA,MACnB,OAAA,EAAS;AAAA,QACP,2BAAA;AAAA,QACA,EAAA;AAAA,QACA,6CAAA;AAAA,QACA,EAAA;AAAA,QACA,+DAAA;AAAA,QACA,6CAAA;AAAA,QACA,EAAA;AAAA,QACA,kBAAA;AAAA,QACA,EAAA;AAAA,QACA,4EAAA;AAAA,QACA,EAAA;AAAA,QACA,2BAAA;AAAA,QACA,EAAA;AAAA,QACA,sCAAA;AAAA,QACA,sCAAA;AAAA,QACA,2DAAA;AAAA,QACA,iEAAA;AAAA,QACA,8DAAA;AAAA,QACA,gEAAA;AAAA,QACA,2DAAA;AAAA,QACA,EAAA;AAAA,QACA,aAAA;AAAA,QACA,EAAA;AAAA,QACA,SAAA;AAAA,QACA,oCAAA;AAAA,QACA,WAAA;AAAA,QACA,EAAA;AAAA,QACA,sBAAA;AAAA,QACA,oBAAA;AAAA,QACA,EAAA;AAAA,QACA,sBAAA;AAAA,QACA,iBAAA;AAAA,QACA,EAAA;AAAA,QACA,qBAAA;AAAA,QACA,gBAAA;AAAA,QACA,EAAA;AAAA,QACA,sBAAA;AAAA,QACA,iBAAA;AAAA,QACA,EAAA;AAAA,QACA,gBAAA;AAAA,QACA,gBAAA;AAAA,QACA,KAAA;AAAA,QACA,EAAA;AAAA,QACA;AAAA,OACF,CAAE,IAAA,CAAK,IAAI,CAAA,GAAI,IAAA;AAAA,MACf,WAAA,EAAa;AAAA;AACf,GACF;AAAA,EAEA,MAAA,EAAQ;AAAA,IACN;AAAA,MACE,OAAA,EAAS,gBAAA;AAAA,MACT,KAAA,EAAO;AAAA;AACT,GACF;AAAA,EAEA,OAAA,EAAS;AAAA,IACP;AAAA,MACE,IAAA,EAAM,QAAA;AAAA,MACN,OAAA,EAAS,WAAA;AAAA,MACT,WAAA,EAAa;AAAA,KACf;AAAA,IACA;AAAA,MACE,IAAA,EAAM,iBAAA;AAAA,MACN,OAAA,EAAS,oBAAA;AAAA,MACT,WAAA,EAAa;AAAA;AACf,GACF;AAAA,EAEA,SAAA,EAAW;AAAA,IACT,qBAAA;AAAA,IACA;AAAA,GACF;AAAA,EAEA,KAAA,EAAO;AAAA,IACL,8DAAA;AAAA,IACA,yDAAA;AAAA,IACA;AAAA;AAEJ;AAKA,eAAsB,GAAA,GAAM;AAC1B,EAAA,OAAO;AAAA,IACL,OAAA,EAAS,qEAAA;AAAA,IACT,GAAG;AAAA,GACL;AACF;AAEA,IAAO,aAAA,GAAQ","file":"setup.js","sourcesContent":["/**\n * Setup handler for commit plugin\n * Initializes .kb/commit/ directory structure and config\n */\n\nimport { defaultCommitConfig } from '@kb-labs/commit-contracts';\n\nconst COMMIT_DIR = '.kb/commit';\n\n/**\n * Plugin setup configuration\n *\n * Uses CommitPluginConfig from contracts as single source of truth.\n */\nexport const setup = {\n files: [\n {\n path: `${COMMIT_DIR}/README.md`,\n content: [\n '# Commit Plugin Workspace',\n '',\n 'This directory contains commit plugin data:',\n '',\n '- `current/` - Current commit plan (generated, not committed)',\n '- `history/` - Applied commit plans history',\n '',\n '## Configuration',\n '',\n 'Plugin configuration is stored in `kb.config.json` under `plugins.commit`.',\n '',\n '### Environment Variables',\n '',\n '| Variable | Description | Default |',\n '|----------|-------------|---------|',\n '| `KB_COMMIT_LLM_ENABLED` | Enable/disable LLM | `true` |',\n '| `KB_COMMIT_LLM_TEMPERATURE` | LLM temperature (0-1) | `0.3` |',\n '| `KB_COMMIT_LLM_MAX_TOKENS` | Max tokens for LLM | `2000` |',\n '| `KB_COMMIT_STORAGE_DIR` | Storage directory | `.kb/commit` |',\n '| `KB_COMMIT_AUTO_STAGE` | Auto-stage changes | `false` |',\n '',\n '## Commands',\n '',\n '```bash',\n '# Full flow: generate → apply',\n 'kb commit',\n '',\n '# Generate plan only',\n 'kb commit:generate',\n '',\n '# Apply current plan',\n 'kb commit:apply',\n '',\n '# View current plan',\n 'kb commit:open',\n '',\n '# Reset current plan',\n 'kb commit:reset',\n '',\n '# Push commits',\n 'kb commit:push',\n '```',\n '',\n 'Re-run `kb commit setup --force` to regenerate defaults.',\n ].join('\\n') + '\\n',\n description: 'README for commit plugin workspace',\n },\n ],\n\n config: [\n {\n pointer: 'plugins.commit',\n value: defaultCommitConfig,\n },\n ],\n\n scripts: [\n {\n name: 'commit',\n command: 'kb commit',\n description: 'Generate and apply commits',\n },\n {\n name: 'commit:generate',\n command: 'kb commit:generate',\n description: 'Generate commit plan from changes',\n },\n ],\n\n gitignore: [\n '.kb/commit/current/',\n '.kb/commit/history/',\n ],\n\n notes: [\n 'Run `kb commit` to analyze changes and generate commit plan.',\n 'Set KB_COMMIT_LLM_ENABLED=false to use heuristics only.',\n 'Use `kb commit:open` to view current plan before applying.',\n ],\n};\n\n/**\n * Setup handler function (for manifest registration)\n */\nexport async function run() {\n return {\n message: 'Commit plugin setup completed. Try `kb commit` to generate commits!',\n ...setup,\n };\n}\n\nexport default run;\n"]}
@@ -0,0 +1,207 @@
1
+ import * as _kb_labs_perm_presets from '@kb-labs/perm-presets';
2
+
3
+ /**
4
+ * KB Labs Commit Plugin - Manifest V3
5
+ *
6
+ * Migration from V2 to V3 following best practices from V3-MIGRATION-GUIDE.md
7
+ *
8
+ * Key changes:
9
+ * - Schema: kb.plugin/3
10
+ * - Commands use handler#default suffix
11
+ * - Commands have handlerPath field
12
+ * - All imports from @kb-labs/sdk
13
+ */
14
+ declare const manifest: {
15
+ schema: string;
16
+ id: string;
17
+ version: string;
18
+ configSection: string;
19
+ display: {
20
+ name: string;
21
+ description: string;
22
+ tags: string[];
23
+ };
24
+ platform: {
25
+ requires: string[];
26
+ optional: string[];
27
+ };
28
+ cli: {
29
+ commands: {
30
+ id: string;
31
+ group: string;
32
+ describe: string;
33
+ longDescription: string;
34
+ handler: string;
35
+ handlerPath: string;
36
+ flags: {
37
+ name: string;
38
+ type: "string" | "boolean" | "number" | "array";
39
+ alias?: string;
40
+ default?: unknown;
41
+ description?: string;
42
+ choices?: string[];
43
+ required?: boolean;
44
+ }[];
45
+ examples: string[];
46
+ }[];
47
+ };
48
+ capabilities: never[];
49
+ permissions: _kb_labs_perm_presets.RuntimePermissionSpec;
50
+ rest: {
51
+ basePath: "/v1/plugins/commit";
52
+ routes: ({
53
+ method: string;
54
+ path: "/scopes";
55
+ handler: string;
56
+ output: {
57
+ zod: string;
58
+ };
59
+ input?: undefined;
60
+ timeoutMs?: undefined;
61
+ } | {
62
+ method: string;
63
+ path: "/status";
64
+ handler: string;
65
+ output: {
66
+ zod: string;
67
+ };
68
+ input?: undefined;
69
+ timeoutMs?: undefined;
70
+ } | {
71
+ method: string;
72
+ path: "/generate";
73
+ handler: string;
74
+ input: {
75
+ zod: string;
76
+ };
77
+ output: {
78
+ zod: string;
79
+ };
80
+ timeoutMs: number;
81
+ } | {
82
+ method: string;
83
+ path: "/plan";
84
+ handler: string;
85
+ output: {
86
+ zod: string;
87
+ };
88
+ input?: undefined;
89
+ timeoutMs?: undefined;
90
+ } | {
91
+ method: string;
92
+ path: "/apply";
93
+ handler: string;
94
+ input: {
95
+ zod: string;
96
+ };
97
+ output: {
98
+ zod: string;
99
+ };
100
+ timeoutMs: number;
101
+ } | {
102
+ method: string;
103
+ path: "/push";
104
+ handler: string;
105
+ input: {
106
+ zod: string;
107
+ };
108
+ output: {
109
+ zod: string;
110
+ };
111
+ timeoutMs: number;
112
+ } | {
113
+ method: string;
114
+ path: "/git-status";
115
+ handler: string;
116
+ output: {
117
+ zod: string;
118
+ };
119
+ input?: undefined;
120
+ timeoutMs?: undefined;
121
+ } | {
122
+ method: string;
123
+ path: "/files";
124
+ handler: string;
125
+ output?: undefined;
126
+ input?: undefined;
127
+ timeoutMs?: undefined;
128
+ } | {
129
+ method: string;
130
+ path: "/diff";
131
+ handler: string;
132
+ output: {
133
+ zod: string;
134
+ };
135
+ input?: undefined;
136
+ timeoutMs?: undefined;
137
+ } | {
138
+ method: string;
139
+ path: "/summarize";
140
+ handler: string;
141
+ input: {
142
+ zod: string;
143
+ };
144
+ output: {
145
+ zod: string;
146
+ };
147
+ timeoutMs?: undefined;
148
+ } | {
149
+ method: string;
150
+ path: "/actions";
151
+ handler: string;
152
+ output: {
153
+ zod: string;
154
+ };
155
+ input?: undefined;
156
+ timeoutMs?: undefined;
157
+ } | {
158
+ method: string;
159
+ path: "/plan";
160
+ handler: string;
161
+ input: {
162
+ zod: string;
163
+ };
164
+ output: {
165
+ zod: string;
166
+ };
167
+ timeoutMs?: undefined;
168
+ } | {
169
+ method: string;
170
+ path: "/regenerate-commit";
171
+ handler: string;
172
+ input: {
173
+ zod: string;
174
+ };
175
+ output: {
176
+ zod: string;
177
+ };
178
+ timeoutMs: number;
179
+ })[];
180
+ };
181
+ studio: {
182
+ version: 2;
183
+ remoteName: string;
184
+ pages: {
185
+ id: string;
186
+ title: string;
187
+ icon: string;
188
+ route: string;
189
+ entry: string;
190
+ order: number;
191
+ }[];
192
+ menus: {
193
+ id: string;
194
+ label: string;
195
+ icon: string;
196
+ target: string;
197
+ order: number;
198
+ }[];
199
+ };
200
+ artifacts: {
201
+ id: string;
202
+ pathTemplate: string;
203
+ description: string;
204
+ }[];
205
+ };
206
+
207
+ export { manifest as default, manifest };