rapidkit 0.40.0 → 0.41.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 (95) hide show
  1. package/README.md +49 -23
  2. package/contracts/agent-customization-pack.v1.json +52 -2
  3. package/contracts/extension-cli-compatibility.v1.json +14 -2
  4. package/contracts/runtime-command-surface.v1.json +7 -1
  5. package/contracts/workspace-intelligence/agent-action-outcome.v1.json +22 -0
  6. package/contracts/workspace-intelligence/blocker-resolution.v1.json +65 -0
  7. package/contracts/workspace-intelligence/doctor-fix-result.v1.json +34 -0
  8. package/contracts/workspace-intelligence/studio-blocker-handoff.v1.json +91 -0
  9. package/contracts/workspace-intelligence/workspace-contract-verify.v1.json +51 -0
  10. package/contracts/workspace-intelligence/workspace-explain.v1.json +31 -0
  11. package/contracts/workspace-intelligence/workspace-intelligence-history.v1.json +36 -0
  12. package/contracts/workspace-intelligence/workspace-operational-skill.v1.json +37 -0
  13. package/contracts/workspace-intelligence/workspace-skills-index.v1.json +27 -0
  14. package/dist/analyze-JVMUCQ22.js +1 -0
  15. package/dist/autopilot-release-GM5ALPWO.js +1 -0
  16. package/dist/chunk-424B73UF.js +1 -0
  17. package/dist/chunk-44GSDNPQ.js +1 -0
  18. package/dist/chunk-56RL5OB6.js +2 -0
  19. package/dist/chunk-64RTZBHU.js +2 -0
  20. package/dist/chunk-73IS6RIM.js +7 -0
  21. package/dist/{chunk-VQMZC5TC.js → chunk-AO6PG3K2.js} +1 -1
  22. package/dist/chunk-AT3EQ2S7.js +2 -0
  23. package/dist/{chunk-3YLMCP3V.js → chunk-CDCYRBAY.js} +1 -1
  24. package/dist/chunk-DMUEGR36.js +2 -0
  25. package/dist/{chunk-4FJQWL7P.js → chunk-FPUNOIAR.js} +1 -1
  26. package/dist/chunk-FVCZGUVX.js +1 -0
  27. package/dist/chunk-ICGWHIMK.js +1 -0
  28. package/dist/{workspace-graph-ICB7OVAZ.js → chunk-JEI6BTZI.js} +1 -1
  29. package/dist/{chunk-ERCD6NFF.js → chunk-KTQZUWAM.js} +1 -1
  30. package/dist/{chunk-RXWM5DSC.js → chunk-MGUJWRZA.js} +2 -2
  31. package/dist/chunk-MIWDCR6I.js +2 -0
  32. package/dist/{chunk-6G2KSHP6.js → chunk-OLDPVVSV.js} +1 -1
  33. package/dist/chunk-P5ODFWB2.js +13 -0
  34. package/dist/{chunk-4Q2ZZKGB.js → chunk-PCXSTKZ5.js} +1 -1
  35. package/dist/{chunk-6KD5F6LX.js → chunk-Q2KZIBV4.js} +1 -1
  36. package/dist/chunk-QN2LPLHO.js +1 -0
  37. package/dist/chunk-RIZCWYRR.js +1 -0
  38. package/dist/chunk-VMJA36WD.js +1 -0
  39. package/dist/chunk-WA6JYVJM.js +2 -0
  40. package/dist/{chunk-G76C74EV.js → chunk-XOVB2ZP5.js} +1 -1
  41. package/dist/chunk-Y2SCTWL4.js +32 -0
  42. package/dist/chunk-YOQ2546V.js +50 -0
  43. package/dist/{chunk-ZWKLRZE5.js → chunk-ZQRFVFKK.js} +2 -2
  44. package/dist/{create-XVDDQA42.js → create-UGXMC4CT.js} +1 -1
  45. package/dist/{demo-kit-RWGOEDW4.js → demo-kit-2VI4H6OJ.js} +1 -1
  46. package/dist/{doctor-UOLOGJ2Z.js → doctor-LCKG5S76.js} +1 -1
  47. package/dist/{dotnet-webapi-clean-RTBRPDPL.js → dotnet-webapi-clean-K33C77EI.js} +1 -1
  48. package/dist/{gofiber-standard-UGIRKPKL.js → gofiber-standard-BQ4HCXL2.js} +1 -1
  49. package/dist/{gogin-standard-HJ7SPFNT.js → gogin-standard-PUBCYW3A.js} +1 -1
  50. package/dist/index.d.ts +45 -7
  51. package/dist/index.js +190 -115
  52. package/dist/{pipeline-M52LR5FJ.js → pipeline-MKNYPNGD.js} +1 -1
  53. package/dist/{springboot-standard-IWJSVDLZ.js → springboot-standard-XFVQI37R.js} +1 -1
  54. package/dist/{workspace-L4ITCKMM.js → workspace-FDMJD5XI.js} +1 -1
  55. package/dist/workspace-agent-sync-WJIZCZX5.js +1 -0
  56. package/dist/{workspace-context-NMMQMHNU.js → workspace-context-RYOQYGOP.js} +1 -1
  57. package/dist/workspace-contract-ITFCJCHI.js +1 -0
  58. package/dist/workspace-explain-VKSUKP3O.js +1 -0
  59. package/dist/workspace-explain-contract-CLHQ3XEH.js +1 -0
  60. package/dist/workspace-feedback-65NR3EZH.js +1 -0
  61. package/dist/{workspace-foundation-HNIRAIBF.js → workspace-foundation-SILFUKL5.js} +1 -1
  62. package/dist/workspace-graph-2A5THUCI.js +1 -0
  63. package/dist/workspace-history-VPDADQKG.js +1 -0
  64. package/dist/{workspace-intelligence-64IWAYHS.js → workspace-intelligence-YOZQBAK5.js} +1 -1
  65. package/dist/workspace-mcp-serve-OOLITFCK.js +3 -0
  66. package/dist/workspace-model-VMMLHJWI.js +1 -0
  67. package/dist/workspace-registry-summary-ZXGKL2NT.js +1 -0
  68. package/dist/workspace-run-IHB2TPMD.js +1 -0
  69. package/dist/workspace-verify-3CAKAZIL.js +1 -0
  70. package/dist/workspace-watch-3MEZRSEE.js +1 -0
  71. package/docs/contracts/ARTIFACT_CATALOG.md +3 -1
  72. package/docs/contracts/NAMING_AND_COEXISTENCE.md +58 -0
  73. package/docs/workspace-run.md +25 -1
  74. package/package.json +1 -1
  75. package/dist/analyze-RHQM4AB2.js +0 -1
  76. package/dist/autopilot-release-S32GYUAQ.js +0 -1
  77. package/dist/chunk-CY2WXWYQ.js +0 -7
  78. package/dist/chunk-FV5A3N3I.js +0 -2
  79. package/dist/chunk-GDGATWR5.js +0 -2
  80. package/dist/chunk-GOM3RFB3.js +0 -2
  81. package/dist/chunk-KYH364KQ.js +0 -1
  82. package/dist/chunk-NAMOYGLS.js +0 -2
  83. package/dist/chunk-OWNGSAO3.js +0 -2
  84. package/dist/chunk-QPEBI6AB.js +0 -2
  85. package/dist/chunk-TYZPPUBH.js +0 -1
  86. package/dist/chunk-WHCON2VN.js +0 -50
  87. package/dist/chunk-X7PWDIQW.js +0 -1
  88. package/dist/workspace-agent-sync-G7JU77IK.js +0 -25
  89. package/dist/workspace-contract-D5O4OZD5.js +0 -1
  90. package/dist/workspace-history-LHUTLE3S.js +0 -1
  91. package/dist/workspace-model-SDHH5RBC.js +0 -1
  92. package/dist/workspace-registry-summary-MIPHVB56.js +0 -1
  93. package/dist/workspace-run-A26PEGQT.js +0 -1
  94. package/dist/workspace-verify-6Q6MGRG6.js +0 -1
  95. package/dist/workspace-watch-JDXVGW4H.js +0 -1
@@ -1,4 +1,4 @@
1
- import {b as b$1}from'./chunk-6KD5F6LX.js';import {b as b$2}from'./chunk-Z5LKRG57.js';import O from'validate-npm-package-name';import o from'path';import {spawn}from'child_process';import s from'chalk';import l from'fs-extra';var m=class extends Error{constructor(r,n,a){super(r);this.code=n;this.details=a;this.name="RapidKitError",Error.captureStackTrace(this,this.constructor);}code;details},I=class extends m{constructor(t,r){let n=r?`Python ${t}+ required, found ${r}`:`Python ${t}+ not found`;super(n,"PYTHON_NOT_FOUND","Please install Python from https://www.python.org/downloads/");}},_=class extends m{constructor(){super("Poetry is not installed","POETRY_NOT_FOUND","Install Poetry from https://python-poetry.org/docs/#installation");}},D=class extends m{constructor(){super("pipx is not installed","PIPX_NOT_FOUND","Install pipx from https://pypa.github.io/pipx/installation/");}},$=class extends m{constructor(t){super(`Directory "${t}" already exists`,"DIRECTORY_EXISTS","Please choose a different name or remove the existing directory");}},p=class extends m{constructor(t,r){super(`Invalid project name: "${t}"`,"INVALID_PROJECT_NAME",r);}},E=class extends m{constructor(t,r){let n=`Installation failed at: ${t}`,a=`${r.message}
1
+ import {b as b$1}from'./chunk-Q2KZIBV4.js';import {b as b$2}from'./chunk-Z5LKRG57.js';import O from'validate-npm-package-name';import o from'path';import {spawn}from'child_process';import s from'chalk';import l from'fs-extra';var m=class extends Error{constructor(r,n,a){super(r);this.code=n;this.details=a;this.name="RapidKitError",Error.captureStackTrace(this,this.constructor);}code;details},I=class extends m{constructor(t,r){let n=r?`Python ${t}+ required, found ${r}`:`Python ${t}+ not found`;super(n,"PYTHON_NOT_FOUND","Please install Python from https://www.python.org/downloads/");}},_=class extends m{constructor(){super("Poetry is not installed","POETRY_NOT_FOUND","Install Poetry from https://python-poetry.org/docs/#installation");}},D=class extends m{constructor(){super("pipx is not installed","PIPX_NOT_FOUND","Install pipx from https://pypa.github.io/pipx/installation/");}},$=class extends m{constructor(t){super(`Directory "${t}" already exists`,"DIRECTORY_EXISTS","Please choose a different name or remove the existing directory");}},p=class extends m{constructor(t,r){super(`Invalid project name: "${t}"`,"INVALID_PROJECT_NAME",r);}},E=class extends m{constructor(t,r){let n=`Installation failed at: ${t}`,a=`${r.message}
2
2
 
3
3
  Troubleshooting:
4
4
  - Check your internet connection
@@ -9,5 +9,5 @@ Troubleshooting:
9
9
  3. Offline fallback (limited): npx rapidkit create project fastapi.standard <name> --output .
10
10
 
11
11
  Legacy: set RAPIDKIT_SHOW_LEGACY=1 to reveal template-mode flags in help.`);}};function F(e){let t=O(e);if(!t.validForNewPackages){let n=t.errors||[],a=t.warnings||[],i=[...n,...a];throw new p(e,`NPM validation failed: ${i.join(", ")}`)}if(!/^[a-z][a-z0-9_-]*$/.test(e))throw new p(e,"Must start with a lowercase letter and contain only lowercase letters, numbers, hyphens, and underscores");if(["test","tests","src","dist","build","lib","python","pip","poetry","node","npm","rapidkit","rapidkit"].includes(e.toLowerCase()))throw new p(e,`"${e}" is a reserved name. Please choose a different name.`);if(e.length<2)throw new p(e,"Name must be at least 2 characters long");if(e.length>214)throw new p(e,"Name must be less than 214 characters");return true}function de(e){let t=T(e.workspacePath,e.result.projectPath)?"imported":"adopted";return {name:e.result.projectName,path:e.result.projectPath,relativePath:M(e.workspacePath,e.result.projectPath),relationship:t,stack:e.result.definition.framework,runtime:"node",framework:e.result.definition.framework,frameworkDisplayName:e.result.definition.displayName,supportTier:"extended",moduleSupport:false,confidence:"high",source:t==="adopted"?"adopted-local":"local-folder",importedAt:e.importedAt??new Date().toISOString()}}function T(e,t){let r=o.relative(o.resolve(e),o.resolve(t));return r===""||r.length>0&&!r.startsWith("..")&&!o.isAbsolute(r)}function M(e,t){return (o.relative(e,t)||".").split(o.sep).join("/")}var S=[{id:"nextjs",kitId:"frontend.nextjs",aliases:["frontend.nextjs","next","nextjs","next.js"],displayName:"Next.js",framework:"nextjs",defaultPort:3e3,commandDisplay:e=>`npx create-next-app@latest ${e}`,commandExec:(e,t)=>({command:"npx",args:["--yes","create-next-app@latest",e,"--yes",...t.skipGit?["--disable-git"]:[],...t.skipInstall?["--skip-install"]:[]]})},{id:"remix",kitId:"frontend.remix",aliases:["frontend.remix","remix","remix-run","react-router"],displayName:"React Router",framework:"remix",defaultPort:5173,commandDisplay:e=>`npx create-react-router@latest ${e}`,commandExec:(e,t)=>({command:"npx",args:["--yes","create-react-router@latest",e,"--yes",...t.skipInstall?["--no-install"]:["--install"],"--no-git-init"]})},{id:"vite-react",kitId:"frontend.vite-react",aliases:["frontend.vite-react","vite-react","react","vite.react"],displayName:"React + Vite",framework:"react",defaultPort:5173,commandDisplay:e=>`npm create vite@latest ${e} -- --template react-ts`,commandExec:e=>({command:"npm",args:["create","vite@latest",e,"--","--template","react-ts","--no-interactive"]})},{id:"vite-vue",kitId:"frontend.vite-vue",aliases:["frontend.vite-vue","vite-vue","vue","vite.vue"],displayName:"Vue + Vite",framework:"vue",defaultPort:5173,commandDisplay:e=>`npm create vite@latest ${e} -- --template vue-ts`,commandExec:e=>({command:"npm",args:["create","vite@latest",e,"--","--template","vue-ts","--no-interactive"]})},{id:"vite-svelte",kitId:"frontend.vite-svelte",aliases:["frontend.vite-svelte","vite-svelte","svelte","vite.svelte"],displayName:"Svelte + Vite",framework:"svelte",defaultPort:5173,commandDisplay:e=>`npm create vite@latest ${e} -- --template svelte-ts`,commandExec:e=>({command:"npm",args:["create","vite@latest",e,"--","--template","svelte-ts","--no-interactive"]})},{id:"vite-solid",kitId:"frontend.vite-solid",aliases:["frontend.vite-solid","vite-solid","solid","solidjs","vite.solid"],displayName:"Solid + Vite",framework:"solid",defaultPort:5173,commandDisplay:e=>`npm create vite@latest ${e} -- --template solid-ts`,commandExec:e=>({command:"npm",args:["create","vite@latest",e,"--","--template","solid-ts","--no-interactive"]})},{id:"vite-vanilla",kitId:"frontend.vite-vanilla",aliases:["frontend.vite-vanilla","vite","vanilla","vite-vanilla"],displayName:"Vite",framework:"vite",defaultPort:5173,commandDisplay:e=>`npm create vite@latest ${e} -- --template vanilla-ts`,commandExec:e=>({command:"npm",args:["create","vite@latest",e,"--","--template","vanilla-ts","--no-interactive"]})},{id:"nuxt",kitId:"frontend.nuxt",aliases:["frontend.nuxt","nuxt","nuxtjs","nuxt.js"],displayName:"Nuxt",framework:"nuxt",defaultPort:3e3,commandDisplay:(e,t)=>`npx create-nuxt@latest ${e} --template minimal --packageManager npm --gitInit ${t?.skipGit?"false":"true"}${t?.skipInstall?" --no-install":""}`,commandExec:(e,t)=>({command:"npx",args:["--yes","create-nuxt@latest",e,"--template","minimal","--packageManager","npm","--gitInit",t.skipGit?"false":"true",...t.skipInstall?["--no-install"]:[]]})},{id:"angular",kitId:"frontend.angular",aliases:["frontend.angular","angular","ng"],displayName:"Angular",framework:"angular",defaultPort:4200,minNodeMajor:18,minNodeMessage:"Angular scaffolding requires Node.js 18.19+ or 20.11+. Upgrade Node, or choose another frontend kit.",commandDisplay:e=>`npx @angular/cli@19 new ${e}`,commandExec:(e,t)=>({command:"npx",args:["--yes","@angular/cli@19","new",e,"--defaults","--skip-git",...t.skipInstall?["--skip-install"]:[]]})},{id:"astro",kitId:"frontend.astro",aliases:["frontend.astro","astro"],displayName:"Astro",framework:"astro",defaultPort:4321,commandDisplay:e=>`npm create astro@4 ${e}`,commandExec:(e,t)=>({command:"npm",args:["create","astro@4",e,"--","--yes",...t.skipInstall?["--no-install"]:[],...t.skipGit?["--no-git"]:[]]})},{id:"sveltekit",kitId:"frontend.sveltekit",aliases:["frontend.sveltekit","sveltekit","svelte-kit"],displayName:"SvelteKit",framework:"sveltekit",defaultPort:5173,commandDisplay:e=>`npx sv@latest create ${e}`,commandExec:(e,t)=>({command:"npx",args:["--yes","sv@latest","create",e,"--template","minimal","--types","ts","--no-add-ons",...t.skipInstall?["--no-install"]:["--install","npm"]]})}],k=new Map;for(let e of S){k.set(e.id,e),k.set(e.kitId,e);for(let t of e.aliases)k.set(t.toLowerCase(),e);}function le(){return [...S]}function w(e){return e?k.get(e.trim().toLowerCase())??null:null}function ce(e){return !!w(e)}function me(e){if(e[0]!=="create"||e[1]!=="frontend")return null;let t=e[2],r=e[3],n=e.slice(4),a=w(t);return a?["create","project",a.kitId,r??"",...n].filter(Boolean):["create","project",`frontend.${t??""}`,r??"",...n].filter(Boolean)}function L(e){let t=w(e);return t?`rapidkit create frontend ${t.id} <name> [--output <dir>] [--skip-install] [--dry-run]`:"rapidkit create frontend <nextjs|remix|vite-react|vite-vue|vite-svelte|vite-solid|vite-vanilla|nuxt|angular|astro|sveltekit> <name> [--output <dir>] [--skip-install] [--dry-run]"}async function pe(e){let t=e.args;if(t[0]!=="create"||t[1]!=="project")throw new Error("Frontend create expects normalized args: create project <frontend.kit> <name>");let r=w(t[2]);if(!r)throw new Error(`Unknown frontend generator: ${t[2]??"(missing)"}`);let n=t[3];if(!n)throw new Error(`Usage: ${L(r.id)}`);F(n),J(r);let a=z(t,"--output")||process.cwd(),i=o.resolve(a,n),y=e.dryRun===true||t.includes("--dry-run"),v=t.includes("--skip-install"),f=t.includes("--skip-git")||t.includes("--no-git"),c=r.commandExec(n,{skipGit:f,skipInstall:v}),g=r.commandDisplay(n,{skipGit:f,skipInstall:v});if(await l.pathExists(i))throw new Error(`Directory "${i}" already exists`);if(y)return U({definition:r,projectName:n,projectPath:i,commandPlan:c}),{definition:r,projectName:n,projectPath:i,dryRun:y,commandDisplay:g,commandExec:[c.command,...c.args]};await l.ensureDir(o.dirname(i));let u=await R(c.command,c.args,o.dirname(i)),h=await W(i);if(u!==0&&!h)throw new Error(`Official ${r.displayName} generator failed with exit code ${u}`);return u!==0&&h&&console.log(s.yellow(`\u26A0\uFE0F Official ${r.displayName} generator exited with code ${u}, but the scaffold looks complete. Continuing RapidKit project setup...`)),f||await Y(i),await B({definition:r,projectName:n,projectPath:i,commandDisplay:g,commandExec:[c.command,...c.args],skipGit:f,skipInstall:v}),console.log(s.green(`\u2705 ${r.displayName} project created at ${i}`)),console.log(s.gray(` Display command: npx rapidkit create frontend ${r.id} ${n}`)),console.log(s.gray(" Next: cd "+n+" && npx rapidkit dev")),{definition:r,projectName:n,projectPath:i,dryRun:y,commandDisplay:g,commandExec:[c.command,...c.args]}}async function B(e){let t=new Date().toISOString(),r=await b$1(),n={schema_version:"1.0",name:e.projectName,slug:e.projectName,kind:"frontend",project_type:"frontend",runtime:"node",framework:e.definition.framework,framework_display_name:e.definition.displayName,kit_name:e.definition.kitId,kit:e.definition.kitId,engine:"npm",support_tier:"extended",module_support:false,modules:[],rapidkit_version:r,generated_by:"rapidkit-npm",generated_at:t,frontend:{generator:e.definition.id,official_generator:true,default_port:e.definition.defaultPort,command_display:e.commandDisplay,command_exec:e.commandExec,skip_install:e.skipInstall,skip_git:e.skipGit},contracts:{owns:[],apis:[],publishes:[],consumes:[],dependsOn:[],env:[]}},a={project:e.projectName,runtime:"node",framework:e.definition.framework,kind:"frontend",source:"official-generator"},i={kind:"rapidkit.frontend_create",schema_version:"1.0",generated_at:t,project:{name:e.projectName,path:e.projectPath,kind:"frontend",runtime:"node",framework:e.definition.framework,framework_display_name:e.definition.displayName,kit_name:e.definition.kitId},generator:{id:e.definition.id,command_display:e.commandDisplay,command_exec:e.commandExec}};await l.ensureDir(o.join(e.projectPath,".rapidkit")),await l.writeJson(o.join(e.projectPath,".rapidkit","project.json"),n,{spaces:2}),await l.writeJson(o.join(e.projectPath,".rapidkit","context.json"),a,{spaces:2}),await l.writeJson(o.join(e.projectPath,".rapidkit","frontend-create.json"),i,{spaces:2});}function U(e){console.log(s.bold(`
12
- RapidKit frontend create plan: ${e.definition.displayName}`)),console.log(s.gray(`Project: ${e.projectName}`)),console.log(s.gray(`Target: ${e.projectPath}`)),console.log(s.gray(`Show: npx rapidkit create frontend ${e.definition.id} ${e.projectName}`)),console.log(s.gray(`Run: ${[e.commandPlan.command,...e.commandPlan.args].join(" ")}`)),console.log(s.gray(`Default: http://localhost:${e.definition.defaultPort}`));}function V(){let e=Number.parseInt(process.versions.node.split(".")[0]??"",10);return Number.isFinite(e)?e:0}function J(e){if(!(!e.minNodeMajor||V()>=e.minNodeMajor))throw new Error(e.minNodeMessage??`${e.displayName} requires Node.js ${e.minNodeMajor}+ (current: ${process.versions.node}).`)}async function W(e){if(!await l.pathExists(e))return false;let t=o.join(e,"package.json");return await l.pathExists(t)?true:(await l.readdir(e)).length>0}async function Y(e){let t=o.join(e,".git");if(await l.pathExists(t))return;if(await R("git",["init"],e)===0){console.log(s.gray(" Git repository initialized."));return}console.log(s.yellow("\u26A0\uFE0F Git initialization was skipped or failed. You can run `git init` manually inside the project."));}async function R(e,t,r){return await new Promise(n=>{let a=spawn(e,t,{cwd:r,stdio:"inherit",shell:b$2()});a.on("close",i=>n(i??1)),a.on("error",()=>n(1));})}function z(e,t){let r=e.indexOf(t);if(r>=0&&r+1<e.length)return e[r+1];let n=e.find(a=>a.startsWith(`${t}=`));return n?n.slice(t.length+1):void 0}var K=[{id:"fastapi.standard",aliases:["fastapi","fastapi.standard"],label:"fastapi \u2014 FastAPI Standard Kit",description:"Core-backed FastAPI service scaffold.",owner:"core",runtime:"python",framework:"fastapi",moduleSupport:true,stability:"stable"},{id:"fastapi.ddd",aliases:["fastapi.ddd","fastapi-ddd"],label:"fastapi \u2014 FastAPI DDD Kit",description:"Core-backed FastAPI DDD service scaffold.",owner:"core",runtime:"python",framework:"fastapi",moduleSupport:true,stability:"stable"},{id:"nestjs.standard",aliases:["nestjs","nest","nestjs.standard"],label:"nestjs \u2014 NestJS Standard Kit",description:"Core-backed NestJS service scaffold.",owner:"core",runtime:"node",framework:"nestjs",moduleSupport:true,stability:"stable"},{id:"springboot.standard",aliases:["spring","springboot","springboot.standard","java"],label:"spring \u2014 Spring Boot Standard Kit",description:"npm-backed Spring Boot service scaffold.",owner:"npm",runtime:"java",framework:"springboot",moduleSupport:false,stability:"stable",generator:"springboot",createUsage:"rapidkit create project springboot.standard <name> [--java-version <major>] [--spring-boot-version <semver>] [--group-id <com.example>] [--package-name <com.example.app>] [--port <number>]"},{id:"gofiber.standard",aliases:["go","go.standard","fiber","gofiber","gofiber.standard","go/fiber"],label:"go/fiber \u2014 Go Fiber Standard Kit",description:"npm-backed Go Fiber service scaffold.",owner:"npm",runtime:"go",framework:"gofiber",moduleSupport:false,stability:"stable",generator:"gofiber",createUsage:"rapidkit create project gofiber.standard <name> [--output <dir>]"},{id:"gogin.standard",aliases:["gin","gogin","gogin.standard","go/gin"],label:"go/gin \u2014 Go Gin Standard Kit",description:"npm-backed Go Gin service scaffold.",owner:"npm",runtime:"go",framework:"gogin",moduleSupport:false,stability:"stable",generator:"gogin",createUsage:"rapidkit create project gogin.standard <name> [--output <dir>]"},{id:"dotnet.webapi.clean",aliases:["dotnet","dotnet.webapi","dotnet.webapi.clean","aspnet","aspnetcore","asp.net","asp.net-core","csharp","c#"],label:"dotnet \u2014 ASP.NET Core Clean Web API",description:"npm-backed ASP.NET Core Web API with clean architecture boundaries.",owner:"npm",runtime:"dotnet",framework:"dotnet",moduleSupport:false,stability:"preview",generator:"dotnet-webapi-clean",createUsage:"rapidkit create project dotnet.webapi.clean <name> [--target-framework net8.0] [--root-namespace <Company.Product>] [--port <number>]"}],b=new Map;for(let e of K){b.set(e.id.toLowerCase(),e);for(let t of e.aliases)b.set(t.toLowerCase(),e);}function A(e){return e?b.get(e.trim().toLowerCase())??null:null}function ue(e){return A(e)?.id??e}function ke(){return K.filter(e=>e.owner==="core"||e.generator)}function we(e){return A(e)?.owner==="npm"}async function ye(e,t){if(!e.generator)throw new Error(`Kit is not backed by an npm generator: ${e.id}`);if(e.generator==="gofiber"){let{generateGoFiberKit:r}=await import('./gofiber-standard-UGIRKPKL.js');await r(t.projectPath,{project_name:t.projectName,module_path:t.projectName,skipGit:t.skipGit,skipInstall:t.skipInstall});return}if(e.generator==="gogin"){let{generateGoGinKit:r}=await import('./gogin-standard-HJ7SPFNT.js');await r(t.projectPath,{project_name:t.projectName,module_path:t.projectName,skipGit:t.skipGit,skipInstall:t.skipInstall});return}if(e.generator==="springboot"){let{generateSpringBootKit:r}=await import('./springboot-standard-IWJSVDLZ.js');await r(t.projectPath,{project_name:t.projectName,artifact_id:t.projectName,java_version:d(t.args,"--java-version")?.trim(),spring_boot_version:d(t.args,"--spring-boot-version")?.trim(),springdoc_version:d(t.args,"--springdoc-version")?.trim(),group_id:d(t.args,"--group-id")?.trim(),package_name:d(t.args,"--package-name")?.trim(),description:d(t.args,"--description")?.trim(),port:d(t.args,"--port")?.trim(),skipGit:t.skipGit,skipInstall:t.skipInstall});return}if(e.generator==="dotnet-webapi-clean"){let{generateDotnetWebApiCleanKit:r}=await import('./dotnet-webapi-clean-RTBRPDPL.js');await r(t.projectPath,{project_name:t.projectName,target_framework:d(t.args,"--target-framework")?.trim(),root_namespace:d(t.args,"--root-namespace")?.trim(),description:d(t.args,"--description")?.trim(),port:d(t.args,"--port")?.trim(),skipGit:t.skipGit,skipInstall:t.skipInstall});return}throw new Error(`Unhandled npm kit generator: ${e.generator}`)}function d(e,t){let r=e.indexOf(t);if(r>=0&&r+1<e.length)return e[r+1];let n=e.find(a=>a.startsWith(`${t}=`));return n?n.slice(t.length+1):void 0}
12
+ RapidKit frontend create plan: ${e.definition.displayName}`)),console.log(s.gray(`Project: ${e.projectName}`)),console.log(s.gray(`Target: ${e.projectPath}`)),console.log(s.gray(`Show: npx rapidkit create frontend ${e.definition.id} ${e.projectName}`)),console.log(s.gray(`Run: ${[e.commandPlan.command,...e.commandPlan.args].join(" ")}`)),console.log(s.gray(`Default: http://localhost:${e.definition.defaultPort}`));}function V(){let e=Number.parseInt(process.versions.node.split(".")[0]??"",10);return Number.isFinite(e)?e:0}function J(e){if(!(!e.minNodeMajor||V()>=e.minNodeMajor))throw new Error(e.minNodeMessage??`${e.displayName} requires Node.js ${e.minNodeMajor}+ (current: ${process.versions.node}).`)}async function W(e){if(!await l.pathExists(e))return false;let t=o.join(e,"package.json");return await l.pathExists(t)?true:(await l.readdir(e)).length>0}async function Y(e){let t=o.join(e,".git");if(await l.pathExists(t))return;if(await R("git",["init"],e)===0){console.log(s.gray(" Git repository initialized."));return}console.log(s.yellow("\u26A0\uFE0F Git initialization was skipped or failed. You can run `git init` manually inside the project."));}async function R(e,t,r){return await new Promise(n=>{let a=spawn(e,t,{cwd:r,stdio:"inherit",shell:b$2()});a.on("close",i=>n(i??1)),a.on("error",()=>n(1));})}function z(e,t){let r=e.indexOf(t);if(r>=0&&r+1<e.length)return e[r+1];let n=e.find(a=>a.startsWith(`${t}=`));return n?n.slice(t.length+1):void 0}var K=[{id:"fastapi.standard",aliases:["fastapi","fastapi.standard"],label:"fastapi \u2014 FastAPI Standard Kit",description:"Core-backed FastAPI service scaffold.",owner:"core",runtime:"python",framework:"fastapi",moduleSupport:true,stability:"stable"},{id:"fastapi.ddd",aliases:["fastapi.ddd","fastapi-ddd"],label:"fastapi \u2014 FastAPI DDD Kit",description:"Core-backed FastAPI DDD service scaffold.",owner:"core",runtime:"python",framework:"fastapi",moduleSupport:true,stability:"stable"},{id:"nestjs.standard",aliases:["nestjs","nest","nestjs.standard"],label:"nestjs \u2014 NestJS Standard Kit",description:"Core-backed NestJS service scaffold.",owner:"core",runtime:"node",framework:"nestjs",moduleSupport:true,stability:"stable"},{id:"springboot.standard",aliases:["spring","springboot","springboot.standard","java"],label:"spring \u2014 Spring Boot Standard Kit",description:"npm-backed Spring Boot service scaffold.",owner:"npm",runtime:"java",framework:"springboot",moduleSupport:false,stability:"stable",generator:"springboot",createUsage:"rapidkit create project springboot.standard <name> [--java-version <major>] [--spring-boot-version <semver>] [--group-id <com.example>] [--package-name <com.example.app>] [--port <number>]"},{id:"gofiber.standard",aliases:["go","go.standard","fiber","gofiber","gofiber.standard","go/fiber"],label:"go/fiber \u2014 Go Fiber Standard Kit",description:"npm-backed Go Fiber service scaffold.",owner:"npm",runtime:"go",framework:"gofiber",moduleSupport:false,stability:"stable",generator:"gofiber",createUsage:"rapidkit create project gofiber.standard <name> [--output <dir>]"},{id:"gogin.standard",aliases:["gin","gogin","gogin.standard","go/gin"],label:"go/gin \u2014 Go Gin Standard Kit",description:"npm-backed Go Gin service scaffold.",owner:"npm",runtime:"go",framework:"gogin",moduleSupport:false,stability:"stable",generator:"gogin",createUsage:"rapidkit create project gogin.standard <name> [--output <dir>]"},{id:"dotnet.webapi.clean",aliases:["dotnet","dotnet.webapi","dotnet.webapi.clean","aspnet","aspnetcore","asp.net","asp.net-core","csharp","c#"],label:"dotnet \u2014 ASP.NET Core Clean Web API",description:"npm-backed ASP.NET Core Web API with clean architecture boundaries.",owner:"npm",runtime:"dotnet",framework:"dotnet",moduleSupport:false,stability:"preview",generator:"dotnet-webapi-clean",createUsage:"rapidkit create project dotnet.webapi.clean <name> [--target-framework net8.0] [--root-namespace <Company.Product>] [--port <number>]"}],b=new Map;for(let e of K){b.set(e.id.toLowerCase(),e);for(let t of e.aliases)b.set(t.toLowerCase(),e);}function A(e){return e?b.get(e.trim().toLowerCase())??null:null}function ue(e){return A(e)?.id??e}function ke(){return K.filter(e=>e.owner==="core"||e.generator)}function we(e){return A(e)?.owner==="npm"}async function ye(e,t){if(!e.generator)throw new Error(`Kit is not backed by an npm generator: ${e.id}`);if(e.generator==="gofiber"){let{generateGoFiberKit:r}=await import('./gofiber-standard-BQ4HCXL2.js');await r(t.projectPath,{project_name:t.projectName,module_path:t.projectName,skipGit:t.skipGit,skipInstall:t.skipInstall});return}if(e.generator==="gogin"){let{generateGoGinKit:r}=await import('./gogin-standard-PUBCYW3A.js');await r(t.projectPath,{project_name:t.projectName,module_path:t.projectName,skipGit:t.skipGit,skipInstall:t.skipInstall});return}if(e.generator==="springboot"){let{generateSpringBootKit:r}=await import('./springboot-standard-XFVQI37R.js');await r(t.projectPath,{project_name:t.projectName,artifact_id:t.projectName,java_version:d(t.args,"--java-version")?.trim(),spring_boot_version:d(t.args,"--spring-boot-version")?.trim(),springdoc_version:d(t.args,"--springdoc-version")?.trim(),group_id:d(t.args,"--group-id")?.trim(),package_name:d(t.args,"--package-name")?.trim(),description:d(t.args,"--description")?.trim(),port:d(t.args,"--port")?.trim(),skipGit:t.skipGit,skipInstall:t.skipInstall});return}if(e.generator==="dotnet-webapi-clean"){let{generateDotnetWebApiCleanKit:r}=await import('./dotnet-webapi-clean-K33C77EI.js');await r(t.projectPath,{project_name:t.projectName,target_framework:d(t.args,"--target-framework")?.trim(),root_namespace:d(t.args,"--root-namespace")?.trim(),description:d(t.args,"--description")?.trim(),port:d(t.args,"--port")?.trim(),skipGit:t.skipGit,skipInstall:t.skipInstall});return}throw new Error(`Unhandled npm kit generator: ${e.generator}`)}function d(e,t){let r=e.indexOf(t);if(r>=0&&r+1<e.length)return e[r+1];let n=e.find(a=>a.startsWith(`${t}=`));return n?n.slice(t.length+1):void 0}
13
13
  export{m as a,I as b,_ as c,D as d,$ as e,E as f,G as g,F as h,de as i,le as j,w as k,ce as l,me as m,L as n,pe as o,A as p,ue as q,ke as r,we as s,ye as t};
@@ -1 +1 @@
1
- export{c as PYTHON_FREE_WORKSPACE_PROFILES,a as buildWorkspaceManifest,f as createProject,g as registerWorkspaceAtPath,d as resolvePythonFreeFallbackProfile,b as syncWorkspaceFoundationFiles,e as writeWorkspaceLauncher}from'./chunk-ERCD6NFF.js';
1
+ export{c as PYTHON_FREE_WORKSPACE_PROFILES,a as buildWorkspaceManifest,f as createProject,g as registerWorkspaceAtPath,d as resolvePythonFreeFallbackProfile,b as syncWorkspaceFoundationFiles,e as writeWorkspaceLauncher}from'./chunk-KTQZUWAM.js';
@@ -1,4 +1,4 @@
1
- import {b}from'./chunk-6KD5F6LX.js';import {promises}from'fs';import a from'path';import E from'nunjucks';import t from'chalk';import _ from'ora';import {fileURLToPath}from'url';import {execa}from'execa';import N from'crypto';var P=fileURLToPath(import.meta.url),K=a.dirname(P);function T(i=32){let e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",v=N.randomBytes(i),r="";for(let p=0;p<i;p++)r+=e[v[p]%e.length];return r}async function U(i,e){let r=(e.template||"fastapi")==="fastapi",p=r?"FastAPI":"NestJS",d=e.kit_name||(r?"fastapi.standard":"nestjs.standard"),I=d.replace(".","/"),h=_(`Generating ${p} project...`).start();try{let u=a.resolve(K,".."),l;d==="fastapi.ddd"?l="fastapi-ddd":d.startsWith("fastapi")?l="fastapi-standard":l="nestjs-standard";let k=a.join(u,"templates","kits",l),w=E.configure(k,{autoescape:false,trimBlocks:true,lstripBlocks:true});w.addFilter("generate_secret",function(n,o=32){return T(o)});let S={project_name:e.project_name,author:e.author||"RapidKit User",description:e.description||(r?"FastAPI service generated with RapidKit":"NestJS application generated with RapidKit"),app_version:e.app_version||"0.1.0",license:e.license||"MIT",package_manager:e.package_manager||"npm",node_version:e.node_version||"20.0.0",database_type:e.database_type||"postgresql",include_caching:e.include_caching||false,created_at:new Date().toISOString(),rapidkit_version:b()},j;r?j=["src/main.py.j2","src/__init__.py.j2","src/cli.py.j2","src/routing/__init__.py.j2","src/routing/health.py.j2","src/modules/__init__.py.j2","tests/__init__.py.j2","README.md.j2","pyproject.toml.j2","Makefile.j2",".rapidkit/__init__.py.j2",".rapidkit/project.json.j2",".rapidkit/cli.py.j2",".rapidkit/rapidkit.j2",".rapidkit/activate.j2","rapidkit.j2","rapidkit.cmd.j2"]:j=["src/main.ts.j2","src/app.module.ts.j2","src/app.controller.ts.j2","src/app.service.ts.j2","src/config/configuration.ts.j2","src/config/validation.ts.j2","src/config/index.ts.j2","src/modules/index.ts.j2","src/examples/examples.module.ts.j2","src/examples/examples.controller.ts.j2","src/examples/examples.service.ts.j2","src/examples/dto/create-note.dto.ts.j2","test/app.controller.spec.ts.j2","test/examples.controller.spec.ts.j2","test/app.e2e-spec.ts.j2","test/jest-e2e.json.j2","package.json.j2","tsconfig.json.j2","tsconfig.build.json.j2","nest-cli.json.j2","jest.config.ts.j2","eslint.config.cjs.j2",".env.example.j2","docker-compose.yml.j2","Dockerfile.j2","README.md.j2",".rapidkit/project.json.j2",".rapidkit/rapidkit.j2",".rapidkit/rapidkit.cmd.j2",".rapidkit/activate.j2","rapidkit.j2","rapidkit.cmd.j2"];for(let n of j){let o=a.join(k,n);try{await promises.access(o);}catch{continue}let y=await promises.readFile(o,"utf-8"),m;try{m=w.renderString(y,S);}catch(R){throw console.error(`Failed to render template: ${n}`),R}let c=n.replace(/\.j2$/,""),f=a.join(i,c);await promises.mkdir(a.dirname(f),{recursive:true}),await promises.writeFile(f,m),(c.endsWith(".rapidkit/rapidkit")||c.endsWith(".rapidkit/cli.py")||c.endsWith(".rapidkit/activate")||c==="rapidkit")&&await promises.chmod(f,493);}if(r){let n=a.join(k,".rapidkit","context.json"),o=a.join(i,".rapidkit","context.json");try{await promises.mkdir(a.join(i,".rapidkit"),{recursive:true}),await promises.copyFile(n,o);}catch{await promises.mkdir(a.join(i,".rapidkit"),{recursive:true});let m=e.engine||"pip";await promises.writeFile(o,JSON.stringify({engine:m,created_by:"rapidkit-npm-fallback"},null,2));}}let x=a.join(i,".rapidkit");await promises.mkdir(x,{recursive:true});let F=a.join(x,"project.json"),A={kit_name:d,profile:I,created_at:new Date().toISOString(),created_by:"rapidkit-npm-fallback",runtime:r?"python":"node"};await promises.writeFile(F,JSON.stringify(A,null,2),"utf-8");let D=r?`# Python
1
+ import {b}from'./chunk-Q2KZIBV4.js';import {promises}from'fs';import a from'path';import E from'nunjucks';import t from'chalk';import _ from'ora';import {fileURLToPath}from'url';import {execa}from'execa';import N from'crypto';var P=fileURLToPath(import.meta.url),K=a.dirname(P);function T(i=32){let e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",v=N.randomBytes(i),r="";for(let p=0;p<i;p++)r+=e[v[p]%e.length];return r}async function U(i,e){let r=(e.template||"fastapi")==="fastapi",p=r?"FastAPI":"NestJS",d=e.kit_name||(r?"fastapi.standard":"nestjs.standard"),I=d.replace(".","/"),h=_(`Generating ${p} project...`).start();try{let u=a.resolve(K,".."),l;d==="fastapi.ddd"?l="fastapi-ddd":d.startsWith("fastapi")?l="fastapi-standard":l="nestjs-standard";let k=a.join(u,"templates","kits",l),w=E.configure(k,{autoescape:false,trimBlocks:true,lstripBlocks:true});w.addFilter("generate_secret",function(n,o=32){return T(o)});let S={project_name:e.project_name,author:e.author||"RapidKit User",description:e.description||(r?"FastAPI service generated with RapidKit":"NestJS application generated with RapidKit"),app_version:e.app_version||"0.1.0",license:e.license||"MIT",package_manager:e.package_manager||"npm",node_version:e.node_version||"20.0.0",database_type:e.database_type||"postgresql",include_caching:e.include_caching||false,created_at:new Date().toISOString(),rapidkit_version:b()},j;r?j=["src/main.py.j2","src/__init__.py.j2","src/cli.py.j2","src/routing/__init__.py.j2","src/routing/health.py.j2","src/modules/__init__.py.j2","tests/__init__.py.j2","README.md.j2","pyproject.toml.j2","Makefile.j2",".rapidkit/__init__.py.j2",".rapidkit/project.json.j2",".rapidkit/cli.py.j2",".rapidkit/rapidkit.j2",".rapidkit/activate.j2","rapidkit.j2","rapidkit.cmd.j2"]:j=["src/main.ts.j2","src/app.module.ts.j2","src/app.controller.ts.j2","src/app.service.ts.j2","src/config/configuration.ts.j2","src/config/validation.ts.j2","src/config/index.ts.j2","src/modules/index.ts.j2","src/examples/examples.module.ts.j2","src/examples/examples.controller.ts.j2","src/examples/examples.service.ts.j2","src/examples/dto/create-note.dto.ts.j2","test/app.controller.spec.ts.j2","test/examples.controller.spec.ts.j2","test/app.e2e-spec.ts.j2","test/jest-e2e.json.j2","package.json.j2","tsconfig.json.j2","tsconfig.build.json.j2","nest-cli.json.j2","jest.config.ts.j2","eslint.config.cjs.j2",".env.example.j2","docker-compose.yml.j2","Dockerfile.j2","README.md.j2",".rapidkit/project.json.j2",".rapidkit/rapidkit.j2",".rapidkit/rapidkit.cmd.j2",".rapidkit/activate.j2","rapidkit.j2","rapidkit.cmd.j2"];for(let n of j){let o=a.join(k,n);try{await promises.access(o);}catch{continue}let y=await promises.readFile(o,"utf-8"),m;try{m=w.renderString(y,S);}catch(R){throw console.error(`Failed to render template: ${n}`),R}let c=n.replace(/\.j2$/,""),f=a.join(i,c);await promises.mkdir(a.dirname(f),{recursive:true}),await promises.writeFile(f,m),(c.endsWith(".rapidkit/rapidkit")||c.endsWith(".rapidkit/cli.py")||c.endsWith(".rapidkit/activate")||c==="rapidkit")&&await promises.chmod(f,493);}if(r){let n=a.join(k,".rapidkit","context.json"),o=a.join(i,".rapidkit","context.json");try{await promises.mkdir(a.join(i,".rapidkit"),{recursive:true}),await promises.copyFile(n,o);}catch{await promises.mkdir(a.join(i,".rapidkit"),{recursive:true});let m=e.engine||"pip";await promises.writeFile(o,JSON.stringify({engine:m,created_by:"rapidkit-npm-fallback"},null,2));}}let x=a.join(i,".rapidkit");await promises.mkdir(x,{recursive:true});let F=a.join(x,"project.json"),A={kit_name:d,profile:I,created_at:new Date().toISOString(),created_by:"rapidkit-npm-fallback",runtime:r?"python":"node"};await promises.writeFile(F,JSON.stringify(A,null,2),"utf-8");let D=r?`# Python
2
2
  __pycache__/
3
3
  *.py[cod]
4
4
  *$py.class
@@ -1 +1 @@
1
- export{a as computeDoctorGateExitCode,b as runDoctor}from'./chunk-WHCON2VN.js';
1
+ export{a as computeDoctorGateExitCode,b as runDoctor}from'./chunk-YOQ2546V.js';
@@ -1,4 +1,4 @@
1
- import {b,c}from'./chunk-3Q7264EJ.js';import {b as b$2}from'./chunk-6KD5F6LX.js';import {promises}from'fs';import n from'path';import i from'chalk';import b$1 from'ora';import {execa}from'execa';var C="net8.0",R="8080";function A(e){return e.trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").replace(/-{2,}/g,"-")}function j(e,r){return e.trim().replace(/[^A-Za-z0-9_.]+/g,".").replace(/^\.+|\.+$/g,"").replace(/\.{2,}/g,".").split(".").map(a=>a.replace(/^[^A-Za-z_]+/,"").replace(/[^A-Za-z0-9_]/g,"")).filter(Boolean).join(".")||r}function S(e,r){return e.replace(/[\r\n\t]+/g," ").trim()||r}function y(e){return /^net\d+\.\d+$/.test(e.trim())}function _(){return JSON.stringify({engine:"npm",runtime:"dotnet"},null,2)}function E(e,r){return JSON.stringify({kit_name:"dotnet.webapi.clean",runtime:"dotnet",framework:"dotnet",module_support:false,project_name:e.project_name,root_namespace:e.root_namespace,target_framework:e.target_framework,app_version:e.app_version,created_by:"rapidkit-npm",rapidkit_version:r,created_at:new Date().toISOString()},null,2)}function D(e){return `<Project Sdk="Microsoft.NET.Sdk.Web">
1
+ import {b,c}from'./chunk-3Q7264EJ.js';import {b as b$2}from'./chunk-Q2KZIBV4.js';import {promises}from'fs';import n from'path';import i from'chalk';import b$1 from'ora';import {execa}from'execa';var C="net8.0",R="8080";function A(e){return e.trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").replace(/-{2,}/g,"-")}function j(e,r){return e.trim().replace(/[^A-Za-z0-9_.]+/g,".").replace(/^\.+|\.+$/g,"").replace(/\.{2,}/g,".").split(".").map(a=>a.replace(/^[^A-Za-z_]+/,"").replace(/[^A-Za-z0-9_]/g,"")).filter(Boolean).join(".")||r}function S(e,r){return e.replace(/[\r\n\t]+/g," ").trim()||r}function y(e){return /^net\d+\.\d+$/.test(e.trim())}function _(){return JSON.stringify({engine:"npm",runtime:"dotnet"},null,2)}function E(e,r){return JSON.stringify({kit_name:"dotnet.webapi.clean",runtime:"dotnet",framework:"dotnet",module_support:false,project_name:e.project_name,root_namespace:e.root_namespace,target_framework:e.target_framework,app_version:e.app_version,created_by:"rapidkit-npm",rapidkit_version:r,created_at:new Date().toISOString()},null,2)}function D(e){return `<Project Sdk="Microsoft.NET.Sdk.Web">
2
2
  <PropertyGroup>
3
3
  <TargetFramework>${e.target_framework}</TargetFramework>
4
4
  <Nullable>enable</Nullable>
@@ -1,4 +1,4 @@
1
- import {c,b as b$1,d as d$1,e,f,a}from'./chunk-3Q7264EJ.js';import {b}from'./chunk-6KD5F6LX.js';import {promises}from'fs';import d from'path';import o from'chalk';import S from'ora';import {execa}from'execa';function _(e){return `package main
1
+ import {c,b as b$1,d as d$1,e,f,a}from'./chunk-3Q7264EJ.js';import {b}from'./chunk-Q2KZIBV4.js';import {promises}from'fs';import d from'path';import o from'chalk';import S from'ora';import {execa}from'execa';function _(e){return `package main
2
2
 
3
3
  import (
4
4
  "fmt"
@@ -1,4 +1,4 @@
1
- import {c,b as b$2,d as d$1,e,f,a}from'./chunk-3Q7264EJ.js';import {b as b$1}from'./chunk-6KD5F6LX.js';import {promises}from'fs';import d from'path';import o from'chalk';import _ from'ora';import {execa}from'execa';function T(e){return `package main
1
+ import {c,b as b$2,d as d$1,e,f,a}from'./chunk-3Q7264EJ.js';import {b as b$1}from'./chunk-Q2KZIBV4.js';import {promises}from'fs';import d from'path';import o from'chalk';import _ from'ora';import {execa}from'execa';function T(e){return `package main
2
2
 
3
3
  import (
4
4
  "context"
package/dist/index.d.ts CHANGED
@@ -1,6 +1,24 @@
1
1
  #!/usr/bin/env node
2
2
  declare const PROJECT_COMMANDS_CORE_FALLBACK: readonly ["lint", "format", "docs"];
3
3
 
4
+ declare function getPublishedContractVersions(): {
5
+ runtimeCommandSurface: string;
6
+ cliLogEvent: "cli-log-event-v1";
7
+ freshnessMetadata: "rapidkit-freshness-metadata-v1";
8
+ blockerResolution: "rapidkit-blocker-resolution-v1";
9
+ workspaceModel: string;
10
+ workspaceImpact: string;
11
+ workspaceVerify: string;
12
+ workspaceContext: string;
13
+ workspaceDependencyGraph: "workspace-dependency-graph.v1";
14
+ workspaceIntelligenceHistory: "workspace-intelligence-history.v1";
15
+ agentCustomizationPack: string;
16
+ workspaceOperationalSkill: "workspace-operational-skill.v1";
17
+ workspaceSkillsIndex: "workspace-skills-index.v1";
18
+ workspaceExplain: "workspace-explain.v1";
19
+ agentActionOutcome: "agent-action-outcome.v1";
20
+ };
21
+
4
22
  declare function handleCreateOrFallback(args: string[]): Promise<number>;
5
23
  declare const NPM_ONLY_TOP_LEVEL_COMMANDS: readonly ["analyze", "readiness", "doctor", "autopilot", "pipeline", "import", "adopt", "snapshot", "workspace", "bootstrap", "setup", "cache", "mirror", "ai", "config", "product", "infra", "shell", "commands"];
6
24
  declare const NPM_ONLY_SCOPED_COMMANDS: readonly [readonly ["project", "commands"], readonly ["project", "archives"], readonly ["project", "archive"], readonly ["project", "restore"], readonly ["project", "delete"]];
@@ -8,11 +26,7 @@ declare const WRAPPER_ORCHESTRATED_PROJECT_COMMANDS: readonly ["init"];
8
26
  declare function isNpmExecInvocation(env?: NodeJS.ProcessEnv): boolean;
9
27
  declare const COMMAND_CAPABILITIES_SCHEMA_VERSION = "rapidkit-command-capabilities-v1";
10
28
  declare const VERSION_CONTRACT_SCHEMA_VERSION = "rapidkit-version-v1";
11
- declare function getPublishedContractVersions(): {
12
- runtimeCommandSurface: string;
13
- cliLogEvent: "cli-log-event-v1";
14
- freshnessMetadata: "rapidkit-freshness-metadata-v1";
15
- };
29
+
16
30
  declare function getVersionContract(): {
17
31
  schemaVersion: string;
18
32
  cli: string;
@@ -24,6 +38,18 @@ declare function getVersionContract(): {
24
38
  runtimeCommandSurface: string;
25
39
  cliLogEvent: "cli-log-event-v1";
26
40
  freshnessMetadata: "rapidkit-freshness-metadata-v1";
41
+ blockerResolution: "rapidkit-blocker-resolution-v1";
42
+ workspaceModel: string;
43
+ workspaceImpact: string;
44
+ workspaceVerify: string;
45
+ workspaceContext: string;
46
+ workspaceDependencyGraph: "workspace-dependency-graph.v1";
47
+ workspaceIntelligenceHistory: "workspace-intelligence-history.v1";
48
+ agentCustomizationPack: string;
49
+ workspaceOperationalSkill: "workspace-operational-skill.v1";
50
+ workspaceSkillsIndex: "workspace-skills-index.v1";
51
+ workspaceExplain: "workspace-explain.v1";
52
+ agentActionOutcome: "agent-action-outcome.v1";
27
53
  };
28
54
  };
29
55
  declare function getGlobalCommandCapabilities(): {
@@ -36,6 +62,18 @@ declare function getGlobalCommandCapabilities(): {
36
62
  runtimeCommandSurface: string;
37
63
  cliLogEvent: "cli-log-event-v1";
38
64
  freshnessMetadata: "rapidkit-freshness-metadata-v1";
65
+ blockerResolution: "rapidkit-blocker-resolution-v1";
66
+ workspaceModel: string;
67
+ workspaceImpact: string;
68
+ workspaceVerify: string;
69
+ workspaceContext: string;
70
+ workspaceDependencyGraph: "workspace-dependency-graph.v1";
71
+ workspaceIntelligenceHistory: "workspace-intelligence-history.v1";
72
+ agentCustomizationPack: string;
73
+ workspaceOperationalSkill: "workspace-operational-skill.v1";
74
+ workspaceSkillsIndex: "workspace-skills-index.v1";
75
+ workspaceExplain: "workspace-explain.v1";
76
+ agentActionOutcome: "agent-action-outcome.v1";
39
77
  };
40
78
  commands: {
41
79
  npmOwned: string[];
@@ -44,8 +82,8 @@ declare function getGlobalCommandCapabilities(): {
44
82
  };
45
83
  workspace: {
46
84
  command: string;
47
- subcommands: ("init" | "import" | "snapshot" | "archive" | "list" | "diff" | "sync" | "registry" | "foundation" | "model" | "impact" | "verify" | "graph" | "watch" | "context" | "agent-sync" | "policy" | "contract" | "share" | "export" | "hydrate" | "run")[];
48
- intelligenceSubcommands: ("snapshot" | "diff" | "model" | "impact" | "verify" | "context" | "agent-sync")[];
85
+ subcommands: ("init" | "import" | "snapshot" | "archive" | "list" | "diff" | "sync" | "registry" | "foundation" | "model" | "impact" | "verify" | "graph" | "watch" | "context" | "agent-sync" | "explain" | "why" | "trace" | "feedback" | "mcp" | "policy" | "contract" | "share" | "export" | "hydrate" | "run")[];
86
+ intelligenceSubcommands: ("snapshot" | "diff" | "model" | "impact" | "verify" | "context" | "agent-sync" | "explain")[];
49
87
  };
50
88
  commandMap: any;
51
89
  };