@autodevjapan/godd-mcp-alpha 1.34.0 → 1.35.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # GoDD MCP α Server
2
2
 
3
+ <p align="center">
4
+ <img src="https://unpkg.com/@autodevjapan/godd-mcp-alpha@latest/assets/godd-mcp-alpha-icon.png" alt="GoDD MCP α icon" width="240" />
5
+ </p>
6
+
3
7
  [🇺🇸 English](#english) | [🇯🇵 日本語](#日本語) | [🇷🇺 Русский](#русский)
4
8
 
5
9
  ---
Binary file
package/dist/godd.cjs CHANGED
@@ -187,7 +187,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
187
187
  `);if(t===-1)return null;let r=this._buffer.toString("utf8",0,t).replace(/\r$/,"");return this._buffer=this._buffer.subarray(t+1),wL(r)}clear(){this._buffer=void 0}};function wL(e){return Kx.parse(JSON.parse(e))}function GI(e){return JSON.stringify(e)+`
188
188
  `}var Gf=class{constructor(t=z_.default.stdin,r=z_.default.stdout){this._stdin=t,this._stdout=r,this._readBuffer=new Vf,this._started=!1,this._ondata=i=>{this._readBuffer.append(i),this.processReadBuffer()},this._onerror=i=>{this.onerror?.(i)}}async start(){if(this._started)throw new Error("StdioServerTransport already started! If using Server class, note that connect() calls start() automatically.");this._started=!0,this._stdin.on("data",this._ondata),this._stdin.on("error",this._onerror)}processReadBuffer(){for(;;)try{let t=this._readBuffer.readMessage();if(t===null)break;this.onmessage?.(t)}catch(t){this.onerror?.(t)}}async close(){this._stdin.off("data",this._ondata),this._stdin.off("error",this._onerror),this._stdin.listenerCount("data")===0&&this._stdin.pause(),this._readBuffer.clear(),this.onclose?.()}send(t){return new Promise(r=>{let i=GI(t);this._stdout.write(i)?r():this._stdout.once("drain",r)})}};var KI=process.env.GODD_BRAND_PREFIX??"godd",dn="godd",M={displayName:"GoDD MCP \u03B1",cli:"godd-a",mcpKey:"godd-a",configFile:`config.${KI}`,licensePrefix:KI.toUpperCase(),toolPrefix:""};var Zp=require("node:fs"),DT=require("node:path"),AT=Bo(c$(),1);var zc=["en","ja","ru"];function Lo(e){return zc.includes(e)?e:null}var X2=V.object({vcs:V.string().optional(),browser_automation:V.string().optional(),e2e_testing:V.string().optional(),unit_testing:V.string().optional(),linting:V.string().optional(),formatting:V.string().optional(),type_checking:V.string().optional(),coverage:V.string().optional(),documentation:V.string().optional(),secret_scanning:V.string().optional(),security_analysis:V.string().optional(),unused_code:V.string().optional(),dependency_analysis:V.string().optional()}),e6=V.object({docs_dir:V.string().default("documents"),generate_gitattributes:V.preprocess(e=>e==="true"?!0:e==="false"?!1:e,V.boolean().default(!0)),generate_dependabot:V.preprocess(e=>e==="true"?!0:e==="false"?!1:e,V.boolean().default(!0))}),t6=V.object({tool:V.string().optional(),auto_suggest:V.preprocess(e=>e==="true"?!0:e==="false"?!1:e,V.boolean().optional()),design_review:V.preprocess(e=>e==="true"?!0:e==="false"?!1:e,V.boolean().optional())}),l$=V.enum(zc),CT=V.object({display_language:l$.default("en"),main_language:l$.default("en"),sub_languages:V.array(l$).default([]),programming_languages:V.array(V.string()).default([]),frontend:V.array(V.string()).default([]),backend:V.array(V.string()).default([]),database:V.array(V.string()).default([]),orm:V.array(V.string()).default([]),infra:V.array(V.string()).default([]),game:V.array(V.string()).default([]),mobile:V.array(V.string()).default([]),other:V.array(V.string()).default([]),tools:X2.default({}),design:t6.default({}),godd_files:e6.default({docs_dir:"documents",generate_gitattributes:!0,generate_dependabot:!0})});function Fp(e=process.cwd()){let t=(0,DT.resolve)(e,M.configFile);if(!(0,Zp.existsSync)(t))return null;try{let r=(0,Zp.readFileSync)(t,"utf-8"),i=(0,AT.parse)(r)??{};return r6(i),n6(i),CT.parse(i)}catch(r){return console.error(`[${M.displayName}] Failed to parse ${M.configFile}:`,r instanceof Error?r.message:r),null}}function r6(e){if("language"in e&&!("display_language"in e)){let t=e.language;e.display_language=t,e.main_language=t,delete e.language}}function n6(e){if("e2e_tool"in e){let t=typeof e.tools=="object"&&!Array.isArray(e.tools)?e.tools:{};t.e2e_testing=e.e2e_tool,e.tools=t,delete e.e2e_tool}for(let t of["tools","design","godd_files"]){let r=e[t];(r==null||Array.isArray(r)&&r.length===0)&&(e[t]={})}}var Vp=new Set(["typescript","javascript","python","java","csharp","cpp","c","go","rust","php","swift","kotlin","ruby","dart","r","scala","objective-c","sql","html-css","bash","elixir","haskell","perl","lua","julia","clojure","fsharp","groovy","visual-basic","powershell","erlang","ocaml","zig","nim","crystal","solidity","fortran","cobol","assembly","d","ada","v","pascal","prolog","gdscript","gdshader"]),Gp=new Set(["react","nextjs","vue","nuxt","svelte","angular","flutter","blazor","solid","astro","remix","qwik","ember","htmx","alpine","vite","electron","tauri","liftkit"]),Kp=new Set(["express","nestjs","hono","fastify","fastapi","django","flask","gin","echo","fiber","chi","spring-boot","quarkus","micronaut","ktor","laravel","symfony","slim","codeigniter","cakephp","rails","sinatra","hanami","actix-web","axum","rocket","phoenix","aspnet","vapor","play","akka-http","servant","yesod","mojolicious","dancer","ring","pedestal","dart-frog"]),Jp=new Set(["postgresql","mysql","mongodb","redis","sqlite","dynamodb","cassandra","neo4j","elasticsearch","supabase","firebase","cockroachdb"]),Bp=new Set(["prisma","drizzle","typeorm","sequelize","sqlalchemy","tortoise-orm","eloquent","doctrine","activerecord","hibernate","mybatis","entity-framework","gorm","ent","diesel","sea-orm","ecto","exposed","peewee","django-orm"]),Hp=new Set(["docker","terraform","vercel","aws","gcp","github-actions","azure","cloudflare","fly-io","render","heroku","kubernetes","ansible","pulumi","netlify","railway"]),Wp=new Set(["react-native","expo","flutter","swiftui","uikit","jetpack-compose","kotlin-multiplatform","ionic","capacitor","maui","xamarin","tauri-mobile","nativescript"]),Yp=new Set(["godot","phaser","pyxel","unity","unreal","bevy","love2d","monogame","pygame","libgdx","cocos2d","defold","renpy"]),i6={typescript:{frontend:["react","nextjs","vue","nuxt","svelte","angular","solid","astro","remix","qwik","ember","htmx","alpine","vite","electron","tauri","liftkit"],backend:["express","nestjs","hono","fastify"],orm:["prisma","drizzle","typeorm","sequelize"],mobile:["react-native","expo","ionic","capacitor","nativescript"]},javascript:{frontend:["react","nextjs","vue","nuxt","svelte","angular","solid","astro","remix","qwik","ember","htmx","alpine","vite","electron","tauri","liftkit"],backend:["express","nestjs","hono","fastify"],orm:["prisma","drizzle","typeorm","sequelize"],mobile:["react-native","expo","ionic","capacitor","nativescript"]},python:{backend:["fastapi","django","flask"],orm:["sqlalchemy","tortoise-orm","peewee","django-orm"],game:["pygame","renpy","pyxel"]},go:{backend:["gin","echo","fiber","chi"],orm:["gorm","ent"]},rust:{frontend:["tauri"],backend:["actix-web","axum","rocket"],orm:["diesel","sea-orm"],game:["bevy"]},java:{backend:["spring-boot","quarkus","micronaut"],orm:["hibernate","mybatis"],mobile:["jetpack-compose"],game:["libgdx"]},kotlin:{backend:["spring-boot","ktor"],orm:["exposed","hibernate"],mobile:["jetpack-compose","kotlin-multiplatform"]},php:{backend:["laravel","symfony","slim","codeigniter","cakephp"],orm:["eloquent","doctrine"]},ruby:{backend:["rails","sinatra","hanami"],orm:["activerecord"]},swift:{backend:["vapor"],mobile:["swiftui","uikit"]},dart:{frontend:["flutter"],backend:["dart-frog"],mobile:["flutter"]},csharp:{backend:["aspnet"],orm:["entity-framework"],mobile:["maui","xamarin"],game:["unity","monogame"]},elixir:{backend:["phoenix"],orm:["ecto"]},scala:{backend:["play","akka-http"]},haskell:{backend:["servant","yesod"]},perl:{backend:["mojolicious","dancer"]},clojure:{backend:["ring","pedestal"]},lua:{game:["love2d","defold"]},gdscript:{game:["godot"]},cpp:{game:["unreal","cocos2d","godot"]}};function qo(e,t,r){if(r.length===0)return e;let i=new Set;for(let n of r){let o=i6[n];if(!o)continue;let s=o[t];if(s)for(let a of s)i.add(a)}return i.size===0?e:e.filter(n=>i.has(n))}function o6(e,t){let r=e.length,i=t.length,n=Array.from({length:r+1},()=>Array(i+1).fill(0));for(let o=0;o<=r;o++)n[o][0]=o;for(let o=0;o<=i;o++)n[0][o]=o;for(let o=1;o<=r;o++)for(let s=1;s<=i;s++){let a=e[o-1]===t[s-1]?0:1;n[o][s]=Math.min(n[o-1][s]+1,n[o][s-1]+1,n[o-1][s-1]+a)}return n[r][i]}function s6(e,t,r=2){let i=null,n=r+1;for(let o of t){if(Math.abs(o.length-e.length)>r)continue;let s=o6(e.toLowerCase(),o.toLowerCase());s<n&&(n=s,i=o)}return i}var a6=[{field:"programming_languages",known:Vp},{field:"frontend",known:Gp},{field:"backend",known:Kp},{field:"database",known:Jp},{field:"orm",known:Bp},{field:"infra",known:Hp},{field:"game",known:Yp},{field:"mobile",known:Wp}];function Qp(e){let t=[];for(let{field:r,known:i}of a6){let n=e[r];if(Array.isArray(n))for(let o of n)typeof o=="string"&&(i.has(o)||t.push({field:r,value:o,suggestion:s6(o,i)}))}return t}var LT=[{field:"display_language",type:"string",descriptions:{en:"GoDD display language (en / ja / ru)",ja:"GoDD \u306E\u8868\u793A\u8A00\u8A9E\uFF08en / ja / ru\uFF09",ru:"\u042F\u0437\u044B\u043A \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F GoDD (en / ja / ru)"},values:["en","ja","ru"]},{field:"main_language",type:"string",descriptions:{en:"Project main language (en / ja / ru)",ja:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u30E1\u30A4\u30F3\u8A00\u8A9E\uFF08en / ja / ru\uFF09",ru:"\u041E\u0441\u043D\u043E\u0432\u043D\u043E\u0439 \u044F\u0437\u044B\u043A \u043F\u0440\u043E\u0435\u043A\u0442\u0430 (en / ja / ru)"},values:["en","ja","ru"]},{field:"sub_languages",type:"string[]",descriptions:{en:"Team sub-languages",ja:"\u30C1\u30FC\u30E0\u306E\u30B5\u30D6\u8A00\u8A9E",ru:"\u0414\u043E\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u0435 \u044F\u0437\u044B\u043A\u0438 \u043A\u043E\u043C\u0430\u043D\u0434\u044B"},values:["en","ja","ru"]},{field:"programming_languages",type:"string[]",descriptions:{en:"Programming languages",ja:"\u30D7\u30ED\u30B0\u30E9\u30DF\u30F3\u30B0\u8A00\u8A9E",ru:"\u042F\u0437\u044B\u043A\u0438 \u043F\u0440\u043E\u0433\u0440\u0430\u043C\u043C\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F"},values:[...Vp]},{field:"frontend",type:"string[]",descriptions:{en:"Frontend frameworks",ja:"\u30D5\u30ED\u30F3\u30C8\u30A8\u30F3\u30C9\u30D5\u30EC\u30FC\u30E0\u30EF\u30FC\u30AF",ru:"\u0424\u0440\u043E\u043D\u0442\u0435\u043D\u0434-\u0444\u0440\u0435\u0439\u043C\u0432\u043E\u0440\u043A\u0438"},values:[...Gp]},{field:"backend",type:"string[]",descriptions:{en:"Backend frameworks",ja:"\u30D0\u30C3\u30AF\u30A8\u30F3\u30C9\u30D5\u30EC\u30FC\u30E0\u30EF\u30FC\u30AF",ru:"\u0411\u044D\u043A\u0435\u043D\u0434-\u0444\u0440\u0435\u0439\u043C\u0432\u043E\u0440\u043A\u0438"},values:[...Kp]},{field:"database",type:"string[]",descriptions:{en:"Databases",ja:"\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9",ru:"\u0411\u0430\u0437\u044B \u0434\u0430\u043D\u043D\u044B\u0445"},values:[...Jp]},{field:"orm",type:"string[]",descriptions:{en:"ORM",ja:"ORM",ru:"ORM"},values:[...Bp]},{field:"infra",type:"string[]",descriptions:{en:"Infrastructure",ja:"\u30A4\u30F3\u30D5\u30E9",ru:"\u0418\u043D\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u0430"},values:[...Hp]},{field:"game",type:"string[]",descriptions:{en:"Game engines / frameworks",ja:"\u30B2\u30FC\u30E0\u30A8\u30F3\u30B8\u30F3 / \u30D5\u30EC\u30FC\u30E0\u30EF\u30FC\u30AF",ru:"\u0418\u0433\u0440\u043E\u0432\u044B\u0435 \u0434\u0432\u0438\u0436\u043A\u0438 / \u0444\u0440\u0435\u0439\u043C\u0432\u043E\u0440\u043A\u0438"},values:[...Yp]},{field:"mobile",type:"string[]",descriptions:{en:"Mobile / Cross-platform",ja:"\u30E2\u30D0\u30A4\u30EB / \u30AF\u30ED\u30B9\u30D7\u30E9\u30C3\u30C8\u30D5\u30A9\u30FC\u30E0",ru:"\u041C\u043E\u0431\u0438\u043B\u044C\u043D\u044B\u0435 / \u041A\u0440\u043E\u0441\u0441\u043F\u043B\u0430\u0442\u0444\u043E\u0440\u043C\u0435\u043D\u043D\u044B\u0435"},values:[...Wp]},{field:"other",type:"string[]",descriptions:{en:"Other (no validation, free text)",ja:"\u305D\u306E\u4ED6\uFF08\u30D0\u30EA\u30C7\u30FC\u30B7\u30E7\u30F3\u5BFE\u8C61\u5916\u3001\u81EA\u7531\u8A18\u8FF0\uFF09",ru:"\u041F\u0440\u043E\u0447\u0435\u0435 (\u0431\u0435\u0437 \u0432\u0430\u043B\u0438\u0434\u0430\u0446\u0438\u0438, \u0441\u0432\u043E\u0431\u043E\u0434\u043D\u044B\u0439 \u0442\u0435\u043A\u0441\u0442)"},values:[]},{field:"design",type:"object",descriptions:{en:"Design tool integration (tool: pencil/figma, auto_suggest: true/false, design_review: true/false)",ja:"\u30C7\u30B6\u30A4\u30F3\u30C4\u30FC\u30EB\u9023\u643A\uFF08tool: pencil/figma\u3001auto_suggest: true/false\u3001design_review: true/false\uFF09",ru:"\u0418\u043D\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u044F \u0434\u0438\u0437\u0430\u0439\u043D-\u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u0430 (tool: pencil/figma, auto_suggest: true/false, design_review: true/false)"},values:[]},{field:"godd_files",type:"object",descriptions:{en:"GoDD managed files settings (docs_dir: path string, generate_gitattributes: true/false, generate_dependabot: true/false)",ja:"GoDD \u7BA1\u7406\u30D5\u30A1\u30A4\u30EB\u8A2D\u5B9A\uFF08docs_dir: \u30D1\u30B9\u6587\u5B57\u5217\u3001generate_gitattributes: true/false\u3001generate_dependabot: true/false\uFF09",ru:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u0444\u0430\u0439\u043B\u043E\u0432 GoDD (docs_dir: \u0441\u0442\u0440\u043E\u043A\u0430 \u043F\u0443\u0442\u0438, generate_gitattributes: true/false, generate_dependabot: true/false)"},values:[]}];function qT(){return new Set([...LT.map(e=>e.field),"tools"])}var RT={en:{validValues:"Valid values",toolsDescription:"Tool settings (optional). Keys: vcs, browser_automation, e2e_testing, unit_testing, linting, formatting, type_checking, coverage, documentation, secret_scanning, security_analysis, unused_code, dependency_analysis"},ja:{validValues:"\u6709\u52B9\u5024",toolsDescription:"\u30C4\u30FC\u30EB\u8A2D\u5B9A\uFF08\u7701\u7565\u53EF\uFF09\u3002\u30AD\u30FC: vcs, browser_automation, e2e_testing, unit_testing, linting, formatting, type_checking, coverage, documentation, secret_scanning, security_analysis, unused_code, dependency_analysis"},ru:{validValues:"\u0414\u043E\u043F\u0443\u0441\u0442\u0438\u043C\u044B\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F",toolsDescription:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u043E\u0432 (\u043D\u0435\u043E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u043E). \u041A\u043B\u044E\u0447\u0438: vcs, browser_automation, e2e_testing, unit_testing, linting, formatting, type_checking, coverage, documentation, secret_scanning, security_analysis, unused_code, dependency_analysis"}};function UT(e="ja"){let t=RT[e]??RT.en,r=[];for(let i of LT)r.push(`### ${i.field} (${i.type})`),r.push(i.descriptions[e]??i.descriptions.en),i.values.length>0&&r.push(`${t.validValues}: ${i.values.join(", ")}`),r.push("");return r.push("### tools (object)"),r.push(t.toolsDescription),r.push(""),r.join(`
189
189
  `)}var u$="https://www.getgodd.dev/contact",MT={en:{header:"\u26A0 config.godd contains unrecognized values. Please fix them and try again.",problemValues:"Problematic values:",suggestion:(e,t)=>` - "${e}" \u2192 did you mean "${t}"?`,unsupported:e=>` - "${e}" \u2192 currently unsupported. Contact ${u$} to request support.`,fixHeader:"How to fix:",fixEdit:" 1. Edit config.godd directly to correct the values",fixReinit:' 2. Or run "godd init --force" to regenerate'},ja:{header:"\u26A0 config.godd \u306B\u8A8D\u8B58\u3067\u304D\u306A\u3044\u5024\u304C\u542B\u307E\u308C\u3066\u3044\u307E\u3059\u3002\u4FEE\u6B63\u3057\u3066\u304B\u3089\u518D\u5EA6\u304A\u8A66\u3057\u304F\u3060\u3055\u3044\u3002",problemValues:"\u554F\u984C\u306E\u3042\u308B\u5024:",suggestion:(e,t)=>` - "${e}" \u2192 \u3082\u3057\u304B\u3057\u3066 "${t}" \u3067\u3059\u304B\uFF1F`,unsupported:e=>` - "${e}" \u2192 \u73FE\u5728\u672A\u5BFE\u5FDC\u3067\u3059\u3002\u5BFE\u5FDC\u3092\u3054\u5E0C\u671B\u306E\u5834\u5408\u306F ${u$} \u304B\u3089\u3054\u9023\u7D61\u304F\u3060\u3055\u3044\u3002`,fixHeader:"\u4FEE\u6B63\u65B9\u6CD5:",fixEdit:" 1. config.godd \u3092\u76F4\u63A5\u7DE8\u96C6\u3057\u3066\u6B63\u3057\u3044\u5024\u306B\u4FEE\u6B63\u3059\u308B",fixReinit:' 2. \u307E\u305F\u306F "godd init --force" \u3067\u518D\u751F\u6210\u3059\u308B'},ru:{header:"\u26A0 config.godd \u0441\u043E\u0434\u0435\u0440\u0436\u0438\u0442 \u043D\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043D\u044B\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F. \u0418\u0441\u043F\u0440\u0430\u0432\u044C\u0442\u0435 \u0438\u0445 \u0438 \u043F\u043E\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u0441\u043D\u043E\u0432\u0430.",problemValues:"\u041F\u0440\u043E\u0431\u043B\u0435\u043C\u043D\u044B\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F:",suggestion:(e,t)=>` - "${e}" \u2192 \u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E, \u0432\u044B \u0438\u043C\u0435\u043B\u0438 \u0432 \u0432\u0438\u0434\u0443 "${t}"?`,unsupported:e=>` - "${e}" \u2192 \u043F\u043E\u043A\u0430 \u043D\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044F. \u0421\u0432\u044F\u0436\u0438\u0442\u0435\u0441\u044C \u0441 ${u$} \u0434\u043B\u044F \u0437\u0430\u043F\u0440\u043E\u0441\u0430 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u043A\u0438.`,fixHeader:"\u041A\u0430\u043A \u0438\u0441\u043F\u0440\u0430\u0432\u0438\u0442\u044C:",fixEdit:" 1. \u041E\u0442\u0440\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u0443\u0439\u0442\u0435 config.godd \u043D\u0430\u043F\u0440\u044F\u043C\u0443\u044E, \u0443\u043A\u0430\u0437\u0430\u0432 \u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u044B\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F",fixReinit:' 2. \u0418\u043B\u0438 \u0432\u044B\u043F\u043E\u043B\u043D\u0438\u0442\u0435 "godd init --force" \u0434\u043B\u044F \u043F\u0435\u0440\u0435\u0441\u043E\u0437\u0434\u0430\u043D\u0438\u044F'}};function ZT(e,t="ja"){let r=MT[t]??MT.en,i=new Map;for(let o of e){let s=i.get(o.field)??[];s.push(o),i.set(o.field,s)}let n=[r.header,"",r.problemValues];for(let[o,s]of i){n.push(` ${o}:`);for(let a of s)n.push(a.suggestion?r.suggestion(a.value,a.suggestion):r.unsupported(a.value))}return n.push("",r.fixHeader,r.fixEdit,r.fixReinit),n.join(`
190
- `)}var er="1.34.0";var d$={en:{dev:"Development (plan \u2192 implement \u2192 test \u2192 quality \u2192 docs in stages)",check:"Quality gate (verify Spec alignment, tests, types, lint, security)",docs:"Generate/update documentation",ship:"Ship (commit at proper granularity \u2192 quality check \u2192 push \u2192 create PR)",setup:"Environment setup (with recommended stack presets, confirms missing info)",review:"Review (CTO-level review + quality gate)",test:"Run/create tests",impact:"Impact analysis",commit:"Commit changes",push:"Push to remote",pr:"Create PR (template-compliant)",deploy:"Deploy (with verification & rollback plan)",adr:"Create ADR (Architecture Decision Record)",release:"Generate release notes (SemVer-compliant)",github:"GitHub configuration (repository/branch protection, etc.)",config:"Generate/repair config.godd (auto-detect stack + validation)",questions:"Interactive Q&A from question list (\u8CEA\u554F\u30EA\u30B9\u30C8.md)",e2e:"Browser-based E2E testing (execute & verify critical user flows)",benchmark:"Competitive prompt analysis (compare GoDD vs Cursor Rules / Claude Code / Codex)",map:"Project knowledge graph (visualize architecture & dependencies with Mermaid)",learn:"Save/recall project-specific patterns, conventions, and pitfalls",diagram:"Auto-update architecture diagrams (maintain living Mermaid docs in sync with code)",slide:"Generate presentation slides from project docs (Marp Markdown format)",design:"Generate/update visual designs from codebase (Pencil.dev sync)",metrics:"Token efficiency report \u2014 show prompt tokens delivered this session vs. always-on Cursor Rules baseline",scratchpad:"Persistent conversation memory \u2014 save/recall/search/list/forget with BM25 vector search (Qdrant or local JSON fallback)"},ja:{dev:"\u958B\u767A\uFF08\u6BB5\u968E\u7684\u306B\u8A08\u753B\u2192\u5B9F\u88C5\u2192\u30C6\u30B9\u30C8\u2192\u54C1\u8CEA\u2192\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u3092\u5B9F\u884C\uFF09",check:"\u54C1\u8CEA\u30B2\u30FC\u30C8\uFF08Spec\u6574\u5408\u30FB\u30C6\u30B9\u30C8\u30FB\u578B\u30FBLint\u30FB\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u3092\u691C\u8A3C\uFF09",docs:"\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u751F\u6210/\u66F4\u65B0",ship:"\u63D0\u51FA\uFF08\u9069\u5207\u306A\u7C92\u5EA6\u3067\u30B3\u30DF\u30C3\u30C8 \u2192 \u54C1\u8CEA\u30C1\u30A7\u30C3\u30AF \u2192 \u30D7\u30C3\u30B7\u30E5 \u2192 PR \u4F5C\u6210\uFF09",setup:"\u74B0\u5883\u69CB\u7BC9\uFF08\u63A8\u5968\u30B9\u30BF\u30C3\u30AF\u30D7\u30EA\u30BB\u30C3\u30C8\u4ED8\u304D\u30FB\u4E0D\u8DB3\u60C5\u5831\u306F\u78BA\u8A8D\uFF09",review:"\u30EC\u30D3\u30E5\u30FC\uFF08CTO \u30EC\u30D9\u30EB\u306E\u30EC\u30D3\u30E5\u30FC + \u54C1\u8CEA\u30B2\u30FC\u30C8\uFF09",test:"\u30C6\u30B9\u30C8\u5B9F\u884C/\u4F5C\u6210",impact:"\u5F71\u97FF\u5206\u6790",commit:"\u5909\u66F4\u3092\u30B3\u30DF\u30C3\u30C8",push:"\u30EA\u30E2\u30FC\u30C8\u306B\u30D7\u30C3\u30B7\u30E5",pr:"PR \u4F5C\u6210\uFF08\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u6E96\u62E0\uFF09",deploy:"\u30C7\u30D7\u30ED\u30A4\uFF08\u691C\u8A3C\u30FB\u30ED\u30FC\u30EB\u30D0\u30C3\u30AF\u8A08\u753B\u4ED8\u304D\uFF09",adr:"ADR\uFF08Architecture Decision Record\uFF09\u4F5C\u6210",release:"\u30EA\u30EA\u30FC\u30B9\u30CE\u30FC\u30C8\u751F\u6210\uFF08SemVer \u6E96\u62E0\uFF09",github:"GitHub \u8A2D\u5B9A\uFF08\u30EA\u30DD\u30B8\u30C8\u30EA/\u30D6\u30E9\u30F3\u30C1\u4FDD\u8B77\u7B49\uFF09",config:"config.godd \u3092\u6B63\u78BA\u306B\u751F\u6210\u30FB\u4FEE\u6B63\u3059\u308B\uFF08\u30B9\u30BF\u30C3\u30AF\u81EA\u52D5\u691C\u51FA + \u30D0\u30EA\u30C7\u30FC\u30B7\u30E7\u30F3\uFF09",questions:"\u8CEA\u554F\u30EA\u30B9\u30C8\uFF08\u8CEA\u554F\u30EA\u30B9\u30C8.md\uFF09\u304B\u3089\u30A4\u30F3\u30BF\u30E9\u30AF\u30C6\u30A3\u30D6\u306B\u8CEA\u554F\u3092\u7BA1\u7406",e2e:"\u30D6\u30E9\u30A6\u30B6\u30D9\u30FC\u30B9 E2E \u30C6\u30B9\u30C8\uFF08\u91CD\u8981\u30E6\u30FC\u30B6\u30FC\u30D5\u30ED\u30FC\u306E\u5B9F\u884C\u30FB\u691C\u8A3C\uFF09",benchmark:"\u7AF6\u5408\u30D7\u30ED\u30F3\u30D7\u30C8\u5206\u6790\uFF08GoDD vs Cursor Rules / Claude Code / Codex \u3092\u6BD4\u8F03\uFF09",map:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30CA\u30EC\u30C3\u30B8\u30B0\u30E9\u30D5\uFF08Mermaid \u3067\u30A2\u30FC\u30AD\u30C6\u30AF\u30C1\u30E3\u30FB\u4F9D\u5B58\u95A2\u4FC2\u3092\u53EF\u8996\u5316\uFF09",learn:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u56FA\u6709\u306E\u30D1\u30BF\u30FC\u30F3\u30FB\u6163\u4F8B\u30FB\u843D\u3068\u3057\u7A74\u3092\u4FDD\u5B58/\u53C2\u7167",diagram:"\u30A2\u30FC\u30AD\u30C6\u30AF\u30C1\u30E3\u56F3\u306E\u81EA\u52D5\u66F4\u65B0\uFF08\u30B3\u30FC\u30C9\u3068\u540C\u671F\u3057\u305F Mermaid \u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u3092\u7DAD\u6301\uFF09",slide:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u304B\u3089\u30D7\u30EC\u30BC\u30F3\u30B9\u30E9\u30A4\u30C9\u3092\u751F\u6210\uFF08Marp Markdown \u5F62\u5F0F\uFF09",design:"\u30B3\u30FC\u30C9\u30D9\u30FC\u30B9\u304B\u3089\u30D3\u30B8\u30E5\u30A2\u30EB\u30C7\u30B6\u30A4\u30F3\u3092\u751F\u6210/\u66F4\u65B0\uFF08Pencil.dev \u540C\u671F\uFF09",metrics:"\u30C8\u30FC\u30AF\u30F3\u52B9\u7387\u30EC\u30DD\u30FC\u30C8 \u2014 \u3053\u306E\u30BB\u30C3\u30B7\u30E7\u30F3\u3067\u914D\u4FE1\u3057\u305F\u30D7\u30ED\u30F3\u30D7\u30C8\u30C8\u30FC\u30AF\u30F3\u6570\u3068 Cursor Rules \u5E38\u6642\u8AAD\u307F\u8FBC\u307F\u65B9\u5F0F\u3068\u306E\u6BD4\u8F03",scratchpad:"\u4F1A\u8A71\u8A18\u61B6\u306E\u6C38\u7D9A\u5316 \u2014 BM25 \u30D9\u30AF\u30BF\u30FC\u691C\u7D22\u3067 save/recall/search/list/forget\uFF08Qdrant \u307E\u305F\u306F\u30ED\u30FC\u30AB\u30EB JSON \u30D5\u30A9\u30FC\u30EB\u30D0\u30C3\u30AF\uFF09"},ru:{dev:"\u0420\u0430\u0437\u0440\u0430\u0431\u043E\u0442\u043A\u0430 (\u043F\u043B\u0430\u043D \u2192 \u0440\u0435\u0430\u043B\u0438\u0437\u0430\u0446\u0438\u044F \u2192 \u0442\u0435\u0441\u0442\u044B \u2192 \u043A\u0430\u0447\u0435\u0441\u0442\u0432\u043E \u2192 \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u0430\u0446\u0438\u044F \u043F\u043E\u044D\u0442\u0430\u043F\u043D\u043E)",check:"\u041A\u043E\u043D\u0442\u0440\u043E\u043B\u044C \u043A\u0430\u0447\u0435\u0441\u0442\u0432\u0430 (Spec, \u0442\u0435\u0441\u0442\u044B, \u0442\u0438\u043F\u044B, \u043B\u0438\u043D\u0442\u0435\u0440, \u0431\u0435\u0437\u043E\u043F\u0430\u0441\u043D\u043E\u0441\u0442\u044C)",docs:"\u0413\u0435\u043D\u0435\u0440\u0430\u0446\u0438\u044F/\u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u0435 \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u0430\u0446\u0438\u0438",ship:"\u041E\u0442\u043F\u0440\u0430\u0432\u043A\u0430 (\u043A\u043E\u043C\u043C\u0438\u0442 \u2192 \u043F\u0440\u043E\u0432\u0435\u0440\u043A\u0430 \u043A\u0430\u0447\u0435\u0441\u0442\u0432\u0430 \u2192 \u043F\u0443\u0448 \u2192 \u0441\u043E\u0437\u0434\u0430\u043D\u0438\u0435 PR)",setup:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0430 \u0441\u0440\u0435\u0434\u044B (\u0441 \u0440\u0435\u043A\u043E\u043C\u0435\u043D\u0434\u0443\u0435\u043C\u044B\u043C\u0438 \u043F\u0440\u0435\u0441\u0435\u0442\u0430\u043C\u0438 \u0441\u0442\u0435\u043A\u0430)",review:"\u0420\u0435\u0432\u044C\u044E (CTO-\u0443\u0440\u043E\u0432\u0435\u043D\u044C + \u043A\u043E\u043D\u0442\u0440\u043E\u043B\u044C \u043A\u0430\u0447\u0435\u0441\u0442\u0432\u0430)",test:"\u0417\u0430\u043F\u0443\u0441\u043A/\u0441\u043E\u0437\u0434\u0430\u043D\u0438\u0435 \u0442\u0435\u0441\u0442\u043E\u0432",impact:"\u0410\u043D\u0430\u043B\u0438\u0437 \u0432\u043B\u0438\u044F\u043D\u0438\u044F",commit:"\u0417\u0430\u0444\u0438\u043A\u0441\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F",push:"\u041E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C \u0432 \u0443\u0434\u0430\u043B\u0451\u043D\u043D\u044B\u0439 \u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u0439",pr:"\u0421\u043E\u0437\u0434\u0430\u0442\u044C PR (\u043F\u043E \u0448\u0430\u0431\u043B\u043E\u043D\u0443)",deploy:"\u0420\u0430\u0437\u0432\u0435\u0440\u043D\u0443\u0442\u044C (\u0441 \u043F\u0440\u043E\u0432\u0435\u0440\u043A\u043E\u0439 \u0438 \u043F\u043B\u0430\u043D\u043E\u043C \u043E\u0442\u043A\u0430\u0442\u0430)",adr:"\u0421\u043E\u0437\u0434\u0430\u0442\u044C ADR (\u0437\u0430\u043F\u0438\u0441\u044C \u0430\u0440\u0445\u0438\u0442\u0435\u043A\u0442\u0443\u0440\u043D\u043E\u0433\u043E \u0440\u0435\u0448\u0435\u043D\u0438\u044F)",release:"\u0421\u0433\u0435\u043D\u0435\u0440\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0437\u0430\u043C\u0435\u0442\u043A\u0438 \u043A \u0440\u0435\u043B\u0438\u0437\u0443 (SemVer)",github:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0430 GitHub (\u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u0439/\u0437\u0430\u0449\u0438\u0442\u0430 \u0432\u0435\u0442\u043E\u043A \u0438 \u0442.\u0434.)",config:"\u0413\u0435\u043D\u0435\u0440\u0430\u0446\u0438\u044F/\u0438\u0441\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0435 config.godd (\u0430\u0432\u0442\u043E\u0434\u0435\u0442\u0435\u043A\u0442 \u0441\u0442\u0435\u043A\u0430 + \u0432\u0430\u043B\u0438\u0434\u0430\u0446\u0438\u044F)",questions:"\u0418\u043D\u0442\u0435\u0440\u0430\u043A\u0442\u0438\u0432\u043D\u044B\u0439 Q&A \u0438\u0437 \u0441\u043F\u0438\u0441\u043A\u0430 \u0432\u043E\u043F\u0440\u043E\u0441\u043E\u0432 (\u8CEA\u554F\u30EA\u30B9\u30C8.md)",e2e:"E2E-\u0442\u0435\u0441\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435 \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435 (\u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u0435 \u0438 \u043F\u0440\u043E\u0432\u0435\u0440\u043A\u0430 \u043A\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043A\u0438\u0445 \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u0438\u0445 \u043F\u043E\u0442\u043E\u043A\u043E\u0432)",benchmark:"\u041A\u043E\u043D\u043A\u0443\u0440\u0435\u043D\u0442\u043D\u044B\u0439 \u0430\u043D\u0430\u043B\u0438\u0437 \u043F\u0440\u043E\u043C\u043F\u0442\u043E\u0432 (\u0441\u0440\u0430\u0432\u043D\u0435\u043D\u0438\u0435 GoDD \u0441 Cursor Rules / Claude Code / Codex)",map:"\u0413\u0440\u0430\u0444 \u0437\u043D\u0430\u043D\u0438\u0439 \u043F\u0440\u043E\u0435\u043A\u0442\u0430 (\u0432\u0438\u0437\u0443\u0430\u043B\u0438\u0437\u0430\u0446\u0438\u044F \u0430\u0440\u0445\u0438\u0442\u0435\u043A\u0442\u0443\u0440\u044B \u0438 \u0437\u0430\u0432\u0438\u0441\u0438\u043C\u043E\u0441\u0442\u0435\u0439 \u0447\u0435\u0440\u0435\u0437 Mermaid)",learn:"\u0421\u043E\u0445\u0440\u0430\u043D\u0435\u043D\u0438\u0435/\u0432\u044B\u0437\u043E\u0432 \u0441\u043F\u0435\u0446\u0438\u0444\u0438\u0447\u043D\u044B\u0445 \u0434\u043B\u044F \u043F\u0440\u043E\u0435\u043A\u0442\u0430 \u043F\u0430\u0442\u0442\u0435\u0440\u043D\u043E\u0432, \u0441\u043E\u0433\u043B\u0430\u0448\u0435\u043D\u0438\u0439 \u0438 \u043F\u043E\u0434\u0432\u043E\u0434\u043D\u044B\u0445 \u043A\u0430\u043C\u043D\u0435\u0439",diagram:"\u0410\u0432\u0442\u043E\u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u0435 \u0430\u0440\u0445\u0438\u0442\u0435\u043A\u0442\u0443\u0440\u043D\u044B\u0445 \u0434\u0438\u0430\u0433\u0440\u0430\u043C\u043C (\u043F\u043E\u0434\u0434\u0435\u0440\u0436\u043A\u0430 \u0430\u043A\u0442\u0443\u0430\u043B\u044C\u043D\u044B\u0445 Mermaid-\u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u043E\u0432)",slide:"\u0413\u0435\u043D\u0435\u0440\u0430\u0446\u0438\u044F \u0441\u043B\u0430\u0439\u0434\u043E\u0432 \u0438\u0437 \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u043E\u0432 \u043F\u0440\u043E\u0435\u043A\u0442\u0430 (\u0444\u043E\u0440\u043C\u0430\u0442 Marp Markdown)",design:"\u0413\u0435\u043D\u0435\u0440\u0430\u0446\u0438\u044F/\u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u0435 \u0432\u0438\u0437\u0443\u0430\u043B\u044C\u043D\u043E\u0433\u043E \u0434\u0438\u0437\u0430\u0439\u043D\u0430 \u0438\u0437 \u043A\u043E\u0434\u043E\u0432\u043E\u0439 \u0431\u0430\u0437\u044B (\u0441\u0438\u043D\u0445\u0440\u043E\u043D\u0438\u0437\u0430\u0446\u0438\u044F Pencil.dev)",metrics:"\u041E\u0442\u0447\u0451\u0442 \u043E\u0431 \u044D\u0444\u0444\u0435\u043A\u0442\u0438\u0432\u043D\u043E\u0441\u0442\u0438 \u0442\u043E\u043A\u0435\u043D\u043E\u0432 \u2014 \u0442\u043E\u043A\u0435\u043D\u044B \u043F\u0440\u043E\u043C\u043F\u0442\u043E\u0432 \u0432 \u044D\u0442\u043E\u0439 \u0441\u0435\u0441\u0441\u0438\u0438 vs. \u0431\u0430\u0437\u043E\u0432\u044B\u0439 \u0443\u0440\u043E\u0432\u0435\u043D\u044C Cursor Rules",scratchpad:"\u041F\u043E\u0441\u0442\u043E\u044F\u043D\u043D\u0430\u044F \u043F\u0430\u043C\u044F\u0442\u044C \u0434\u0438\u0430\u043B\u043E\u0433\u0430 \u2014 save/recall/search/list/forget \u0441 BM25 \u0432\u0435\u043A\u0442\u043E\u0440\u043D\u044B\u043C \u043F\u043E\u0438\u0441\u043A\u043E\u043C (Qdrant \u0438\u043B\u0438 \u043B\u043E\u043A\u0430\u043B\u044C\u043D\u044B\u0439 JSON \u0444\u043E\u043B\u043B\u0431\u044D\u043A)"}};var c6={dev:[{name:"request",required:!0},{name:"done_when",required:!1}],check:[{name:"target",required:!1}],docs:[{name:"target",required:!1}],ship:[{name:"title",required:!1}],review:[{name:"target",required:!1},{name:"action",required:!1}],test:[{name:"target",required:!1}],impact:[{name:"target",required:!1}],commit:[{name:"message",required:!1}],pr:[{name:"title",required:!1}],deploy:[{name:"target",required:!1}],adr:[{name:"title",required:!1}],release:[{name:"tag",required:!1}],setup:[{name:"preset",required:!1}],github:[{name:"request",required:!1}],config:[],questions:[{name:"action",required:!1}],e2e:[{name:"target",required:!1},{name:"url",required:!1}],benchmark:[{name:"target",required:!1}],map:[{name:"target",required:!1}],learn:[{name:"action",required:!1}],diagram:[{name:"target",required:!1}],slide:[{name:"type",required:!1},{name:"source",required:!1}],design:[{name:"target",required:!1},{name:"output",required:!1}],metrics:[],scratchpad:[{name:"action",required:!0}]},f$={en:{dev:{request:"Request details",done_when:"Completion criteria"},check:{target:"Check target (omit for all recent changes)"},docs:{target:"Target file/feature"},ship:{title:"PR title"},review:{target:"Target file/PR (e.g., PR URL, PR number, file path)",action:"Post-review action (approve / request-changes / comment)"},test:{target:"Test target"},impact:{target:"Analysis target"},commit:{message:"Commit message"},pr:{title:"PR title"},deploy:{target:"Deploy target"},adr:{title:"Decision title"},release:{tag:"Target tag (omit for HEAD since last release)"},setup:{preset:"Stack preset (omakase = recommended)"},github:{request:"Configuration request"},questions:{action:"Action: list (default) / resolve <id> / add <question>"},e2e:{target:"Target page/flow to test",url:"Base URL of the application"},benchmark:{target:"Competitor system to analyze (cursor-rules / claude-code / codex / all)"},map:{target:"Target scope (module/directory/layer to visualize)"},learn:{action:"Action: save <category> <content> / recall / list / forget <id>"},diagram:{target:"Target diagram scope (architecture / module / data-flow / erd / all)"},slide:{type:"Presentation type (sprint-review / architecture / release / onboarding)",source:"Source documents to base slides on"},design:{target:"Design target (all / page name / component name)",output:"Output format (pencil / tokens)"},scratchpad:{action:"Action: save <content> / recall <mem::address> / search <query> / list / forget <mem::address>"}},ja:{dev:{request:"\u4F9D\u983C\u5185\u5BB9",done_when:"\u5B8C\u4E86\u6761\u4EF6"},check:{target:"\u30C1\u30A7\u30C3\u30AF\u5BFE\u8C61\uFF08\u7701\u7565\u6642: \u76F4\u8FD1\u306E\u5909\u66F4\u5168\u4F53\uFF09"},docs:{target:"\u5BFE\u8C61\u30D5\u30A1\u30A4\u30EB/\u6A5F\u80FD"},ship:{title:"PR \u30BF\u30A4\u30C8\u30EB"},review:{target:"\u5BFE\u8C61\u30D5\u30A1\u30A4\u30EB/PR\uFF08\u4F8B: PR URL, PR\u756A\u53F7, \u30D5\u30A1\u30A4\u30EB\u30D1\u30B9\uFF09",action:"\u30EC\u30D3\u30E5\u30FC\u5F8C\u306E\u30A2\u30AF\u30B7\u30E7\u30F3\uFF08approve / request-changes / comment\uFF09"},test:{target:"\u30C6\u30B9\u30C8\u5BFE\u8C61"},impact:{target:"\u5206\u6790\u5BFE\u8C61"},commit:{message:"\u30B3\u30DF\u30C3\u30C8\u30E1\u30C3\u30BB\u30FC\u30B8"},pr:{title:"PR \u30BF\u30A4\u30C8\u30EB"},deploy:{target:"\u30C7\u30D7\u30ED\u30A4\u5148"},adr:{title:"\u5224\u65AD\u306E\u30BF\u30A4\u30C8\u30EB"},release:{tag:"\u5BFE\u8C61\u30BF\u30B0\uFF08\u7701\u7565\u6642: \u76F4\u8FD1\u30EA\u30EA\u30FC\u30B9\u304B\u3089 HEAD\uFF09"},setup:{preset:"\u30B9\u30BF\u30C3\u30AF\u30D7\u30EA\u30BB\u30C3\u30C8\uFF08omakase = \u63A8\u5968\u69CB\u6210\uFF09"},github:{request:"\u8A2D\u5B9A\u5185\u5BB9"},questions:{action:"\u64CD\u4F5C: list\uFF08\u30C7\u30D5\u30A9\u30EB\u30C8\uFF09/ resolve <id> / add <\u8CEA\u554F\u6587>"},e2e:{target:"\u30C6\u30B9\u30C8\u5BFE\u8C61\u306E\u30DA\u30FC\u30B8/\u30D5\u30ED\u30FC",url:"\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u306E\u30D9\u30FC\u30B9 URL"},benchmark:{target:"\u5206\u6790\u5BFE\u8C61\u306E\u7AF6\u5408\uFF08cursor-rules / claude-code / codex / all\uFF09"},map:{target:"\u53EF\u8996\u5316\u5BFE\u8C61\uFF08\u30E2\u30B8\u30E5\u30FC\u30EB/\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA/\u30EC\u30A4\u30E4\u30FC\uFF09"},learn:{action:"\u64CD\u4F5C: save <\u30AB\u30C6\u30B4\u30EA> <\u5185\u5BB9> / recall / list / forget <id>"},diagram:{target:"\u56F3\u306E\u5BFE\u8C61\u7BC4\u56F2\uFF08architecture / module / data-flow / erd / all\uFF09"},slide:{type:"\u30D7\u30EC\u30BC\u30F3\u7A2E\u985E\uFF08sprint-review / architecture / release / onboarding\uFF09",source:"\u30BD\u30FC\u30B9\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8"},design:{target:"\u30C7\u30B6\u30A4\u30F3\u5BFE\u8C61\uFF08all / \u30DA\u30FC\u30B8\u540D / \u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u540D\uFF09",output:"\u51FA\u529B\u5F62\u5F0F\uFF08pencil / tokens\uFF09"},scratchpad:{action:"\u64CD\u4F5C: save <\u5185\u5BB9> / recall <mem::\u30A2\u30C9\u30EC\u30B9> / search <\u30AF\u30A8\u30EA> / list / forget <mem::\u30A2\u30C9\u30EC\u30B9>"}},ru:{dev:{request:"\u041E\u043F\u0438\u0441\u0430\u043D\u0438\u0435 \u0437\u0430\u0434\u0430\u0447\u0438",done_when:"\u041A\u0440\u0438\u0442\u0435\u0440\u0438\u0438 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u0438\u044F"},check:{target:"\u041E\u0431\u044A\u0435\u043A\u0442 \u043F\u0440\u043E\u0432\u0435\u0440\u043A\u0438 (\u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E: \u0432\u0441\u0435 \u043D\u0435\u0434\u0430\u0432\u043D\u0438\u0435 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F)"},docs:{target:"\u0426\u0435\u043B\u0435\u0432\u043E\u0439 \u0444\u0430\u0439\u043B/\u0444\u0443\u043D\u043A\u0446\u0438\u044F"},ship:{title:"\u0417\u0430\u0433\u043E\u043B\u043E\u0432\u043E\u043A PR"},review:{target:"\u0426\u0435\u043B\u0435\u0432\u043E\u0439 \u0444\u0430\u0439\u043B/PR (URL PR, \u043D\u043E\u043C\u0435\u0440 PR, \u043F\u0443\u0442\u044C \u043A \u0444\u0430\u0439\u043B\u0443)",action:"\u0414\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u043F\u043E\u0441\u043B\u0435 \u0440\u0435\u0432\u044C\u044E (approve / request-changes / comment)"},test:{target:"\u041E\u0431\u044A\u0435\u043A\u0442 \u0442\u0435\u0441\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F"},impact:{target:"\u041E\u0431\u044A\u0435\u043A\u0442 \u0430\u043D\u0430\u043B\u0438\u0437\u0430"},commit:{message:"\u0421\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435 \u043A\u043E\u043C\u043C\u0438\u0442\u0430"},pr:{title:"\u0417\u0430\u0433\u043E\u043B\u043E\u0432\u043E\u043A PR"},deploy:{target:"\u0426\u0435\u043B\u044C \u0440\u0430\u0437\u0432\u0451\u0440\u0442\u044B\u0432\u0430\u043D\u0438\u044F"},adr:{title:"\u0417\u0430\u0433\u043E\u043B\u043E\u0432\u043E\u043A \u0440\u0435\u0448\u0435\u043D\u0438\u044F"},release:{tag:"\u0426\u0435\u043B\u0435\u0432\u043E\u0439 \u0442\u0435\u0433 (\u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E: \u043E\u0442 HEAD \u0434\u043E \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0435\u0433\u043E \u0440\u0435\u043B\u0438\u0437\u0430)"},setup:{preset:"\u041F\u0440\u0435\u0441\u0435\u0442 \u0441\u0442\u0435\u043A\u0430 (omakase = \u0440\u0435\u043A\u043E\u043C\u0435\u043D\u0434\u0443\u0435\u043C\u0430\u044F \u043A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044F)"},github:{request:"\u041E\u043F\u0438\u0441\u0430\u043D\u0438\u0435 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438"},questions:{action:"\u0414\u0435\u0439\u0441\u0442\u0432\u0438\u0435: list (\u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E) / resolve <id> / add <\u0432\u043E\u043F\u0440\u043E\u0441>"},e2e:{target:"\u0426\u0435\u043B\u0435\u0432\u0430\u044F \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0430/\u043F\u043E\u0442\u043E\u043A \u0434\u043B\u044F \u0442\u0435\u0441\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F",url:"\u0411\u0430\u0437\u043E\u0432\u044B\u0439 URL \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u044F"},benchmark:{target:"\u041A\u043E\u043D\u043A\u0443\u0440\u0435\u043D\u0442\u043D\u0430\u044F \u0441\u0438\u0441\u0442\u0435\u043C\u0430 \u0434\u043B\u044F \u0430\u043D\u0430\u043B\u0438\u0437\u0430 (cursor-rules / claude-code / codex / all)"},map:{target:"\u0426\u0435\u043B\u0435\u0432\u043E\u0439 \u043E\u0431\u044A\u0435\u043A\u0442 (\u043C\u043E\u0434\u0443\u043B\u044C/\u043A\u0430\u0442\u0430\u043B\u043E\u0433/\u0441\u043B\u043E\u0439 \u0434\u043B\u044F \u0432\u0438\u0437\u0443\u0430\u043B\u0438\u0437\u0430\u0446\u0438\u0438)"},learn:{action:"\u0414\u0435\u0439\u0441\u0442\u0432\u0438\u0435: save <\u043A\u0430\u0442\u0435\u0433\u043E\u0440\u0438\u044F> <\u0441\u043E\u0434\u0435\u0440\u0436\u0430\u043D\u0438\u0435> / recall / list / forget <id>"},diagram:{target:"\u0426\u0435\u043B\u0435\u0432\u043E\u0439 \u043E\u0431\u044A\u0435\u043A\u0442 \u0434\u0438\u0430\u0433\u0440\u0430\u043C\u043C\u044B (architecture / module / data-flow / erd / all)"},slide:{type:"\u0422\u0438\u043F \u043F\u0440\u0435\u0437\u0435\u043D\u0442\u0430\u0446\u0438\u0438 (sprint-review / architecture / release / onboarding)",source:"\u0418\u0441\u0445\u043E\u0434\u043D\u044B\u0435 \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u044B"},design:{target:"\u0426\u0435\u043B\u044C \u0434\u0438\u0437\u0430\u0439\u043D\u0430 (all / \u0438\u043C\u044F \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u044B / \u0438\u043C\u044F \u043A\u043E\u043C\u043F\u043E\u043D\u0435\u043D\u0442\u0430)",output:"\u0424\u043E\u0440\u043C\u0430\u0442 \u0432\u044B\u0432\u043E\u0434\u0430 (pencil / tokens)"},scratchpad:{action:"\u0414\u0435\u0439\u0441\u0442\u0432\u0438\u0435: save <\u0442\u0435\u043A\u0441\u0442> / recall <mem::\u0430\u0434\u0440\u0435\u0441> / search <\u0437\u0430\u043F\u0440\u043E\u0441> / list / forget <mem::\u0430\u0434\u0440\u0435\u0441>"}}},l6=["dev","check","docs","ship","setup","review","test","impact","commit","push","pr","deploy","adr","release","github","config","questions","e2e","map","learn","scratchpad","diagram","slide","design","metrics"];var p$={dev:{slugs:["common","dev"]},ship:{slugs:["common","commit","push","pr","check"]},review:{slugs:["common","review","check"]}};var Pc=new Set(["dev","review","setup","test","impact","docs","check","deploy","adr","release","e2e","benchmark","map","learn","diagram","slide","design"]);function FT(e){return e in p$||Pc.has(e)}function m$(e){if(p$[e])return p$[e].slugs;if(Pc.has(e))return["common",e]}var Xp=new Set(["config","questions","metrics","scratchpad"]);function g$(e="en"){let t=M.toolPrefix,r=d$[e]??d$.en;return l6.map(i=>({name:`${t}${i}`,description:r[i]??d$.en[i]}))}function VT(e="en"){let t=M.toolPrefix,r=f$[e]??f$.en,i=f$.en;return g$(e).map(n=>{let o=n.name.replace(t,""),s=c6[o]??[];return{name:n.name,description:n.description,inputSchema:{type:"object",properties:Object.fromEntries(s.map(a=>[a.name,{type:"string",description:r[o]?.[a.name]??i[o]?.[a.name]??a.name}])),required:s.filter(a=>a.required).map(a=>a.name)}}})}var ui=require("node:fs"),nE=require("node:path"),iE=Bo(c$(),1);var je=require("node:fs"),Me=require("node:path"),WT=require("node:readline"),Go=require("node:child_process");var u6={selectDisplayLanguage:"Select display language:",selectMainLanguage:"Select the main language for your project:",selectSubLanguages:"Select sub-languages used in your team:",selectSubLanguagesHint:"(comma-separated numbers, or press Enter to skip)",skipSubLanguages:"No sub-languages selected.",scanningProject:"Scanning project...",detectedStack:"Detected stack:",confirmStack:"Is this correct?",manualStackEntry:"Please select your tech stack manually.",selectProjectType:"What are you building? (select all that apply)",projectTypes:{web:"Web App (frontend + backend)",api:"API / Backend only",mobile:"Mobile App",game:"Game",cli:"CLI / Library / Script",desktop:"Desktop App"},selectProgrammingLanguages:"Programming languages:",selectFrontend:"Frontend frameworks:",selectBackend:"Backend frameworks:",selectDatabase:"Databases:",selectOrm:"ORM:",selectInfra:"Infrastructure:",selectGame:"Game engines / frameworks:",selectMobile:"Mobile / Cross-platform:",selectOther:"Other technologies not listed above (comma-separated, or press Enter to skip):",toolRecommendationsTitle:"Recommended tools for your stack:",toolInstallMode:"How would you like to install?",toolInstallDefault:"Default (install all)",toolInstallCustom:"Custom (choose individually)",toolInstallSkip:"Skip (install later)",toolInstallPrompt:"Install?",toolInstalling:"Installing",toolInstallSuccess:"Installed successfully.",toolAlreadyInstalled:"Already installed (up to date). Skipped.",toolInstallFailed:"Installation failed. You can install it later via setup prompt.",toolSkippedInProject:"Already in package.json \u2014 skipped",toolGuidance:"Manual setup required \u2014 see message above",toolSummaryTitle:"Installation Summary",toolSummarySuccess:"Installed",toolSummaryAlready:"Already up to date",toolSummarySkipped:"In package.json",toolSummaryGuidance:"Manual setup",toolSummaryFailed:"Failed",toolRetryHint:"Retry",auditRunning:"Running security audit...",auditClean:"No vulnerabilities found",auditWarning:"Vulnerabilities detected",auditFixPrompt:"Run audit fix to resolve high/critical vulnerabilities?",auditFixSuccess:"Audit fix applied successfully",auditFixFailed:"Audit fix could not resolve all vulnerabilities \u2014 review manually",toolUniversalTag:"all projects",toolStackSpecificTag:"your stack",toolCategories:{vcs:"Version Control",browser_automation:"Browser Automation",e2e_testing:"E2E Testing",unit_testing:"Unit Testing",linting:"Linting",formatting:"Formatting",type_checking:"Type Checking",coverage:"Coverage",documentation:"Documentation",secret_scanning:"Secret Scanning",security_analysis:"Security Analysis",unused_code:"Unused Code Detection",dependency_analysis:"Dependency Analysis"},githubDetected:"GitHub repository detected.",githubConfigPrompt:"Enable auto-delete for merged branches?",githubConfigSkipped:"Skipped GitHub auto-delete configuration.",githubConfigSuccess:"\u2713 Merged branches will be auto-deleted on GitHub.",githubConfigFailed:"\u2717 Could not configure auto-delete. Run `gh repo edit --delete-branch-on-merge` manually.",configCreated:"Generated",configExists:"already exists",configOverwritten:"Overwritten",useForceFlag:"Use --force to overwrite.",languages:"Languages",frontend:"Frontend",backend:"Backend",database:"Database",orm:"ORM",infra:"Infra",game:"Game",mobile:"Mobile",other:"Other",pressEnterToClose:"Press Enter to close...",unknownCommand:"Unknown command",usage:"Usage:",installSuccess:"Registered with Cursor!",installUpdated:"Configuration updated",installUnchanged:"Already up to date",licenseNotSet:"License key is not set. Set GODD_LICENSE_KEY environment variable or run: godd install --license-key=YOUR_KEY",restartCursor:"Restart Cursor to activate the MCP server.",installFailed:"Installation failed:",uninstallTitle:"Uninstall",uninstallSuccess:"Removed from Cursor",uninstallNotFound:"Not found (already removed)",uninstallFailed:"Uninstall failed:",initTitle:"Project initialization",initAutoHint:"Non-interactive mode (--auto): stack scan + config only; tool install wizard skipped. Use interactive init when you need guided tool setup.",yes:"Yes",no:"No",none:"None",invalidChoice:"Invalid choice. Please try again.",enterNumbers:"Enter numbers",updateAvailable:"A newer version is available:",updateCurrent:"current:",licenseMissing:"GODD_LICENSE_KEY environment variable is not set.",licenseMissingHint:"Re-register with: godd install --license-key=YOUR_KEY",licenseFailed:"License validation failed",configNotFound:"not found in project directory.",configNotFoundHint:'Run "godd init" to generate project configuration for better prompt accuracy.',configUnknownValues:"contains unknown values:",didYouMean:"did you mean",serverStarted:"started (stdio)",corruptMcpJson:"is corrupt. Backed up to {backup} and creating a fresh config.",licenseNotConfigured:"License key is not configured. Set GODD_LICENSE_KEY and restart Cursor.",resolvePromptFailed:"Failed to resolve prompt",resolveToolFailed:"Failed to resolve tool",localToolFailed:"Local tool execution failed",helpInstall:"Register MCP server into Cursor",helpInit:"Initialize project (interactive; use --auto for scan-only)",helpUninstall:"Remove MCP server from Cursor",helpServe:"Start MCP stdio server (called by Cursor)",helpVersion:"Show installed version and check for updates",helpVersionFlag:"Print version number and exit",versionUpToDate:"Up to date",versionUpdateAvailable:"A newer version is available",versionChecking:"Checking for updates...",versionCheckFailed:"Could not check for updates",fatalError:"Fatal error",compositeMissingSlugs:"WARNING: The following sections could not be loaded",goddFilesTitle:"GoDD managed files configuration:",goddFilesDocsPrompt:"Documentation directory (press Enter for default: documents):",goddFilesGitattributesPrompt:"Auto-create .gitattributes on init if missing?",goddFilesDependabotPrompt:"Auto-create .github/dependabot.yml on init if missing?",goddFilesCreated:"GoDD-MCP-alpha.md generated."},d6={selectDisplayLanguage:"\u8868\u793A\u8A00\u8A9E\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044:",selectMainLanguage:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u30E1\u30A4\u30F3\u8A00\u8A9E\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044:",selectSubLanguages:"\u30C1\u30FC\u30E0\u3067\u4F7F\u7528\u3059\u308B\u30B5\u30D6\u8A00\u8A9E\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044:",selectSubLanguagesHint:"(\u30AB\u30F3\u30DE\u533A\u5207\u308A\u306E\u756A\u53F7\u3001\u307E\u305F\u306FEnter\u3067\u30B9\u30AD\u30C3\u30D7)",skipSubLanguages:"\u30B5\u30D6\u8A00\u8A9E\u306F\u9078\u629E\u3055\u308C\u307E\u305B\u3093\u3067\u3057\u305F\u3002",scanningProject:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u30B9\u30AD\u30E3\u30F3\u4E2D...",detectedStack:"\u691C\u51FA\u3055\u308C\u305F\u30B9\u30BF\u30C3\u30AF:",confirmStack:"\u3053\u306E\u5185\u5BB9\u3067\u6B63\u3057\u3044\u3067\u3059\u304B\uFF1F",manualStackEntry:"\u6280\u8853\u30B9\u30BF\u30C3\u30AF\u3092\u624B\u52D5\u3067\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044\u3002",selectProjectType:"\u4F55\u3092\u4F5C\u308A\u307E\u3059\u304B\uFF1F\uFF08\u8A72\u5F53\u3059\u308B\u3082\u306E\u3092\u3059\u3079\u3066\u9078\u629E\uFF09",projectTypes:{web:"Web \u30A2\u30D7\u30EA\uFF08\u30D5\u30ED\u30F3\u30C8 + \u30D0\u30C3\u30AF\u30A8\u30F3\u30C9\uFF09",api:"API / \u30D0\u30C3\u30AF\u30A8\u30F3\u30C9\u306E\u307F",mobile:"\u30E2\u30D0\u30A4\u30EB\u30A2\u30D7\u30EA",game:"\u30B2\u30FC\u30E0",cli:"CLI / \u30E9\u30A4\u30D6\u30E9\u30EA / \u30B9\u30AF\u30EA\u30D7\u30C8",desktop:"\u30C7\u30B9\u30AF\u30C8\u30C3\u30D7\u30A2\u30D7\u30EA"},selectProgrammingLanguages:"\u30D7\u30ED\u30B0\u30E9\u30DF\u30F3\u30B0\u8A00\u8A9E:",selectFrontend:"\u30D5\u30ED\u30F3\u30C8\u30A8\u30F3\u30C9\u30D5\u30EC\u30FC\u30E0\u30EF\u30FC\u30AF:",selectBackend:"\u30D0\u30C3\u30AF\u30A8\u30F3\u30C9\u30D5\u30EC\u30FC\u30E0\u30EF\u30FC\u30AF:",selectDatabase:"\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9:",selectOrm:"ORM:",selectInfra:"\u30A4\u30F3\u30D5\u30E9:",selectGame:"\u30B2\u30FC\u30E0\u30A8\u30F3\u30B8\u30F3 / \u30D5\u30EC\u30FC\u30E0\u30EF\u30FC\u30AF:",selectMobile:"\u30E2\u30D0\u30A4\u30EB / \u30AF\u30ED\u30B9\u30D7\u30E9\u30C3\u30C8\u30D5\u30A9\u30FC\u30E0:",selectOther:"\u4E0A\u8A18\u306B\u306A\u3044\u6280\u8853\uFF08\u30AB\u30F3\u30DE\u533A\u5207\u308A\u3067\u5165\u529B\u3001\u30B9\u30AD\u30C3\u30D7\u306F Enter\uFF09:",toolRecommendationsTitle:"\u30B9\u30BF\u30C3\u30AF\u306B\u63A8\u5968\u3055\u308C\u308B\u30C4\u30FC\u30EB:",toolInstallMode:"\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u65B9\u6CD5\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044:",toolInstallDefault:"\u30C7\u30D5\u30A9\u30EB\u30C8\uFF08\u3059\u3079\u3066\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\uFF09",toolInstallCustom:"\u30AB\u30B9\u30BF\u30E0\uFF08\u500B\u5225\u306B\u9078\u629E\uFF09",toolInstallSkip:"\u30B9\u30AD\u30C3\u30D7\uFF08\u5F8C\u3067\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\uFF09",toolInstallPrompt:"\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3057\u307E\u3059\u304B\uFF1F",toolInstalling:"\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u4E2D",toolInstallSuccess:"\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u304C\u5B8C\u4E86\u3057\u307E\u3057\u305F\u3002",toolAlreadyInstalled:"\u6700\u65B0\u7248\u304C\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u6E08\u307F\u3067\u3059\u3002\u30B9\u30AD\u30C3\u30D7\u3057\u307E\u3057\u305F\u3002",toolInstallFailed:"\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002setup \u30D7\u30ED\u30F3\u30D7\u30C8\u3067\u5F8C\u304B\u3089\u5BFE\u5FDC\u3067\u304D\u307E\u3059\u3002",toolSkippedInProject:"package.json \u306B\u5B9A\u7FA9\u6E08\u307F \u2014 \u30B9\u30AD\u30C3\u30D7",toolGuidance:"\u624B\u52D5\u30BB\u30C3\u30C8\u30A2\u30C3\u30D7\u304C\u5FC5\u8981\u3067\u3059 \u2014 \u4E0A\u8A18\u306E\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u53C2\u7167\u3057\u3066\u304F\u3060\u3055\u3044",toolSummaryTitle:"\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u7D50\u679C\u30B5\u30DE\u30EA\u30FC",toolSummarySuccess:"\u6210\u529F",toolSummaryAlready:"\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u6E08\u307F",toolSummarySkipped:"package.json \u5B9A\u7FA9\u6E08\u307F",toolSummaryGuidance:"\u624B\u52D5\u30BB\u30C3\u30C8\u30A2\u30C3\u30D7",toolSummaryFailed:"\u5931\u6557",toolRetryHint:"\u518D\u8A66\u884C",auditRunning:"\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u76E3\u67FB\u3092\u5B9F\u884C\u4E2D...",auditClean:"\u8106\u5F31\u6027\u306F\u691C\u51FA\u3055\u308C\u307E\u305B\u3093\u3067\u3057\u305F",auditWarning:"\u8106\u5F31\u6027\u304C\u691C\u51FA\u3055\u308C\u307E\u3057\u305F",auditFixPrompt:"audit fix \u3092\u5B9F\u884C\u3057\u3066 high/critical \u8106\u5F31\u6027\u3092\u4FEE\u6B63\u3057\u307E\u3059\u304B\uFF1F",auditFixSuccess:"audit fix \u304C\u6B63\u5E38\u306B\u9069\u7528\u3055\u308C\u307E\u3057\u305F",auditFixFailed:"audit fix \u3067\u3059\u3079\u3066\u306E\u8106\u5F31\u6027\u3092\u89E3\u6D88\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F \u2014 \u624B\u52D5\u3067\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044",toolUniversalTag:"\u5168\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u5171\u901A",toolStackSpecificTag:"\u30B9\u30BF\u30C3\u30AF\u56FA\u6709",toolCategories:{vcs:"\u30D0\u30FC\u30B8\u30E7\u30F3\u7BA1\u7406",browser_automation:"\u30D6\u30E9\u30A6\u30B6\u81EA\u52D5\u5316",e2e_testing:"E2E \u30C6\u30B9\u30C8",unit_testing:"\u30E6\u30CB\u30C3\u30C8\u30C6\u30B9\u30C8",linting:"\u30EA\u30F3\u30BF\u30FC",formatting:"\u30D5\u30A9\u30FC\u30DE\u30C3\u30BF\u30FC",type_checking:"\u578B\u30C1\u30A7\u30C3\u30AF",coverage:"\u30AB\u30D0\u30EC\u30C3\u30B8",documentation:"\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u751F\u6210",secret_scanning:"\u30B7\u30FC\u30AF\u30EC\u30C3\u30C8\u30B9\u30AD\u30E3\u30F3",security_analysis:"\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u5206\u6790",unused_code:"\u672A\u4F7F\u7528\u30B3\u30FC\u30C9\u691C\u51FA",dependency_analysis:"\u4F9D\u5B58\u5206\u6790"},githubDetected:"GitHub \u30EA\u30DD\u30B8\u30C8\u30EA\u3092\u691C\u51FA\u3057\u307E\u3057\u305F\u3002",githubConfigPrompt:"\u30DE\u30FC\u30B8\u6E08\u307F\u30D6\u30E9\u30F3\u30C1\u306E\u81EA\u52D5\u524A\u9664\u3092\u6709\u52B9\u306B\u3057\u307E\u3059\u304B\uFF1F",githubConfigSkipped:"GitHub \u81EA\u52D5\u524A\u9664\u306E\u8A2D\u5B9A\u3092\u30B9\u30AD\u30C3\u30D7\u3057\u307E\u3057\u305F\u3002",githubConfigSuccess:"\u2713 \u30DE\u30FC\u30B8\u6E08\u307F\u30D6\u30E9\u30F3\u30C1\u306F GitHub \u4E0A\u3067\u81EA\u52D5\u524A\u9664\u3055\u308C\u307E\u3059\u3002",githubConfigFailed:"\u2717 \u81EA\u52D5\u524A\u9664\u306E\u8A2D\u5B9A\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002\u624B\u52D5\u3067 `gh repo edit --delete-branch-on-merge` \u3092\u5B9F\u884C\u3057\u3066\u304F\u3060\u3055\u3044\u3002",configCreated:"\u3092\u751F\u6210\u3057\u307E\u3057\u305F",configExists:"\u306F\u65E2\u306B\u5B58\u5728\u3057\u307E\u3059",configOverwritten:"\u3092\u4E0A\u66F8\u304D\u3057\u307E\u3057\u305F",useForceFlag:"\u4E0A\u66F8\u304D\u3059\u308B\u5834\u5408\u306F --force \u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044\u3002",languages:"\u8A00\u8A9E",frontend:"\u30D5\u30ED\u30F3\u30C8\u30A8\u30F3\u30C9",backend:"\u30D0\u30C3\u30AF\u30A8\u30F3\u30C9",database:"\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9",orm:"ORM",infra:"\u30A4\u30F3\u30D5\u30E9",game:"\u30B2\u30FC\u30E0",mobile:"\u30E2\u30D0\u30A4\u30EB",other:"\u305D\u306E\u4ED6",pressEnterToClose:"Enter \u30AD\u30FC\u3092\u62BC\u3059\u3068\u9589\u3058\u307E\u3059...",unknownCommand:"\u4E0D\u660E\u306A\u30B3\u30DE\u30F3\u30C9",usage:"\u4F7F\u3044\u65B9:",installSuccess:"Cursor \u306B\u767B\u9332\u3057\u307E\u3057\u305F\uFF01",installUpdated:"\u8A2D\u5B9A\u3092\u66F4\u65B0\u3057\u307E\u3057\u305F",installUnchanged:"\u65E2\u306B\u6700\u65B0\u306E\u8A2D\u5B9A\u3067\u3059",licenseNotSet:"\u30E9\u30A4\u30BB\u30F3\u30B9\u30AD\u30FC\u304C\u672A\u8A2D\u5B9A\u3067\u3059\u3002\u74B0\u5883\u5909\u6570 GODD_LICENSE_KEY \u3092\u8A2D\u5B9A\u3059\u308B\u304B\u3001godd install --license-key=YOUR_KEY \u3067\u767B\u9332\u3057\u3066\u304F\u3060\u3055\u3044\u3002",restartCursor:"Cursor \u3092\u518D\u8D77\u52D5\u3059\u308B\u3068 MCP \u30B5\u30FC\u30D0\u30FC\u304C\u6709\u52B9\u306B\u306A\u308A\u307E\u3059\u3002",installFailed:"\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u306B\u5931\u6557\u3057\u307E\u3057\u305F:",uninstallTitle:"\u30A2\u30F3\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB",uninstallSuccess:"Cursor \u304B\u3089\u524A\u9664\u3057\u307E\u3057\u305F",uninstallNotFound:"\u767B\u9332\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3067\u3057\u305F\uFF08\u65E2\u306B\u524A\u9664\u6E08\u307F\uFF09",uninstallFailed:"\u30A2\u30F3\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u306B\u5931\u6557\u3057\u307E\u3057\u305F:",initTitle:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u521D\u671F\u5316",initAutoHint:"\u975E\u5BFE\u8A71\u30E2\u30FC\u30C9\uFF08--auto\uFF09: \u30B9\u30BF\u30C3\u30AF\u81EA\u52D5\u691C\u51FA\u3068 config.godd \u306E\u307F\u3002\u30C4\u30FC\u30EB\u5C0E\u5165\u30A6\u30A3\u30B6\u30FC\u30C9\u306F\u7701\u7565\u3055\u308C\u307E\u3059\u3002\u624B\u52D5\u3067\u30C4\u30FC\u30EB\u3092\u9078\u3073\u305F\u3044\u5834\u5408\u306F\u5BFE\u8A71\u5F0F init \u3092\u4F7F\u3063\u3066\u304F\u3060\u3055\u3044\u3002",yes:"\u306F\u3044",no:"\u3044\u3044\u3048",none:"\u306A\u3057",invalidChoice:"\u7121\u52B9\u306A\u9078\u629E\u3067\u3059\u3002\u3082\u3046\u4E00\u5EA6\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044\u3002",enterNumbers:"\u756A\u53F7\u3092\u5165\u529B",updateAvailable:"\u65B0\u3057\u3044\u30D0\u30FC\u30B8\u30E7\u30F3\u304C\u3042\u308A\u307E\u3059:",updateCurrent:"\u73FE\u5728:",licenseMissing:"GODD_LICENSE_KEY \u74B0\u5883\u5909\u6570\u304C\u8A2D\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002",licenseMissingHint:"godd install --license-key=YOUR_KEY \u3067\u518D\u767B\u9332\u3057\u3066\u304F\u3060\u3055\u3044\u3002",licenseFailed:"\u30E9\u30A4\u30BB\u30F3\u30B9\u691C\u8A3C\u5931\u6557",configNotFound:"\u304C\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306B\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002",configNotFoundHint:"\u300Cgodd init\u300D\u3092\u5B9F\u884C\u3057\u3066\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u8A2D\u5B9A\u3092\u751F\u6210\u3059\u308B\u3068\u3001\u30D7\u30ED\u30F3\u30D7\u30C8\u306E\u7CBE\u5EA6\u304C\u5411\u4E0A\u3057\u307E\u3059\u3002",configUnknownValues:"\u306B\u4E0D\u660E\u306A\u5024\u304C\u542B\u307E\u308C\u3066\u3044\u307E\u3059:",didYouMean:"\u3082\u3057\u304B\u3057\u3066",serverStarted:"\u3092\u8D77\u52D5\u3057\u307E\u3057\u305F (stdio)",corruptMcpJson:"\u304C\u58CA\u308C\u3066\u3044\u307E\u3059\u3002{backup} \u306B\u30D0\u30C3\u30AF\u30A2\u30C3\u30D7\u3092\u4F5C\u6210\u3057\u3001\u65B0\u898F\u8A2D\u5B9A\u3092\u4F5C\u6210\u3057\u307E\u3059\u3002",licenseNotConfigured:"\u30E9\u30A4\u30BB\u30F3\u30B9\u30AD\u30FC\u304C\u8A2D\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002GODD_LICENSE_KEY \u3092\u8A2D\u5B9A\u3057\u3066 Cursor \u3092\u518D\u8D77\u52D5\u3057\u3066\u304F\u3060\u3055\u3044\u3002",resolvePromptFailed:"\u30D7\u30ED\u30F3\u30D7\u30C8\u306E\u89E3\u6C7A\u306B\u5931\u6557\u3057\u307E\u3057\u305F",resolveToolFailed:"\u30C4\u30FC\u30EB\u306E\u89E3\u6C7A\u306B\u5931\u6557\u3057\u307E\u3057\u305F",localToolFailed:"\u30ED\u30FC\u30AB\u30EB\u30C4\u30FC\u30EB\u306E\u5B9F\u884C\u306B\u5931\u6557\u3057\u307E\u3057\u305F",helpInstall:"MCP \u30B5\u30FC\u30D0\u30FC\u3092 Cursor \u306B\u767B\u9332",helpInit:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u521D\u671F\u5316\uFF08\u5BFE\u8A71\u5F0F\uFF0F--auto \u3067\u30B9\u30AD\u30E3\u30F3\u306E\u307F\uFF09",helpUninstall:"MCP \u30B5\u30FC\u30D0\u30FC\u3092 Cursor \u304B\u3089\u524A\u9664",helpServe:"MCP stdio \u30B5\u30FC\u30D0\u30FC\u3092\u8D77\u52D5\uFF08Cursor \u304C\u547C\u3073\u51FA\u3057\uFF09",helpVersion:"\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u6E08\u307F\u30D0\u30FC\u30B8\u30E7\u30F3\u3092\u8868\u793A\u3057\u6700\u65B0\u7248\u3092\u78BA\u8A8D",helpVersionFlag:"\u30D0\u30FC\u30B8\u30E7\u30F3\u756A\u53F7\u3092\u8868\u793A\u3057\u3066\u7D42\u4E86",versionUpToDate:"\u6700\u65B0\u7248\u3067\u3059",versionUpdateAvailable:"\u65B0\u3057\u3044\u30D0\u30FC\u30B8\u30E7\u30F3\u304C\u3042\u308A\u307E\u3059",versionChecking:"\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8\u3092\u78BA\u8A8D\u4E2D...",versionCheckFailed:"\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8\u78BA\u8A8D\u306B\u5931\u6557\u3057\u307E\u3057\u305F",fatalError:"\u81F4\u547D\u7684\u306A\u30A8\u30E9\u30FC",compositeMissingSlugs:"\u8B66\u544A: \u4EE5\u4E0B\u306E\u30BB\u30AF\u30B7\u30E7\u30F3\u3092\u8AAD\u307F\u8FBC\u3081\u307E\u305B\u3093\u3067\u3057\u305F",goddFilesTitle:"GoDD \u7BA1\u7406\u30D5\u30A1\u30A4\u30EB\u306E\u8A2D\u5B9A:",goddFilesDocsPrompt:"\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u3092\u4FDD\u5B58\u3059\u308B\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\uFF08Enter \u3067\u30C7\u30D5\u30A9\u30EB\u30C8: documents\uFF09:",goddFilesGitattributesPrompt:"init \u6642\u306B .gitattributes \u304C\u5B58\u5728\u3057\u306A\u3044\u5834\u5408\u3001\u81EA\u52D5\u4F5C\u6210\u3057\u307E\u3059\u304B\uFF1F",goddFilesDependabotPrompt:"init \u6642\u306B .github/dependabot.yml \u304C\u5B58\u5728\u3057\u306A\u3044\u5834\u5408\u3001\u81EA\u52D5\u4F5C\u6210\u3057\u307E\u3059\u304B\uFF1F",goddFilesCreated:"GoDD-MCP-alpha.md \u3092\u751F\u6210\u3057\u307E\u3057\u305F\u3002"},f6={selectDisplayLanguage:"\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u044F\u0437\u044B\u043A \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F:",selectMainLanguage:"\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u043E\u0441\u043D\u043E\u0432\u043D\u043E\u0439 \u044F\u0437\u044B\u043A \u043F\u0440\u043E\u0435\u043A\u0442\u0430:",selectSubLanguages:"\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0434\u043E\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u0435 \u044F\u0437\u044B\u043A\u0438 \u043A\u043E\u043C\u0430\u043D\u0434\u044B:",selectSubLanguagesHint:"(\u043D\u043E\u043C\u0435\u0440\u0430 \u0447\u0435\u0440\u0435\u0437 \u0437\u0430\u043F\u044F\u0442\u0443\u044E \u0438\u043B\u0438 Enter \u0434\u043B\u044F \u043F\u0440\u043E\u043F\u0443\u0441\u043A\u0430)",skipSubLanguages:"\u0414\u043E\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u0435 \u044F\u0437\u044B\u043A\u0438 \u043D\u0435 \u0432\u044B\u0431\u0440\u0430\u043D\u044B.",scanningProject:"\u0421\u043A\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435 \u043F\u0440\u043E\u0435\u043A\u0442\u0430...",detectedStack:"\u041E\u0431\u043D\u0430\u0440\u0443\u0436\u0435\u043D\u043D\u044B\u0439 \u0441\u0442\u0435\u043A:",confirmStack:"\u0412\u0441\u0451 \u0432\u0435\u0440\u043D\u043E?",manualStackEntry:"\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0442\u0435\u0445\u043D\u0438\u0447\u0435\u0441\u043A\u0438\u0439 \u0441\u0442\u0435\u043A \u0432\u0440\u0443\u0447\u043D\u0443\u044E.",selectProjectType:"\u0427\u0442\u043E \u0432\u044B \u0441\u043E\u0437\u0434\u0430\u0451\u0442\u0435? (\u0432\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0432\u0441\u0435 \u043F\u043E\u0434\u0445\u043E\u0434\u044F\u0449\u0438\u0435)",projectTypes:{web:"\u0412\u0435\u0431-\u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435 (\u0444\u0440\u043E\u043D\u0442\u0435\u043D\u0434 + \u0431\u044D\u043A\u0435\u043D\u0434)",api:"API / \u0442\u043E\u043B\u044C\u043A\u043E \u0431\u044D\u043A\u0435\u043D\u0434",mobile:"\u041C\u043E\u0431\u0438\u043B\u044C\u043D\u043E\u0435 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435",game:"\u0418\u0433\u0440\u0430",cli:"CLI / \u0411\u0438\u0431\u043B\u0438\u043E\u0442\u0435\u043A\u0430 / \u0421\u043A\u0440\u0438\u043F\u0442",desktop:"\u0414\u0435\u0441\u043A\u0442\u043E\u043F\u043D\u043E\u0435 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435"},selectProgrammingLanguages:"\u042F\u0437\u044B\u043A\u0438 \u043F\u0440\u043E\u0433\u0440\u0430\u043C\u043C\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F:",selectFrontend:"\u0424\u0440\u043E\u043D\u0442\u0435\u043D\u0434-\u0444\u0440\u0435\u0439\u043C\u0432\u043E\u0440\u043A\u0438:",selectBackend:"\u0411\u044D\u043A\u0435\u043D\u0434-\u0444\u0440\u0435\u0439\u043C\u0432\u043E\u0440\u043A\u0438:",selectDatabase:"\u0411\u0430\u0437\u044B \u0434\u0430\u043D\u043D\u044B\u0445:",selectOrm:"ORM:",selectInfra:"\u0418\u043D\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u0430:",selectGame:"\u0418\u0433\u0440\u043E\u0432\u044B\u0435 \u0434\u0432\u0438\u0436\u043A\u0438 / \u0444\u0440\u0435\u0439\u043C\u0432\u043E\u0440\u043A\u0438:",selectMobile:"\u041C\u043E\u0431\u0438\u043B\u044C\u043D\u044B\u0435 / \u043A\u0440\u043E\u0441\u0441\u043F\u043B\u0430\u0442\u0444\u043E\u0440\u043C\u0435\u043D\u043D\u044B\u0435:",selectOther:"\u0422\u0435\u0445\u043D\u043E\u043B\u043E\u0433\u0438\u0438, \u043D\u0435 \u0432\u043E\u0448\u0435\u0434\u0448\u0438\u0435 \u0432 \u0441\u043F\u0438\u0441\u043E\u043A \u0432\u044B\u0448\u0435 (\u0447\u0435\u0440\u0435\u0437 \u0437\u0430\u043F\u044F\u0442\u0443\u044E, \u0438\u043B\u0438 Enter \u0434\u043B\u044F \u043F\u0440\u043E\u043F\u0443\u0441\u043A\u0430):",toolRecommendationsTitle:"\u0420\u0435\u043A\u043E\u043C\u0435\u043D\u0434\u0443\u0435\u043C\u044B\u0435 \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u044B \u0434\u043B\u044F \u0432\u0430\u0448\u0435\u0433\u043E \u0441\u0442\u0435\u043A\u0430:",toolInstallMode:"\u041A\u0430\u043A \u0432\u044B \u0445\u043E\u0442\u0438\u0442\u0435 \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C?",toolInstallDefault:"\u041F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E (\u0443\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u0432\u0441\u0435)",toolInstallCustom:"\u0412\u044B\u0431\u043E\u0440\u043E\u0447\u043D\u043E (\u0432\u044B\u0431\u0440\u0430\u0442\u044C \u043F\u043E \u043E\u0434\u043D\u043E\u043C\u0443)",toolInstallSkip:"\u041F\u0440\u043E\u043F\u0443\u0441\u0442\u0438\u0442\u044C (\u0443\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u043F\u043E\u0437\u0436\u0435)",toolInstallPrompt:"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C?",toolInstalling:"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u043A\u0430",toolInstallSuccess:"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043E \u0443\u0441\u043F\u0435\u0448\u043D\u043E.",toolAlreadyInstalled:"\u0423\u0436\u0435 \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u0430 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u044F\u044F \u0432\u0435\u0440\u0441\u0438\u044F. \u041F\u0440\u043E\u043F\u0443\u0449\u0435\u043D\u043E.",toolInstallFailed:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C. \u041C\u043E\u0436\u043D\u043E \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u043F\u043E\u0437\u0436\u0435 \u0447\u0435\u0440\u0435\u0437 setup.",toolSkippedInProject:"\u0423\u0436\u0435 \u0432 package.json \u2014 \u043F\u0440\u043E\u043F\u0443\u0449\u0435\u043D\u043E",toolGuidance:"\u0422\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044F \u0440\u0443\u0447\u043D\u0430\u044F \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0430 \u2014 \u0441\u043C. \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435 \u0432\u044B\u0448\u0435",toolSummaryTitle:"\u0418\u0442\u043E\u0433\u0438 \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043A\u0438",toolSummarySuccess:"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043E",toolSummaryAlready:"\u0423\u0436\u0435 \u0430\u043A\u0442\u0443\u0430\u043B\u044C\u043D\u043E",toolSummarySkipped:"\u0412 package.json",toolSummaryGuidance:"\u0420\u0443\u0447\u043D\u0430\u044F \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0430",toolSummaryFailed:"\u041E\u0448\u0438\u0431\u043A\u0430",toolRetryHint:"\u041F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u044C",auditRunning:"\u0417\u0430\u043F\u0443\u0441\u043A \u0430\u0443\u0434\u0438\u0442\u0430 \u0431\u0435\u0437\u043E\u043F\u0430\u0441\u043D\u043E\u0441\u0442\u0438...",auditClean:"\u0423\u044F\u0437\u0432\u0438\u043C\u043E\u0441\u0442\u0438 \u043D\u0435 \u043E\u0431\u043D\u0430\u0440\u0443\u0436\u0435\u043D\u044B",auditWarning:"\u041E\u0431\u043D\u0430\u0440\u0443\u0436\u0435\u043D\u044B \u0443\u044F\u0437\u0432\u0438\u043C\u043E\u0441\u0442\u0438",auditFixPrompt:"\u0417\u0430\u043F\u0443\u0441\u0442\u0438\u0442\u044C audit fix \u0434\u043B\u044F \u0443\u0441\u0442\u0440\u0430\u043D\u0435\u043D\u0438\u044F \u0432\u044B\u0441\u043E\u043A\u0438\u0445/\u043A\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043A\u0438\u0445 \u0443\u044F\u0437\u0432\u0438\u043C\u043E\u0441\u0442\u0435\u0439?",auditFixSuccess:"audit fix \u0443\u0441\u043F\u0435\u0448\u043D\u043E \u043F\u0440\u0438\u043C\u0435\u043D\u0451\u043D",auditFixFailed:"audit fix \u043D\u0435 \u0441\u043C\u043E\u0433 \u0443\u0441\u0442\u0440\u0430\u043D\u0438\u0442\u044C \u0432\u0441\u0435 \u0443\u044F\u0437\u0432\u0438\u043C\u043E\u0441\u0442\u0438 \u2014 \u043F\u0440\u043E\u0432\u0435\u0440\u044C\u0442\u0435 \u0432\u0440\u0443\u0447\u043D\u0443\u044E",toolUniversalTag:"\u0432\u0441\u0435 \u043F\u0440\u043E\u0435\u043A\u0442\u044B",toolStackSpecificTag:"\u0434\u043B\u044F \u0432\u0430\u0448\u0435\u0433\u043E \u0441\u0442\u0435\u043A\u0430",toolCategories:{vcs:"\u041A\u043E\u043D\u0442\u0440\u043E\u043B\u044C \u0432\u0435\u0440\u0441\u0438\u0439",browser_automation:"\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u044F \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430",e2e_testing:"E2E \u0442\u0435\u0441\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435",unit_testing:"\u042E\u043D\u0438\u0442-\u0442\u0435\u0441\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435",linting:"\u041B\u0438\u043D\u0442\u0438\u043D\u0433",formatting:"\u0424\u043E\u0440\u043C\u0430\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435",type_checking:"\u041F\u0440\u043E\u0432\u0435\u0440\u043A\u0430 \u0442\u0438\u043F\u043E\u0432",coverage:"\u041F\u043E\u043A\u0440\u044B\u0442\u0438\u0435 \u043A\u043E\u0434\u0430",documentation:"\u0414\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u0430\u0446\u0438\u044F",secret_scanning:"\u0421\u043A\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435 \u0441\u0435\u043A\u0440\u0435\u0442\u043E\u0432",security_analysis:"\u0410\u043D\u0430\u043B\u0438\u0437 \u0431\u0435\u0437\u043E\u043F\u0430\u0441\u043D\u043E\u0441\u0442\u0438",unused_code:"\u041E\u0431\u043D\u0430\u0440\u0443\u0436\u0435\u043D\u0438\u0435 \u043D\u0435\u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u043C\u043E\u0433\u043E \u043A\u043E\u0434\u0430",dependency_analysis:"\u0410\u043D\u0430\u043B\u0438\u0437 \u0437\u0430\u0432\u0438\u0441\u0438\u043C\u043E\u0441\u0442\u0435\u0439"},githubDetected:"\u041E\u0431\u043D\u0430\u0440\u0443\u0436\u0451\u043D GitHub-\u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u0439.",githubConfigPrompt:"\u0412\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0430\u0432\u0442\u043E\u0443\u0434\u0430\u043B\u0435\u043D\u0438\u0435 \u043E\u0431\u044A\u0435\u0434\u0438\u043D\u0451\u043D\u043D\u044B\u0445 \u0432\u0435\u0442\u043E\u043A?",githubConfigSkipped:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0430 \u0430\u0432\u0442\u043E\u0443\u0434\u0430\u043B\u0435\u043D\u0438\u044F \u043F\u0440\u043E\u043F\u0443\u0449\u0435\u043D\u0430.",githubConfigSuccess:"\u2713 \u041E\u0431\u044A\u0435\u0434\u0438\u043D\u0451\u043D\u043D\u044B\u0435 \u0432\u0435\u0442\u043A\u0438 \u0431\u0443\u0434\u0443\u0442 \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u0443\u0434\u0430\u043B\u044F\u0442\u044C\u0441\u044F \u043D\u0430 GitHub.",githubConfigFailed:"\u2717 \u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043D\u0430\u0441\u0442\u0440\u043E\u0438\u0442\u044C \u0430\u0432\u0442\u043E\u0443\u0434\u0430\u043B\u0435\u043D\u0438\u0435. \u0417\u0430\u043F\u0443\u0441\u0442\u0438\u0442\u0435 `gh repo edit --delete-branch-on-merge` \u0432\u0440\u0443\u0447\u043D\u0443\u044E.",configCreated:"\u0421\u043E\u0437\u0434\u0430\u043D",configExists:"\u0443\u0436\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442",configOverwritten:"\u041F\u0435\u0440\u0435\u0437\u0430\u043F\u0438\u0441\u0430\u043D",useForceFlag:"\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 --force \u0434\u043B\u044F \u043F\u0435\u0440\u0435\u0437\u0430\u043F\u0438\u0441\u0438.",languages:"\u042F\u0437\u044B\u043A\u0438",frontend:"\u0424\u0440\u043E\u043D\u0442\u0435\u043D\u0434",backend:"\u0411\u044D\u043A\u0435\u043D\u0434",database:"\u0411\u0430\u0437\u0430 \u0434\u0430\u043D\u043D\u044B\u0445",orm:"ORM",infra:"\u0418\u043D\u0444\u0440\u0430",game:"\u0418\u0433\u0440\u044B",mobile:"\u041C\u043E\u0431\u0438\u043B\u044C\u043D\u044B\u0435",other:"\u041F\u0440\u043E\u0447\u0435\u0435",pressEnterToClose:"\u041D\u0430\u0436\u043C\u0438\u0442\u0435 Enter \u0434\u043B\u044F \u0432\u044B\u0445\u043E\u0434\u0430...",unknownCommand:"\u041D\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043D\u0430\u044F \u043A\u043E\u043C\u0430\u043D\u0434\u0430",usage:"\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0435:",installSuccess:"\u0417\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043E\u0432\u0430\u043D\u043E \u0432 Cursor!",installUpdated:"\u041A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044F \u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u0430",installUnchanged:"\u0423\u0436\u0435 \u0430\u043A\u0442\u0443\u0430\u043B\u044C\u043D\u043E",licenseNotSet:"\u041B\u0438\u0446\u0435\u043D\u0437\u0438\u043E\u043D\u043D\u044B\u0439 \u043A\u043B\u044E\u0447 \u043D\u0435 \u0437\u0430\u0434\u0430\u043D. \u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0435 GODD_LICENSE_KEY \u0438\u043B\u0438 \u0437\u0430\u043F\u0443\u0441\u0442\u0438\u0442\u0435: godd install --license-key=YOUR_KEY",restartCursor:"\u041F\u0435\u0440\u0435\u0437\u0430\u043F\u0443\u0441\u0442\u0438\u0442\u0435 Cursor \u0434\u043B\u044F \u0430\u043A\u0442\u0438\u0432\u0430\u0446\u0438\u0438 MCP-\u0441\u0435\u0440\u0432\u0435\u0440\u0430.",installFailed:"\u041E\u0448\u0438\u0431\u043A\u0430 \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043A\u0438:",uninstallTitle:"\u0423\u0434\u0430\u043B\u0435\u043D\u0438\u0435",uninstallSuccess:"\u0423\u0434\u0430\u043B\u0435\u043D\u043E \u0438\u0437 Cursor",uninstallNotFound:"\u041D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E (\u0443\u0436\u0435 \u0443\u0434\u0430\u043B\u0435\u043D\u043E)",uninstallFailed:"\u041E\u0448\u0438\u0431\u043A\u0430 \u0443\u0434\u0430\u043B\u0435\u043D\u0438\u044F:",initTitle:"\u0418\u043D\u0438\u0446\u0438\u0430\u043B\u0438\u0437\u0430\u0446\u0438\u044F \u043F\u0440\u043E\u0435\u043A\u0442\u0430",initAutoHint:"\u041D\u0435\u0438\u043D\u0442\u0435\u0440\u0430\u043A\u0442\u0438\u0432\u043D\u044B\u0439 \u0440\u0435\u0436\u0438\u043C (--auto): \u0442\u043E\u043B\u044C\u043A\u043E \u0430\u0432\u0442\u043E\u0441\u043A\u0430\u043D \u0441\u0442\u0435\u043A\u0430 \u0438 config; \u043C\u0430\u0441\u0442\u0435\u0440 \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043A\u0438 \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u043E\u0432 \u043F\u0440\u043E\u043F\u0443\u0449\u0435\u043D. \u0414\u043B\u044F \u0432\u044B\u0431\u043E\u0440\u0430 \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u043E\u0432 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 \u0438\u043D\u0442\u0435\u0440\u0430\u043A\u0442\u0438\u0432\u043D\u044B\u0439 init.",yes:"\u0414\u0430",no:"\u041D\u0435\u0442",none:"\u041D\u0435\u0442",invalidChoice:"\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0432\u044B\u0431\u043E\u0440. \u041F\u043E\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u0435\u0449\u0451 \u0440\u0430\u0437.",enterNumbers:"\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u043D\u043E\u043C\u0435\u0440\u0430",updateAvailable:"\u0414\u043E\u0441\u0442\u0443\u043F\u043D\u0430 \u043D\u043E\u0432\u0430\u044F \u0432\u0435\u0440\u0441\u0438\u044F:",updateCurrent:"\u0442\u0435\u043A\u0443\u0449\u0430\u044F:",licenseMissing:"\u041F\u0435\u0440\u0435\u043C\u0435\u043D\u043D\u0430\u044F \u0441\u0440\u0435\u0434\u044B GODD_LICENSE_KEY \u043D\u0435 \u0437\u0430\u0434\u0430\u043D\u0430.",licenseMissingHint:"\u041F\u043E\u0432\u0442\u043E\u0440\u043D\u043E \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u0443\u0439\u0442\u0435: godd install --license-key=YOUR_KEY",licenseFailed:"\u041E\u0448\u0438\u0431\u043A\u0430 \u043F\u0440\u043E\u0432\u0435\u0440\u043A\u0438 \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u0438",configNotFound:"\u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D \u0432 \u0434\u0438\u0440\u0435\u043A\u0442\u043E\u0440\u0438\u0438 \u043F\u0440\u043E\u0435\u043A\u0442\u0430.",configNotFoundHint:'\u0417\u0430\u043F\u0443\u0441\u0442\u0438\u0442\u0435 "godd init" \u0434\u043B\u044F \u0433\u0435\u043D\u0435\u0440\u0430\u0446\u0438\u0438 \u043A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u043F\u0440\u043E\u0435\u043A\u0442\u0430.',configUnknownValues:"\u0441\u043E\u0434\u0435\u0440\u0436\u0438\u0442 \u043D\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043D\u044B\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F:",didYouMean:"\u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E, \u0432\u044B \u0438\u043C\u0435\u043B\u0438 \u0432 \u0432\u0438\u0434\u0443",serverStarted:"\u0437\u0430\u043F\u0443\u0449\u0435\u043D (stdio)",corruptMcpJson:"\u043F\u043E\u0432\u0440\u0435\u0436\u0434\u0451\u043D. \u0420\u0435\u0437\u0435\u0440\u0432\u043D\u0430\u044F \u043A\u043E\u043F\u0438\u044F: {backup}. \u0421\u043E\u0437\u0434\u0430\u0451\u0442\u0441\u044F \u043D\u043E\u0432\u0430\u044F \u043A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044F.",licenseNotConfigured:"\u041B\u0438\u0446\u0435\u043D\u0437\u0438\u043E\u043D\u043D\u044B\u0439 \u043A\u043B\u044E\u0447 \u043D\u0435 \u043D\u0430\u0441\u0442\u0440\u043E\u0435\u043D. \u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0435 GODD_LICENSE_KEY \u0438 \u043F\u0435\u0440\u0435\u0437\u0430\u043F\u0443\u0441\u0442\u0438\u0442\u0435 Cursor.",resolvePromptFailed:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0440\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u044C \u043F\u0440\u043E\u043C\u043F\u0442",resolveToolFailed:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0440\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u044C \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442",localToolFailed:"\u041E\u0448\u0438\u0431\u043A\u0430 \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u044F \u043B\u043E\u043A\u0430\u043B\u044C\u043D\u043E\u0433\u043E \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u0430",helpInstall:"\u0417\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043E\u0432\u0430\u0442\u044C MCP-\u0441\u0435\u0440\u0432\u0435\u0440 \u0432 Cursor",helpInit:"\u0418\u043D\u0438\u0446\u0438\u0430\u043B\u0438\u0437\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043F\u0440\u043E\u0435\u043A\u0442 (\u0438\u043D\u0442\u0435\u0440\u0430\u043A\u0442\u0438\u0432\u043D\u043E; --auto \u2014 \u0442\u043E\u043B\u044C\u043A\u043E \u0441\u043A\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435)",helpUninstall:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C MCP-\u0441\u0435\u0440\u0432\u0435\u0440 \u0438\u0437 Cursor",helpServe:"\u0417\u0430\u043F\u0443\u0441\u0442\u0438\u0442\u044C MCP stdio-\u0441\u0435\u0440\u0432\u0435\u0440 (\u0432\u044B\u0437\u044B\u0432\u0430\u0435\u0442\u0441\u044F Cursor)",helpVersion:"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043D\u0443\u044E \u0432\u0435\u0440\u0441\u0438\u044E \u0438 \u043F\u0440\u043E\u0432\u0435\u0440\u0438\u0442\u044C \u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u044F",helpVersionFlag:"\u0412\u044B\u0432\u0435\u0441\u0442\u0438 \u043D\u043E\u043C\u0435\u0440 \u0432\u0435\u0440\u0441\u0438\u0438 \u0438 \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u0442\u044C",versionUpToDate:"\u0410\u043A\u0442\u0443\u0430\u043B\u044C\u043D\u0430\u044F \u0432\u0435\u0440\u0441\u0438\u044F",versionUpdateAvailable:"\u0414\u043E\u0441\u0442\u0443\u043F\u043D\u0430 \u043D\u043E\u0432\u0430\u044F \u0432\u0435\u0440\u0441\u0438\u044F",versionChecking:"\u041F\u0440\u043E\u0432\u0435\u0440\u043A\u0430 \u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u0439...",versionCheckFailed:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043F\u0440\u043E\u0432\u0435\u0440\u0438\u0442\u044C \u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u044F",fatalError:"\u041A\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043A\u0430\u044F \u043E\u0448\u0438\u0431\u043A\u0430",compositeMissingSlugs:"\u0412\u041D\u0418\u041C\u0410\u041D\u0418\u0415: \u0421\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0435 \u0440\u0430\u0437\u0434\u0435\u043B\u044B \u043D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C",goddFilesTitle:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0430 \u0444\u0430\u0439\u043B\u043E\u0432 GoDD:",goddFilesDocsPrompt:"\u0414\u0438\u0440\u0435\u043A\u0442\u043E\u0440\u0438\u044F \u0434\u043B\u044F \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u0430\u0446\u0438\u0438 (Enter \u2014 \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E: documents):",goddFilesGitattributesPrompt:"\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u0441\u043E\u0437\u0434\u0430\u0432\u0430\u0442\u044C .gitattributes \u043F\u0440\u0438 init, \u0435\u0441\u043B\u0438 \u043E\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442?",goddFilesDependabotPrompt:"\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u0441\u043E\u0437\u0434\u0430\u0432\u0430\u0442\u044C .github/dependabot.yml \u043F\u0440\u0438 init, \u0435\u0441\u043B\u0438 \u043E\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442?",goddFilesCreated:"GoDD-MCP-alpha.md \u0441\u043E\u0437\u0434\u0430\u043D."},GT={en:u6,ja:d6,ru:f6};function Ae(e){return GT[e]??GT.en}var h$={en:"English",ja:"\u65E5\u672C\u8A9E",ru:"\u0420\u0443\u0441\u0441\u043A\u0438\u0439"};var x=e=>({win32:e,darwin:e,linux:e}),k=(e,...t)=>t.some(r=>e.programming_languages.includes(r)),ai=(e,...t)=>t.some(r=>e.mobile.includes(r)),p6=[{category:"vcs",tool:"gh",installCmd:{win32:"winget install GitHub.cli",darwin:"brew install gh",linux:'(type -p wget >/dev/null || sudo apt-get install wget -y) && sudo mkdir -p -m 755 /etc/apt/keyrings && out=$(mktemp) && wget -nv -O$out https://cli.github.com/packages/githubcli-archive-keyring.gpg && cat $out | sudo tee /etc/apt/keyrings/githubcli-archive-keyring.gpg > /dev/null && sudo chmod go+r /etc/apt/keyrings/githubcli-archive-keyring.gpg && echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null && sudo apt-get update && sudo apt-get install gh -y'},universal:!0,condition:()=>!0},{category:"browser_automation",tool:"browser-use",installCmd:x("pip install --upgrade browser-use"),universal:!0,condition:()=>!0},{category:"secret_scanning",tool:"gitleaks",installCmd:{win32:"winget install Gitleaks.Gitleaks",darwin:"brew install gitleaks",linux:"go install github.com/gitleaks/gitleaks/v8@latest"},universal:!0,condition:()=>!0},{category:"e2e_testing",tool:"playwright",installCmd:x("npm i -D @playwright/test@latest && npx playwright install"),universal:!1,condition:e=>k(e,"typescript","javascript")},{category:"unit_testing",tool:"vitest",installCmd:x("npm i -D vitest@latest"),universal:!1,condition:e=>k(e,"typescript","javascript")},{category:"linting",tool:"biome",installCmd:x("npm i -D @biomejs/biome@latest"),universal:!1,condition:e=>k(e,"typescript","javascript")},{category:"formatting",tool:"biome",installCmd:x("npm i -D @biomejs/biome@latest"),universal:!1,condition:e=>k(e,"typescript","javascript")},{category:"type_checking",tool:"typescript",installCmd:x("npm i -D typescript@latest"),universal:!1,condition:e=>k(e,"typescript","javascript")},{category:"coverage",tool:"@vitest/coverage-v8",installCmd:x("npm i -D @vitest/coverage-v8@latest"),universal:!1,condition:e=>k(e,"typescript","javascript")},{category:"unused_code",tool:"knip",installCmd:x("npm i -D knip@latest"),universal:!1,condition:e=>k(e,"typescript","javascript")},{category:"dependency_analysis",tool:"dependency-cruiser",installCmd:x("npm i -D dependency-cruiser@latest"),universal:!1,condition:e=>k(e,"typescript","javascript")},{category:"documentation",tool:"typedoc",installCmd:x("npm i -D typedoc@latest"),universal:!1,condition:e=>k(e,"typescript","javascript")},{category:"e2e_testing",tool:"pytest",installCmd:x("pip install --upgrade pytest httpx pytest-asyncio"),universal:!1,condition:e=>k(e,"python")},{category:"unit_testing",tool:"pytest",installCmd:x("pip install --upgrade pytest"),universal:!1,condition:e=>k(e,"python")},{category:"linting",tool:"ruff",installCmd:x("pip install --upgrade ruff"),universal:!1,condition:e=>k(e,"python")},{category:"formatting",tool:"ruff",installCmd:x("pip install --upgrade ruff"),universal:!1,condition:e=>k(e,"python")},{category:"type_checking",tool:"pyright",installCmd:x("pip install --upgrade pyright"),universal:!1,condition:e=>k(e,"python")},{category:"coverage",tool:"pytest-cov",installCmd:x("pip install --upgrade pytest-cov"),universal:!1,condition:e=>k(e,"python")},{category:"unused_code",tool:"vulture",installCmd:x("pip install --upgrade vulture"),universal:!1,condition:e=>k(e,"python")},{category:"dependency_analysis",tool:"pipdeptree",installCmd:x("pip install --upgrade pipdeptree"),universal:!1,condition:e=>k(e,"python")},{category:"documentation",tool:"mkdocs",installCmd:x("pip install --upgrade mkdocs mkdocs-material"),universal:!1,condition:e=>k(e,"python")},{category:"security_analysis",tool:"bandit",installCmd:x("pip install --upgrade bandit"),universal:!1,condition:e=>k(e,"python")},{category:"unit_testing",tool:"testify",installCmd:x("go get github.com/stretchr/testify@latest"),universal:!1,condition:e=>k(e,"go")},{category:"formatting",tool:"gofmt",installCmd:x("echo gofmt \u2014 built-in with Go toolchain"),universal:!1,condition:e=>k(e,"go")},{category:"coverage",tool:"go-cover",installCmd:x("echo go test -cover \u2014 built-in with Go toolchain"),universal:!1,condition:e=>k(e,"go")},{category:"linting",tool:"golangci-lint",installCmd:{win32:"go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest",darwin:"brew install golangci-lint",linux:"go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest"},universal:!1,condition:e=>k(e,"go")},{category:"unused_code",tool:"deadcode",installCmd:x("go install golang.org/x/tools/cmd/deadcode@latest"),universal:!1,condition:e=>k(e,"go")},{category:"documentation",tool:"godoc",installCmd:x("go install golang.org/x/tools/cmd/godoc@latest"),universal:!1,condition:e=>k(e,"go")},{category:"security_analysis",tool:"gosec",installCmd:x("go install github.com/securego/gosec/v2/cmd/gosec@latest"),universal:!1,condition:e=>k(e,"go")},{category:"unit_testing",tool:"junit5",installCmd:x("echo JUnit 5 \u2014 add to pom.xml or build.gradle"),universal:!1,condition:e=>k(e,"java")&&!k(e,"kotlin")},{category:"linting",tool:"checkstyle",installCmd:x("echo Checkstyle \u2014 add Gradle/Maven plugin"),universal:!1,condition:e=>k(e,"java")&&!k(e,"kotlin")},{category:"formatting",tool:"google-java-format",installCmd:x("echo google-java-format \u2014 add to build config"),universal:!1,condition:e=>k(e,"java")&&!k(e,"kotlin")},{category:"coverage",tool:"jacoco",installCmd:x("echo JaCoCo \u2014 add Gradle/Maven plugin"),universal:!1,condition:e=>k(e,"java")},{category:"security_analysis",tool:"spotbugs",installCmd:x("echo SpotBugs \u2014 add Gradle/Maven plugin"),universal:!1,condition:e=>k(e,"java")},{category:"unit_testing",tool:"junit5",installCmd:x("echo JUnit 5 + MockK \u2014 add to build.gradle.kts"),universal:!1,condition:e=>k(e,"kotlin")},{category:"linting",tool:"detekt",installCmd:x("echo detekt \u2014 add Gradle plugin"),universal:!1,condition:e=>k(e,"kotlin")},{category:"formatting",tool:"ktlint",installCmd:x("echo ktlint \u2014 add Gradle plugin"),universal:!1,condition:e=>k(e,"kotlin")},{category:"coverage",tool:"kover",installCmd:x("echo Kover \u2014 add Gradle plugin"),universal:!1,condition:e=>k(e,"kotlin")},{category:"documentation",tool:"dokka",installCmd:x("echo Dokka \u2014 add Gradle plugin"),universal:!1,condition:e=>k(e,"kotlin")},{category:"unit_testing",tool:"xunit",installCmd:x("dotnet add package xunit xunit.runner.visualstudio"),universal:!1,condition:e=>k(e,"csharp")},{category:"formatting",tool:"dotnet-format",installCmd:x("echo dotnet format \u2014 built-in (.NET 6+)"),universal:!1,condition:e=>k(e,"csharp")},{category:"coverage",tool:"coverlet",installCmd:x("dotnet add package coverlet.collector"),universal:!1,condition:e=>k(e,"csharp")},{category:"linting",tool:"dotnet-analyzers",installCmd:x("echo .NET Analyzers \u2014 built-in with .NET 5+ SDK"),universal:!1,condition:e=>k(e,"csharp")},{category:"documentation",tool:"docfx",installCmd:x("dotnet tool install -g docfx"),universal:!1,condition:e=>k(e,"csharp")},{category:"unit_testing",tool:"googletest",installCmd:x("echo GoogleTest \u2014 add via CMake FetchContent"),universal:!1,condition:e=>k(e,"cpp","c")},{category:"linting",tool:"clang-tidy",installCmd:{win32:"choco install llvm",darwin:"brew install llvm",linux:"sudo apt-get install -y clang-tidy"},universal:!1,condition:e=>k(e,"cpp","c")},{category:"formatting",tool:"clang-format",installCmd:{win32:"choco install llvm",darwin:"brew install clang-format",linux:"sudo apt-get install -y clang-format"},universal:!1,condition:e=>k(e,"cpp","c")},{category:"coverage",tool:"lcov",installCmd:{win32:"choco install lcov",darwin:"brew install lcov",linux:"sudo apt-get install -y lcov"},universal:!1,condition:e=>k(e,"cpp","c")},{category:"documentation",tool:"doxygen",installCmd:{win32:"choco install doxygen.install",darwin:"brew install doxygen",linux:"sudo apt-get install -y doxygen"},universal:!1,condition:e=>k(e,"cpp","c")},{category:"security_analysis",tool:"cppcheck",installCmd:{win32:"choco install cppcheck",darwin:"brew install cppcheck",linux:"sudo apt-get install -y cppcheck"},universal:!1,condition:e=>k(e,"cpp","c")},{category:"unit_testing",tool:"phpunit",installCmd:x("composer require --dev phpunit/phpunit"),universal:!1,condition:e=>k(e,"php")},{category:"linting",tool:"phpstan",installCmd:x("composer require --dev phpstan/phpstan"),universal:!1,condition:e=>k(e,"php")},{category:"formatting",tool:"php-cs-fixer",installCmd:x("composer require --dev friendsofphp/php-cs-fixer"),universal:!1,condition:e=>k(e,"php")},{category:"documentation",tool:"phpdoc",installCmd:x("composer require --dev phpdocumentor/phpdocumentor"),universal:!1,condition:e=>k(e,"php")},{category:"security_analysis",tool:"psalm",installCmd:x("composer require --dev vimeo/psalm"),universal:!1,condition:e=>k(e,"php")},{category:"unit_testing",tool:"rspec",installCmd:x("gem install rspec && rspec --init"),universal:!1,condition:e=>k(e,"ruby")},{category:"linting",tool:"rubocop",installCmd:x("gem install rubocop"),universal:!1,condition:e=>k(e,"ruby")},{category:"formatting",tool:"rubocop",installCmd:x("gem install rubocop"),universal:!1,condition:e=>k(e,"ruby")},{category:"coverage",tool:"simplecov",installCmd:x("gem install simplecov"),universal:!1,condition:e=>k(e,"ruby")},{category:"documentation",tool:"yard",installCmd:x("gem install yard"),universal:!1,condition:e=>k(e,"ruby")},{category:"security_analysis",tool:"brakeman",installCmd:x("gem install brakeman"),universal:!1,condition:e=>k(e,"ruby")},{category:"linting",tool:"swiftlint",installCmd:{win32:"echo SwiftLint \u2014 not available on Windows",darwin:"brew install swiftlint",linux:"echo SwiftLint \u2014 install from GitHub releases"},universal:!1,condition:e=>k(e,"swift")},{category:"formatting",tool:"swiftformat",installCmd:{win32:"echo SwiftFormat \u2014 not available on Windows",darwin:"brew install swiftformat",linux:"echo SwiftFormat \u2014 install from GitHub releases"},universal:!1,condition:e=>k(e,"swift")},{category:"unit_testing",tool:"cargo-test",installCmd:x("echo cargo test is built into the Rust toolchain"),universal:!1,condition:e=>k(e,"rust")},{category:"linting",tool:"clippy",installCmd:x("rustup component add clippy"),universal:!1,condition:e=>k(e,"rust")},{category:"formatting",tool:"rustfmt",installCmd:x("rustup component add rustfmt"),universal:!1,condition:e=>k(e,"rust")},{category:"coverage",tool:"tarpaulin",installCmd:x("cargo install cargo-tarpaulin"),universal:!1,condition:e=>k(e,"rust")},{category:"security_analysis",tool:"cargo-audit",installCmd:x("cargo install cargo-audit"),universal:!1,condition:e=>k(e,"rust")},{category:"unit_testing",tool:"flutter-test",installCmd:x("echo flutter test \u2014 built-in with Flutter SDK"),universal:!1,condition:e=>ai(e,"flutter")},{category:"linting",tool:"flutter-lints",installCmd:x("dart pub add --dev flutter_lints"),universal:!1,condition:e=>ai(e,"flutter")},{category:"documentation",tool:"dartdoc",installCmd:x("dart pub global activate dartdoc"),universal:!1,condition:e=>k(e,"dart")},{category:"linting",tool:"credo",installCmd:x('echo Credo \u2014 add {:credo, "~> 1.7"} to mix.exs'),universal:!1,condition:e=>k(e,"elixir")},{category:"type_checking",tool:"dialyxir",installCmd:x('echo Dialyxir \u2014 add {:dialyxir, "~> 1.4"} to mix.exs'),universal:!1,condition:e=>k(e,"elixir")},{category:"coverage",tool:"excoveralls",installCmd:x('echo ExCoveralls \u2014 add {:excoveralls, "~> 0.18"} to mix.exs'),universal:!1,condition:e=>k(e,"elixir")},{category:"documentation",tool:"ex-doc",installCmd:x('echo ExDoc \u2014 add {:ex_doc, "~> 0.34"} to mix.exs'),universal:!1,condition:e=>k(e,"elixir")},{category:"unit_testing",tool:"scalatest",installCmd:x("echo ScalaTest \u2014 add to build.sbt"),universal:!1,condition:e=>k(e,"scala")},{category:"linting",tool:"scalafix",installCmd:x("echo Scalafix \u2014 add sbt plugin"),universal:!1,condition:e=>k(e,"scala")},{category:"formatting",tool:"scalafmt",installCmd:x("echo Scalafmt \u2014 add sbt plugin"),universal:!1,condition:e=>k(e,"scala")},{category:"coverage",tool:"scoverage",installCmd:x("echo Scoverage \u2014 add sbt plugin"),universal:!1,condition:e=>k(e,"scala")},{category:"unit_testing",tool:"testthat",installCmd:x(`Rscript -e 'install.packages("testthat")'`),universal:!1,condition:e=>k(e,"r")},{category:"linting",tool:"lintr",installCmd:x(`Rscript -e 'install.packages("lintr")'`),universal:!1,condition:e=>k(e,"r")},{category:"formatting",tool:"styler",installCmd:x(`Rscript -e 'install.packages("styler")'`),universal:!1,condition:e=>k(e,"r")},{category:"coverage",tool:"covr",installCmd:x(`Rscript -e 'install.packages("covr")'`),universal:!1,condition:e=>k(e,"r")},{category:"documentation",tool:"roxygen2",installCmd:x(`Rscript -e 'install.packages("roxygen2")'`),universal:!1,condition:e=>k(e,"r")},{category:"unit_testing",tool:"hspec",installCmd:x("cabal install hspec"),universal:!1,condition:e=>k(e,"haskell")},{category:"linting",tool:"hlint",installCmd:x("cabal install hlint"),universal:!1,condition:e=>k(e,"haskell")},{category:"formatting",tool:"ormolu",installCmd:x("cabal install ormolu"),universal:!1,condition:e=>k(e,"haskell")},{category:"linting",tool:"perlcritic",installCmd:x("cpanm Perl::Critic"),universal:!1,condition:e=>k(e,"perl")},{category:"formatting",tool:"perltidy",installCmd:x("cpanm Perl::Tidy"),universal:!1,condition:e=>k(e,"perl")},{category:"linting",tool:"clj-kondo",installCmd:{win32:"echo clj-kondo \u2014 download from GitHub releases",darwin:"brew install borkdude/brew/clj-kondo",linux:"echo clj-kondo \u2014 download from GitHub releases"},universal:!1,condition:e=>k(e,"clojure")},{category:"formatting",tool:"cljfmt",installCmd:x("echo cljfmt \u2014 add to deps.edn"),universal:!1,condition:e=>k(e,"clojure")},{category:"formatting",tool:"juliaformatter",installCmd:x(`julia -e 'using Pkg; Pkg.add("JuliaFormatter")'`),universal:!1,condition:e=>k(e,"julia")},{category:"documentation",tool:"documenter",installCmd:x(`julia -e 'using Pkg; Pkg.add("Documenter")'`),universal:!1,condition:e=>k(e,"julia")},{category:"unit_testing",tool:"busted",installCmd:x("luarocks install busted"),universal:!1,condition:e=>k(e,"lua")},{category:"linting",tool:"luacheck",installCmd:x("luarocks install luacheck"),universal:!1,condition:e=>k(e,"lua")},{category:"formatting",tool:"stylua",installCmd:{win32:"cargo install stylua",darwin:"brew install stylua",linux:"cargo install stylua"},universal:!1,condition:e=>k(e,"lua")},{category:"unit_testing",tool:"forge-test",installCmd:{win32:"echo Foundry \u2014 install from https://getfoundry.sh",darwin:"curl -L https://foundry.paradigm.xyz | bash && foundryup",linux:"curl -L https://foundry.paradigm.xyz | bash && foundryup"},universal:!1,condition:e=>k(e,"solidity")},{category:"linting",tool:"solhint",installCmd:x("npm i -g solhint@latest"),universal:!1,condition:e=>k(e,"solidity")},{category:"formatting",tool:"prettier-solidity",installCmd:x("npm i -D prettier@latest prettier-plugin-solidity@latest"),universal:!1,condition:e=>k(e,"solidity")},{category:"security_analysis",tool:"slither",installCmd:x("pip install --upgrade slither-analyzer"),universal:!1,condition:e=>k(e,"solidity")},{category:"e2e_testing",tool:"detox",installCmd:x("npm i -D detox@latest"),universal:!1,condition:e=>ai(e,"react-native","expo")},{category:"linting",tool:"detekt",installCmd:x("echo detekt \u2014 add Gradle plugin"),universal:!1,condition:e=>ai(e,"jetpack-compose","kotlin-multiplatform")},{category:"linting",tool:"swiftlint",installCmd:{win32:"echo SwiftLint \u2014 not available on Windows",darwin:"brew install swiftlint",linux:"echo SwiftLint \u2014 install from GitHub releases"},universal:!1,condition:e=>ai(e,"swiftui","uikit")},{category:"e2e_testing",tool:"cypress",installCmd:x("npm i -D cypress@latest"),universal:!1,condition:e=>ai(e,"ionic","capacitor")},{category:"unit_testing",tool:"xunit",installCmd:x("dotnet add package xunit xunit.runner.visualstudio"),universal:!1,condition:e=>ai(e,"maui")},{category:"linting",tool:"gdlint",installCmd:x("pip install --upgrade gdtoolkit"),universal:!1,condition:e=>k(e,"gdscript")},{category:"formatting",tool:"gdformat",installCmd:x("pip install --upgrade gdtoolkit"),universal:!1,condition:e=>k(e,"gdscript")},{category:"unit_testing",tool:"xunit",installCmd:x("dotnet add package xunit xunit.runner.visualstudio"),universal:!1,condition:e=>k(e,"fsharp")},{category:"formatting",tool:"fantomas",installCmd:x("dotnet tool install -g fantomas"),universal:!1,condition:e=>k(e,"fsharp")},{category:"unit_testing",tool:"alcotest",installCmd:x("opam install alcotest"),universal:!1,condition:e=>k(e,"ocaml")},{category:"formatting",tool:"ocamlformat",installCmd:x("opam install ocamlformat"),universal:!1,condition:e=>k(e,"ocaml")},{category:"unit_testing",tool:"eunit",installCmd:x("echo EUnit is built into OTP \u2014 use rebar3 eunit"),universal:!1,condition:e=>k(e,"erlang")},{category:"linting",tool:"elvis",installCmd:x("echo elvis \u2014 add as rebar3 plugin"),universal:!1,condition:e=>k(e,"erlang")},{category:"formatting",tool:"erlfmt",installCmd:x("echo erlfmt \u2014 add as rebar3 plugin"),universal:!1,condition:e=>k(e,"erlang")},{category:"unit_testing",tool:"zig-test",installCmd:x("echo zig test is built into the Zig toolchain"),universal:!1,condition:e=>k(e,"zig")},{category:"formatting",tool:"zig-fmt",installCmd:x("echo zig fmt is built into the Zig toolchain"),universal:!1,condition:e=>k(e,"zig")},{category:"unit_testing",tool:"nim-unittest",installCmd:x("echo nim unittest is built into the Nim standard library"),universal:!1,condition:e=>k(e,"nim")},{category:"formatting",tool:"nimpretty",installCmd:x("echo nimpretty is built into the Nim toolchain"),universal:!1,condition:e=>k(e,"nim")},{category:"linting",tool:"ameba",installCmd:x("echo Ameba \u2014 add to shard.yml"),universal:!1,condition:e=>k(e,"crystal")},{category:"unit_testing",tool:"dub-test",installCmd:x("echo dub test is built into the D toolchain"),universal:!1,condition:e=>k(e,"d")},{category:"linting",tool:"codenarc",installCmd:x("echo CodeNarc \u2014 add Gradle plugin"),universal:!1,condition:e=>k(e,"groovy")},{category:"linting",tool:"oclint",installCmd:{win32:"echo OCLint \u2014 not available on Windows",darwin:"brew install oclint",linux:"echo OCLint \u2014 install from GitHub releases"},universal:!1,condition:e=>k(e,"objective-c")},{category:"formatting",tool:"clang-format",installCmd:{win32:"choco install llvm",darwin:"brew install clang-format",linux:"sudo apt-get install -y clang-format"},universal:!1,condition:e=>k(e,"objective-c")},{category:"unit_testing",tool:"mstest",installCmd:x("dotnet add package MSTest.TestFramework MSTest.TestAdapter"),universal:!1,condition:e=>k(e,"visual-basic")},{category:"unit_testing",tool:"pester",installCmd:x("Install-Module -Name Pester -Force -SkipPublisherCheck"),universal:!1,condition:e=>k(e,"powershell")},{category:"linting",tool:"psscriptanalyzer",installCmd:x("Install-Module -Name PSScriptAnalyzer -Force"),universal:!1,condition:e=>k(e,"powershell")},{category:"linting",tool:"sqlfluff",installCmd:x("pip install --upgrade sqlfluff"),universal:!1,condition:e=>k(e,"sql")},{category:"formatting",tool:"sqlfluff",installCmd:x("pip install --upgrade sqlfluff"),universal:!1,condition:e=>k(e,"sql")},{category:"linting",tool:"shellcheck",installCmd:{win32:"winget install koalaman.shellcheck",darwin:"brew install shellcheck",linux:"sudo apt-get install -y shellcheck"},universal:!1,condition:e=>k(e,"bash")},{category:"formatting",tool:"shfmt",installCmd:{win32:"go install mvdan.cc/sh/v3/cmd/shfmt@latest",darwin:"brew install shfmt",linux:"go install mvdan.cc/sh/v3/cmd/shfmt@latest"},universal:!1,condition:e=>k(e,"bash")}];function KT(e){let t=new Set,r=[];for(let i of p6)t.has(i.category)||i.condition(e)&&(r.push(i),t.add(i.category));return r}var Fe=require("node:fs"),tr=require("node:path");var em="<!-- GoDD:start -->",tm="<!-- GoDD:end -->";function m6(e){let t=(0,tr.resolve)(e,".godd","state","current-phase.json");if(!(0,Fe.existsSync)(t))return null;try{let r=JSON.parse((0,Fe.readFileSync)(t,"utf-8")),i=["","### NES Context (Next Edit Suggestions)",""];return r.phase&&i.push(`- **Current phase**: ${r.phase} (${r.status??"unknown"})`),r.workflow_context&&i.push(`- **Context**: ${r.workflow_context}`),Array.isArray(r.next_likely_files)&&r.next_likely_files.length>0&&i.push(`- **Next likely files**: ${r.next_likely_files.join(", ")}`),i.join(`
190
+ `)}var er="1.35.0";var d$={en:{dev:"Development (plan \u2192 implement \u2192 test \u2192 quality \u2192 docs in stages)",check:"Quality gate (verify Spec alignment, tests, types, lint, security)",docs:"Generate/update documentation",ship:"Ship (commit at proper granularity \u2192 quality check \u2192 push \u2192 create PR)",setup:"Environment setup (with recommended stack presets, confirms missing info)",review:"Review (CTO-level review + quality gate)",test:"Run/create tests",impact:"Impact analysis",commit:"Commit changes",push:"Push to remote",pr:"Create PR (template-compliant)",deploy:"Deploy (with verification & rollback plan)",adr:"Create ADR (Architecture Decision Record)",release:"Generate release notes (SemVer-compliant)",github:"GitHub configuration (repository/branch protection, etc.)",config:"Generate/repair config.godd (auto-detect stack + validation)",questions:"Interactive Q&A from question list (\u8CEA\u554F\u30EA\u30B9\u30C8.md)",e2e:"Browser-based E2E testing (execute & verify critical user flows)",benchmark:"Competitive prompt analysis (compare GoDD vs Cursor Rules / Claude Code / Codex)",map:"Project knowledge graph (visualize architecture & dependencies with Mermaid)",learn:"Save/recall project-specific patterns, conventions, and pitfalls",diagram:"Auto-update architecture diagrams (maintain living Mermaid docs in sync with code)",slide:"Generate presentation slides from project docs (Marp Markdown format)",design:"Generate/update visual designs from codebase (Pencil.dev sync)",metrics:"Token efficiency report \u2014 show prompt tokens delivered this session vs. always-on Cursor Rules baseline",scratchpad:"Persistent conversation memory \u2014 save/recall/search/list/forget with BM25 vector search (Qdrant or local JSON fallback)"},ja:{dev:"\u958B\u767A\uFF08\u6BB5\u968E\u7684\u306B\u8A08\u753B\u2192\u5B9F\u88C5\u2192\u30C6\u30B9\u30C8\u2192\u54C1\u8CEA\u2192\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u3092\u5B9F\u884C\uFF09",check:"\u54C1\u8CEA\u30B2\u30FC\u30C8\uFF08Spec\u6574\u5408\u30FB\u30C6\u30B9\u30C8\u30FB\u578B\u30FBLint\u30FB\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u3092\u691C\u8A3C\uFF09",docs:"\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u751F\u6210/\u66F4\u65B0",ship:"\u63D0\u51FA\uFF08\u9069\u5207\u306A\u7C92\u5EA6\u3067\u30B3\u30DF\u30C3\u30C8 \u2192 \u54C1\u8CEA\u30C1\u30A7\u30C3\u30AF \u2192 \u30D7\u30C3\u30B7\u30E5 \u2192 PR \u4F5C\u6210\uFF09",setup:"\u74B0\u5883\u69CB\u7BC9\uFF08\u63A8\u5968\u30B9\u30BF\u30C3\u30AF\u30D7\u30EA\u30BB\u30C3\u30C8\u4ED8\u304D\u30FB\u4E0D\u8DB3\u60C5\u5831\u306F\u78BA\u8A8D\uFF09",review:"\u30EC\u30D3\u30E5\u30FC\uFF08CTO \u30EC\u30D9\u30EB\u306E\u30EC\u30D3\u30E5\u30FC + \u54C1\u8CEA\u30B2\u30FC\u30C8\uFF09",test:"\u30C6\u30B9\u30C8\u5B9F\u884C/\u4F5C\u6210",impact:"\u5F71\u97FF\u5206\u6790",commit:"\u5909\u66F4\u3092\u30B3\u30DF\u30C3\u30C8",push:"\u30EA\u30E2\u30FC\u30C8\u306B\u30D7\u30C3\u30B7\u30E5",pr:"PR \u4F5C\u6210\uFF08\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u6E96\u62E0\uFF09",deploy:"\u30C7\u30D7\u30ED\u30A4\uFF08\u691C\u8A3C\u30FB\u30ED\u30FC\u30EB\u30D0\u30C3\u30AF\u8A08\u753B\u4ED8\u304D\uFF09",adr:"ADR\uFF08Architecture Decision Record\uFF09\u4F5C\u6210",release:"\u30EA\u30EA\u30FC\u30B9\u30CE\u30FC\u30C8\u751F\u6210\uFF08SemVer \u6E96\u62E0\uFF09",github:"GitHub \u8A2D\u5B9A\uFF08\u30EA\u30DD\u30B8\u30C8\u30EA/\u30D6\u30E9\u30F3\u30C1\u4FDD\u8B77\u7B49\uFF09",config:"config.godd \u3092\u6B63\u78BA\u306B\u751F\u6210\u30FB\u4FEE\u6B63\u3059\u308B\uFF08\u30B9\u30BF\u30C3\u30AF\u81EA\u52D5\u691C\u51FA + \u30D0\u30EA\u30C7\u30FC\u30B7\u30E7\u30F3\uFF09",questions:"\u8CEA\u554F\u30EA\u30B9\u30C8\uFF08\u8CEA\u554F\u30EA\u30B9\u30C8.md\uFF09\u304B\u3089\u30A4\u30F3\u30BF\u30E9\u30AF\u30C6\u30A3\u30D6\u306B\u8CEA\u554F\u3092\u7BA1\u7406",e2e:"\u30D6\u30E9\u30A6\u30B6\u30D9\u30FC\u30B9 E2E \u30C6\u30B9\u30C8\uFF08\u91CD\u8981\u30E6\u30FC\u30B6\u30FC\u30D5\u30ED\u30FC\u306E\u5B9F\u884C\u30FB\u691C\u8A3C\uFF09",benchmark:"\u7AF6\u5408\u30D7\u30ED\u30F3\u30D7\u30C8\u5206\u6790\uFF08GoDD vs Cursor Rules / Claude Code / Codex \u3092\u6BD4\u8F03\uFF09",map:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30CA\u30EC\u30C3\u30B8\u30B0\u30E9\u30D5\uFF08Mermaid \u3067\u30A2\u30FC\u30AD\u30C6\u30AF\u30C1\u30E3\u30FB\u4F9D\u5B58\u95A2\u4FC2\u3092\u53EF\u8996\u5316\uFF09",learn:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u56FA\u6709\u306E\u30D1\u30BF\u30FC\u30F3\u30FB\u6163\u4F8B\u30FB\u843D\u3068\u3057\u7A74\u3092\u4FDD\u5B58/\u53C2\u7167",diagram:"\u30A2\u30FC\u30AD\u30C6\u30AF\u30C1\u30E3\u56F3\u306E\u81EA\u52D5\u66F4\u65B0\uFF08\u30B3\u30FC\u30C9\u3068\u540C\u671F\u3057\u305F Mermaid \u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u3092\u7DAD\u6301\uFF09",slide:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u304B\u3089\u30D7\u30EC\u30BC\u30F3\u30B9\u30E9\u30A4\u30C9\u3092\u751F\u6210\uFF08Marp Markdown \u5F62\u5F0F\uFF09",design:"\u30B3\u30FC\u30C9\u30D9\u30FC\u30B9\u304B\u3089\u30D3\u30B8\u30E5\u30A2\u30EB\u30C7\u30B6\u30A4\u30F3\u3092\u751F\u6210/\u66F4\u65B0\uFF08Pencil.dev \u540C\u671F\uFF09",metrics:"\u30C8\u30FC\u30AF\u30F3\u52B9\u7387\u30EC\u30DD\u30FC\u30C8 \u2014 \u3053\u306E\u30BB\u30C3\u30B7\u30E7\u30F3\u3067\u914D\u4FE1\u3057\u305F\u30D7\u30ED\u30F3\u30D7\u30C8\u30C8\u30FC\u30AF\u30F3\u6570\u3068 Cursor Rules \u5E38\u6642\u8AAD\u307F\u8FBC\u307F\u65B9\u5F0F\u3068\u306E\u6BD4\u8F03",scratchpad:"\u4F1A\u8A71\u8A18\u61B6\u306E\u6C38\u7D9A\u5316 \u2014 BM25 \u30D9\u30AF\u30BF\u30FC\u691C\u7D22\u3067 save/recall/search/list/forget\uFF08Qdrant \u307E\u305F\u306F\u30ED\u30FC\u30AB\u30EB JSON \u30D5\u30A9\u30FC\u30EB\u30D0\u30C3\u30AF\uFF09"},ru:{dev:"\u0420\u0430\u0437\u0440\u0430\u0431\u043E\u0442\u043A\u0430 (\u043F\u043B\u0430\u043D \u2192 \u0440\u0435\u0430\u043B\u0438\u0437\u0430\u0446\u0438\u044F \u2192 \u0442\u0435\u0441\u0442\u044B \u2192 \u043A\u0430\u0447\u0435\u0441\u0442\u0432\u043E \u2192 \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u0430\u0446\u0438\u044F \u043F\u043E\u044D\u0442\u0430\u043F\u043D\u043E)",check:"\u041A\u043E\u043D\u0442\u0440\u043E\u043B\u044C \u043A\u0430\u0447\u0435\u0441\u0442\u0432\u0430 (Spec, \u0442\u0435\u0441\u0442\u044B, \u0442\u0438\u043F\u044B, \u043B\u0438\u043D\u0442\u0435\u0440, \u0431\u0435\u0437\u043E\u043F\u0430\u0441\u043D\u043E\u0441\u0442\u044C)",docs:"\u0413\u0435\u043D\u0435\u0440\u0430\u0446\u0438\u044F/\u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u0435 \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u0430\u0446\u0438\u0438",ship:"\u041E\u0442\u043F\u0440\u0430\u0432\u043A\u0430 (\u043A\u043E\u043C\u043C\u0438\u0442 \u2192 \u043F\u0440\u043E\u0432\u0435\u0440\u043A\u0430 \u043A\u0430\u0447\u0435\u0441\u0442\u0432\u0430 \u2192 \u043F\u0443\u0448 \u2192 \u0441\u043E\u0437\u0434\u0430\u043D\u0438\u0435 PR)",setup:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0430 \u0441\u0440\u0435\u0434\u044B (\u0441 \u0440\u0435\u043A\u043E\u043C\u0435\u043D\u0434\u0443\u0435\u043C\u044B\u043C\u0438 \u043F\u0440\u0435\u0441\u0435\u0442\u0430\u043C\u0438 \u0441\u0442\u0435\u043A\u0430)",review:"\u0420\u0435\u0432\u044C\u044E (CTO-\u0443\u0440\u043E\u0432\u0435\u043D\u044C + \u043A\u043E\u043D\u0442\u0440\u043E\u043B\u044C \u043A\u0430\u0447\u0435\u0441\u0442\u0432\u0430)",test:"\u0417\u0430\u043F\u0443\u0441\u043A/\u0441\u043E\u0437\u0434\u0430\u043D\u0438\u0435 \u0442\u0435\u0441\u0442\u043E\u0432",impact:"\u0410\u043D\u0430\u043B\u0438\u0437 \u0432\u043B\u0438\u044F\u043D\u0438\u044F",commit:"\u0417\u0430\u0444\u0438\u043A\u0441\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F",push:"\u041E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C \u0432 \u0443\u0434\u0430\u043B\u0451\u043D\u043D\u044B\u0439 \u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u0439",pr:"\u0421\u043E\u0437\u0434\u0430\u0442\u044C PR (\u043F\u043E \u0448\u0430\u0431\u043B\u043E\u043D\u0443)",deploy:"\u0420\u0430\u0437\u0432\u0435\u0440\u043D\u0443\u0442\u044C (\u0441 \u043F\u0440\u043E\u0432\u0435\u0440\u043A\u043E\u0439 \u0438 \u043F\u043B\u0430\u043D\u043E\u043C \u043E\u0442\u043A\u0430\u0442\u0430)",adr:"\u0421\u043E\u0437\u0434\u0430\u0442\u044C ADR (\u0437\u0430\u043F\u0438\u0441\u044C \u0430\u0440\u0445\u0438\u0442\u0435\u043A\u0442\u0443\u0440\u043D\u043E\u0433\u043E \u0440\u0435\u0448\u0435\u043D\u0438\u044F)",release:"\u0421\u0433\u0435\u043D\u0435\u0440\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0437\u0430\u043C\u0435\u0442\u043A\u0438 \u043A \u0440\u0435\u043B\u0438\u0437\u0443 (SemVer)",github:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0430 GitHub (\u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u0439/\u0437\u0430\u0449\u0438\u0442\u0430 \u0432\u0435\u0442\u043E\u043A \u0438 \u0442.\u0434.)",config:"\u0413\u0435\u043D\u0435\u0440\u0430\u0446\u0438\u044F/\u0438\u0441\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0435 config.godd (\u0430\u0432\u0442\u043E\u0434\u0435\u0442\u0435\u043A\u0442 \u0441\u0442\u0435\u043A\u0430 + \u0432\u0430\u043B\u0438\u0434\u0430\u0446\u0438\u044F)",questions:"\u0418\u043D\u0442\u0435\u0440\u0430\u043A\u0442\u0438\u0432\u043D\u044B\u0439 Q&A \u0438\u0437 \u0441\u043F\u0438\u0441\u043A\u0430 \u0432\u043E\u043F\u0440\u043E\u0441\u043E\u0432 (\u8CEA\u554F\u30EA\u30B9\u30C8.md)",e2e:"E2E-\u0442\u0435\u0441\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435 \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435 (\u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u0435 \u0438 \u043F\u0440\u043E\u0432\u0435\u0440\u043A\u0430 \u043A\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043A\u0438\u0445 \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u0438\u0445 \u043F\u043E\u0442\u043E\u043A\u043E\u0432)",benchmark:"\u041A\u043E\u043D\u043A\u0443\u0440\u0435\u043D\u0442\u043D\u044B\u0439 \u0430\u043D\u0430\u043B\u0438\u0437 \u043F\u0440\u043E\u043C\u043F\u0442\u043E\u0432 (\u0441\u0440\u0430\u0432\u043D\u0435\u043D\u0438\u0435 GoDD \u0441 Cursor Rules / Claude Code / Codex)",map:"\u0413\u0440\u0430\u0444 \u0437\u043D\u0430\u043D\u0438\u0439 \u043F\u0440\u043E\u0435\u043A\u0442\u0430 (\u0432\u0438\u0437\u0443\u0430\u043B\u0438\u0437\u0430\u0446\u0438\u044F \u0430\u0440\u0445\u0438\u0442\u0435\u043A\u0442\u0443\u0440\u044B \u0438 \u0437\u0430\u0432\u0438\u0441\u0438\u043C\u043E\u0441\u0442\u0435\u0439 \u0447\u0435\u0440\u0435\u0437 Mermaid)",learn:"\u0421\u043E\u0445\u0440\u0430\u043D\u0435\u043D\u0438\u0435/\u0432\u044B\u0437\u043E\u0432 \u0441\u043F\u0435\u0446\u0438\u0444\u0438\u0447\u043D\u044B\u0445 \u0434\u043B\u044F \u043F\u0440\u043E\u0435\u043A\u0442\u0430 \u043F\u0430\u0442\u0442\u0435\u0440\u043D\u043E\u0432, \u0441\u043E\u0433\u043B\u0430\u0448\u0435\u043D\u0438\u0439 \u0438 \u043F\u043E\u0434\u0432\u043E\u0434\u043D\u044B\u0445 \u043A\u0430\u043C\u043D\u0435\u0439",diagram:"\u0410\u0432\u0442\u043E\u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u0435 \u0430\u0440\u0445\u0438\u0442\u0435\u043A\u0442\u0443\u0440\u043D\u044B\u0445 \u0434\u0438\u0430\u0433\u0440\u0430\u043C\u043C (\u043F\u043E\u0434\u0434\u0435\u0440\u0436\u043A\u0430 \u0430\u043A\u0442\u0443\u0430\u043B\u044C\u043D\u044B\u0445 Mermaid-\u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u043E\u0432)",slide:"\u0413\u0435\u043D\u0435\u0440\u0430\u0446\u0438\u044F \u0441\u043B\u0430\u0439\u0434\u043E\u0432 \u0438\u0437 \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u043E\u0432 \u043F\u0440\u043E\u0435\u043A\u0442\u0430 (\u0444\u043E\u0440\u043C\u0430\u0442 Marp Markdown)",design:"\u0413\u0435\u043D\u0435\u0440\u0430\u0446\u0438\u044F/\u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u0435 \u0432\u0438\u0437\u0443\u0430\u043B\u044C\u043D\u043E\u0433\u043E \u0434\u0438\u0437\u0430\u0439\u043D\u0430 \u0438\u0437 \u043A\u043E\u0434\u043E\u0432\u043E\u0439 \u0431\u0430\u0437\u044B (\u0441\u0438\u043D\u0445\u0440\u043E\u043D\u0438\u0437\u0430\u0446\u0438\u044F Pencil.dev)",metrics:"\u041E\u0442\u0447\u0451\u0442 \u043E\u0431 \u044D\u0444\u0444\u0435\u043A\u0442\u0438\u0432\u043D\u043E\u0441\u0442\u0438 \u0442\u043E\u043A\u0435\u043D\u043E\u0432 \u2014 \u0442\u043E\u043A\u0435\u043D\u044B \u043F\u0440\u043E\u043C\u043F\u0442\u043E\u0432 \u0432 \u044D\u0442\u043E\u0439 \u0441\u0435\u0441\u0441\u0438\u0438 vs. \u0431\u0430\u0437\u043E\u0432\u044B\u0439 \u0443\u0440\u043E\u0432\u0435\u043D\u044C Cursor Rules",scratchpad:"\u041F\u043E\u0441\u0442\u043E\u044F\u043D\u043D\u0430\u044F \u043F\u0430\u043C\u044F\u0442\u044C \u0434\u0438\u0430\u043B\u043E\u0433\u0430 \u2014 save/recall/search/list/forget \u0441 BM25 \u0432\u0435\u043A\u0442\u043E\u0440\u043D\u044B\u043C \u043F\u043E\u0438\u0441\u043A\u043E\u043C (Qdrant \u0438\u043B\u0438 \u043B\u043E\u043A\u0430\u043B\u044C\u043D\u044B\u0439 JSON \u0444\u043E\u043B\u043B\u0431\u044D\u043A)"}};var c6={dev:[{name:"request",required:!0},{name:"done_when",required:!1}],check:[{name:"target",required:!1}],docs:[{name:"target",required:!1}],ship:[{name:"title",required:!1}],review:[{name:"target",required:!1},{name:"action",required:!1}],test:[{name:"target",required:!1}],impact:[{name:"target",required:!1}],commit:[{name:"message",required:!1}],pr:[{name:"title",required:!1}],deploy:[{name:"target",required:!1}],adr:[{name:"title",required:!1}],release:[{name:"tag",required:!1}],setup:[{name:"preset",required:!1}],github:[{name:"request",required:!1}],config:[],questions:[{name:"action",required:!1}],e2e:[{name:"target",required:!1},{name:"url",required:!1}],benchmark:[{name:"target",required:!1}],map:[{name:"target",required:!1}],learn:[{name:"action",required:!1}],diagram:[{name:"target",required:!1}],slide:[{name:"type",required:!1},{name:"source",required:!1}],design:[{name:"target",required:!1},{name:"output",required:!1}],metrics:[],scratchpad:[{name:"action",required:!0}]},f$={en:{dev:{request:"Request details",done_when:"Completion criteria"},check:{target:"Check target (omit for all recent changes)"},docs:{target:"Target file/feature"},ship:{title:"PR title"},review:{target:"Target file/PR (e.g., PR URL, PR number, file path)",action:"Post-review action (approve / request-changes / comment)"},test:{target:"Test target"},impact:{target:"Analysis target"},commit:{message:"Commit message"},pr:{title:"PR title"},deploy:{target:"Deploy target"},adr:{title:"Decision title"},release:{tag:"Target tag (omit for HEAD since last release)"},setup:{preset:"Stack preset (omakase = recommended)"},github:{request:"Configuration request"},questions:{action:"Action: list (default) / resolve <id> / add <question>"},e2e:{target:"Target page/flow to test",url:"Base URL of the application"},benchmark:{target:"Competitor system to analyze (cursor-rules / claude-code / codex / all)"},map:{target:"Target scope (module/directory/layer to visualize)"},learn:{action:"Action: save <category> <content> / recall / list / forget <id>"},diagram:{target:"Target diagram scope (architecture / module / data-flow / erd / all)"},slide:{type:"Presentation type (sprint-review / architecture / release / onboarding)",source:"Source documents to base slides on"},design:{target:"Design target (all / page name / component name)",output:"Output format (pencil / tokens)"},scratchpad:{action:"Action: save <content> / recall <mem::address> / search <query> / list / forget <mem::address>"}},ja:{dev:{request:"\u4F9D\u983C\u5185\u5BB9",done_when:"\u5B8C\u4E86\u6761\u4EF6"},check:{target:"\u30C1\u30A7\u30C3\u30AF\u5BFE\u8C61\uFF08\u7701\u7565\u6642: \u76F4\u8FD1\u306E\u5909\u66F4\u5168\u4F53\uFF09"},docs:{target:"\u5BFE\u8C61\u30D5\u30A1\u30A4\u30EB/\u6A5F\u80FD"},ship:{title:"PR \u30BF\u30A4\u30C8\u30EB"},review:{target:"\u5BFE\u8C61\u30D5\u30A1\u30A4\u30EB/PR\uFF08\u4F8B: PR URL, PR\u756A\u53F7, \u30D5\u30A1\u30A4\u30EB\u30D1\u30B9\uFF09",action:"\u30EC\u30D3\u30E5\u30FC\u5F8C\u306E\u30A2\u30AF\u30B7\u30E7\u30F3\uFF08approve / request-changes / comment\uFF09"},test:{target:"\u30C6\u30B9\u30C8\u5BFE\u8C61"},impact:{target:"\u5206\u6790\u5BFE\u8C61"},commit:{message:"\u30B3\u30DF\u30C3\u30C8\u30E1\u30C3\u30BB\u30FC\u30B8"},pr:{title:"PR \u30BF\u30A4\u30C8\u30EB"},deploy:{target:"\u30C7\u30D7\u30ED\u30A4\u5148"},adr:{title:"\u5224\u65AD\u306E\u30BF\u30A4\u30C8\u30EB"},release:{tag:"\u5BFE\u8C61\u30BF\u30B0\uFF08\u7701\u7565\u6642: \u76F4\u8FD1\u30EA\u30EA\u30FC\u30B9\u304B\u3089 HEAD\uFF09"},setup:{preset:"\u30B9\u30BF\u30C3\u30AF\u30D7\u30EA\u30BB\u30C3\u30C8\uFF08omakase = \u63A8\u5968\u69CB\u6210\uFF09"},github:{request:"\u8A2D\u5B9A\u5185\u5BB9"},questions:{action:"\u64CD\u4F5C: list\uFF08\u30C7\u30D5\u30A9\u30EB\u30C8\uFF09/ resolve <id> / add <\u8CEA\u554F\u6587>"},e2e:{target:"\u30C6\u30B9\u30C8\u5BFE\u8C61\u306E\u30DA\u30FC\u30B8/\u30D5\u30ED\u30FC",url:"\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u306E\u30D9\u30FC\u30B9 URL"},benchmark:{target:"\u5206\u6790\u5BFE\u8C61\u306E\u7AF6\u5408\uFF08cursor-rules / claude-code / codex / all\uFF09"},map:{target:"\u53EF\u8996\u5316\u5BFE\u8C61\uFF08\u30E2\u30B8\u30E5\u30FC\u30EB/\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA/\u30EC\u30A4\u30E4\u30FC\uFF09"},learn:{action:"\u64CD\u4F5C: save <\u30AB\u30C6\u30B4\u30EA> <\u5185\u5BB9> / recall / list / forget <id>"},diagram:{target:"\u56F3\u306E\u5BFE\u8C61\u7BC4\u56F2\uFF08architecture / module / data-flow / erd / all\uFF09"},slide:{type:"\u30D7\u30EC\u30BC\u30F3\u7A2E\u985E\uFF08sprint-review / architecture / release / onboarding\uFF09",source:"\u30BD\u30FC\u30B9\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8"},design:{target:"\u30C7\u30B6\u30A4\u30F3\u5BFE\u8C61\uFF08all / \u30DA\u30FC\u30B8\u540D / \u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u540D\uFF09",output:"\u51FA\u529B\u5F62\u5F0F\uFF08pencil / tokens\uFF09"},scratchpad:{action:"\u64CD\u4F5C: save <\u5185\u5BB9> / recall <mem::\u30A2\u30C9\u30EC\u30B9> / search <\u30AF\u30A8\u30EA> / list / forget <mem::\u30A2\u30C9\u30EC\u30B9>"}},ru:{dev:{request:"\u041E\u043F\u0438\u0441\u0430\u043D\u0438\u0435 \u0437\u0430\u0434\u0430\u0447\u0438",done_when:"\u041A\u0440\u0438\u0442\u0435\u0440\u0438\u0438 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u0438\u044F"},check:{target:"\u041E\u0431\u044A\u0435\u043A\u0442 \u043F\u0440\u043E\u0432\u0435\u0440\u043A\u0438 (\u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E: \u0432\u0441\u0435 \u043D\u0435\u0434\u0430\u0432\u043D\u0438\u0435 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F)"},docs:{target:"\u0426\u0435\u043B\u0435\u0432\u043E\u0439 \u0444\u0430\u0439\u043B/\u0444\u0443\u043D\u043A\u0446\u0438\u044F"},ship:{title:"\u0417\u0430\u0433\u043E\u043B\u043E\u0432\u043E\u043A PR"},review:{target:"\u0426\u0435\u043B\u0435\u0432\u043E\u0439 \u0444\u0430\u0439\u043B/PR (URL PR, \u043D\u043E\u043C\u0435\u0440 PR, \u043F\u0443\u0442\u044C \u043A \u0444\u0430\u0439\u043B\u0443)",action:"\u0414\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u043F\u043E\u0441\u043B\u0435 \u0440\u0435\u0432\u044C\u044E (approve / request-changes / comment)"},test:{target:"\u041E\u0431\u044A\u0435\u043A\u0442 \u0442\u0435\u0441\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F"},impact:{target:"\u041E\u0431\u044A\u0435\u043A\u0442 \u0430\u043D\u0430\u043B\u0438\u0437\u0430"},commit:{message:"\u0421\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435 \u043A\u043E\u043C\u043C\u0438\u0442\u0430"},pr:{title:"\u0417\u0430\u0433\u043E\u043B\u043E\u0432\u043E\u043A PR"},deploy:{target:"\u0426\u0435\u043B\u044C \u0440\u0430\u0437\u0432\u0451\u0440\u0442\u044B\u0432\u0430\u043D\u0438\u044F"},adr:{title:"\u0417\u0430\u0433\u043E\u043B\u043E\u0432\u043E\u043A \u0440\u0435\u0448\u0435\u043D\u0438\u044F"},release:{tag:"\u0426\u0435\u043B\u0435\u0432\u043E\u0439 \u0442\u0435\u0433 (\u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E: \u043E\u0442 HEAD \u0434\u043E \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0435\u0433\u043E \u0440\u0435\u043B\u0438\u0437\u0430)"},setup:{preset:"\u041F\u0440\u0435\u0441\u0435\u0442 \u0441\u0442\u0435\u043A\u0430 (omakase = \u0440\u0435\u043A\u043E\u043C\u0435\u043D\u0434\u0443\u0435\u043C\u0430\u044F \u043A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044F)"},github:{request:"\u041E\u043F\u0438\u0441\u0430\u043D\u0438\u0435 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438"},questions:{action:"\u0414\u0435\u0439\u0441\u0442\u0432\u0438\u0435: list (\u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E) / resolve <id> / add <\u0432\u043E\u043F\u0440\u043E\u0441>"},e2e:{target:"\u0426\u0435\u043B\u0435\u0432\u0430\u044F \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0430/\u043F\u043E\u0442\u043E\u043A \u0434\u043B\u044F \u0442\u0435\u0441\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F",url:"\u0411\u0430\u0437\u043E\u0432\u044B\u0439 URL \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u044F"},benchmark:{target:"\u041A\u043E\u043D\u043A\u0443\u0440\u0435\u043D\u0442\u043D\u0430\u044F \u0441\u0438\u0441\u0442\u0435\u043C\u0430 \u0434\u043B\u044F \u0430\u043D\u0430\u043B\u0438\u0437\u0430 (cursor-rules / claude-code / codex / all)"},map:{target:"\u0426\u0435\u043B\u0435\u0432\u043E\u0439 \u043E\u0431\u044A\u0435\u043A\u0442 (\u043C\u043E\u0434\u0443\u043B\u044C/\u043A\u0430\u0442\u0430\u043B\u043E\u0433/\u0441\u043B\u043E\u0439 \u0434\u043B\u044F \u0432\u0438\u0437\u0443\u0430\u043B\u0438\u0437\u0430\u0446\u0438\u0438)"},learn:{action:"\u0414\u0435\u0439\u0441\u0442\u0432\u0438\u0435: save <\u043A\u0430\u0442\u0435\u0433\u043E\u0440\u0438\u044F> <\u0441\u043E\u0434\u0435\u0440\u0436\u0430\u043D\u0438\u0435> / recall / list / forget <id>"},diagram:{target:"\u0426\u0435\u043B\u0435\u0432\u043E\u0439 \u043E\u0431\u044A\u0435\u043A\u0442 \u0434\u0438\u0430\u0433\u0440\u0430\u043C\u043C\u044B (architecture / module / data-flow / erd / all)"},slide:{type:"\u0422\u0438\u043F \u043F\u0440\u0435\u0437\u0435\u043D\u0442\u0430\u0446\u0438\u0438 (sprint-review / architecture / release / onboarding)",source:"\u0418\u0441\u0445\u043E\u0434\u043D\u044B\u0435 \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u044B"},design:{target:"\u0426\u0435\u043B\u044C \u0434\u0438\u0437\u0430\u0439\u043D\u0430 (all / \u0438\u043C\u044F \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u044B / \u0438\u043C\u044F \u043A\u043E\u043C\u043F\u043E\u043D\u0435\u043D\u0442\u0430)",output:"\u0424\u043E\u0440\u043C\u0430\u0442 \u0432\u044B\u0432\u043E\u0434\u0430 (pencil / tokens)"},scratchpad:{action:"\u0414\u0435\u0439\u0441\u0442\u0432\u0438\u0435: save <\u0442\u0435\u043A\u0441\u0442> / recall <mem::\u0430\u0434\u0440\u0435\u0441> / search <\u0437\u0430\u043F\u0440\u043E\u0441> / list / forget <mem::\u0430\u0434\u0440\u0435\u0441>"}}},l6=["dev","check","docs","ship","setup","review","test","impact","commit","push","pr","deploy","adr","release","github","config","questions","e2e","map","learn","scratchpad","diagram","slide","design","metrics"];var p$={dev:{slugs:["common","dev"]},ship:{slugs:["common","commit","push","pr","check"]},review:{slugs:["common","review","check"]}};var Pc=new Set(["dev","review","setup","test","impact","docs","check","deploy","adr","release","e2e","benchmark","map","learn","diagram","slide","design"]);function FT(e){return e in p$||Pc.has(e)}function m$(e){if(p$[e])return p$[e].slugs;if(Pc.has(e))return["common",e]}var Xp=new Set(["config","questions","metrics","scratchpad"]);function g$(e="en"){let t=M.toolPrefix,r=d$[e]??d$.en;return l6.map(i=>({name:`${t}${i}`,description:r[i]??d$.en[i]}))}function VT(e="en"){let t=M.toolPrefix,r=f$[e]??f$.en,i=f$.en;return g$(e).map(n=>{let o=n.name.replace(t,""),s=c6[o]??[];return{name:n.name,description:n.description,inputSchema:{type:"object",properties:Object.fromEntries(s.map(a=>[a.name,{type:"string",description:r[o]?.[a.name]??i[o]?.[a.name]??a.name}])),required:s.filter(a=>a.required).map(a=>a.name)}}})}var ui=require("node:fs"),nE=require("node:path"),iE=Bo(c$(),1);var je=require("node:fs"),Me=require("node:path"),WT=require("node:readline"),Go=require("node:child_process");var u6={selectDisplayLanguage:"Select display language:",selectMainLanguage:"Select the main language for your project:",selectSubLanguages:"Select sub-languages used in your team:",selectSubLanguagesHint:"(comma-separated numbers, or press Enter to skip)",skipSubLanguages:"No sub-languages selected.",scanningProject:"Scanning project...",detectedStack:"Detected stack:",confirmStack:"Is this correct?",manualStackEntry:"Please select your tech stack manually.",selectProjectType:"What are you building? (select all that apply)",projectTypes:{web:"Web App (frontend + backend)",api:"API / Backend only",mobile:"Mobile App",game:"Game",cli:"CLI / Library / Script",desktop:"Desktop App"},selectProgrammingLanguages:"Programming languages:",selectFrontend:"Frontend frameworks:",selectBackend:"Backend frameworks:",selectDatabase:"Databases:",selectOrm:"ORM:",selectInfra:"Infrastructure:",selectGame:"Game engines / frameworks:",selectMobile:"Mobile / Cross-platform:",selectOther:"Other technologies not listed above (comma-separated, or press Enter to skip):",toolRecommendationsTitle:"Recommended tools for your stack:",toolInstallMode:"How would you like to install?",toolInstallDefault:"Default (install all)",toolInstallCustom:"Custom (choose individually)",toolInstallSkip:"Skip (install later)",toolInstallPrompt:"Install?",toolInstalling:"Installing",toolInstallSuccess:"Installed successfully.",toolAlreadyInstalled:"Already installed (up to date). Skipped.",toolInstallFailed:"Installation failed. You can install it later via setup prompt.",toolSkippedInProject:"Already in package.json \u2014 skipped",toolGuidance:"Manual setup required \u2014 see message above",toolSummaryTitle:"Installation Summary",toolSummarySuccess:"Installed",toolSummaryAlready:"Already up to date",toolSummarySkipped:"In package.json",toolSummaryGuidance:"Manual setup",toolSummaryFailed:"Failed",toolRetryHint:"Retry",auditRunning:"Running security audit...",auditClean:"No vulnerabilities found",auditWarning:"Vulnerabilities detected",auditFixPrompt:"Run audit fix to resolve high/critical vulnerabilities?",auditFixSuccess:"Audit fix applied successfully",auditFixFailed:"Audit fix could not resolve all vulnerabilities \u2014 review manually",toolUniversalTag:"all projects",toolStackSpecificTag:"your stack",toolCategories:{vcs:"Version Control",browser_automation:"Browser Automation",e2e_testing:"E2E Testing",unit_testing:"Unit Testing",linting:"Linting",formatting:"Formatting",type_checking:"Type Checking",coverage:"Coverage",documentation:"Documentation",secret_scanning:"Secret Scanning",security_analysis:"Security Analysis",unused_code:"Unused Code Detection",dependency_analysis:"Dependency Analysis"},githubDetected:"GitHub repository detected.",githubConfigPrompt:"Enable auto-delete for merged branches?",githubConfigSkipped:"Skipped GitHub auto-delete configuration.",githubConfigSuccess:"\u2713 Merged branches will be auto-deleted on GitHub.",githubConfigFailed:"\u2717 Could not configure auto-delete. Run `gh repo edit --delete-branch-on-merge` manually.",configCreated:"Generated",configExists:"already exists",configOverwritten:"Overwritten",useForceFlag:"Use --force to overwrite.",languages:"Languages",frontend:"Frontend",backend:"Backend",database:"Database",orm:"ORM",infra:"Infra",game:"Game",mobile:"Mobile",other:"Other",pressEnterToClose:"Press Enter to close...",unknownCommand:"Unknown command",usage:"Usage:",installSuccess:"Registered with Cursor!",installUpdated:"Configuration updated",installUnchanged:"Already up to date",licenseNotSet:"License key is not set. Set GODD_LICENSE_KEY environment variable or run: godd install --license-key=YOUR_KEY",restartCursor:"Restart Cursor to activate the MCP server.",installFailed:"Installation failed:",uninstallTitle:"Uninstall",uninstallSuccess:"Removed from Cursor",uninstallNotFound:"Not found (already removed)",uninstallFailed:"Uninstall failed:",initTitle:"Project initialization",initAutoHint:"Non-interactive mode (--auto): stack scan + config only; tool install wizard skipped. Use interactive init when you need guided tool setup.",yes:"Yes",no:"No",none:"None",invalidChoice:"Invalid choice. Please try again.",enterNumbers:"Enter numbers",updateAvailable:"A newer version is available:",updateCurrent:"current:",licenseMissing:"GODD_LICENSE_KEY environment variable is not set.",licenseMissingHint:"Re-register with: godd install --license-key=YOUR_KEY",licenseFailed:"License validation failed",configNotFound:"not found in project directory.",configNotFoundHint:'Run "godd init" to generate project configuration for better prompt accuracy.',configUnknownValues:"contains unknown values:",didYouMean:"did you mean",serverStarted:"started (stdio)",corruptMcpJson:"is corrupt. Backed up to {backup} and creating a fresh config.",licenseNotConfigured:"License key is not configured. Set GODD_LICENSE_KEY and restart Cursor.",resolvePromptFailed:"Failed to resolve prompt",resolveToolFailed:"Failed to resolve tool",localToolFailed:"Local tool execution failed",helpInstall:"Register MCP server into Cursor",helpInit:"Initialize project (interactive; use --auto for scan-only)",helpUninstall:"Remove MCP server from Cursor",helpServe:"Start MCP stdio server (called by Cursor)",helpVersion:"Show installed version and check for updates",helpVersionFlag:"Print version number and exit",versionUpToDate:"Up to date",versionUpdateAvailable:"A newer version is available",versionChecking:"Checking for updates...",versionCheckFailed:"Could not check for updates",fatalError:"Fatal error",compositeMissingSlugs:"WARNING: The following sections could not be loaded",goddFilesTitle:"GoDD managed files configuration:",goddFilesDocsPrompt:"Documentation directory (press Enter for default: documents):",goddFilesGitattributesPrompt:"Auto-create .gitattributes on init if missing?",goddFilesDependabotPrompt:"Auto-create .github/dependabot.yml on init if missing?",goddFilesCreated:"GoDD-MCP-alpha.md generated."},d6={selectDisplayLanguage:"\u8868\u793A\u8A00\u8A9E\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044:",selectMainLanguage:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u30E1\u30A4\u30F3\u8A00\u8A9E\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044:",selectSubLanguages:"\u30C1\u30FC\u30E0\u3067\u4F7F\u7528\u3059\u308B\u30B5\u30D6\u8A00\u8A9E\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044:",selectSubLanguagesHint:"(\u30AB\u30F3\u30DE\u533A\u5207\u308A\u306E\u756A\u53F7\u3001\u307E\u305F\u306FEnter\u3067\u30B9\u30AD\u30C3\u30D7)",skipSubLanguages:"\u30B5\u30D6\u8A00\u8A9E\u306F\u9078\u629E\u3055\u308C\u307E\u305B\u3093\u3067\u3057\u305F\u3002",scanningProject:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u30B9\u30AD\u30E3\u30F3\u4E2D...",detectedStack:"\u691C\u51FA\u3055\u308C\u305F\u30B9\u30BF\u30C3\u30AF:",confirmStack:"\u3053\u306E\u5185\u5BB9\u3067\u6B63\u3057\u3044\u3067\u3059\u304B\uFF1F",manualStackEntry:"\u6280\u8853\u30B9\u30BF\u30C3\u30AF\u3092\u624B\u52D5\u3067\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044\u3002",selectProjectType:"\u4F55\u3092\u4F5C\u308A\u307E\u3059\u304B\uFF1F\uFF08\u8A72\u5F53\u3059\u308B\u3082\u306E\u3092\u3059\u3079\u3066\u9078\u629E\uFF09",projectTypes:{web:"Web \u30A2\u30D7\u30EA\uFF08\u30D5\u30ED\u30F3\u30C8 + \u30D0\u30C3\u30AF\u30A8\u30F3\u30C9\uFF09",api:"API / \u30D0\u30C3\u30AF\u30A8\u30F3\u30C9\u306E\u307F",mobile:"\u30E2\u30D0\u30A4\u30EB\u30A2\u30D7\u30EA",game:"\u30B2\u30FC\u30E0",cli:"CLI / \u30E9\u30A4\u30D6\u30E9\u30EA / \u30B9\u30AF\u30EA\u30D7\u30C8",desktop:"\u30C7\u30B9\u30AF\u30C8\u30C3\u30D7\u30A2\u30D7\u30EA"},selectProgrammingLanguages:"\u30D7\u30ED\u30B0\u30E9\u30DF\u30F3\u30B0\u8A00\u8A9E:",selectFrontend:"\u30D5\u30ED\u30F3\u30C8\u30A8\u30F3\u30C9\u30D5\u30EC\u30FC\u30E0\u30EF\u30FC\u30AF:",selectBackend:"\u30D0\u30C3\u30AF\u30A8\u30F3\u30C9\u30D5\u30EC\u30FC\u30E0\u30EF\u30FC\u30AF:",selectDatabase:"\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9:",selectOrm:"ORM:",selectInfra:"\u30A4\u30F3\u30D5\u30E9:",selectGame:"\u30B2\u30FC\u30E0\u30A8\u30F3\u30B8\u30F3 / \u30D5\u30EC\u30FC\u30E0\u30EF\u30FC\u30AF:",selectMobile:"\u30E2\u30D0\u30A4\u30EB / \u30AF\u30ED\u30B9\u30D7\u30E9\u30C3\u30C8\u30D5\u30A9\u30FC\u30E0:",selectOther:"\u4E0A\u8A18\u306B\u306A\u3044\u6280\u8853\uFF08\u30AB\u30F3\u30DE\u533A\u5207\u308A\u3067\u5165\u529B\u3001\u30B9\u30AD\u30C3\u30D7\u306F Enter\uFF09:",toolRecommendationsTitle:"\u30B9\u30BF\u30C3\u30AF\u306B\u63A8\u5968\u3055\u308C\u308B\u30C4\u30FC\u30EB:",toolInstallMode:"\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u65B9\u6CD5\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044:",toolInstallDefault:"\u30C7\u30D5\u30A9\u30EB\u30C8\uFF08\u3059\u3079\u3066\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\uFF09",toolInstallCustom:"\u30AB\u30B9\u30BF\u30E0\uFF08\u500B\u5225\u306B\u9078\u629E\uFF09",toolInstallSkip:"\u30B9\u30AD\u30C3\u30D7\uFF08\u5F8C\u3067\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\uFF09",toolInstallPrompt:"\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3057\u307E\u3059\u304B\uFF1F",toolInstalling:"\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u4E2D",toolInstallSuccess:"\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u304C\u5B8C\u4E86\u3057\u307E\u3057\u305F\u3002",toolAlreadyInstalled:"\u6700\u65B0\u7248\u304C\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u6E08\u307F\u3067\u3059\u3002\u30B9\u30AD\u30C3\u30D7\u3057\u307E\u3057\u305F\u3002",toolInstallFailed:"\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002setup \u30D7\u30ED\u30F3\u30D7\u30C8\u3067\u5F8C\u304B\u3089\u5BFE\u5FDC\u3067\u304D\u307E\u3059\u3002",toolSkippedInProject:"package.json \u306B\u5B9A\u7FA9\u6E08\u307F \u2014 \u30B9\u30AD\u30C3\u30D7",toolGuidance:"\u624B\u52D5\u30BB\u30C3\u30C8\u30A2\u30C3\u30D7\u304C\u5FC5\u8981\u3067\u3059 \u2014 \u4E0A\u8A18\u306E\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u53C2\u7167\u3057\u3066\u304F\u3060\u3055\u3044",toolSummaryTitle:"\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u7D50\u679C\u30B5\u30DE\u30EA\u30FC",toolSummarySuccess:"\u6210\u529F",toolSummaryAlready:"\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u6E08\u307F",toolSummarySkipped:"package.json \u5B9A\u7FA9\u6E08\u307F",toolSummaryGuidance:"\u624B\u52D5\u30BB\u30C3\u30C8\u30A2\u30C3\u30D7",toolSummaryFailed:"\u5931\u6557",toolRetryHint:"\u518D\u8A66\u884C",auditRunning:"\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u76E3\u67FB\u3092\u5B9F\u884C\u4E2D...",auditClean:"\u8106\u5F31\u6027\u306F\u691C\u51FA\u3055\u308C\u307E\u305B\u3093\u3067\u3057\u305F",auditWarning:"\u8106\u5F31\u6027\u304C\u691C\u51FA\u3055\u308C\u307E\u3057\u305F",auditFixPrompt:"audit fix \u3092\u5B9F\u884C\u3057\u3066 high/critical \u8106\u5F31\u6027\u3092\u4FEE\u6B63\u3057\u307E\u3059\u304B\uFF1F",auditFixSuccess:"audit fix \u304C\u6B63\u5E38\u306B\u9069\u7528\u3055\u308C\u307E\u3057\u305F",auditFixFailed:"audit fix \u3067\u3059\u3079\u3066\u306E\u8106\u5F31\u6027\u3092\u89E3\u6D88\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F \u2014 \u624B\u52D5\u3067\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044",toolUniversalTag:"\u5168\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u5171\u901A",toolStackSpecificTag:"\u30B9\u30BF\u30C3\u30AF\u56FA\u6709",toolCategories:{vcs:"\u30D0\u30FC\u30B8\u30E7\u30F3\u7BA1\u7406",browser_automation:"\u30D6\u30E9\u30A6\u30B6\u81EA\u52D5\u5316",e2e_testing:"E2E \u30C6\u30B9\u30C8",unit_testing:"\u30E6\u30CB\u30C3\u30C8\u30C6\u30B9\u30C8",linting:"\u30EA\u30F3\u30BF\u30FC",formatting:"\u30D5\u30A9\u30FC\u30DE\u30C3\u30BF\u30FC",type_checking:"\u578B\u30C1\u30A7\u30C3\u30AF",coverage:"\u30AB\u30D0\u30EC\u30C3\u30B8",documentation:"\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u751F\u6210",secret_scanning:"\u30B7\u30FC\u30AF\u30EC\u30C3\u30C8\u30B9\u30AD\u30E3\u30F3",security_analysis:"\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u5206\u6790",unused_code:"\u672A\u4F7F\u7528\u30B3\u30FC\u30C9\u691C\u51FA",dependency_analysis:"\u4F9D\u5B58\u5206\u6790"},githubDetected:"GitHub \u30EA\u30DD\u30B8\u30C8\u30EA\u3092\u691C\u51FA\u3057\u307E\u3057\u305F\u3002",githubConfigPrompt:"\u30DE\u30FC\u30B8\u6E08\u307F\u30D6\u30E9\u30F3\u30C1\u306E\u81EA\u52D5\u524A\u9664\u3092\u6709\u52B9\u306B\u3057\u307E\u3059\u304B\uFF1F",githubConfigSkipped:"GitHub \u81EA\u52D5\u524A\u9664\u306E\u8A2D\u5B9A\u3092\u30B9\u30AD\u30C3\u30D7\u3057\u307E\u3057\u305F\u3002",githubConfigSuccess:"\u2713 \u30DE\u30FC\u30B8\u6E08\u307F\u30D6\u30E9\u30F3\u30C1\u306F GitHub \u4E0A\u3067\u81EA\u52D5\u524A\u9664\u3055\u308C\u307E\u3059\u3002",githubConfigFailed:"\u2717 \u81EA\u52D5\u524A\u9664\u306E\u8A2D\u5B9A\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002\u624B\u52D5\u3067 `gh repo edit --delete-branch-on-merge` \u3092\u5B9F\u884C\u3057\u3066\u304F\u3060\u3055\u3044\u3002",configCreated:"\u3092\u751F\u6210\u3057\u307E\u3057\u305F",configExists:"\u306F\u65E2\u306B\u5B58\u5728\u3057\u307E\u3059",configOverwritten:"\u3092\u4E0A\u66F8\u304D\u3057\u307E\u3057\u305F",useForceFlag:"\u4E0A\u66F8\u304D\u3059\u308B\u5834\u5408\u306F --force \u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044\u3002",languages:"\u8A00\u8A9E",frontend:"\u30D5\u30ED\u30F3\u30C8\u30A8\u30F3\u30C9",backend:"\u30D0\u30C3\u30AF\u30A8\u30F3\u30C9",database:"\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9",orm:"ORM",infra:"\u30A4\u30F3\u30D5\u30E9",game:"\u30B2\u30FC\u30E0",mobile:"\u30E2\u30D0\u30A4\u30EB",other:"\u305D\u306E\u4ED6",pressEnterToClose:"Enter \u30AD\u30FC\u3092\u62BC\u3059\u3068\u9589\u3058\u307E\u3059...",unknownCommand:"\u4E0D\u660E\u306A\u30B3\u30DE\u30F3\u30C9",usage:"\u4F7F\u3044\u65B9:",installSuccess:"Cursor \u306B\u767B\u9332\u3057\u307E\u3057\u305F\uFF01",installUpdated:"\u8A2D\u5B9A\u3092\u66F4\u65B0\u3057\u307E\u3057\u305F",installUnchanged:"\u65E2\u306B\u6700\u65B0\u306E\u8A2D\u5B9A\u3067\u3059",licenseNotSet:"\u30E9\u30A4\u30BB\u30F3\u30B9\u30AD\u30FC\u304C\u672A\u8A2D\u5B9A\u3067\u3059\u3002\u74B0\u5883\u5909\u6570 GODD_LICENSE_KEY \u3092\u8A2D\u5B9A\u3059\u308B\u304B\u3001godd install --license-key=YOUR_KEY \u3067\u767B\u9332\u3057\u3066\u304F\u3060\u3055\u3044\u3002",restartCursor:"Cursor \u3092\u518D\u8D77\u52D5\u3059\u308B\u3068 MCP \u30B5\u30FC\u30D0\u30FC\u304C\u6709\u52B9\u306B\u306A\u308A\u307E\u3059\u3002",installFailed:"\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u306B\u5931\u6557\u3057\u307E\u3057\u305F:",uninstallTitle:"\u30A2\u30F3\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB",uninstallSuccess:"Cursor \u304B\u3089\u524A\u9664\u3057\u307E\u3057\u305F",uninstallNotFound:"\u767B\u9332\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3067\u3057\u305F\uFF08\u65E2\u306B\u524A\u9664\u6E08\u307F\uFF09",uninstallFailed:"\u30A2\u30F3\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u306B\u5931\u6557\u3057\u307E\u3057\u305F:",initTitle:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u521D\u671F\u5316",initAutoHint:"\u975E\u5BFE\u8A71\u30E2\u30FC\u30C9\uFF08--auto\uFF09: \u30B9\u30BF\u30C3\u30AF\u81EA\u52D5\u691C\u51FA\u3068 config.godd \u306E\u307F\u3002\u30C4\u30FC\u30EB\u5C0E\u5165\u30A6\u30A3\u30B6\u30FC\u30C9\u306F\u7701\u7565\u3055\u308C\u307E\u3059\u3002\u624B\u52D5\u3067\u30C4\u30FC\u30EB\u3092\u9078\u3073\u305F\u3044\u5834\u5408\u306F\u5BFE\u8A71\u5F0F init \u3092\u4F7F\u3063\u3066\u304F\u3060\u3055\u3044\u3002",yes:"\u306F\u3044",no:"\u3044\u3044\u3048",none:"\u306A\u3057",invalidChoice:"\u7121\u52B9\u306A\u9078\u629E\u3067\u3059\u3002\u3082\u3046\u4E00\u5EA6\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044\u3002",enterNumbers:"\u756A\u53F7\u3092\u5165\u529B",updateAvailable:"\u65B0\u3057\u3044\u30D0\u30FC\u30B8\u30E7\u30F3\u304C\u3042\u308A\u307E\u3059:",updateCurrent:"\u73FE\u5728:",licenseMissing:"GODD_LICENSE_KEY \u74B0\u5883\u5909\u6570\u304C\u8A2D\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002",licenseMissingHint:"godd install --license-key=YOUR_KEY \u3067\u518D\u767B\u9332\u3057\u3066\u304F\u3060\u3055\u3044\u3002",licenseFailed:"\u30E9\u30A4\u30BB\u30F3\u30B9\u691C\u8A3C\u5931\u6557",configNotFound:"\u304C\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306B\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002",configNotFoundHint:"\u300Cgodd init\u300D\u3092\u5B9F\u884C\u3057\u3066\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u8A2D\u5B9A\u3092\u751F\u6210\u3059\u308B\u3068\u3001\u30D7\u30ED\u30F3\u30D7\u30C8\u306E\u7CBE\u5EA6\u304C\u5411\u4E0A\u3057\u307E\u3059\u3002",configUnknownValues:"\u306B\u4E0D\u660E\u306A\u5024\u304C\u542B\u307E\u308C\u3066\u3044\u307E\u3059:",didYouMean:"\u3082\u3057\u304B\u3057\u3066",serverStarted:"\u3092\u8D77\u52D5\u3057\u307E\u3057\u305F (stdio)",corruptMcpJson:"\u304C\u58CA\u308C\u3066\u3044\u307E\u3059\u3002{backup} \u306B\u30D0\u30C3\u30AF\u30A2\u30C3\u30D7\u3092\u4F5C\u6210\u3057\u3001\u65B0\u898F\u8A2D\u5B9A\u3092\u4F5C\u6210\u3057\u307E\u3059\u3002",licenseNotConfigured:"\u30E9\u30A4\u30BB\u30F3\u30B9\u30AD\u30FC\u304C\u8A2D\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002GODD_LICENSE_KEY \u3092\u8A2D\u5B9A\u3057\u3066 Cursor \u3092\u518D\u8D77\u52D5\u3057\u3066\u304F\u3060\u3055\u3044\u3002",resolvePromptFailed:"\u30D7\u30ED\u30F3\u30D7\u30C8\u306E\u89E3\u6C7A\u306B\u5931\u6557\u3057\u307E\u3057\u305F",resolveToolFailed:"\u30C4\u30FC\u30EB\u306E\u89E3\u6C7A\u306B\u5931\u6557\u3057\u307E\u3057\u305F",localToolFailed:"\u30ED\u30FC\u30AB\u30EB\u30C4\u30FC\u30EB\u306E\u5B9F\u884C\u306B\u5931\u6557\u3057\u307E\u3057\u305F",helpInstall:"MCP \u30B5\u30FC\u30D0\u30FC\u3092 Cursor \u306B\u767B\u9332",helpInit:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u521D\u671F\u5316\uFF08\u5BFE\u8A71\u5F0F\uFF0F--auto \u3067\u30B9\u30AD\u30E3\u30F3\u306E\u307F\uFF09",helpUninstall:"MCP \u30B5\u30FC\u30D0\u30FC\u3092 Cursor \u304B\u3089\u524A\u9664",helpServe:"MCP stdio \u30B5\u30FC\u30D0\u30FC\u3092\u8D77\u52D5\uFF08Cursor \u304C\u547C\u3073\u51FA\u3057\uFF09",helpVersion:"\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u6E08\u307F\u30D0\u30FC\u30B8\u30E7\u30F3\u3092\u8868\u793A\u3057\u6700\u65B0\u7248\u3092\u78BA\u8A8D",helpVersionFlag:"\u30D0\u30FC\u30B8\u30E7\u30F3\u756A\u53F7\u3092\u8868\u793A\u3057\u3066\u7D42\u4E86",versionUpToDate:"\u6700\u65B0\u7248\u3067\u3059",versionUpdateAvailable:"\u65B0\u3057\u3044\u30D0\u30FC\u30B8\u30E7\u30F3\u304C\u3042\u308A\u307E\u3059",versionChecking:"\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8\u3092\u78BA\u8A8D\u4E2D...",versionCheckFailed:"\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8\u78BA\u8A8D\u306B\u5931\u6557\u3057\u307E\u3057\u305F",fatalError:"\u81F4\u547D\u7684\u306A\u30A8\u30E9\u30FC",compositeMissingSlugs:"\u8B66\u544A: \u4EE5\u4E0B\u306E\u30BB\u30AF\u30B7\u30E7\u30F3\u3092\u8AAD\u307F\u8FBC\u3081\u307E\u305B\u3093\u3067\u3057\u305F",goddFilesTitle:"GoDD \u7BA1\u7406\u30D5\u30A1\u30A4\u30EB\u306E\u8A2D\u5B9A:",goddFilesDocsPrompt:"\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u3092\u4FDD\u5B58\u3059\u308B\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\uFF08Enter \u3067\u30C7\u30D5\u30A9\u30EB\u30C8: documents\uFF09:",goddFilesGitattributesPrompt:"init \u6642\u306B .gitattributes \u304C\u5B58\u5728\u3057\u306A\u3044\u5834\u5408\u3001\u81EA\u52D5\u4F5C\u6210\u3057\u307E\u3059\u304B\uFF1F",goddFilesDependabotPrompt:"init \u6642\u306B .github/dependabot.yml \u304C\u5B58\u5728\u3057\u306A\u3044\u5834\u5408\u3001\u81EA\u52D5\u4F5C\u6210\u3057\u307E\u3059\u304B\uFF1F",goddFilesCreated:"GoDD-MCP-alpha.md \u3092\u751F\u6210\u3057\u307E\u3057\u305F\u3002"},f6={selectDisplayLanguage:"\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u044F\u0437\u044B\u043A \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F:",selectMainLanguage:"\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u043E\u0441\u043D\u043E\u0432\u043D\u043E\u0439 \u044F\u0437\u044B\u043A \u043F\u0440\u043E\u0435\u043A\u0442\u0430:",selectSubLanguages:"\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0434\u043E\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u0435 \u044F\u0437\u044B\u043A\u0438 \u043A\u043E\u043C\u0430\u043D\u0434\u044B:",selectSubLanguagesHint:"(\u043D\u043E\u043C\u0435\u0440\u0430 \u0447\u0435\u0440\u0435\u0437 \u0437\u0430\u043F\u044F\u0442\u0443\u044E \u0438\u043B\u0438 Enter \u0434\u043B\u044F \u043F\u0440\u043E\u043F\u0443\u0441\u043A\u0430)",skipSubLanguages:"\u0414\u043E\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u0435 \u044F\u0437\u044B\u043A\u0438 \u043D\u0435 \u0432\u044B\u0431\u0440\u0430\u043D\u044B.",scanningProject:"\u0421\u043A\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435 \u043F\u0440\u043E\u0435\u043A\u0442\u0430...",detectedStack:"\u041E\u0431\u043D\u0430\u0440\u0443\u0436\u0435\u043D\u043D\u044B\u0439 \u0441\u0442\u0435\u043A:",confirmStack:"\u0412\u0441\u0451 \u0432\u0435\u0440\u043D\u043E?",manualStackEntry:"\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0442\u0435\u0445\u043D\u0438\u0447\u0435\u0441\u043A\u0438\u0439 \u0441\u0442\u0435\u043A \u0432\u0440\u0443\u0447\u043D\u0443\u044E.",selectProjectType:"\u0427\u0442\u043E \u0432\u044B \u0441\u043E\u0437\u0434\u0430\u0451\u0442\u0435? (\u0432\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0432\u0441\u0435 \u043F\u043E\u0434\u0445\u043E\u0434\u044F\u0449\u0438\u0435)",projectTypes:{web:"\u0412\u0435\u0431-\u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435 (\u0444\u0440\u043E\u043D\u0442\u0435\u043D\u0434 + \u0431\u044D\u043A\u0435\u043D\u0434)",api:"API / \u0442\u043E\u043B\u044C\u043A\u043E \u0431\u044D\u043A\u0435\u043D\u0434",mobile:"\u041C\u043E\u0431\u0438\u043B\u044C\u043D\u043E\u0435 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435",game:"\u0418\u0433\u0440\u0430",cli:"CLI / \u0411\u0438\u0431\u043B\u0438\u043E\u0442\u0435\u043A\u0430 / \u0421\u043A\u0440\u0438\u043F\u0442",desktop:"\u0414\u0435\u0441\u043A\u0442\u043E\u043F\u043D\u043E\u0435 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435"},selectProgrammingLanguages:"\u042F\u0437\u044B\u043A\u0438 \u043F\u0440\u043E\u0433\u0440\u0430\u043C\u043C\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F:",selectFrontend:"\u0424\u0440\u043E\u043D\u0442\u0435\u043D\u0434-\u0444\u0440\u0435\u0439\u043C\u0432\u043E\u0440\u043A\u0438:",selectBackend:"\u0411\u044D\u043A\u0435\u043D\u0434-\u0444\u0440\u0435\u0439\u043C\u0432\u043E\u0440\u043A\u0438:",selectDatabase:"\u0411\u0430\u0437\u044B \u0434\u0430\u043D\u043D\u044B\u0445:",selectOrm:"ORM:",selectInfra:"\u0418\u043D\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u0430:",selectGame:"\u0418\u0433\u0440\u043E\u0432\u044B\u0435 \u0434\u0432\u0438\u0436\u043A\u0438 / \u0444\u0440\u0435\u0439\u043C\u0432\u043E\u0440\u043A\u0438:",selectMobile:"\u041C\u043E\u0431\u0438\u043B\u044C\u043D\u044B\u0435 / \u043A\u0440\u043E\u0441\u0441\u043F\u043B\u0430\u0442\u0444\u043E\u0440\u043C\u0435\u043D\u043D\u044B\u0435:",selectOther:"\u0422\u0435\u0445\u043D\u043E\u043B\u043E\u0433\u0438\u0438, \u043D\u0435 \u0432\u043E\u0448\u0435\u0434\u0448\u0438\u0435 \u0432 \u0441\u043F\u0438\u0441\u043E\u043A \u0432\u044B\u0448\u0435 (\u0447\u0435\u0440\u0435\u0437 \u0437\u0430\u043F\u044F\u0442\u0443\u044E, \u0438\u043B\u0438 Enter \u0434\u043B\u044F \u043F\u0440\u043E\u043F\u0443\u0441\u043A\u0430):",toolRecommendationsTitle:"\u0420\u0435\u043A\u043E\u043C\u0435\u043D\u0434\u0443\u0435\u043C\u044B\u0435 \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u044B \u0434\u043B\u044F \u0432\u0430\u0448\u0435\u0433\u043E \u0441\u0442\u0435\u043A\u0430:",toolInstallMode:"\u041A\u0430\u043A \u0432\u044B \u0445\u043E\u0442\u0438\u0442\u0435 \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C?",toolInstallDefault:"\u041F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E (\u0443\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u0432\u0441\u0435)",toolInstallCustom:"\u0412\u044B\u0431\u043E\u0440\u043E\u0447\u043D\u043E (\u0432\u044B\u0431\u0440\u0430\u0442\u044C \u043F\u043E \u043E\u0434\u043D\u043E\u043C\u0443)",toolInstallSkip:"\u041F\u0440\u043E\u043F\u0443\u0441\u0442\u0438\u0442\u044C (\u0443\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u043F\u043E\u0437\u0436\u0435)",toolInstallPrompt:"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C?",toolInstalling:"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u043A\u0430",toolInstallSuccess:"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043E \u0443\u0441\u043F\u0435\u0448\u043D\u043E.",toolAlreadyInstalled:"\u0423\u0436\u0435 \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u0430 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u044F\u044F \u0432\u0435\u0440\u0441\u0438\u044F. \u041F\u0440\u043E\u043F\u0443\u0449\u0435\u043D\u043E.",toolInstallFailed:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C. \u041C\u043E\u0436\u043D\u043E \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u043F\u043E\u0437\u0436\u0435 \u0447\u0435\u0440\u0435\u0437 setup.",toolSkippedInProject:"\u0423\u0436\u0435 \u0432 package.json \u2014 \u043F\u0440\u043E\u043F\u0443\u0449\u0435\u043D\u043E",toolGuidance:"\u0422\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044F \u0440\u0443\u0447\u043D\u0430\u044F \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0430 \u2014 \u0441\u043C. \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435 \u0432\u044B\u0448\u0435",toolSummaryTitle:"\u0418\u0442\u043E\u0433\u0438 \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043A\u0438",toolSummarySuccess:"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043E",toolSummaryAlready:"\u0423\u0436\u0435 \u0430\u043A\u0442\u0443\u0430\u043B\u044C\u043D\u043E",toolSummarySkipped:"\u0412 package.json",toolSummaryGuidance:"\u0420\u0443\u0447\u043D\u0430\u044F \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0430",toolSummaryFailed:"\u041E\u0448\u0438\u0431\u043A\u0430",toolRetryHint:"\u041F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u044C",auditRunning:"\u0417\u0430\u043F\u0443\u0441\u043A \u0430\u0443\u0434\u0438\u0442\u0430 \u0431\u0435\u0437\u043E\u043F\u0430\u0441\u043D\u043E\u0441\u0442\u0438...",auditClean:"\u0423\u044F\u0437\u0432\u0438\u043C\u043E\u0441\u0442\u0438 \u043D\u0435 \u043E\u0431\u043D\u0430\u0440\u0443\u0436\u0435\u043D\u044B",auditWarning:"\u041E\u0431\u043D\u0430\u0440\u0443\u0436\u0435\u043D\u044B \u0443\u044F\u0437\u0432\u0438\u043C\u043E\u0441\u0442\u0438",auditFixPrompt:"\u0417\u0430\u043F\u0443\u0441\u0442\u0438\u0442\u044C audit fix \u0434\u043B\u044F \u0443\u0441\u0442\u0440\u0430\u043D\u0435\u043D\u0438\u044F \u0432\u044B\u0441\u043E\u043A\u0438\u0445/\u043A\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043A\u0438\u0445 \u0443\u044F\u0437\u0432\u0438\u043C\u043E\u0441\u0442\u0435\u0439?",auditFixSuccess:"audit fix \u0443\u0441\u043F\u0435\u0448\u043D\u043E \u043F\u0440\u0438\u043C\u0435\u043D\u0451\u043D",auditFixFailed:"audit fix \u043D\u0435 \u0441\u043C\u043E\u0433 \u0443\u0441\u0442\u0440\u0430\u043D\u0438\u0442\u044C \u0432\u0441\u0435 \u0443\u044F\u0437\u0432\u0438\u043C\u043E\u0441\u0442\u0438 \u2014 \u043F\u0440\u043E\u0432\u0435\u0440\u044C\u0442\u0435 \u0432\u0440\u0443\u0447\u043D\u0443\u044E",toolUniversalTag:"\u0432\u0441\u0435 \u043F\u0440\u043E\u0435\u043A\u0442\u044B",toolStackSpecificTag:"\u0434\u043B\u044F \u0432\u0430\u0448\u0435\u0433\u043E \u0441\u0442\u0435\u043A\u0430",toolCategories:{vcs:"\u041A\u043E\u043D\u0442\u0440\u043E\u043B\u044C \u0432\u0435\u0440\u0441\u0438\u0439",browser_automation:"\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u044F \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430",e2e_testing:"E2E \u0442\u0435\u0441\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435",unit_testing:"\u042E\u043D\u0438\u0442-\u0442\u0435\u0441\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435",linting:"\u041B\u0438\u043D\u0442\u0438\u043D\u0433",formatting:"\u0424\u043E\u0440\u043C\u0430\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435",type_checking:"\u041F\u0440\u043E\u0432\u0435\u0440\u043A\u0430 \u0442\u0438\u043F\u043E\u0432",coverage:"\u041F\u043E\u043A\u0440\u044B\u0442\u0438\u0435 \u043A\u043E\u0434\u0430",documentation:"\u0414\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u0430\u0446\u0438\u044F",secret_scanning:"\u0421\u043A\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435 \u0441\u0435\u043A\u0440\u0435\u0442\u043E\u0432",security_analysis:"\u0410\u043D\u0430\u043B\u0438\u0437 \u0431\u0435\u0437\u043E\u043F\u0430\u0441\u043D\u043E\u0441\u0442\u0438",unused_code:"\u041E\u0431\u043D\u0430\u0440\u0443\u0436\u0435\u043D\u0438\u0435 \u043D\u0435\u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u043C\u043E\u0433\u043E \u043A\u043E\u0434\u0430",dependency_analysis:"\u0410\u043D\u0430\u043B\u0438\u0437 \u0437\u0430\u0432\u0438\u0441\u0438\u043C\u043E\u0441\u0442\u0435\u0439"},githubDetected:"\u041E\u0431\u043D\u0430\u0440\u0443\u0436\u0451\u043D GitHub-\u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u0439.",githubConfigPrompt:"\u0412\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0430\u0432\u0442\u043E\u0443\u0434\u0430\u043B\u0435\u043D\u0438\u0435 \u043E\u0431\u044A\u0435\u0434\u0438\u043D\u0451\u043D\u043D\u044B\u0445 \u0432\u0435\u0442\u043E\u043A?",githubConfigSkipped:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0430 \u0430\u0432\u0442\u043E\u0443\u0434\u0430\u043B\u0435\u043D\u0438\u044F \u043F\u0440\u043E\u043F\u0443\u0449\u0435\u043D\u0430.",githubConfigSuccess:"\u2713 \u041E\u0431\u044A\u0435\u0434\u0438\u043D\u0451\u043D\u043D\u044B\u0435 \u0432\u0435\u0442\u043A\u0438 \u0431\u0443\u0434\u0443\u0442 \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u0443\u0434\u0430\u043B\u044F\u0442\u044C\u0441\u044F \u043D\u0430 GitHub.",githubConfigFailed:"\u2717 \u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043D\u0430\u0441\u0442\u0440\u043E\u0438\u0442\u044C \u0430\u0432\u0442\u043E\u0443\u0434\u0430\u043B\u0435\u043D\u0438\u0435. \u0417\u0430\u043F\u0443\u0441\u0442\u0438\u0442\u0435 `gh repo edit --delete-branch-on-merge` \u0432\u0440\u0443\u0447\u043D\u0443\u044E.",configCreated:"\u0421\u043E\u0437\u0434\u0430\u043D",configExists:"\u0443\u0436\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442",configOverwritten:"\u041F\u0435\u0440\u0435\u0437\u0430\u043F\u0438\u0441\u0430\u043D",useForceFlag:"\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 --force \u0434\u043B\u044F \u043F\u0435\u0440\u0435\u0437\u0430\u043F\u0438\u0441\u0438.",languages:"\u042F\u0437\u044B\u043A\u0438",frontend:"\u0424\u0440\u043E\u043D\u0442\u0435\u043D\u0434",backend:"\u0411\u044D\u043A\u0435\u043D\u0434",database:"\u0411\u0430\u0437\u0430 \u0434\u0430\u043D\u043D\u044B\u0445",orm:"ORM",infra:"\u0418\u043D\u0444\u0440\u0430",game:"\u0418\u0433\u0440\u044B",mobile:"\u041C\u043E\u0431\u0438\u043B\u044C\u043D\u044B\u0435",other:"\u041F\u0440\u043E\u0447\u0435\u0435",pressEnterToClose:"\u041D\u0430\u0436\u043C\u0438\u0442\u0435 Enter \u0434\u043B\u044F \u0432\u044B\u0445\u043E\u0434\u0430...",unknownCommand:"\u041D\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043D\u0430\u044F \u043A\u043E\u043C\u0430\u043D\u0434\u0430",usage:"\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0435:",installSuccess:"\u0417\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043E\u0432\u0430\u043D\u043E \u0432 Cursor!",installUpdated:"\u041A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044F \u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u0430",installUnchanged:"\u0423\u0436\u0435 \u0430\u043A\u0442\u0443\u0430\u043B\u044C\u043D\u043E",licenseNotSet:"\u041B\u0438\u0446\u0435\u043D\u0437\u0438\u043E\u043D\u043D\u044B\u0439 \u043A\u043B\u044E\u0447 \u043D\u0435 \u0437\u0430\u0434\u0430\u043D. \u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0435 GODD_LICENSE_KEY \u0438\u043B\u0438 \u0437\u0430\u043F\u0443\u0441\u0442\u0438\u0442\u0435: godd install --license-key=YOUR_KEY",restartCursor:"\u041F\u0435\u0440\u0435\u0437\u0430\u043F\u0443\u0441\u0442\u0438\u0442\u0435 Cursor \u0434\u043B\u044F \u0430\u043A\u0442\u0438\u0432\u0430\u0446\u0438\u0438 MCP-\u0441\u0435\u0440\u0432\u0435\u0440\u0430.",installFailed:"\u041E\u0448\u0438\u0431\u043A\u0430 \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043A\u0438:",uninstallTitle:"\u0423\u0434\u0430\u043B\u0435\u043D\u0438\u0435",uninstallSuccess:"\u0423\u0434\u0430\u043B\u0435\u043D\u043E \u0438\u0437 Cursor",uninstallNotFound:"\u041D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E (\u0443\u0436\u0435 \u0443\u0434\u0430\u043B\u0435\u043D\u043E)",uninstallFailed:"\u041E\u0448\u0438\u0431\u043A\u0430 \u0443\u0434\u0430\u043B\u0435\u043D\u0438\u044F:",initTitle:"\u0418\u043D\u0438\u0446\u0438\u0430\u043B\u0438\u0437\u0430\u0446\u0438\u044F \u043F\u0440\u043E\u0435\u043A\u0442\u0430",initAutoHint:"\u041D\u0435\u0438\u043D\u0442\u0435\u0440\u0430\u043A\u0442\u0438\u0432\u043D\u044B\u0439 \u0440\u0435\u0436\u0438\u043C (--auto): \u0442\u043E\u043B\u044C\u043A\u043E \u0430\u0432\u0442\u043E\u0441\u043A\u0430\u043D \u0441\u0442\u0435\u043A\u0430 \u0438 config; \u043C\u0430\u0441\u0442\u0435\u0440 \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043A\u0438 \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u043E\u0432 \u043F\u0440\u043E\u043F\u0443\u0449\u0435\u043D. \u0414\u043B\u044F \u0432\u044B\u0431\u043E\u0440\u0430 \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u043E\u0432 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 \u0438\u043D\u0442\u0435\u0440\u0430\u043A\u0442\u0438\u0432\u043D\u044B\u0439 init.",yes:"\u0414\u0430",no:"\u041D\u0435\u0442",none:"\u041D\u0435\u0442",invalidChoice:"\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0432\u044B\u0431\u043E\u0440. \u041F\u043E\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u0435\u0449\u0451 \u0440\u0430\u0437.",enterNumbers:"\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u043D\u043E\u043C\u0435\u0440\u0430",updateAvailable:"\u0414\u043E\u0441\u0442\u0443\u043F\u043D\u0430 \u043D\u043E\u0432\u0430\u044F \u0432\u0435\u0440\u0441\u0438\u044F:",updateCurrent:"\u0442\u0435\u043A\u0443\u0449\u0430\u044F:",licenseMissing:"\u041F\u0435\u0440\u0435\u043C\u0435\u043D\u043D\u0430\u044F \u0441\u0440\u0435\u0434\u044B GODD_LICENSE_KEY \u043D\u0435 \u0437\u0430\u0434\u0430\u043D\u0430.",licenseMissingHint:"\u041F\u043E\u0432\u0442\u043E\u0440\u043D\u043E \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u0443\u0439\u0442\u0435: godd install --license-key=YOUR_KEY",licenseFailed:"\u041E\u0448\u0438\u0431\u043A\u0430 \u043F\u0440\u043E\u0432\u0435\u0440\u043A\u0438 \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u0438",configNotFound:"\u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D \u0432 \u0434\u0438\u0440\u0435\u043A\u0442\u043E\u0440\u0438\u0438 \u043F\u0440\u043E\u0435\u043A\u0442\u0430.",configNotFoundHint:'\u0417\u0430\u043F\u0443\u0441\u0442\u0438\u0442\u0435 "godd init" \u0434\u043B\u044F \u0433\u0435\u043D\u0435\u0440\u0430\u0446\u0438\u0438 \u043A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u043F\u0440\u043E\u0435\u043A\u0442\u0430.',configUnknownValues:"\u0441\u043E\u0434\u0435\u0440\u0436\u0438\u0442 \u043D\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043D\u044B\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F:",didYouMean:"\u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E, \u0432\u044B \u0438\u043C\u0435\u043B\u0438 \u0432 \u0432\u0438\u0434\u0443",serverStarted:"\u0437\u0430\u043F\u0443\u0449\u0435\u043D (stdio)",corruptMcpJson:"\u043F\u043E\u0432\u0440\u0435\u0436\u0434\u0451\u043D. \u0420\u0435\u0437\u0435\u0440\u0432\u043D\u0430\u044F \u043A\u043E\u043F\u0438\u044F: {backup}. \u0421\u043E\u0437\u0434\u0430\u0451\u0442\u0441\u044F \u043D\u043E\u0432\u0430\u044F \u043A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044F.",licenseNotConfigured:"\u041B\u0438\u0446\u0435\u043D\u0437\u0438\u043E\u043D\u043D\u044B\u0439 \u043A\u043B\u044E\u0447 \u043D\u0435 \u043D\u0430\u0441\u0442\u0440\u043E\u0435\u043D. \u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0435 GODD_LICENSE_KEY \u0438 \u043F\u0435\u0440\u0435\u0437\u0430\u043F\u0443\u0441\u0442\u0438\u0442\u0435 Cursor.",resolvePromptFailed:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0440\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u044C \u043F\u0440\u043E\u043C\u043F\u0442",resolveToolFailed:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0440\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u044C \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442",localToolFailed:"\u041E\u0448\u0438\u0431\u043A\u0430 \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u044F \u043B\u043E\u043A\u0430\u043B\u044C\u043D\u043E\u0433\u043E \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u0430",helpInstall:"\u0417\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043E\u0432\u0430\u0442\u044C MCP-\u0441\u0435\u0440\u0432\u0435\u0440 \u0432 Cursor",helpInit:"\u0418\u043D\u0438\u0446\u0438\u0430\u043B\u0438\u0437\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043F\u0440\u043E\u0435\u043A\u0442 (\u0438\u043D\u0442\u0435\u0440\u0430\u043A\u0442\u0438\u0432\u043D\u043E; --auto \u2014 \u0442\u043E\u043B\u044C\u043A\u043E \u0441\u043A\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435)",helpUninstall:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C MCP-\u0441\u0435\u0440\u0432\u0435\u0440 \u0438\u0437 Cursor",helpServe:"\u0417\u0430\u043F\u0443\u0441\u0442\u0438\u0442\u044C MCP stdio-\u0441\u0435\u0440\u0432\u0435\u0440 (\u0432\u044B\u0437\u044B\u0432\u0430\u0435\u0442\u0441\u044F Cursor)",helpVersion:"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043D\u0443\u044E \u0432\u0435\u0440\u0441\u0438\u044E \u0438 \u043F\u0440\u043E\u0432\u0435\u0440\u0438\u0442\u044C \u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u044F",helpVersionFlag:"\u0412\u044B\u0432\u0435\u0441\u0442\u0438 \u043D\u043E\u043C\u0435\u0440 \u0432\u0435\u0440\u0441\u0438\u0438 \u0438 \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u0442\u044C",versionUpToDate:"\u0410\u043A\u0442\u0443\u0430\u043B\u044C\u043D\u0430\u044F \u0432\u0435\u0440\u0441\u0438\u044F",versionUpdateAvailable:"\u0414\u043E\u0441\u0442\u0443\u043F\u043D\u0430 \u043D\u043E\u0432\u0430\u044F \u0432\u0435\u0440\u0441\u0438\u044F",versionChecking:"\u041F\u0440\u043E\u0432\u0435\u0440\u043A\u0430 \u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u0439...",versionCheckFailed:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043F\u0440\u043E\u0432\u0435\u0440\u0438\u0442\u044C \u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u044F",fatalError:"\u041A\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043A\u0430\u044F \u043E\u0448\u0438\u0431\u043A\u0430",compositeMissingSlugs:"\u0412\u041D\u0418\u041C\u0410\u041D\u0418\u0415: \u0421\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0435 \u0440\u0430\u0437\u0434\u0435\u043B\u044B \u043D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C",goddFilesTitle:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0430 \u0444\u0430\u0439\u043B\u043E\u0432 GoDD:",goddFilesDocsPrompt:"\u0414\u0438\u0440\u0435\u043A\u0442\u043E\u0440\u0438\u044F \u0434\u043B\u044F \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u0430\u0446\u0438\u0438 (Enter \u2014 \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E: documents):",goddFilesGitattributesPrompt:"\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u0441\u043E\u0437\u0434\u0430\u0432\u0430\u0442\u044C .gitattributes \u043F\u0440\u0438 init, \u0435\u0441\u043B\u0438 \u043E\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442?",goddFilesDependabotPrompt:"\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u0441\u043E\u0437\u0434\u0430\u0432\u0430\u0442\u044C .github/dependabot.yml \u043F\u0440\u0438 init, \u0435\u0441\u043B\u0438 \u043E\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442?",goddFilesCreated:"GoDD-MCP-alpha.md \u0441\u043E\u0437\u0434\u0430\u043D."},GT={en:u6,ja:d6,ru:f6};function Ae(e){return GT[e]??GT.en}var h$={en:"English",ja:"\u65E5\u672C\u8A9E",ru:"\u0420\u0443\u0441\u0441\u043A\u0438\u0439"};var x=e=>({win32:e,darwin:e,linux:e}),k=(e,...t)=>t.some(r=>e.programming_languages.includes(r)),ai=(e,...t)=>t.some(r=>e.mobile.includes(r)),p6=[{category:"vcs",tool:"gh",installCmd:{win32:"winget install GitHub.cli",darwin:"brew install gh",linux:'(type -p wget >/dev/null || sudo apt-get install wget -y) && sudo mkdir -p -m 755 /etc/apt/keyrings && out=$(mktemp) && wget -nv -O$out https://cli.github.com/packages/githubcli-archive-keyring.gpg && cat $out | sudo tee /etc/apt/keyrings/githubcli-archive-keyring.gpg > /dev/null && sudo chmod go+r /etc/apt/keyrings/githubcli-archive-keyring.gpg && echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null && sudo apt-get update && sudo apt-get install gh -y'},universal:!0,condition:()=>!0},{category:"browser_automation",tool:"browser-use",installCmd:x("pip install --upgrade browser-use"),universal:!0,condition:()=>!0},{category:"secret_scanning",tool:"gitleaks",installCmd:{win32:"winget install Gitleaks.Gitleaks",darwin:"brew install gitleaks",linux:"go install github.com/gitleaks/gitleaks/v8@latest"},universal:!0,condition:()=>!0},{category:"e2e_testing",tool:"playwright",installCmd:x("npm i -D @playwright/test@latest && npx playwright install"),universal:!1,condition:e=>k(e,"typescript","javascript")},{category:"unit_testing",tool:"vitest",installCmd:x("npm i -D vitest@latest"),universal:!1,condition:e=>k(e,"typescript","javascript")},{category:"linting",tool:"biome",installCmd:x("npm i -D @biomejs/biome@latest"),universal:!1,condition:e=>k(e,"typescript","javascript")},{category:"formatting",tool:"biome",installCmd:x("npm i -D @biomejs/biome@latest"),universal:!1,condition:e=>k(e,"typescript","javascript")},{category:"type_checking",tool:"typescript",installCmd:x("npm i -D typescript@latest"),universal:!1,condition:e=>k(e,"typescript","javascript")},{category:"coverage",tool:"@vitest/coverage-v8",installCmd:x("npm i -D @vitest/coverage-v8@latest"),universal:!1,condition:e=>k(e,"typescript","javascript")},{category:"unused_code",tool:"knip",installCmd:x("npm i -D knip@latest"),universal:!1,condition:e=>k(e,"typescript","javascript")},{category:"dependency_analysis",tool:"dependency-cruiser",installCmd:x("npm i -D dependency-cruiser@latest"),universal:!1,condition:e=>k(e,"typescript","javascript")},{category:"documentation",tool:"typedoc",installCmd:x("npm i -D typedoc@latest"),universal:!1,condition:e=>k(e,"typescript","javascript")},{category:"e2e_testing",tool:"pytest",installCmd:x("pip install --upgrade pytest httpx pytest-asyncio"),universal:!1,condition:e=>k(e,"python")},{category:"unit_testing",tool:"pytest",installCmd:x("pip install --upgrade pytest"),universal:!1,condition:e=>k(e,"python")},{category:"linting",tool:"ruff",installCmd:x("pip install --upgrade ruff"),universal:!1,condition:e=>k(e,"python")},{category:"formatting",tool:"ruff",installCmd:x("pip install --upgrade ruff"),universal:!1,condition:e=>k(e,"python")},{category:"type_checking",tool:"pyright",installCmd:x("pip install --upgrade pyright"),universal:!1,condition:e=>k(e,"python")},{category:"coverage",tool:"pytest-cov",installCmd:x("pip install --upgrade pytest-cov"),universal:!1,condition:e=>k(e,"python")},{category:"unused_code",tool:"vulture",installCmd:x("pip install --upgrade vulture"),universal:!1,condition:e=>k(e,"python")},{category:"dependency_analysis",tool:"pipdeptree",installCmd:x("pip install --upgrade pipdeptree"),universal:!1,condition:e=>k(e,"python")},{category:"documentation",tool:"mkdocs",installCmd:x("pip install --upgrade mkdocs mkdocs-material"),universal:!1,condition:e=>k(e,"python")},{category:"security_analysis",tool:"bandit",installCmd:x("pip install --upgrade bandit"),universal:!1,condition:e=>k(e,"python")},{category:"unit_testing",tool:"testify",installCmd:x("go get github.com/stretchr/testify@latest"),universal:!1,condition:e=>k(e,"go")},{category:"formatting",tool:"gofmt",installCmd:x("echo gofmt \u2014 built-in with Go toolchain"),universal:!1,condition:e=>k(e,"go")},{category:"coverage",tool:"go-cover",installCmd:x("echo go test -cover \u2014 built-in with Go toolchain"),universal:!1,condition:e=>k(e,"go")},{category:"linting",tool:"golangci-lint",installCmd:{win32:"go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest",darwin:"brew install golangci-lint",linux:"go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest"},universal:!1,condition:e=>k(e,"go")},{category:"unused_code",tool:"deadcode",installCmd:x("go install golang.org/x/tools/cmd/deadcode@latest"),universal:!1,condition:e=>k(e,"go")},{category:"documentation",tool:"godoc",installCmd:x("go install golang.org/x/tools/cmd/godoc@latest"),universal:!1,condition:e=>k(e,"go")},{category:"security_analysis",tool:"gosec",installCmd:x("go install github.com/securego/gosec/v2/cmd/gosec@latest"),universal:!1,condition:e=>k(e,"go")},{category:"unit_testing",tool:"junit5",installCmd:x("echo JUnit 5 \u2014 add to pom.xml or build.gradle"),universal:!1,condition:e=>k(e,"java")&&!k(e,"kotlin")},{category:"linting",tool:"checkstyle",installCmd:x("echo Checkstyle \u2014 add Gradle/Maven plugin"),universal:!1,condition:e=>k(e,"java")&&!k(e,"kotlin")},{category:"formatting",tool:"google-java-format",installCmd:x("echo google-java-format \u2014 add to build config"),universal:!1,condition:e=>k(e,"java")&&!k(e,"kotlin")},{category:"coverage",tool:"jacoco",installCmd:x("echo JaCoCo \u2014 add Gradle/Maven plugin"),universal:!1,condition:e=>k(e,"java")},{category:"security_analysis",tool:"spotbugs",installCmd:x("echo SpotBugs \u2014 add Gradle/Maven plugin"),universal:!1,condition:e=>k(e,"java")},{category:"unit_testing",tool:"junit5",installCmd:x("echo JUnit 5 + MockK \u2014 add to build.gradle.kts"),universal:!1,condition:e=>k(e,"kotlin")},{category:"linting",tool:"detekt",installCmd:x("echo detekt \u2014 add Gradle plugin"),universal:!1,condition:e=>k(e,"kotlin")},{category:"formatting",tool:"ktlint",installCmd:x("echo ktlint \u2014 add Gradle plugin"),universal:!1,condition:e=>k(e,"kotlin")},{category:"coverage",tool:"kover",installCmd:x("echo Kover \u2014 add Gradle plugin"),universal:!1,condition:e=>k(e,"kotlin")},{category:"documentation",tool:"dokka",installCmd:x("echo Dokka \u2014 add Gradle plugin"),universal:!1,condition:e=>k(e,"kotlin")},{category:"unit_testing",tool:"xunit",installCmd:x("dotnet add package xunit xunit.runner.visualstudio"),universal:!1,condition:e=>k(e,"csharp")},{category:"formatting",tool:"dotnet-format",installCmd:x("echo dotnet format \u2014 built-in (.NET 6+)"),universal:!1,condition:e=>k(e,"csharp")},{category:"coverage",tool:"coverlet",installCmd:x("dotnet add package coverlet.collector"),universal:!1,condition:e=>k(e,"csharp")},{category:"linting",tool:"dotnet-analyzers",installCmd:x("echo .NET Analyzers \u2014 built-in with .NET 5+ SDK"),universal:!1,condition:e=>k(e,"csharp")},{category:"documentation",tool:"docfx",installCmd:x("dotnet tool install -g docfx"),universal:!1,condition:e=>k(e,"csharp")},{category:"unit_testing",tool:"googletest",installCmd:x("echo GoogleTest \u2014 add via CMake FetchContent"),universal:!1,condition:e=>k(e,"cpp","c")},{category:"linting",tool:"clang-tidy",installCmd:{win32:"choco install llvm",darwin:"brew install llvm",linux:"sudo apt-get install -y clang-tidy"},universal:!1,condition:e=>k(e,"cpp","c")},{category:"formatting",tool:"clang-format",installCmd:{win32:"choco install llvm",darwin:"brew install clang-format",linux:"sudo apt-get install -y clang-format"},universal:!1,condition:e=>k(e,"cpp","c")},{category:"coverage",tool:"lcov",installCmd:{win32:"choco install lcov",darwin:"brew install lcov",linux:"sudo apt-get install -y lcov"},universal:!1,condition:e=>k(e,"cpp","c")},{category:"documentation",tool:"doxygen",installCmd:{win32:"choco install doxygen.install",darwin:"brew install doxygen",linux:"sudo apt-get install -y doxygen"},universal:!1,condition:e=>k(e,"cpp","c")},{category:"security_analysis",tool:"cppcheck",installCmd:{win32:"choco install cppcheck",darwin:"brew install cppcheck",linux:"sudo apt-get install -y cppcheck"},universal:!1,condition:e=>k(e,"cpp","c")},{category:"unit_testing",tool:"phpunit",installCmd:x("composer require --dev phpunit/phpunit"),universal:!1,condition:e=>k(e,"php")},{category:"linting",tool:"phpstan",installCmd:x("composer require --dev phpstan/phpstan"),universal:!1,condition:e=>k(e,"php")},{category:"formatting",tool:"php-cs-fixer",installCmd:x("composer require --dev friendsofphp/php-cs-fixer"),universal:!1,condition:e=>k(e,"php")},{category:"documentation",tool:"phpdoc",installCmd:x("composer require --dev phpdocumentor/phpdocumentor"),universal:!1,condition:e=>k(e,"php")},{category:"security_analysis",tool:"psalm",installCmd:x("composer require --dev vimeo/psalm"),universal:!1,condition:e=>k(e,"php")},{category:"unit_testing",tool:"rspec",installCmd:x("gem install rspec && rspec --init"),universal:!1,condition:e=>k(e,"ruby")},{category:"linting",tool:"rubocop",installCmd:x("gem install rubocop"),universal:!1,condition:e=>k(e,"ruby")},{category:"formatting",tool:"rubocop",installCmd:x("gem install rubocop"),universal:!1,condition:e=>k(e,"ruby")},{category:"coverage",tool:"simplecov",installCmd:x("gem install simplecov"),universal:!1,condition:e=>k(e,"ruby")},{category:"documentation",tool:"yard",installCmd:x("gem install yard"),universal:!1,condition:e=>k(e,"ruby")},{category:"security_analysis",tool:"brakeman",installCmd:x("gem install brakeman"),universal:!1,condition:e=>k(e,"ruby")},{category:"linting",tool:"swiftlint",installCmd:{win32:"echo SwiftLint \u2014 not available on Windows",darwin:"brew install swiftlint",linux:"echo SwiftLint \u2014 install from GitHub releases"},universal:!1,condition:e=>k(e,"swift")},{category:"formatting",tool:"swiftformat",installCmd:{win32:"echo SwiftFormat \u2014 not available on Windows",darwin:"brew install swiftformat",linux:"echo SwiftFormat \u2014 install from GitHub releases"},universal:!1,condition:e=>k(e,"swift")},{category:"unit_testing",tool:"cargo-test",installCmd:x("echo cargo test is built into the Rust toolchain"),universal:!1,condition:e=>k(e,"rust")},{category:"linting",tool:"clippy",installCmd:x("rustup component add clippy"),universal:!1,condition:e=>k(e,"rust")},{category:"formatting",tool:"rustfmt",installCmd:x("rustup component add rustfmt"),universal:!1,condition:e=>k(e,"rust")},{category:"coverage",tool:"tarpaulin",installCmd:x("cargo install cargo-tarpaulin"),universal:!1,condition:e=>k(e,"rust")},{category:"security_analysis",tool:"cargo-audit",installCmd:x("cargo install cargo-audit"),universal:!1,condition:e=>k(e,"rust")},{category:"unit_testing",tool:"flutter-test",installCmd:x("echo flutter test \u2014 built-in with Flutter SDK"),universal:!1,condition:e=>ai(e,"flutter")},{category:"linting",tool:"flutter-lints",installCmd:x("dart pub add --dev flutter_lints"),universal:!1,condition:e=>ai(e,"flutter")},{category:"documentation",tool:"dartdoc",installCmd:x("dart pub global activate dartdoc"),universal:!1,condition:e=>k(e,"dart")},{category:"linting",tool:"credo",installCmd:x('echo Credo \u2014 add {:credo, "~> 1.7"} to mix.exs'),universal:!1,condition:e=>k(e,"elixir")},{category:"type_checking",tool:"dialyxir",installCmd:x('echo Dialyxir \u2014 add {:dialyxir, "~> 1.4"} to mix.exs'),universal:!1,condition:e=>k(e,"elixir")},{category:"coverage",tool:"excoveralls",installCmd:x('echo ExCoveralls \u2014 add {:excoveralls, "~> 0.18"} to mix.exs'),universal:!1,condition:e=>k(e,"elixir")},{category:"documentation",tool:"ex-doc",installCmd:x('echo ExDoc \u2014 add {:ex_doc, "~> 0.34"} to mix.exs'),universal:!1,condition:e=>k(e,"elixir")},{category:"unit_testing",tool:"scalatest",installCmd:x("echo ScalaTest \u2014 add to build.sbt"),universal:!1,condition:e=>k(e,"scala")},{category:"linting",tool:"scalafix",installCmd:x("echo Scalafix \u2014 add sbt plugin"),universal:!1,condition:e=>k(e,"scala")},{category:"formatting",tool:"scalafmt",installCmd:x("echo Scalafmt \u2014 add sbt plugin"),universal:!1,condition:e=>k(e,"scala")},{category:"coverage",tool:"scoverage",installCmd:x("echo Scoverage \u2014 add sbt plugin"),universal:!1,condition:e=>k(e,"scala")},{category:"unit_testing",tool:"testthat",installCmd:x(`Rscript -e 'install.packages("testthat")'`),universal:!1,condition:e=>k(e,"r")},{category:"linting",tool:"lintr",installCmd:x(`Rscript -e 'install.packages("lintr")'`),universal:!1,condition:e=>k(e,"r")},{category:"formatting",tool:"styler",installCmd:x(`Rscript -e 'install.packages("styler")'`),universal:!1,condition:e=>k(e,"r")},{category:"coverage",tool:"covr",installCmd:x(`Rscript -e 'install.packages("covr")'`),universal:!1,condition:e=>k(e,"r")},{category:"documentation",tool:"roxygen2",installCmd:x(`Rscript -e 'install.packages("roxygen2")'`),universal:!1,condition:e=>k(e,"r")},{category:"unit_testing",tool:"hspec",installCmd:x("cabal install hspec"),universal:!1,condition:e=>k(e,"haskell")},{category:"linting",tool:"hlint",installCmd:x("cabal install hlint"),universal:!1,condition:e=>k(e,"haskell")},{category:"formatting",tool:"ormolu",installCmd:x("cabal install ormolu"),universal:!1,condition:e=>k(e,"haskell")},{category:"linting",tool:"perlcritic",installCmd:x("cpanm Perl::Critic"),universal:!1,condition:e=>k(e,"perl")},{category:"formatting",tool:"perltidy",installCmd:x("cpanm Perl::Tidy"),universal:!1,condition:e=>k(e,"perl")},{category:"linting",tool:"clj-kondo",installCmd:{win32:"echo clj-kondo \u2014 download from GitHub releases",darwin:"brew install borkdude/brew/clj-kondo",linux:"echo clj-kondo \u2014 download from GitHub releases"},universal:!1,condition:e=>k(e,"clojure")},{category:"formatting",tool:"cljfmt",installCmd:x("echo cljfmt \u2014 add to deps.edn"),universal:!1,condition:e=>k(e,"clojure")},{category:"formatting",tool:"juliaformatter",installCmd:x(`julia -e 'using Pkg; Pkg.add("JuliaFormatter")'`),universal:!1,condition:e=>k(e,"julia")},{category:"documentation",tool:"documenter",installCmd:x(`julia -e 'using Pkg; Pkg.add("Documenter")'`),universal:!1,condition:e=>k(e,"julia")},{category:"unit_testing",tool:"busted",installCmd:x("luarocks install busted"),universal:!1,condition:e=>k(e,"lua")},{category:"linting",tool:"luacheck",installCmd:x("luarocks install luacheck"),universal:!1,condition:e=>k(e,"lua")},{category:"formatting",tool:"stylua",installCmd:{win32:"cargo install stylua",darwin:"brew install stylua",linux:"cargo install stylua"},universal:!1,condition:e=>k(e,"lua")},{category:"unit_testing",tool:"forge-test",installCmd:{win32:"echo Foundry \u2014 install from https://getfoundry.sh",darwin:"curl -L https://foundry.paradigm.xyz | bash && foundryup",linux:"curl -L https://foundry.paradigm.xyz | bash && foundryup"},universal:!1,condition:e=>k(e,"solidity")},{category:"linting",tool:"solhint",installCmd:x("npm i -g solhint@latest"),universal:!1,condition:e=>k(e,"solidity")},{category:"formatting",tool:"prettier-solidity",installCmd:x("npm i -D prettier@latest prettier-plugin-solidity@latest"),universal:!1,condition:e=>k(e,"solidity")},{category:"security_analysis",tool:"slither",installCmd:x("pip install --upgrade slither-analyzer"),universal:!1,condition:e=>k(e,"solidity")},{category:"e2e_testing",tool:"detox",installCmd:x("npm i -D detox@latest"),universal:!1,condition:e=>ai(e,"react-native","expo")},{category:"linting",tool:"detekt",installCmd:x("echo detekt \u2014 add Gradle plugin"),universal:!1,condition:e=>ai(e,"jetpack-compose","kotlin-multiplatform")},{category:"linting",tool:"swiftlint",installCmd:{win32:"echo SwiftLint \u2014 not available on Windows",darwin:"brew install swiftlint",linux:"echo SwiftLint \u2014 install from GitHub releases"},universal:!1,condition:e=>ai(e,"swiftui","uikit")},{category:"e2e_testing",tool:"cypress",installCmd:x("npm i -D cypress@latest"),universal:!1,condition:e=>ai(e,"ionic","capacitor")},{category:"unit_testing",tool:"xunit",installCmd:x("dotnet add package xunit xunit.runner.visualstudio"),universal:!1,condition:e=>ai(e,"maui")},{category:"linting",tool:"gdlint",installCmd:x("pip install --upgrade gdtoolkit"),universal:!1,condition:e=>k(e,"gdscript")},{category:"formatting",tool:"gdformat",installCmd:x("pip install --upgrade gdtoolkit"),universal:!1,condition:e=>k(e,"gdscript")},{category:"unit_testing",tool:"xunit",installCmd:x("dotnet add package xunit xunit.runner.visualstudio"),universal:!1,condition:e=>k(e,"fsharp")},{category:"formatting",tool:"fantomas",installCmd:x("dotnet tool install -g fantomas"),universal:!1,condition:e=>k(e,"fsharp")},{category:"unit_testing",tool:"alcotest",installCmd:x("opam install alcotest"),universal:!1,condition:e=>k(e,"ocaml")},{category:"formatting",tool:"ocamlformat",installCmd:x("opam install ocamlformat"),universal:!1,condition:e=>k(e,"ocaml")},{category:"unit_testing",tool:"eunit",installCmd:x("echo EUnit is built into OTP \u2014 use rebar3 eunit"),universal:!1,condition:e=>k(e,"erlang")},{category:"linting",tool:"elvis",installCmd:x("echo elvis \u2014 add as rebar3 plugin"),universal:!1,condition:e=>k(e,"erlang")},{category:"formatting",tool:"erlfmt",installCmd:x("echo erlfmt \u2014 add as rebar3 plugin"),universal:!1,condition:e=>k(e,"erlang")},{category:"unit_testing",tool:"zig-test",installCmd:x("echo zig test is built into the Zig toolchain"),universal:!1,condition:e=>k(e,"zig")},{category:"formatting",tool:"zig-fmt",installCmd:x("echo zig fmt is built into the Zig toolchain"),universal:!1,condition:e=>k(e,"zig")},{category:"unit_testing",tool:"nim-unittest",installCmd:x("echo nim unittest is built into the Nim standard library"),universal:!1,condition:e=>k(e,"nim")},{category:"formatting",tool:"nimpretty",installCmd:x("echo nimpretty is built into the Nim toolchain"),universal:!1,condition:e=>k(e,"nim")},{category:"linting",tool:"ameba",installCmd:x("echo Ameba \u2014 add to shard.yml"),universal:!1,condition:e=>k(e,"crystal")},{category:"unit_testing",tool:"dub-test",installCmd:x("echo dub test is built into the D toolchain"),universal:!1,condition:e=>k(e,"d")},{category:"linting",tool:"codenarc",installCmd:x("echo CodeNarc \u2014 add Gradle plugin"),universal:!1,condition:e=>k(e,"groovy")},{category:"linting",tool:"oclint",installCmd:{win32:"echo OCLint \u2014 not available on Windows",darwin:"brew install oclint",linux:"echo OCLint \u2014 install from GitHub releases"},universal:!1,condition:e=>k(e,"objective-c")},{category:"formatting",tool:"clang-format",installCmd:{win32:"choco install llvm",darwin:"brew install clang-format",linux:"sudo apt-get install -y clang-format"},universal:!1,condition:e=>k(e,"objective-c")},{category:"unit_testing",tool:"mstest",installCmd:x("dotnet add package MSTest.TestFramework MSTest.TestAdapter"),universal:!1,condition:e=>k(e,"visual-basic")},{category:"unit_testing",tool:"pester",installCmd:x("Install-Module -Name Pester -Force -SkipPublisherCheck"),universal:!1,condition:e=>k(e,"powershell")},{category:"linting",tool:"psscriptanalyzer",installCmd:x("Install-Module -Name PSScriptAnalyzer -Force"),universal:!1,condition:e=>k(e,"powershell")},{category:"linting",tool:"sqlfluff",installCmd:x("pip install --upgrade sqlfluff"),universal:!1,condition:e=>k(e,"sql")},{category:"formatting",tool:"sqlfluff",installCmd:x("pip install --upgrade sqlfluff"),universal:!1,condition:e=>k(e,"sql")},{category:"linting",tool:"shellcheck",installCmd:{win32:"winget install koalaman.shellcheck",darwin:"brew install shellcheck",linux:"sudo apt-get install -y shellcheck"},universal:!1,condition:e=>k(e,"bash")},{category:"formatting",tool:"shfmt",installCmd:{win32:"go install mvdan.cc/sh/v3/cmd/shfmt@latest",darwin:"brew install shfmt",linux:"go install mvdan.cc/sh/v3/cmd/shfmt@latest"},universal:!1,condition:e=>k(e,"bash")}];function KT(e){let t=new Set,r=[];for(let i of p6)t.has(i.category)||i.condition(e)&&(r.push(i),t.add(i.category));return r}var Fe=require("node:fs"),tr=require("node:path");var em="<!-- GoDD:start -->",tm="<!-- GoDD:end -->";function m6(e){let t=(0,tr.resolve)(e,".godd","state","current-phase.json");if(!(0,Fe.existsSync)(t))return null;try{let r=JSON.parse((0,Fe.readFileSync)(t,"utf-8")),i=["","### NES Context (Next Edit Suggestions)",""];return r.phase&&i.push(`- **Current phase**: ${r.phase} (${r.status??"unknown"})`),r.workflow_context&&i.push(`- **Context**: ${r.workflow_context}`),Array.isArray(r.next_likely_files)&&r.next_likely_files.length>0&&i.push(`- **Next likely files**: ${r.next_likely_files.join(", ")}`),i.join(`
191
191
  `)}catch{return null}}function g6(e,t){let r=["### GoDD stack snapshot","",`Auto-detected from this repository (updated when \`${M.toolPrefix}config\` or \`${M.cli} init\` runs):`,""];for(let[n,o]of Object.entries(e))Array.isArray(o)&&o.length>0&&r.push(`- **${n}**: ${o.join(", ")}`);let i=m6(t);return i&&r.push(i),r.push("",`_Generated by ${M.displayName} MCP \u2014 keep this block for drift detection._`),r.join(`
192
192
  `)}function Uo(e,t){let r=(0,tr.resolve)(e,"AGENTS.md"),i=g6(t,e),n=`${em}
193
193
  ${i}
@@ -197,9 +197,9 @@ ${tm}
197
197
  `:`# AGENTS.md
198
198
 
199
199
  `;(0,Fe.writeFileSync)(r,`${s}${n}
200
- `,"utf-8")}function Zo(e,t,r="en"){let i=Object.entries(t),n=i.flatMap(([,l])=>l);if(n.length===0)return;let o=r==="ja"?"\u65E5\u672C\u8A9E":r==="ru"?"\u0420\u0443\u0441\u0441\u043A\u0438\u0439":"English",s=i.filter(([,l])=>l.length>0).map(([l,u])=>`- **${l}**: ${u.join(", ")}`).join(`
201
- `),a=n.map(l=>`\`${l}\``).join(", "),c=["---","description: GoDD auto-detected project stack context (token-optimized)",'globs: "**/*"',"alwaysApply: true","---","","# GoDD Project Stack Context","",`> Auto-generated by \`${M.toolPrefix}config\` / \`${M.toolPrefix}init\`. Re-run to update.`,"","## Detected Stack","",s,"","## Applicable Mindsets","",`When resolving GoDD prompts, prioritize mindsets for: ${a}`,"","## Token Optimization Hints","",`- **Language**: ${o}`,"- Only request mindsets matching the detected stack above","- Skip irrelevant technology mindsets to preserve context window",`- Detected stack has ${n.length} technology entries \u2014 load only matching mindsets`,""].join(`
202
- `);try{let l=(0,tr.resolve)(e,".cursor","rules","godd-stack.mdc");(0,Fe.mkdirSync)((0,tr.dirname)(l),{recursive:!0}),(0,Fe.writeFileSync)(l,c,"utf-8")}catch{}}var h6={docs_dir:"documents",generate_gitattributes:!0,generate_dependabot:!0};function Tc(e,t=h6){let r=(0,tr.resolve)(e,"GoDD-MCP-alpha.md"),i=new Date().toISOString().slice(0,10),n=t.docs_dir,o=["# GoDD MCP \u03B1 \u2014 Project Configuration","",`> Auto-generated by GoDD MCP \u03B1 on ${i}.`,"> Re-run `godd config` or `godd init` to regenerate.","","## Managed Files","","GoDD MCP \u03B1 creates and maintains the following files in this project:","","| File | Role | Overwrite policy |","|------|------|-----------------|","| `config.godd` | Main configuration \u2014 stack, language, tools, design, godd_files | Updated on `config` / `init` |","| `AGENTS.md` (GoDD block) | Auto-updated stack snapshot for Cursor context | Marker-scoped update |","| `.cursor/rules/godd-stack.mdc` | Token-optimized stack context injected into AI | Overwritten on each run |","| `.gitattributes` | LF normalization + binary file overrides | Created once (skip if exists) |","| `.github/dependabot.yml` | Dependency update automation | Created once (skip if exists) |","| `GoDD-MCP-alpha.md` | This file \u2014 project configuration record | Always regenerated |","","## Project Settings (`godd_files`)","","| Setting | Value | Description |","|---------|-------|-------------|",`| \`docs_dir\` | \`${n}\` | Directory where GoDD writes specs, ADRs, and diagrams |`,`| \`generate_gitattributes\` | \`${t.generate_gitattributes}\` | Auto-create \`.gitattributes\` on init if missing |`,`| \`generate_dependabot\` | \`${t.generate_dependabot}\` | Auto-create \`.github/dependabot.yml\` on init if missing |`,"","## Docs Directory Structure","",`GoDD writes documentation into \`${n}/\`:`,"","| Path | Contents |","|------|----------|",`| \`${n}/spec/\` | Specification documents (SpecDD) |`,`| \`${n}/adr/\` | Architecture Decision Records (ADR) |`,`| \`${n}/diagrams/\` | System diagrams (Neo-MDD) |`,"","## GoDD Standard Policies","","| Policy | Setting |","|--------|---------|","| Dependabot PR limit | `open-pull-requests-limit: 99` \u2014 no update goes unnoticed |","| Dependabot grouping | Dev deps (minor+patch) and prod deps (patch) are grouped to reduce PR noise |","| Security audit | `<pm> audit` (where `<pm>` is your package manager) \u2014 run during `godd init` |","| Line endings | LF on commit, checkout as-is on Windows (via `.gitattributes`) |","","## Editing This File","","Do **not** edit this file manually. It is regenerated each time you run:","","```bash","godd-a config # via Cursor MCP tool","godd-a init # CLI initialization","```","","To change `docs_dir` or other `godd_files` settings, update `config.godd` and re-run `godd config`."].join(`
200
+ `,"utf-8")}function Zo(e,t,r="en"){let i=Object.entries(t),n=i.flatMap(([,u])=>u);if(n.length===0)return;let o=r==="ja"?"\u65E5\u672C\u8A9E":r==="ru"?"\u0420\u0443\u0441\u0441\u043A\u0438\u0439":"English",s=r==="ja"?"- GitHub text (PR titles/bodies, issues, review comments, commit messages) must be written in Japanese. Keep code references and command examples in English/ASCII.":`- GitHub text should follow the configured project language: ${o}.`,a=i.filter(([,u])=>u.length>0).map(([u,d])=>`- **${u}**: ${d.join(", ")}`).join(`
201
+ `),c=n.map(u=>`\`${u}\``).join(", "),l=["---","description: GoDD auto-detected project stack context (token-optimized)",'globs: "**/*"',"alwaysApply: true","---","","# GoDD Project Stack Context","",`> Auto-generated by \`${M.toolPrefix}config\` / \`${M.toolPrefix}init\`. Re-run to update.`,"","## Detected Stack","",a,"","## Applicable Mindsets","",`When resolving GoDD prompts, prioritize mindsets for: ${c}`,"","## Token Optimization Hints","",`- **Language**: ${o}`,s,"- Only request mindsets matching the detected stack above","- Skip irrelevant technology mindsets to preserve context window",`- Detected stack has ${n.length} technology entries \u2014 load only matching mindsets`,""].join(`
202
+ `);try{let u=(0,tr.resolve)(e,".cursor","rules","godd-stack.mdc");(0,Fe.mkdirSync)((0,tr.dirname)(u),{recursive:!0}),(0,Fe.writeFileSync)(u,l,"utf-8")}catch{}}var h6={docs_dir:"documents",generate_gitattributes:!0,generate_dependabot:!0};function Tc(e,t=h6){let r=(0,tr.resolve)(e,"GoDD-MCP-alpha.md"),i=new Date().toISOString().slice(0,10),n=t.docs_dir,o=["# GoDD MCP \u03B1 \u2014 Project Configuration","",`> Auto-generated by GoDD MCP \u03B1 on ${i}.`,"> Re-run `godd config` or `godd init` to regenerate.","","## Managed Files","","GoDD MCP \u03B1 creates and maintains the following files in this project:","","| File | Role | Overwrite policy |","|------|------|-----------------|","| `config.godd` | Main configuration \u2014 stack, language, tools, design, godd_files | Updated on `config` / `init` |","| `AGENTS.md` (GoDD block) | Auto-updated stack snapshot for Cursor context | Marker-scoped update |","| `.cursor/rules/godd-stack.mdc` | Token-optimized stack context injected into AI | Overwritten on each run |","| `.gitattributes` | LF normalization + binary file overrides | Created once (skip if exists) |","| `.github/dependabot.yml` | Dependency update automation | Created once (skip if exists) |","| `GoDD-MCP-alpha.md` | This file \u2014 project configuration record | Always regenerated |","","## Project Settings (`godd_files`)","","| Setting | Value | Description |","|---------|-------|-------------|",`| \`docs_dir\` | \`${n}\` | Directory where GoDD writes specs, ADRs, and diagrams |`,`| \`generate_gitattributes\` | \`${t.generate_gitattributes}\` | Auto-create \`.gitattributes\` on init if missing |`,`| \`generate_dependabot\` | \`${t.generate_dependabot}\` | Auto-create \`.github/dependabot.yml\` on init if missing |`,"","## Docs Directory Structure","",`GoDD writes documentation into \`${n}/\`:`,"","| Path | Contents |","|------|----------|",`| \`${n}/spec/\` | Specification documents (SpecDD) |`,`| \`${n}/adr/\` | Architecture Decision Records (ADR) |`,`| \`${n}/diagrams/\` | System diagrams (Neo-MDD) |`,"","## GoDD Standard Policies","","| Policy | Setting |","|--------|---------|","| Dependabot PR limit | `open-pull-requests-limit: 99` \u2014 no update goes unnoticed |","| Dependabot grouping | Dev deps (minor+patch) and prod deps (patch) are grouped to reduce PR noise |","| Security audit | `<pm> audit` (where `<pm>` is your package manager) \u2014 run during `godd init` |","| Line endings | LF on commit, checkout as-is on Windows (via `.gitattributes`) |","","## Editing This File","","Do **not** edit this file manually. It is regenerated each time you run:","","```bash","godd-a config # via Cursor MCP tool","godd-a init # CLI initialization","```","","To change `docs_dir` or other `godd_files` settings, update `config.godd` and re-run `godd config`."].join(`
203
203
  `)+`
204
204
  `;try{(0,Fe.writeFileSync)(r,o,"utf-8")}catch{}}function Ec(e){let t=(0,tr.resolve)(e,".gitattributes");if((0,Fe.existsSync)(t))return;let r=["# Normalize line endings to LF on commit, checkout as-is on Windows","* text=auto eol=lf","","# Binary files \u2014 no line ending conversion","*.png binary","*.jpg binary","*.jpeg binary","*.gif binary","*.webp binary","*.ico binary","*.pptx binary","*.pdf binary","*.zip binary","*.pen binary"].join(`
205
205
  `)+`
@@ -350,7 +350,7 @@ ${n.content}
350
350
 
351
351
  Created: ${n.createdAt}`:r.notFound(t)}async function kF(e,t,r){if(!t)return r.invalidAction;let{results:i,backend:n}=await hE(e,t);if(i.length===0)return r.noResults;let o=[r.searchResults,""];for(let s of i){let a=nm($$,s.id);o.push(`- ${a} \u2014 ${s.summary} (score: ${s.score.toFixed(2)})`)}return o.push("",r.backendInfo(n)),n==="json-fallback"&&o.push(k$),o.join(`
352
352
  `)}async function SF(e,t){let{entries:r,backend:i}=await vE(e);if(r.length===0)return t.listEmpty;let n=[t.listTitle,""];for(let o of r){let s=nm($$,o.id);n.push(`- ${s} \u2014 ${o.summary} (${o.createdAt})`)}return n.push("",t.backendInfo(i)),i==="json-fallback"&&n.push(k$),n.join(`
353
- `)}async function xF(e,t,r){let i=b$(t);return i?await yE(e,i.id)?(vF(e,t),r.forgotten(t)):r.forgetFailed(t):r.invalidAddress}var wF={ja:["jp-ui-contracts","jp-llm-optimization"]};function xE(e){let t=String(e.display_language??""),r=String(e.main_language??"");e.github_communication_tone_ja=t==="ja"||r==="ja";let i=e.design;i&&typeof i=="object"&&(e.design_tool_pencil=i.tool==="pencil",e.design_tool_figma=i.tool==="figma",e.design_review=i.design_review===!0,e.design_auto_suggest=i.auto_suggest!==!1);let n=process.platform;e.os_windows=n==="win32",e.os_macos=n==="darwin",e.os_linux=n==="linux",e.shell_powershell=n==="win32";let s=wF[r||t||""];if(!s||s.length===0)return;let a=Array.isArray(e.other)?e.other:[],c=s.filter(l=>!a.includes(l));c.length!==0&&(e.other=[...a,...c])}var Ue=require("node:fs"),S$=require("node:os"),zt=require("node:path");function om(e){try{return(0,Ue.realpathSync)(e)}catch{return e}}var IF="@autodevjapan/godd-mcp-alpha";function zF(){let e=(0,zt.dirname)(om(process.execPath)),t=(0,zt.join)(e,"node_modules","npm","bin","npx-cli.js");return(0,Ue.existsSync)(t)?t:null}function PF(){if(typeof globalThis.__pkg<"u"||process.pkg)return{command:process.execPath,args:["serve"]};let e=om(process.execPath),t=zF();if(t)return{command:e,args:[t,"-y",`${IF}@latest`,"serve"]};let r=process.argv[1];return r&&(0,Ue.existsSync)(r)?{command:e,args:[om(r),"serve"]}:{command:e,args:[r??"godd.cjs","serve"]}}function wE(e,t){let r=`${e}.tmp`;try{(0,Ue.writeFileSync)(r,t,"utf-8"),(0,Ue.renameSync)(r,e)}catch(i){try{(0,Ue.unlinkSync)(r)}catch{}throw i}}function IE(e){if(!(0,Ue.existsSync)(e))return{mcpServers:{}};let t;try{t=(0,Ue.readFileSync)(e,"utf-8")}catch(r){let i=r?.code;if(i==="ENOENT")return{mcpServers:{}};throw new Error(`Cannot read ${e}: ${i??String(r)}`)}try{return{mcpServers:JSON.parse(t).mcpServers??{}}}catch{let r=`${e}.bak`,i=!1;try{(0,Ue.writeFileSync)(r,t,"utf-8"),i=!0}catch{}let n=Ae("en").corruptMcpJson.replace("{backup}",r);return console.error(` [WARN] ${e} ${n}`),i||console.error(" [WARN] Backup creation failed. Original content may be lost."),{mcpServers:{}}}}function zE(e){let t=(0,zt.join)((0,S$.homedir)(),".cursor"),r=(0,zt.join)(t,"mcp.json");(0,Ue.existsSync)(t)||(0,Ue.mkdirSync)(t,{recursive:!0});let i=IE(r),n=M.mcpKey;if(dn!==n&&i.mcpServers[dn]){let g=i.mcpServers[dn];i.mcpServers[n]||(i.mcpServers[n]=g),delete i.mcpServers[dn]}let{command:o,args:s}=PF(),a=i.mcpServers[n],c={};e?c.GODD_LICENSE_KEY=e:a?.env?.GODD_LICENSE_KEY&&(c.GODD_LICENSE_KEY=a.env.GODD_LICENSE_KEY);let l=(0,zt.dirname)(om(process.execPath));if(process.platform==="win32"){let g=process.env.SystemRoot??"C:\\Windows";c.PATH=[l,(0,zt.join)(g,"system32"),g,(0,zt.join)(g,"System32","Wbem")].join(zt.delimiter)}else c.PATH=[l,"/usr/local/bin","/usr/bin","/bin"].join(zt.delimiter);let u={command:o,args:s,...Object.keys(c).length>0?{env:c}:{}},d=!a,f=d||JSON.stringify(a)!==JSON.stringify(u);f&&(i.mcpServers[n]=u,wE(r,JSON.stringify(i,null,2)+`
353
+ `)}async function xF(e,t,r){let i=b$(t);return i?await yE(e,i.id)?(vF(e,t),r.forgotten(t)):r.forgetFailed(t):r.invalidAddress}var wF={ja:["jp-ui-contracts","jp-llm-optimization"]};function xE(e){let t=String(e.display_language??""),r=String(e.main_language??""),i=[t,r].filter(Boolean),n=i.includes("ja");e.github_communication_tone_ja=n;let o=e.design;o&&typeof o=="object"&&(e.design_tool_pencil=o.tool==="pencil",e.design_tool_figma=o.tool==="figma",e.design_review=o.design_review===!0,e.design_auto_suggest=o.auto_suggest!==!1);let s=process.platform;e.os_windows=s==="win32",e.os_macos=s==="darwin",e.os_linux=s==="linux",e.shell_powershell=s==="win32";let a=Array.isArray(e.other)?e.other:[],c=[...new Set(i.flatMap(u=>wF[u]??[]))];if(c.length===0)return;let l=c.filter(u=>!a.includes(u));l.length!==0&&(e.other=[...a,...l])}var Ue=require("node:fs"),S$=require("node:os"),zt=require("node:path");function om(e){try{return(0,Ue.realpathSync)(e)}catch{return e}}var IF="@autodevjapan/godd-mcp-alpha";function zF(){let e=(0,zt.dirname)(om(process.execPath)),t=(0,zt.join)(e,"node_modules","npm","bin","npx-cli.js");return(0,Ue.existsSync)(t)?t:null}function PF(){if(typeof globalThis.__pkg<"u"||process.pkg)return{command:process.execPath,args:["serve"]};let e=om(process.execPath),t=zF();if(t)return{command:e,args:[t,"-y",`${IF}@latest`,"serve"]};let r=process.argv[1];return r&&(0,Ue.existsSync)(r)?{command:e,args:[om(r),"serve"]}:{command:e,args:[r??"godd.cjs","serve"]}}function wE(e,t){let r=`${e}.tmp`;try{(0,Ue.writeFileSync)(r,t,"utf-8"),(0,Ue.renameSync)(r,e)}catch(i){try{(0,Ue.unlinkSync)(r)}catch{}throw i}}function IE(e){if(!(0,Ue.existsSync)(e))return{mcpServers:{}};let t;try{t=(0,Ue.readFileSync)(e,"utf-8")}catch(r){let i=r?.code;if(i==="ENOENT")return{mcpServers:{}};throw new Error(`Cannot read ${e}: ${i??String(r)}`)}try{return{mcpServers:JSON.parse(t).mcpServers??{}}}catch{let r=`${e}.bak`,i=!1;try{(0,Ue.writeFileSync)(r,t,"utf-8"),i=!0}catch{}let n=Ae("en").corruptMcpJson.replace("{backup}",r);return console.error(` [WARN] ${e} ${n}`),i||console.error(" [WARN] Backup creation failed. Original content may be lost."),{mcpServers:{}}}}function zE(e){let t=(0,zt.join)((0,S$.homedir)(),".cursor"),r=(0,zt.join)(t,"mcp.json");(0,Ue.existsSync)(t)||(0,Ue.mkdirSync)(t,{recursive:!0});let i=IE(r),n=M.mcpKey;if(dn!==n&&i.mcpServers[dn]){let g=i.mcpServers[dn];i.mcpServers[n]||(i.mcpServers[n]=g),delete i.mcpServers[dn]}let{command:o,args:s}=PF(),a=i.mcpServers[n],c={};e?c.GODD_LICENSE_KEY=e:a?.env?.GODD_LICENSE_KEY&&(c.GODD_LICENSE_KEY=a.env.GODD_LICENSE_KEY);let l=(0,zt.dirname)(om(process.execPath));if(process.platform==="win32"){let g=process.env.SystemRoot??"C:\\Windows";c.PATH=[l,(0,zt.join)(g,"system32"),g,(0,zt.join)(g,"System32","Wbem")].join(zt.delimiter)}else c.PATH=[l,"/usr/local/bin","/usr/bin","/bin"].join(zt.delimiter);let u={command:o,args:s,...Object.keys(c).length>0?{env:c}:{}},d=!a,f=d||JSON.stringify(a)!==JSON.stringify(u);f&&(i.mcpServers[n]=u,wE(r,JSON.stringify(i,null,2)+`
354
354
  `));let p=d?"created":f?"updated":"unchanged";return TF(),{mcpJsonPath:r,status:p,serverKey:n}}function TF(){try{let{execFileSync:e}=require("node:child_process");e("godd-tk",["init","--agent","cursor","--global"],{timeout:5e3,stdio:"ignore"})}catch{}}function PE(){let e=(0,zt.join)((0,S$.homedir)(),".cursor","mcp.json");if(!(0,Ue.existsSync)(e))return{removed:!1,mcpJsonPath:e};let t=IE(e),r=M.mcpKey,i=!1;return t.mcpServers[r]&&(delete t.mcpServers[r],i=!0),dn!==r&&t.mcpServers[dn]&&(delete t.mcpServers[dn],i=!0),i?(wE(e,JSON.stringify(t,null,2)+`
355
355
  `),{removed:!0,mcpJsonPath:e}):{removed:!1,mcpJsonPath:e}}var EF="AutoDevJapan/GoDD-MCP-Alpha",NF=`https://api.github.com/repos/${EF}/releases/latest`,jF=5e3;function TE(e){let t=e.match(/^[vV]?(\d+)\.(\d+)\.(\d+)/);return t?{major:Number(t[1]),minor:Number(t[2]),patch:Number(t[3])}:null}function OF(e,t){return t.major!==e.major?t.major>e.major:t.minor!==e.minor?t.minor>e.minor:t.patch>e.patch}async function x$(){let e=new AbortController,t=setTimeout(()=>e.abort(),jF);try{let r=await fetch(NF,{headers:{Accept:"application/vnd.github+json","User-Agent":`${M.mcpKey}-mcp-server/${er}`},signal:e.signal});if(!r.ok)return null;let i=await r.json(),n=TE(er),o=TE(i.tag_name);return!n||!o?null:{currentVersion:er,latestVersion:i.tag_name,hasUpdate:OF(n,o),releaseUrl:i.html_url}}catch{return null}finally{clearTimeout(t)}}async function w$(e="en"){try{let t=await x$();if(!t?.hasUpdate)return;let r=Ae(e);console.error(""),console.error(` \u2B06 ${M.displayName} ${r.updateAvailable} ${t.latestVersion}\uFF08${r.updateCurrent} ${t.currentVersion}\uFF09`),console.error(` ${t.releaseUrl}`),console.error("")}catch{}}var Ko=require("node:child_process"),I$=require("node:fs"),EE=require("node:os");var CF=5e3;async function DF(){return new Promise(e=>{let t=(0,Ko.execFile)("docker",["info"],{timeout:CF},r=>{e(!r)});t.stdout?.resume(),t.stderr?.resume()})}function AF(){let e=(0,EE.platform)();try{switch(e){case"win32":{let r=[`${process.env.ProgramFiles}\\Docker\\Docker\\Docker Desktop.exe`,`${process.env.LOCALAPPDATA}\\Docker\\Docker Desktop.exe`,"C:\\Program Files\\Docker\\Docker\\Docker Desktop.exe"].find(i=>(0,I$.existsSync)(i));return r?((0,Ko.exec)(`"${r}"`,{windowsHide:!0}),{attempted:!0}):{attempted:!1,error:"Docker Desktop not found"}}case"darwin":return(0,I$.existsSync)("/Applications/Docker.app")?((0,Ko.exec)("open -g -a Docker"),{attempted:!0}):{attempted:!1,error:"Docker Desktop not found at /Applications/Docker.app"};case"linux":return(0,Ko.exec)("systemctl start docker 2>/dev/null || service docker start 2>/dev/null"),{attempted:!0};default:return{attempted:!1,error:`Unsupported platform: ${e}`}}}catch(t){return{attempted:!1,error:t instanceof Error?t.message:String(t)}}}async function NE(){let e=`[${M.displayName}]`;if(await DF())return console.error(`${e} Docker \u2713`),{running:!0,startAttempted:!1};console.error(`${e} Docker not running \u2014 attempting to start Docker Desktop...`);let t=AF();return t.attempted?(console.error(`${e} Docker Desktop launch requested. It may take a moment to become ready.`),{running:!1,startAttempted:!0}):(console.error(`${e} \u26A0 Could not start Docker Desktop: ${t.error}`),console.error(`${e} Scratchpad will use local JSON fallback.`),{running:!1,startAttempted:!1,error:t.error})}async function jE(){let e=Ae("en");console.log(`
356
356
  ${M.displayName} v${er}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@autodevjapan/godd-mcp-alpha",
3
- "version": "1.34.0",
3
+ "version": "1.35.0",
4
4
  "type": "module",
5
5
  "description": "GoDD MCP α Server — AI Prompt Delivery System for Cursor IDE",
6
6
  "license": "UNLICENSED",
@@ -9,6 +9,7 @@
9
9
  "godd-a": "dist/godd.cjs"
10
10
  },
11
11
  "files": [
12
+ "assets/godd-mcp-alpha-icon.png",
12
13
  "dist/godd.cjs",
13
14
  "scripts/postinstall-godd-tk.js",
14
15
  "README.md"