@vpxa/aikit 0.1.45 → 0.1.47

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 (58) hide show
  1. package/package.json +1 -1
  2. package/packages/cli/dist/commands/init/index.js +4 -4
  3. package/packages/cli/dist/commands/init/scaffold.d.ts +6 -1
  4. package/packages/cli/dist/commands/init/scaffold.js +1 -1
  5. package/packages/cli/dist/commands/upgrade.js +1 -1
  6. package/packages/dashboard/dist/assets/{index-CO2S9BKY.js → index-L06q8M9R.js} +4 -4
  7. package/packages/dashboard/dist/assets/{index-CO2S9BKY.js.map → index-L06q8M9R.js.map} +1 -1
  8. package/packages/dashboard/dist/index.html +1 -1
  9. package/packages/present/dist/index.html +306 -306
  10. package/packages/server/dist/tools/flow.tools.js +1 -1
  11. package/packages/server/dist/tools/present-charts.js +1 -1
  12. package/packages/server/dist/tools/search.tool.js +1 -1
  13. package/packages/store/dist/sqlite-graph-store.js +1 -1
  14. package/packages/tui/dist/{App-DuldJWwG.js → App-CoMyn2kt.js} +1 -1
  15. package/packages/tui/dist/App.js +1 -1
  16. package/packages/tui/dist/{CuratedPanel-BIamXLNy.js → CuratedPanel-DGFKz-fJ.js} +1 -1
  17. package/packages/tui/dist/LogPanel-CDItCD0E.js +17 -0
  18. package/packages/tui/dist/{SearchPanel-CpJGczAc.js → SearchPanel-CDSGcT7M.js} +1 -1
  19. package/packages/tui/dist/{StatusPanel-BAbUxyqQ.js → StatusPanel-yRieSRc3.js} +1 -1
  20. package/packages/tui/dist/chunk-DqSKhezp.js +2 -0
  21. package/packages/tui/dist/devtools-6rm8h8Q1.js +7 -0
  22. package/packages/tui/dist/hooks/useKBClient.js +1 -1
  23. package/packages/tui/dist/hooks/usePolling.js +1 -1
  24. package/packages/tui/dist/index.js +1 -1
  25. package/packages/tui/dist/jsx-runtime-CI8Ofr1S.js +294 -0
  26. package/packages/tui/dist/panels/CuratedPanel.js +1 -1
  27. package/packages/tui/dist/panels/LogPanel.js +1 -1
  28. package/packages/tui/dist/panels/SearchPanel.js +1 -1
  29. package/packages/tui/dist/panels/StatusPanel.js +1 -1
  30. package/packages/tui/dist/{react-D__J1GQe.js → react-CKRDn6y3.js} +3 -3
  31. package/packages/tui/dist/{useKBClient-C35iA4uG.js → useKBClient-BACLDL_U.js} +1 -1
  32. package/packages/tui/dist/{usePolling-BbjnRWgx.js → usePolling-D-4v1sTA.js} +1 -1
  33. package/scaffold/adapters/claude-code.mjs +34 -8
  34. package/scaffold/adapters/copilot.mjs +1 -1
  35. package/scaffold/claude-code/commands/aikit-ask.md +12 -0
  36. package/scaffold/claude-code/commands/aikit-debug.md +14 -0
  37. package/scaffold/claude-code/commands/aikit-design.md +14 -0
  38. package/scaffold/claude-code/commands/aikit-flow-add.md +83 -0
  39. package/scaffold/claude-code/commands/aikit-flow-create.md +79 -0
  40. package/scaffold/claude-code/commands/aikit-flow-manage.md +23 -0
  41. package/scaffold/claude-code/commands/aikit-implement.md +16 -0
  42. package/scaffold/claude-code/commands/aikit-plan.md +14 -0
  43. package/scaffold/claude-code/commands/aikit-review.md +23 -0
  44. package/scaffold/definitions/prompts.mjs +201 -0
  45. package/scaffold/general/prompts/aikit-flow-add.prompt.md +92 -0
  46. package/scaffold/general/prompts/aikit-flow-create.prompt.md +88 -0
  47. package/scaffold/general/prompts/aikit-flow-manage.prompt.md +33 -0
  48. package/scaffold/generate.mjs +1 -1
  49. package/packages/tui/dist/LogPanel-B8EJGqBN.js +0 -17
  50. package/packages/tui/dist/chunk-D6axbAb-.js +0 -2
  51. package/packages/tui/dist/devtools-DMOZMn70.js +0 -7
  52. package/packages/tui/dist/jsx-runtime-y6Gdq5PZ.js +0 -294
  53. /package/scaffold/general/prompts/{ask.prompt.md → aikit-ask.prompt.md} +0 -0
  54. /package/scaffold/general/prompts/{debug.prompt.md → aikit-debug.prompt.md} +0 -0
  55. /package/scaffold/general/prompts/{design.prompt.md → aikit-design.prompt.md} +0 -0
  56. /package/scaffold/general/prompts/{implement.prompt.md → aikit-implement.prompt.md} +0 -0
  57. /package/scaffold/general/prompts/{plan.prompt.md → aikit-plan.prompt.md} +0 -0
  58. /package/scaffold/general/prompts/{review.prompt.md → aikit-review.prompt.md} +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vpxa/aikit",
3
- "version": "0.1.45",
3
+ "version": "0.1.47",
4
4
  "type": "module",
5
5
  "description": "Local-first AI developer toolkit — knowledge base, code analysis, context management, and developer tools for LLM agents",
6
6
  "license": "MIT",
@@ -1,5 +1,5 @@
1
- import{FLOW_DIRS as e,SKILL_NAMES as t}from"./constants.js";import{detectIde as n,getAdapter as r}from"./adapters.js";import{ensureGitignore as i,getServerName as a,writeKbConfig as o}from"./config.js";import{createCuratedDirs as s}from"./curated.js";import{guideFlows as c,guideScaffold as l,guideSkills as u,smartCopyFlows as d,smartCopyScaffold as f,smartCopySkills as p}from"./scaffold.js";import{readFileSync as m}from"node:fs";import{dirname as h,resolve as g}from"node:path";import{fileURLToPath as _}from"node:url";import{isUserInstalled as v}from"../../../../core/dist/index.js";async function y(c){let l=process.cwd();if(!o(l,c.force))return;i(l);let u=a(),y=r(n(l));y.writeMcpConfig(l,u),y.writeInstructions(l,u),y.writeAgentsMd(l,u);let b=g(h(_(import.meta.url)),`..`,`..`,`..`,`..`,`..`),x=JSON.parse(m(g(b,`package.json`),`utf-8`)).version;p(l,b,[...t],x,c.force),d(l,b,[...e],x,c.force),f(l,b,y.scaffoldDir,x,c.force),s(l),console.log(`
2
- AI Kit initialized! Next steps:`),console.log(` aikit reindex Index your codebase`),console.log(` aikit search Search indexed content`),console.log(` aikit serve Start MCP server for IDE integration`),v()&&console.log(`
3
- Note: User-level AI Kit is also installed. This workspace uses its own local data store.`)}async function b(e){v()?await x(e):await y(e)}async function x(t){let o=process.cwd(),c=a(),l=r(n(o));l.writeInstructions(o,c),l.writeAgentsMd(o,c);let u=g(h(_(import.meta.url)),`..`,`..`,`..`,`..`,`..`),p=JSON.parse(m(g(u,`package.json`),`utf-8`)).version;f(o,u,l.scaffoldDir,p,t.force),d(o,u,[...e],p,t.force),s(o),i(o),console.log(`
1
+ import{FLOW_DIRS as e,SKILL_NAMES as t}from"./constants.js";import{detectIde as n,getAdapter as r}from"./adapters.js";import{ensureGitignore as i,getServerName as a,writeKbConfig as o}from"./config.js";import{createCuratedDirs as s}from"./curated.js";import{guideFlows as c,guideScaffold as l,guideSkills as u,smartCopyClaudeCommands as d,smartCopyFlows as f,smartCopyScaffold as p,smartCopySkills as m}from"./scaffold.js";import{readFileSync as h}from"node:fs";import{dirname as g,resolve as _}from"node:path";import{fileURLToPath as v}from"node:url";import{isUserInstalled as y}from"../../../../core/dist/index.js";async function b(c){let l=process.cwd();if(!o(l,c.force))return;i(l);let u=a(),b=r(n(l));b.writeMcpConfig(l,u),b.writeInstructions(l,u),b.writeAgentsMd(l,u);let x=_(g(v(import.meta.url)),`..`,`..`,`..`,`..`,`..`),S=JSON.parse(h(_(x,`package.json`),`utf-8`)).version;m(l,x,[...t],S,c.force),f(l,x,[...e],S,c.force),p(l,x,b.scaffoldDir,S,c.force),d(l,x,S,c.force),s(l),console.log(`
2
+ AI Kit initialized! Next steps:`),console.log(` aikit reindex Index your codebase`),console.log(` aikit search Search indexed content`),console.log(` aikit serve Start MCP server for IDE integration`),y()&&console.log(`
3
+ Note: User-level AI Kit is also installed. This workspace uses its own local data store.`)}async function x(e){y()?await S(e):await b(e)}async function S(t){let o=process.cwd(),c=a(),l=r(n(o));l.writeInstructions(o,c),l.writeAgentsMd(o,c);let u=_(g(v(import.meta.url)),`..`,`..`,`..`,`..`,`..`),m=JSON.parse(h(_(u,`package.json`),`utf-8`)).version;p(o,u,l.scaffoldDir,m,t.force),d(o,u,m,t.force),f(o,u,[...e],m,t.force),s(o),i(o),console.log(`
4
4
  Workspace scaffolded for user-level AI Kit! Files added:`),console.log(` Instruction files (AGENTS.md, copilot-instructions.md, etc.)`),console.log(` .ai/curated/ directories`),console.log(` .github/agents/ & .github/prompts/`),console.log(`
5
- The user-level AI Kit server will auto-index this workspace when opened in your IDE.`)}async function S(){let i=process.cwd(),a=r(n(i)),o=g(h(_(import.meta.url)),`..`,`..`,`..`,`..`,`..`),s=[...u(i,o,[...t]),...c(i,o,[...e]),...l(i,o,a.scaffoldDir)],d={summary:{total:s.length,new:s.filter(e=>e.status===`new`).length,outdated:s.filter(e=>e.status===`outdated`).length,current:s.filter(e=>e.status===`current`).length},files:s};console.log(JSON.stringify(d,null,2))}export{S as guideProject,y as initProject,x as initScaffoldOnly,b as initSmart};
5
+ The user-level AI Kit server will auto-index this workspace when opened in your IDE.`)}async function C(){let i=process.cwd(),a=r(n(i)),o=_(g(v(import.meta.url)),`..`,`..`,`..`,`..`,`..`),s=[...u(i,o,[...t]),...c(i,o,[...e]),...l(i,o,a.scaffoldDir)],d={summary:{total:s.length,new:s.filter(e=>e.status===`new`).length,outdated:s.filter(e=>e.status===`outdated`).length,current:s.filter(e=>e.status===`current`).length},files:s};console.log(JSON.stringify(d,null,2))}export{C as guideProject,b as initProject,S as initScaffoldOnly,x as initSmart};
@@ -49,5 +49,10 @@ declare function guideSkills(cwd: string, pkgRoot: string, skillNames: string[])
49
49
  declare function smartCopyFlows(cwd: string, pkgRoot: string, flowDirs: string[], version: string, force?: boolean): void;
50
50
  /** Generate guide report for flow step files. */
51
51
  declare function guideFlows(cwd: string, pkgRoot: string, flowDirs: string[]): GuideFileEntry[];
52
+ /**
53
+ * Copy Claude Code slash commands from scaffold/claude-code/commands/ to .claude/commands/.
54
+ * Uses the same manifest-based tracking as other scaffold copy functions.
55
+ */
56
+ declare function smartCopyClaudeCommands(cwd: string, pkgRoot: string, version: string, force?: boolean): void;
52
57
  //#endregion
53
- export { GuideFileEntry, copyDirectoryRecursive, copyScaffold, copySkills, guideFlows, guideScaffold, guideSkills, smartCopyDirectory, smartCopyFlows, smartCopyScaffold, smartCopySkills, smartCopySubdir };
58
+ export { GuideFileEntry, copyDirectoryRecursive, copyScaffold, copySkills, guideFlows, guideScaffold, guideSkills, smartCopyClaudeCommands, smartCopyDirectory, smartCopyFlows, smartCopyScaffold, smartCopySkills, smartCopySubdir };
@@ -1 +1 @@
1
- import{mergeFrontmatter as e}from"./frontmatter.js";import{createManifest as t,getFileStatus as n,getUpdateStrategy as r,readManifest as i,recordDeployment as a,writeManifest as o}from"./manifest.js";import{copyFileSync as s,existsSync as c,mkdirSync as l,readFileSync as u,readdirSync as d,rmSync as f,statSync as p,writeFileSync as m}from"node:fs";import{dirname as h,resolve as g}from"node:path";function _(e,t,n=``,r=!1){l(t,{recursive:!0});for(let i of d(e)){let a=g(e,i),o=g(t,i),l=n?`${n}/${i}`:i;p(a).isDirectory()?_(a,o,l,r):(r||!c(o))&&s(a,o)}}function v(t,i,o,s=``,f=!1){if(c(t)){l(i,{recursive:!0});for(let _ of d(t)){let d=g(t,_),y=g(i,_),b=s?`${s}/${_}`:_;if(p(d).isDirectory()){v(d,y,o,b,f);continue}let x=u(d,`utf-8`);if(f){l(h(y),{recursive:!0}),m(y,x,`utf-8`),a(o,b,x);continue}let S=n(o,b,x);if(S!==`current`){if(S===`new`&&!c(y)){l(h(y),{recursive:!0}),m(y,x,`utf-8`),a(o,b,x);continue}if(S===`new`&&c(y)){a(o,b,x);continue}r(b)===`merge-frontmatter`&&c(y)?m(y,e(x,u(y,`utf-8`)),`utf-8`):(l(h(y),{recursive:!0}),m(y,x,`utf-8`)),a(o,b,x)}}}}function y(e,n,r,a,s=!1){let l=g(n,`scaffold`,r),u=g(e,`.github`),d=g(u,`.aikit-scaffold.json`),f=i(d)??t(a);f.version=a;for(let e of[`agents`,`prompts`]){let t=g(l,e);c(t)&&v(t,g(u,e),f,e,s)}o(d,f)}function b(e,n,r,a,s=!1){let l=g(e,`.github`),u=g(l,`.aikit-scaffold.json`),d=i(u)??t(a);d.version=a;for(let e of r){let t=g(n,`scaffold`,`general`,`skills`,e);c(t)&&v(t,g(l,`skills`,e),d,`skills/${e}`,s)}o(u,d)}function x(e,n,r,a,s=!1){let l=g(e,r);if(!c(l))return;let u=g(n,r),d=g(n,`.aikit-scaffold.json`),f=i(d)??t(a);f.version=a,v(l,u,f,r,s),o(d,f)}function S(e,t,n,r){if(c(e))for(let i of d(e)){let a=g(e,i),o=n?`${n}/${i}`:i;if(p(a).isDirectory())S(a,g(t,i),o,r);else{let e=g(t,i),n=u(a,`utf-8`);c(e)?n===u(e,`utf-8`)?r.push({status:`current`,relativePath:o,sourcePath:a}):r.push({status:`outdated`,relativePath:o,sourcePath:a,content:n}):r.push({status:`new`,relativePath:o,sourcePath:a,content:n})}}}function C(e,t,n,r=!1){let i=g(t,`scaffold`,n);for(let t of[`agents`,`prompts`]){let n=g(i,t),a=g(e,`.github`,t);c(n)&&_(n,a,``,r)}}function w(e,t,n,r=!1){for(let i of n){let n=g(t,`scaffold`,`general`,`skills`,i);c(n)&&_(n,g(e,`.github`,`skills`,i),`skills/${i}`,r)}}function T(e,t,n){let r=[],i=g(t,`scaffold`,n);for(let t of[`agents`,`prompts`])S(g(i,t),g(e,`.github`,t),t,r);return r}function E(e,t,n){let r=[];for(let i of n){let n=g(t,`scaffold`,`general`,`skills`,i);c(n)&&S(n,g(e,`.github`,`skills`,i),`skills/${i}`,r)}return r}function D(e,n,r,a,s=!1){let l=g(e,`.github`),u=g(l,`.aikit-scaffold.json`),d=i(u)??t(a);d.version=a;for(let e of r){let t=g(n,`scaffold`,`flows`,e,`steps`);if(!c(t))continue;let r=g(l,`flows`,e,`skills`);c(r)&&f(r,{recursive:!0,force:!0}),v(t,g(l,`flows`,e,`steps`),d,`flows/${e}/steps`,s)}o(u,d)}function O(e,t,n){let r=[];for(let i of n){let n=g(t,`scaffold`,`flows`,i,`steps`);c(n)&&S(n,g(e,`.github`,`flows`,i,`steps`),`flows/${i}/steps`,r)}return r}export{_ as copyDirectoryRecursive,C as copyScaffold,w as copySkills,O as guideFlows,T as guideScaffold,E as guideSkills,v as smartCopyDirectory,D as smartCopyFlows,y as smartCopyScaffold,b as smartCopySkills,x as smartCopySubdir};
1
+ import{mergeFrontmatter as e}from"./frontmatter.js";import{createManifest as t,getFileStatus as n,getUpdateStrategy as r,readManifest as i,recordDeployment as a,writeManifest as o}from"./manifest.js";import{copyFileSync as s,existsSync as c,mkdirSync as l,readFileSync as u,readdirSync as d,rmSync as f,statSync as p,writeFileSync as m}from"node:fs";import{dirname as h,resolve as g}from"node:path";import{createHash as _}from"node:crypto";function v(e,t,n=``,r=!1){l(t,{recursive:!0});for(let i of d(e)){let a=g(e,i),o=g(t,i),l=n?`${n}/${i}`:i;p(a).isDirectory()?v(a,o,l,r):(r||!c(o))&&s(a,o)}}function y(t,i,o,s=``,f=!1){if(c(t)){l(i,{recursive:!0});for(let _ of d(t)){let d=g(t,_),v=g(i,_),b=s?`${s}/${_}`:_;if(p(d).isDirectory()){y(d,v,o,b,f);continue}let x=u(d,`utf-8`);if(f){l(h(v),{recursive:!0}),m(v,x,`utf-8`),a(o,b,x);continue}let S=n(o,b,x);if(S!==`current`){if(S===`new`&&!c(v)){l(h(v),{recursive:!0}),m(v,x,`utf-8`),a(o,b,x);continue}if(S===`new`&&c(v)){a(o,b,x);continue}r(b)===`merge-frontmatter`&&c(v)?m(v,e(x,u(v,`utf-8`)),`utf-8`):(l(h(v),{recursive:!0}),m(v,x,`utf-8`)),a(o,b,x)}}}}function b(e,n,r,a,s=!1){let l=g(n,`scaffold`,r),u=g(e,`.github`),d=g(u,`.aikit-scaffold.json`),f=i(d)??t(a);f.version=a;for(let e of[`agents`,`prompts`]){let t=g(l,e);c(t)&&y(t,g(u,e),f,e,s)}o(d,f)}function x(e,n,r,a,s=!1){let l=g(e,`.github`),u=g(l,`.aikit-scaffold.json`),d=i(u)??t(a);d.version=a;for(let e of r){let t=g(n,`scaffold`,`general`,`skills`,e);c(t)&&y(t,g(l,`skills`,e),d,`skills/${e}`,s)}o(u,d)}function S(e,n,r,a,s=!1){let l=g(e,r);if(!c(l))return;let u=g(n,r),d=g(n,`.aikit-scaffold.json`),f=i(d)??t(a);f.version=a,y(l,u,f,r,s),o(d,f)}function C(e,t,n,r){if(c(e))for(let i of d(e)){let a=g(e,i),o=n?`${n}/${i}`:i;if(p(a).isDirectory())C(a,g(t,i),o,r);else{let e=g(t,i),n=u(a,`utf-8`);c(e)?n===u(e,`utf-8`)?r.push({status:`current`,relativePath:o,sourcePath:a}):r.push({status:`outdated`,relativePath:o,sourcePath:a,content:n}):r.push({status:`new`,relativePath:o,sourcePath:a,content:n})}}}function w(e,t,n,r=!1){let i=g(t,`scaffold`,n);for(let t of[`agents`,`prompts`]){let n=g(i,t),a=g(e,`.github`,t);c(n)&&v(n,a,``,r)}}function T(e,t,n,r=!1){for(let i of n){let n=g(t,`scaffold`,`general`,`skills`,i);c(n)&&v(n,g(e,`.github`,`skills`,i),`skills/${i}`,r)}}function E(e,t,n){let r=[],i=g(t,`scaffold`,n);for(let t of[`agents`,`prompts`])C(g(i,t),g(e,`.github`,t),t,r);return r}function D(e,t,n){let r=[];for(let i of n){let n=g(t,`scaffold`,`general`,`skills`,i);c(n)&&C(n,g(e,`.github`,`skills`,i),`skills/${i}`,r)}return r}function O(e,n,r,a,s=!1){let l=g(e,`.github`),u=g(l,`.aikit-scaffold.json`),d=i(u)??t(a);d.version=a;for(let e of r){let t=g(n,`scaffold`,`flows`,e,`steps`);if(!c(t))continue;let r=g(l,`flows`,e,`skills`);c(r)&&f(r,{recursive:!0,force:!0}),y(t,g(l,`flows`,e,`steps`),d,`flows/${e}/steps`,s)}o(u,d)}function k(e,t,n){let r=[];for(let i of n){let n=g(t,`scaffold`,`flows`,i,`steps`);c(n)&&C(n,g(e,`.github`,`flows`,i,`steps`),`flows/${i}/steps`,r)}return r}function A(e,t,n,r=!1){let i=g(t,`scaffold`,`claude-code`,`commands`);if(!c(i))return;let a=g(e,`.claude`),o=g(a,`.aikit-scaffold.json`),s;s=c(o)?JSON.parse(u(o,`utf-8`)):{version:n,generatedAt:new Date().toISOString(),files:{}},s.version=n,s.generatedAt=new Date().toISOString(),l(g(a,`commands`),{recursive:!0});let f=d(i);for(let e of f){let t=g(i,e);if(!p(t).isFile())continue;let n=`commands/${e}`,o=g(a,n),l=u(t,`utf-8`),d=_(`sha256`).update(l).digest(`hex`).slice(0,16),f=s.files[n];if(f&&!r&&c(o)){let e=u(o,`utf-8`);if(_(`sha256`).update(e).digest(`hex`).slice(0,16)!==f.sourceHash)continue}m(o,l,`utf-8`),s.files[n]={sourceHash:d,strategy:`overwrite`,updatedAt:new Date().toISOString()}}m(o,JSON.stringify(s,null,2),`utf-8`)}export{v as copyDirectoryRecursive,w as copyScaffold,T as copySkills,k as guideFlows,E as guideScaffold,D as guideSkills,A as smartCopyClaudeCommands,y as smartCopyDirectory,O as smartCopyFlows,b as smartCopyScaffold,x as smartCopySkills,S as smartCopySubdir};
@@ -1 +1 @@
1
- import{FLOW_DIRS as e,SKILL_NAMES as t}from"./init/constants.js";import{existsSync as n,readFileSync as r}from"node:fs";import{dirname as i,resolve as a}from"node:path";import{fileURLToPath as o}from"node:url";const s=[{name:`upgrade`,description:`Upgrade AI Kit agents, prompts, and skills to the latest version (user-level and workspace-level)`,usage:`aikit upgrade`,run:async()=>{let{initUser:s}=await import(`./init/user.js`);if(await s({force:!0}),n(a(process.cwd(),`.github`,`.aikit-scaffold.json`))){let{initScaffoldOnly:s}=await import(`./init/index.js`);if(await s({force:!0}),n(a(process.cwd(),`.github`,`skills`))){let{smartCopySkills:n}=await import(`./init/scaffold.js`),s=a(i(o(import.meta.url)),`..`,`..`,`..`,`..`),c=JSON.parse(r(a(s,`package.json`),`utf-8`)).version;n(process.cwd(),s,[...t],c,!0);let{smartCopyFlows:l}=await import(`./init/scaffold.js`);l(process.cwd(),s,[...e],c,!0)}}}}];export{s as upgradeCommands};
1
+ import{FLOW_DIRS as e,SKILL_NAMES as t}from"./init/constants.js";import{existsSync as n,readFileSync as r}from"node:fs";import{dirname as i,resolve as a}from"node:path";import{fileURLToPath as o}from"node:url";const s=[{name:`upgrade`,description:`Upgrade AI Kit agents, prompts, and skills to the latest version (user-level and workspace-level)`,usage:`aikit upgrade`,run:async()=>{let{initUser:s}=await import(`./init/user.js`);await s({force:!0});let c=process.cwd(),l=n(a(c,`.github`,`.aikit-scaffold.json`)),u=n(a(c,`.github`,`agents`)),d=n(a(c,`.github`,`prompts`)),f=n(a(c,`.claude`,`commands`));if(l||u||d||f){let{initScaffoldOnly:e}=await import(`./init/index.js`);await e({force:!0})}if(n(a(c,`.github`,`skills`))){let{smartCopySkills:n}=await import(`./init/scaffold.js`),s=a(i(o(import.meta.url)),`..`,`..`,`..`,`..`),l=JSON.parse(r(a(s,`package.json`),`utf-8`)).version;n(c,s,[...t],l,!0);let{smartCopyFlows:u}=await import(`./init/scaffold.js`);u(c,s,[...e],l,!0)}}}];export{s as upgradeCommands};