auvrynt 1.0.2 → 1.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (550) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +366 -233
  3. package/addons/auvrynt_bridge/auvrynt_bridge.gd +500 -0
  4. package/addons/auvrynt_bridge/plugin.cfg +7 -0
  5. package/bin/auvrynt-launcher.cjs +77 -0
  6. package/dist/artifact-registry.js +1 -0
  7. package/dist/aseprite-tools.js +1 -0
  8. package/dist/auth/connection-registry.js +145 -0
  9. package/dist/auth/connection-status.js +176 -0
  10. package/dist/auth/oauth-provider.js +617 -0
  11. package/dist/auth/room-registry.js +131 -0
  12. package/dist/auth/session-registry.js +531 -0
  13. package/dist/background-lifecycle.js +1 -0
  14. package/dist/blender-client.js +1 -109
  15. package/dist/blender-tools.js +1 -930
  16. package/dist/browser-stability.js +1 -0
  17. package/dist/cli/commands/help-command.js +10 -0
  18. package/dist/cli/commands/init-command.js +190 -0
  19. package/dist/cli/commands/integration-commands.js +88 -0
  20. package/dist/cli/commands/serve-command.js +83 -0
  21. package/dist/cli/commands/setup-command.js +81 -0
  22. package/dist/cli/commands/status-commands.js +166 -0
  23. package/dist/cli/commands/tunnel-command.js +127 -0
  24. package/dist/cli/commands/user-config-commands.js +105 -0
  25. package/dist/cli/dashboard-actions.js +516 -0
  26. package/dist/cli/dashboard-native-actions.js +282 -0
  27. package/dist/cli/foreground-server.js +270 -0
  28. package/dist/cli/instance-control.js +21 -0
  29. package/dist/cli/instance-lock.js +123 -0
  30. package/dist/cli/integration-bootstrap.js +206 -0
  31. package/dist/cli/lifecycle-manager.js +493 -0
  32. package/dist/cli/runtime-support.js +74 -0
  33. package/dist/cli/serena-detected-default.js +27 -0
  34. package/dist/cli/tunnel-health-monitor.js +182 -0
  35. package/dist/cli.js +82 -739
  36. package/dist/config.js +1 -243
  37. package/dist/connection-registry.js +1 -73
  38. package/dist/connection-status.js +1 -139
  39. package/dist/control-retry.js +1 -0
  40. package/dist/crash-recovery.js +1 -0
  41. package/dist/db/client.js +16 -3
  42. package/dist/db/schema.js +30 -0
  43. package/dist/dotnet-tools.js +1 -223
  44. package/dist/git-worktrees.js +1 -134
  45. package/dist/git.js +1 -41
  46. package/dist/godot-animation-tilemap.js +1 -82
  47. package/dist/godot-csharp-build.js +1 -93
  48. package/dist/godot-csharp-project.js +1 -157
  49. package/dist/godot-csharp-runner.js +1 -146
  50. package/dist/godot-csharp-semantic.js +1 -161
  51. package/dist/godot-csharp-validate.js +1 -71
  52. package/dist/godot-dotnet-env.js +1 -169
  53. package/dist/godot-editor-bridge.js +1 -140
  54. package/dist/godot-gdscript.js +1 -824
  55. package/dist/godot-project-settings.js +1 -223
  56. package/dist/godot-runtime-testing.js +1 -249
  57. package/dist/godot-tools.js +1 -183
  58. package/dist/http-rate-limit.js +1 -0
  59. package/dist/http-server-hardening.js +1 -0
  60. package/dist/image-tools.js +1 -157
  61. package/dist/infrastructure/command-reference.js +32 -0
  62. package/dist/infrastructure/config.js +424 -0
  63. package/dist/infrastructure/context7-auth.js +55 -0
  64. package/dist/infrastructure/http-rate-limit.js +42 -0
  65. package/dist/infrastructure/http-server-hardening.js +23 -0
  66. package/dist/infrastructure/integration-queue.js +46 -0
  67. package/dist/infrastructure/logger.js +129 -0
  68. package/dist/infrastructure/mcp-event-store.js +103 -0
  69. package/dist/infrastructure/ngrok-auth-pool.js +208 -0
  70. package/dist/infrastructure/request-context.js +14 -0
  71. package/dist/infrastructure/shutdown.js +37 -0
  72. package/dist/infrastructure/sse-heartbeat.js +47 -0
  73. package/dist/infrastructure/tool-capabilities.js +67 -0
  74. package/dist/infrastructure/tool-result-budget.js +175 -0
  75. package/dist/infrastructure/user-config.js +167 -0
  76. package/dist/integration-discovery.js +1 -98
  77. package/dist/integration-queue.js +1 -0
  78. package/dist/integrations/agent-reach/agent-reach-tools.js +196 -0
  79. package/dist/integrations/agent-reach/native-channels.js +468 -0
  80. package/dist/integrations/aseprite/aseprite-analysis-tools.js +368 -0
  81. package/dist/integrations/aseprite/aseprite-editing-tools.js +647 -0
  82. package/dist/integrations/aseprite/aseprite-live-tools.js +297 -0
  83. package/dist/integrations/aseprite/aseprite-safety-tools.js +594 -0
  84. package/dist/integrations/aseprite/aseprite-specialized-tools.js +289 -0
  85. package/dist/integrations/aseprite/aseprite-tools.js +837 -0
  86. package/dist/integrations/blender/blender-catalog-mesh.js +593 -0
  87. package/dist/integrations/blender/blender-catalog-object.js +906 -0
  88. package/dist/integrations/blender/blender-catalog-scene.js +266 -0
  89. package/dist/integrations/blender/blender-catalog-select.js +581 -0
  90. package/dist/integrations/blender/blender-catalog-stubs.js +7512 -0
  91. package/dist/integrations/blender/blender-catalog.js +165 -0
  92. package/dist/integrations/blender/blender-client.js +105 -0
  93. package/dist/integrations/blender/blender-tools.js +2243 -0
  94. package/dist/integrations/context7/context7-tools.js +106 -0
  95. package/dist/integrations/dotnet/dotnet-tools.js +195 -0
  96. package/dist/integrations/godot/godot-animation-tilemap.js +74 -0
  97. package/dist/integrations/godot/godot-csharp-build.js +91 -0
  98. package/dist/integrations/godot/godot-csharp-project.js +155 -0
  99. package/dist/integrations/godot/godot-csharp-runner.js +118 -0
  100. package/dist/integrations/godot/godot-csharp-semantic.js +146 -0
  101. package/dist/integrations/godot/godot-csharp-validate.js +71 -0
  102. package/dist/integrations/godot/godot-dotnet-env.js +134 -0
  103. package/dist/integrations/godot/godot-editor-bridge.js +328 -0
  104. package/dist/integrations/godot/godot-gdscript.js +536 -0
  105. package/dist/integrations/godot/godot-project-settings.js +178 -0
  106. package/dist/integrations/godot/godot-runtime-testing.js +263 -0
  107. package/dist/integrations/godot/godot-tools.js +193 -0
  108. package/dist/integrations/images/image-tools.js +414 -0
  109. package/dist/integrations/images/png-codec.js +251 -0
  110. package/dist/integrations/images/view-image.js +99 -0
  111. package/dist/integrations/images/window-capture.js +148 -0
  112. package/dist/integrations/integration-discovery.js +185 -0
  113. package/dist/integrations/obsidian/obsidian-tools.js +205 -0
  114. package/dist/integrations/playwright/browser-session.js +516 -0
  115. package/dist/integrations/playwright/browser-stability.js +36 -0
  116. package/dist/integrations/playwright/playwright-runtime.js +105 -0
  117. package/dist/integrations/playwright/web-tools.js +504 -0
  118. package/dist/integrations/roblox/roblox-helpers.js +381 -0
  119. package/dist/integrations/roblox/roblox-studio-client.js +112 -0
  120. package/dist/integrations/roblox/roblox-tools.js +106 -0
  121. package/dist/integrations/serena/serena-manager.js +464 -0
  122. package/dist/integrations/serena/serena-tools.js +411 -0
  123. package/dist/logger.js +1 -76
  124. package/dist/mcp-event-store.js +1 -0
  125. package/dist/oauth-provider.js +1 -377
  126. package/dist/pi-tools.js +1 -81
  127. package/dist/playwright-runtime.js +1 -0
  128. package/dist/process/background-lifecycle.js +189 -0
  129. package/dist/process/control-retry.js +42 -0
  130. package/dist/process/crash-recovery.js +23 -0
  131. package/dist/process/processes.js +456 -0
  132. package/dist/processes.js +1 -218
  133. package/dist/request-context.js +1 -0
  134. package/dist/review-checkpoints.js +1 -142
  135. package/dist/room-registry.js +1 -0
  136. package/dist/roots.js +1 -53
  137. package/dist/search-discovery.js +1 -271
  138. package/dist/serena-manager.js +1 -443
  139. package/dist/serena-tools.js +1 -411
  140. package/dist/server/dashboard-page-styles.js +331 -0
  141. package/dist/server/dashboard-page.js +1509 -0
  142. package/dist/server/dashboard-routes.js +46 -0
  143. package/dist/server/dashboard.js +240 -0
  144. package/dist/server/http-helpers.js +30 -0
  145. package/dist/server/integration-profile-update.js +37 -0
  146. package/dist/server/mcp-policy.js +169 -0
  147. package/dist/server/mcp-server-factory.js +127 -0
  148. package/dist/server/mcp-tool-registrar.js +182 -0
  149. package/dist/server/openai-session-hint.js +14 -0
  150. package/dist/server/tool-groups.js +29 -0
  151. package/dist/server/tool-logging.js +33 -0
  152. package/dist/server/tool-registration-shared.js +59 -0
  153. package/dist/server/tools/aseprite-advanced-tools-registration.js +547 -0
  154. package/dist/server/tools/aseprite-tools-registration.js +213 -0
  155. package/dist/server/tools/blender-tools-registration.js +690 -0
  156. package/dist/server/tools/core-file-tools-registration.js +459 -0
  157. package/dist/server/tools/dotnet-godot-window-tools-registration.js +120 -0
  158. package/dist/server/tools/godot-csharp-tools-registration.js +252 -0
  159. package/dist/server/tools/godot-gdscript-tools-registration.js +189 -0
  160. package/dist/server/tools/process-project-tools-registration.js +155 -0
  161. package/dist/server/tools/roblox-tools-registration.js +514 -0
  162. package/dist/server/tools/web-image-tools-registration.js +326 -0
  163. package/dist/server/tools/workspace-lifecycle-tools-registration.js +130 -0
  164. package/dist/server/ui-assets.js +97 -0
  165. package/dist/server/workspace-analytics.js +92 -0
  166. package/dist/server.js +453 -2713
  167. package/dist/session-registry.js +1 -0
  168. package/dist/shutdown.js +1 -0
  169. package/dist/skills.js +1 -45
  170. package/dist/sse-heartbeat.js +1 -0
  171. package/dist/tool-capabilities.js +1 -0
  172. package/dist/tool-result-budget.js +1 -0
  173. package/dist/tools/pi-tools.js +81 -0
  174. package/dist/tunnels/cloudflare-tunnel.js +217 -0
  175. package/dist/tunnels/cloudflared-service.js +174 -0
  176. package/dist/tunnels/ngrok-tunnel.js +220 -0
  177. package/dist/tunnels/tunnel-manager.js +186 -0
  178. package/dist/tunnels/tunnel-types.js +1 -0
  179. package/dist/tunnels/tunnel-utils.js +62 -0
  180. package/dist/ui/.vite/manifest.json +9 -2487
  181. package/dist/ui/assets/heavy-payload-D42A9ceL.js +1 -0
  182. package/dist/ui/assets/lightweight-diff-Cv4g9Hdr.js +13 -0
  183. package/dist/ui/assets/review-payload-DKIg1cKF.js +1 -0
  184. package/dist/ui/assets/workspace-app-CeK3NhmB.css +1 -0
  185. package/dist/ui/assets/{workspace-app-C5QsE314.js → workspace-app-CkUXnpl4.js} +6 -6
  186. package/dist/ui/brand-theme.js +23 -0
  187. package/dist/ui/workspace-app.html +15 -15
  188. package/dist/user-config.js +1 -57
  189. package/dist/view-image.js +1 -104
  190. package/dist/web-tools.js +1 -200
  191. package/dist/window-capture.js +1 -74
  192. package/dist/workspace/artifact-registry.js +69 -0
  193. package/dist/workspace/git-worktrees.js +141 -0
  194. package/dist/workspace/git.js +42 -0
  195. package/dist/workspace/review-checkpoints.js +142 -0
  196. package/dist/workspace/roots.js +56 -0
  197. package/dist/workspace/search-discovery.js +264 -0
  198. package/dist/workspace/skills.js +45 -0
  199. package/dist/workspace/workspace-store.js +219 -0
  200. package/dist/workspace/workspaces.js +314 -0
  201. package/dist/workspace-store.js +1 -125
  202. package/dist/workspaces.js +1 -226
  203. package/docs/CREATOR_STORE_FREE_ASSETS.md +162 -0
  204. package/docs/DEVELOPMENT_TOOLS.md +136 -93
  205. package/docs/assets/auvrynt-icon.png +0 -0
  206. package/docs/assets/auvrynt-icon.svg +20 -0
  207. package/docs/chatgpt-coding-workflow.md +143 -143
  208. package/docs/configuration.md +156 -124
  209. package/docs/diagnostics.md +79 -0
  210. package/docs/gotchas.md +244 -202
  211. package/docs/multi-agent-and-long-projects.md +91 -0
  212. package/docs/security.md +138 -100
  213. package/docs/setup.md +171 -131
  214. package/docs/source-layout.md +60 -0
  215. package/extensions/auvrynt_bridge/auvrynt_bridge.lua +594 -0
  216. package/extensions/auvrynt_bridge/live_analysis.lua +181 -0
  217. package/extensions/auvrynt_bridge/live_animation.lua +134 -0
  218. package/extensions/auvrynt_bridge/live_commands.lua +24 -0
  219. package/extensions/auvrynt_bridge/live_common.lua +130 -0
  220. package/extensions/auvrynt_bridge/live_document.lua +78 -0
  221. package/extensions/auvrynt_bridge/live_drawing.lua +125 -0
  222. package/extensions/auvrynt_bridge/live_effects.lua +91 -0
  223. package/extensions/auvrynt_bridge/live_palette_template.lua +167 -0
  224. package/extensions/auvrynt_bridge/live_selection.lua +110 -0
  225. package/extensions/auvrynt_bridge/live_structure.lua +129 -0
  226. package/extensions/auvrynt_bridge/package.json +17 -0
  227. package/guides/ASEPRITE_AGENT_GUIDE.md +133 -0
  228. package/guides/BLENDER_AGENT_GUIDE.md +472 -0
  229. package/guides/GODOT_AGENT_GUIDE.md +298 -0
  230. package/guides/PROJECT_ROUTER.md +165 -0
  231. package/guides/ROBLOX_AGENT_GUIDE.md +75 -0
  232. package/guides/SOFTWARE_AGENT_GUIDE.md +104 -0
  233. package/guides/WEB_AGENT_GUIDE.md +287 -0
  234. package/package.json +78 -70
  235. package/scripts/dev-server.mjs +121 -120
  236. package/scripts/live-tunnel-smoke.mjs +538 -0
  237. package/scripts/repo-hygiene.mjs +74 -0
  238. package/scripts/restart-after-crash.mjs +49 -0
  239. package/scripts/run-tests.mjs +166 -0
  240. package/dist/ui/assets/abap-CLvhMVsD.js +0 -1
  241. package/dist/ui/assets/actionscript-3--17pq3dv.js +0 -1
  242. package/dist/ui/assets/ada-C5qYipkI.js +0 -1
  243. package/dist/ui/assets/andromeeda-vGVdxbeo.js +0 -1
  244. package/dist/ui/assets/angular-html-BJqQFYI6.js +0 -1
  245. package/dist/ui/assets/angular-ts-CMJECO0Y.js +0 -1
  246. package/dist/ui/assets/apache-U0d_L8uA.js +0 -1
  247. package/dist/ui/assets/apex-CGTLDQj6.js +0 -1
  248. package/dist/ui/assets/apl-DWeXpBBr.js +0 -1
  249. package/dist/ui/assets/applescript-CCn79oCD.js +0 -1
  250. package/dist/ui/assets/ara-4CJ0cIlV.js +0 -1
  251. package/dist/ui/assets/asciidoc-DE70LPWp.js +0 -1
  252. package/dist/ui/assets/asm-Cmm7eHzH.js +0 -1
  253. package/dist/ui/assets/astro-CLbttLOq.js +0 -1
  254. package/dist/ui/assets/aurora-x-CDeNXAV0.js +0 -1
  255. package/dist/ui/assets/awk-BWXHIvNe.js +0 -1
  256. package/dist/ui/assets/ayu-dark-DluEY0Gj.js +0 -1
  257. package/dist/ui/assets/ayu-light-C3h-C4tm.js +0 -1
  258. package/dist/ui/assets/ayu-mirage-Bqwy1Gya.js +0 -1
  259. package/dist/ui/assets/ballerina-B7ZEbQpA.js +0 -1
  260. package/dist/ui/assets/bat-Bo4NYOV-.js +0 -1
  261. package/dist/ui/assets/beancount-D-usSTwE.js +0 -1
  262. package/dist/ui/assets/berry-DKpUyyne.js +0 -1
  263. package/dist/ui/assets/bibtex-Ci_nEsc7.js +0 -1
  264. package/dist/ui/assets/bicep-CUHmPFLl.js +0 -1
  265. package/dist/ui/assets/bird2-C2hNVINV.js +0 -1
  266. package/dist/ui/assets/blade-BOzY0P2V.js +0 -1
  267. package/dist/ui/assets/bsl-BkkzgIyY.js +0 -1
  268. package/dist/ui/assets/c-BG-8uJvh.js +0 -1
  269. package/dist/ui/assets/c3-CnJL0r0V.js +0 -1
  270. package/dist/ui/assets/cadence-CQ2zXKGN.js +0 -1
  271. package/dist/ui/assets/cairo-DLTphjLi.js +0 -1
  272. package/dist/ui/assets/catppuccin-frappe-3VR1Za6u.js +0 -1
  273. package/dist/ui/assets/catppuccin-latte-DwIHMF0Q.js +0 -1
  274. package/dist/ui/assets/catppuccin-macchiato-DYnBP6_5.js +0 -1
  275. package/dist/ui/assets/catppuccin-mocha-DYhrFGRu.js +0 -1
  276. package/dist/ui/assets/clarity-SemFz856.js +0 -1
  277. package/dist/ui/assets/clojure-DqKBuwfJ.js +0 -1
  278. package/dist/ui/assets/cmake-Bj61d0ZC.js +0 -1
  279. package/dist/ui/assets/cobol-I_17IuGe.js +0 -1
  280. package/dist/ui/assets/codeowners-C8r90Shi.js +0 -1
  281. package/dist/ui/assets/codeql-oeQT6MSM.js +0 -1
  282. package/dist/ui/assets/coffee-C0B8hmok.js +0 -1
  283. package/dist/ui/assets/common-lisp-Cv5bFMCO.js +0 -1
  284. package/dist/ui/assets/coq-BrsZFFmf.js +0 -1
  285. package/dist/ui/assets/cpp-DDJXt6Vs.js +0 -1
  286. package/dist/ui/assets/crystal-Bexqace6.js +0 -1
  287. package/dist/ui/assets/csharp-Ct8U2NOr.js +0 -1
  288. package/dist/ui/assets/css-DSQhw_9R.js +0 -1
  289. package/dist/ui/assets/csv-Dx-8-gkx.js +0 -1
  290. package/dist/ui/assets/cue-CE9AQfxI.js +0 -1
  291. package/dist/ui/assets/cypher-ClKdZ_lG.js +0 -1
  292. package/dist/ui/assets/d-qD-0Kul2.js +0 -1
  293. package/dist/ui/assets/dark-plus-Cs2F2srj.js +0 -1
  294. package/dist/ui/assets/dart-DkHntEIa.js +0 -1
  295. package/dist/ui/assets/dax-BkyTk9wS.js +0 -1
  296. package/dist/ui/assets/desktop-Dlh5hvp9.js +0 -1
  297. package/dist/ui/assets/diff-woXpYk--.js +0 -1
  298. package/dist/ui/assets/docker-IyjqRm3v.js +0 -1
  299. package/dist/ui/assets/dotenv-_5a1GRtc.js +0 -1
  300. package/dist/ui/assets/dracula-BHWKrbxM.js +0 -1
  301. package/dist/ui/assets/dracula-soft-5eyTD99u.js +0 -1
  302. package/dist/ui/assets/dream-maker-DW3nJb8Q.js +0 -1
  303. package/dist/ui/assets/edge-Z8YYkHOr.js +0 -1
  304. package/dist/ui/assets/elixir-CG9uKtAF.js +0 -1
  305. package/dist/ui/assets/elm-GfWG2IfT.js +0 -1
  306. package/dist/ui/assets/emacs-lisp-C9PiwqqW.js +0 -1
  307. package/dist/ui/assets/erb-xe89e73J.js +0 -1
  308. package/dist/ui/assets/erlang-Cphh6RMH.js +0 -1
  309. package/dist/ui/assets/everforest-dark-sB-x3p7T.js +0 -1
  310. package/dist/ui/assets/everforest-light-Df2xbC6M.js +0 -1
  311. package/dist/ui/assets/fennel-DQxkIbk2.js +0 -1
  312. package/dist/ui/assets/fish-BJitypiv.js +0 -1
  313. package/dist/ui/assets/fluent-C03EYrpw.js +0 -1
  314. package/dist/ui/assets/fortran-fixed-form-DEKoE2YW.js +0 -1
  315. package/dist/ui/assets/fortran-free-form-CYNrtFtB.js +0 -1
  316. package/dist/ui/assets/fsharp-D13ZGOAj.js +0 -1
  317. package/dist/ui/assets/gdresource-C0sCabJj.js +0 -1
  318. package/dist/ui/assets/gdscript-Cp2uCuqX.js +0 -1
  319. package/dist/ui/assets/gdshader-CBce3t8t.js +0 -1
  320. package/dist/ui/assets/genie-CV2tkWYe.js +0 -1
  321. package/dist/ui/assets/gherkin-DExj1W_8.js +0 -1
  322. package/dist/ui/assets/git-commit-BSykSTBG.js +0 -1
  323. package/dist/ui/assets/git-rebase-CoTL_uSE.js +0 -1
  324. package/dist/ui/assets/github-dark-C-LZuMrd.js +0 -1
  325. package/dist/ui/assets/github-dark-default-DXG-b-1a.js +0 -1
  326. package/dist/ui/assets/github-dark-dimmed-Bx1FflLF.js +0 -1
  327. package/dist/ui/assets/github-dark-high-contrast-B_tTalzw.js +0 -1
  328. package/dist/ui/assets/github-light-EUqPIrTm.js +0 -1
  329. package/dist/ui/assets/github-light-default-BXViO-2h.js +0 -1
  330. package/dist/ui/assets/github-light-high-contrast-B68TUdTA.js +0 -1
  331. package/dist/ui/assets/gleam-CSRkHgEL.js +0 -1
  332. package/dist/ui/assets/glimmer-js-DAn4UCSu.js +0 -1
  333. package/dist/ui/assets/glimmer-ts-Tjyi6Gh5.js +0 -1
  334. package/dist/ui/assets/glsl-CtTDZoqR.js +0 -1
  335. package/dist/ui/assets/gn-ilITqXS6.js +0 -1
  336. package/dist/ui/assets/gnuplot-7GGW24-e.js +0 -1
  337. package/dist/ui/assets/go-BJwz_mda.js +0 -1
  338. package/dist/ui/assets/graphql-D5gcC_Jk.js +0 -1
  339. package/dist/ui/assets/groovy-CacY0gHj.js +0 -1
  340. package/dist/ui/assets/gruvbox-dark-hard-C820rvS2.js +0 -1
  341. package/dist/ui/assets/gruvbox-dark-medium-BPjhmG05.js +0 -1
  342. package/dist/ui/assets/gruvbox-dark-soft-MrdJrrXF.js +0 -1
  343. package/dist/ui/assets/gruvbox-light-hard-BC_s9l72.js +0 -1
  344. package/dist/ui/assets/gruvbox-light-medium-BAWPOn9u.js +0 -1
  345. package/dist/ui/assets/gruvbox-light-soft-BSMLrYjP.js +0 -1
  346. package/dist/ui/assets/hack-BJXY27dt.js +0 -1
  347. package/dist/ui/assets/haml-BLfFoZf7.js +0 -1
  348. package/dist/ui/assets/handlebars-Dw6CWkvN.js +0 -1
  349. package/dist/ui/assets/haskell-D8IpX4py.js +0 -1
  350. package/dist/ui/assets/haxe-OTjmBuCE.js +0 -1
  351. package/dist/ui/assets/hcl-Dh228itO.js +0 -1
  352. package/dist/ui/assets/heavy-payload-Dcg0-F-S.js +0 -4
  353. package/dist/ui/assets/hjson-CxZEssPk.js +0 -1
  354. package/dist/ui/assets/hlsl-Cvrh5tZx.js +0 -1
  355. package/dist/ui/assets/horizon-CE9ld1lL.js +0 -1
  356. package/dist/ui/assets/horizon-bright-Br1oVSNq.js +0 -1
  357. package/dist/ui/assets/houston-CsvMBhTu.js +0 -1
  358. package/dist/ui/assets/html-CAcAWvoN.js +0 -1
  359. package/dist/ui/assets/html-derivative-8aSW2E_7.js +0 -1
  360. package/dist/ui/assets/http-B2YR_3V1.js +0 -1
  361. package/dist/ui/assets/hurl-BnDJ9Zhf.js +0 -1
  362. package/dist/ui/assets/hxml-B0Qn7Nwc.js +0 -1
  363. package/dist/ui/assets/hy-CZbG8q4J.js +0 -1
  364. package/dist/ui/assets/imba-DsUTQ-LC.js +0 -1
  365. package/dist/ui/assets/ini-B5eOa1yu.js +0 -1
  366. package/dist/ui/assets/java-Doxi4W8u.js +0 -1
  367. package/dist/ui/assets/javascript-BbRdEqti.js +0 -1
  368. package/dist/ui/assets/jinja-CS3Tpv_Q.js +0 -1
  369. package/dist/ui/assets/jison-BkPGYVHR.js +0 -1
  370. package/dist/ui/assets/json-BMt1m3m8.js +0 -1
  371. package/dist/ui/assets/json5-BR5RXkoi.js +0 -1
  372. package/dist/ui/assets/jsonc-CYpm1nAK.js +0 -1
  373. package/dist/ui/assets/jsonl-CmCQp5Yx.js +0 -1
  374. package/dist/ui/assets/jsonnet-CJTPZ8u_.js +0 -1
  375. package/dist/ui/assets/jssm-DXw9l8Rf.js +0 -1
  376. package/dist/ui/assets/jsx-CQKrJXXY.js +0 -1
  377. package/dist/ui/assets/julia-BuN7i2du.js +0 -1
  378. package/dist/ui/assets/just-BswEPFPu.js +0 -1
  379. package/dist/ui/assets/kanagawa-dragon-CXtmUGW6.js +0 -1
  380. package/dist/ui/assets/kanagawa-lotus-BN08jTvb.js +0 -1
  381. package/dist/ui/assets/kanagawa-wave-CTweb8Dz.js +0 -1
  382. package/dist/ui/assets/kdl-CsD5j6eV.js +0 -1
  383. package/dist/ui/assets/kotlin-DhhofPvG.js +0 -1
  384. package/dist/ui/assets/kusto-BUv0MjJC.js +0 -1
  385. package/dist/ui/assets/laserwave-C_8bwKvT.js +0 -1
  386. package/dist/ui/assets/latex-DU2VyFfA.js +0 -1
  387. package/dist/ui/assets/lean-CewbzKMR.js +0 -1
  388. package/dist/ui/assets/less-DVTAwKKz.js +0 -1
  389. package/dist/ui/assets/light-plus-DVQuIRkW.js +0 -1
  390. package/dist/ui/assets/liquid-Cmz1L3dq.js +0 -1
  391. package/dist/ui/assets/llvm-Cm23YOpf.js +0 -1
  392. package/dist/ui/assets/log-BNLmms1o.js +0 -1
  393. package/dist/ui/assets/logo-Cluzi2Zq.js +0 -1
  394. package/dist/ui/assets/lua-CfVXhkaJ.js +0 -1
  395. package/dist/ui/assets/luau-CNKltnaQ.js +0 -1
  396. package/dist/ui/assets/make-Dixweg8N.js +0 -1
  397. package/dist/ui/assets/markdown-BYOwaDjH.js +0 -1
  398. package/dist/ui/assets/marko-C5bfqGiA.js +0 -1
  399. package/dist/ui/assets/material-theme-Bm3Qr25_.js +0 -1
  400. package/dist/ui/assets/material-theme-darker-2IIEA8gg.js +0 -1
  401. package/dist/ui/assets/material-theme-lighter-uhdI0v04.js +0 -1
  402. package/dist/ui/assets/material-theme-ocean-CHQ94UKr.js +0 -1
  403. package/dist/ui/assets/material-theme-palenight-B5W6OYN7.js +0 -1
  404. package/dist/ui/assets/matlab-D7qyCx1q.js +0 -1
  405. package/dist/ui/assets/mdc-CVBXYfyq.js +0 -1
  406. package/dist/ui/assets/mdx-DQZ5AkYe.js +0 -1
  407. package/dist/ui/assets/mermaid-Bk4SNUv9.js +0 -1
  408. package/dist/ui/assets/min-dark-BSWPekZh.js +0 -1
  409. package/dist/ui/assets/min-light-DDpmG2fV.js +0 -1
  410. package/dist/ui/assets/mipsasm-BMqwQI7S.js +0 -1
  411. package/dist/ui/assets/mojo-BgCJLMeH.js +0 -1
  412. package/dist/ui/assets/monokai-CdkpiU2Y.js +0 -1
  413. package/dist/ui/assets/moonbit-CaWjb8XO.js +0 -1
  414. package/dist/ui/assets/move-B1IS1UjX.js +0 -1
  415. package/dist/ui/assets/narrat-_X_XdTYD.js +0 -1
  416. package/dist/ui/assets/nextflow-Bbiyy34d.js +0 -1
  417. package/dist/ui/assets/nextflow-groovy-Dc_ddanL.js +0 -1
  418. package/dist/ui/assets/nginx-CzJafxLa.js +0 -1
  419. package/dist/ui/assets/night-owl-DhmEMT88.js +0 -1
  420. package/dist/ui/assets/night-owl-light-eJ-hLW7d.js +0 -1
  421. package/dist/ui/assets/nim-DABKtHtM.js +0 -1
  422. package/dist/ui/assets/nix-IvuFDN5E.js +0 -1
  423. package/dist/ui/assets/nord-Cb4Vim4T.js +0 -1
  424. package/dist/ui/assets/nushell-DcLAeLz5.js +0 -1
  425. package/dist/ui/assets/objective-c-D1A_Heim.js +0 -1
  426. package/dist/ui/assets/objective-cpp-BsSzOQcm.js +0 -1
  427. package/dist/ui/assets/ocaml-O90oeIOV.js +0 -1
  428. package/dist/ui/assets/odin-B1RWQWA5.js +0 -1
  429. package/dist/ui/assets/one-dark-pro-CLwyXe_n.js +0 -1
  430. package/dist/ui/assets/one-light-D7Lr4KcI.js +0 -1
  431. package/dist/ui/assets/openscad-BUDT5pXO.js +0 -1
  432. package/dist/ui/assets/pascal-4ZHwLPI5.js +0 -1
  433. package/dist/ui/assets/perl-CBh7L3lZ.js +0 -1
  434. package/dist/ui/assets/php-DFbI9q5p.js +0 -1
  435. package/dist/ui/assets/pierre-dark-sU4Zdns8.js +0 -1
  436. package/dist/ui/assets/pierre-dark-soft-HXgun5vs.js +0 -1
  437. package/dist/ui/assets/pierre-light-DWBk51d8.js +0 -1
  438. package/dist/ui/assets/pierre-light-soft-CodEzPxf.js +0 -1
  439. package/dist/ui/assets/pkl-ot-7Btpt.js +0 -1
  440. package/dist/ui/assets/plastic-DQwYfKfQ.js +0 -1
  441. package/dist/ui/assets/plsql-DGHpHOYJ.js +0 -1
  442. package/dist/ui/assets/po-BiJDBrnU.js +0 -1
  443. package/dist/ui/assets/poimandres-DRFjx7u4.js +0 -1
  444. package/dist/ui/assets/polar-C7UOKdEL.js +0 -1
  445. package/dist/ui/assets/postcss-BXeXVLqQ.js +0 -1
  446. package/dist/ui/assets/powerquery-DNMTfnFr.js +0 -1
  447. package/dist/ui/assets/powershell-DshXNtvi.js +0 -1
  448. package/dist/ui/assets/prisma-BsRQq5mF.js +0 -1
  449. package/dist/ui/assets/prolog-iXnhIJG7.js +0 -1
  450. package/dist/ui/assets/proto-DB4EqR-F.js +0 -1
  451. package/dist/ui/assets/pug-C_PxC7gO.js +0 -1
  452. package/dist/ui/assets/puppet-CDv2pdJW.js +0 -1
  453. package/dist/ui/assets/purescript-9MfHhQsQ.js +0 -1
  454. package/dist/ui/assets/python-gzcpVVnB.js +0 -1
  455. package/dist/ui/assets/qml-DtngoFFK.js +0 -1
  456. package/dist/ui/assets/qmldir-DCQb3MpD.js +0 -1
  457. package/dist/ui/assets/qss-Fe1Jh2GI.js +0 -1
  458. package/dist/ui/assets/r-DohkcevW.js +0 -1
  459. package/dist/ui/assets/racket-DcIDlBhZ.js +0 -1
  460. package/dist/ui/assets/raku-B3gFvitq.js +0 -1
  461. package/dist/ui/assets/razor-C4t8J0_E.js +0 -1
  462. package/dist/ui/assets/red-CJ3rzSJv.js +0 -1
  463. package/dist/ui/assets/reg-CRGYupPL.js +0 -1
  464. package/dist/ui/assets/regexp-OGbTbjgY.js +0 -1
  465. package/dist/ui/assets/rel-BtDbiS_P.js +0 -1
  466. package/dist/ui/assets/review-payload-C5Qz60Kq.js +0 -1
  467. package/dist/ui/assets/riscv-Ckw8ddFX.js +0 -1
  468. package/dist/ui/assets/ron-VUp2lXgN.js +0 -1
  469. package/dist/ui/assets/rose-pine-BthvhNj6.js +0 -1
  470. package/dist/ui/assets/rose-pine-dawn-Dg85fqjY.js +0 -1
  471. package/dist/ui/assets/rose-pine-moon-hon4tzzS.js +0 -1
  472. package/dist/ui/assets/rosmsg-CAekHB0j.js +0 -1
  473. package/dist/ui/assets/rst-CfBbbcvC.js +0 -1
  474. package/dist/ui/assets/ruby-Bw0mpxHY.js +0 -1
  475. package/dist/ui/assets/rust-Cfkwpbl8.js +0 -1
  476. package/dist/ui/assets/sas-Cs3s9JOf.js +0 -1
  477. package/dist/ui/assets/sass-DXrisJhu.js +0 -1
  478. package/dist/ui/assets/scala-DKOlJaKm.js +0 -1
  479. package/dist/ui/assets/scheme-DQCgrYNe.js +0 -1
  480. package/dist/ui/assets/scss-sRxNJS54.js +0 -1
  481. package/dist/ui/assets/sdbl-bTVj8UrX.js +0 -1
  482. package/dist/ui/assets/shaderlab-TOUzSsQk.js +0 -1
  483. package/dist/ui/assets/shellscript-B0X6wh0R.js +0 -1
  484. package/dist/ui/assets/shellsession-D2FdOioR.js +0 -1
  485. package/dist/ui/assets/slack-dark-DnToyrRv.js +0 -1
  486. package/dist/ui/assets/slack-ochin-B2OO5cIa.js +0 -1
  487. package/dist/ui/assets/smalltalk-B16xEiuN.js +0 -1
  488. package/dist/ui/assets/snazzy-light-4G7pJPwS.js +0 -1
  489. package/dist/ui/assets/solarized-dark-DV17i1UV.js +0 -1
  490. package/dist/ui/assets/solarized-light-DSh2HLQt.js +0 -1
  491. package/dist/ui/assets/solidity-CKzVLygQ.js +0 -1
  492. package/dist/ui/assets/soy-s6g9OjJ1.js +0 -1
  493. package/dist/ui/assets/sparql-D_iOobhT.js +0 -1
  494. package/dist/ui/assets/splunk-BC2Px7Mm.js +0 -1
  495. package/dist/ui/assets/sql-DVTnh5V-.js +0 -1
  496. package/dist/ui/assets/ssh-config-BgfXC-Er.js +0 -1
  497. package/dist/ui/assets/stata-DFIDiXF9.js +0 -1
  498. package/dist/ui/assets/stylus-B6D30XZt.js +0 -1
  499. package/dist/ui/assets/surrealql-DVfrsLyg.js +0 -1
  500. package/dist/ui/assets/svelte-D5GsxESq.js +0 -1
  501. package/dist/ui/assets/swift-DonLKvLd.js +0 -1
  502. package/dist/ui/assets/synthwave-84-nFMaYfgc.js +0 -1
  503. package/dist/ui/assets/system-verilog-DJ5XKQeo.js +0 -1
  504. package/dist/ui/assets/systemd-BxMlprV5.js +0 -1
  505. package/dist/ui/assets/talonscript-CohzipZa.js +0 -1
  506. package/dist/ui/assets/tasl-DMoTqEGO.js +0 -1
  507. package/dist/ui/assets/tcl-CZd0xW_V.js +0 -1
  508. package/dist/ui/assets/templ-DI-Zyqzd.js +0 -1
  509. package/dist/ui/assets/terraform-DswuEJGm.js +0 -1
  510. package/dist/ui/assets/tex-WHHmlbJI.js +0 -1
  511. package/dist/ui/assets/tokyo-night-oM2G3aXe.js +0 -1
  512. package/dist/ui/assets/toml-CcmNWLt0.js +0 -1
  513. package/dist/ui/assets/ts-tags-Dwpo2RFJ.js +0 -1
  514. package/dist/ui/assets/tsv-sltzmVWM.js +0 -1
  515. package/dist/ui/assets/tsx-ph_idaAW.js +0 -1
  516. package/dist/ui/assets/turtle-ByJddavk.js +0 -1
  517. package/dist/ui/assets/twig-YO17jFjR.js +0 -1
  518. package/dist/ui/assets/typescript-CbAxjhkl.js +0 -1
  519. package/dist/ui/assets/typespec-B88KGewJ.js +0 -1
  520. package/dist/ui/assets/typst-DI99ib-x.js +0 -1
  521. package/dist/ui/assets/useFileDiffInstance-B2DLX3Vg.js +0 -244
  522. package/dist/ui/assets/v-DETTlOr0.js +0 -1
  523. package/dist/ui/assets/vala-zf12oZj6.js +0 -1
  524. package/dist/ui/assets/vb-Djn5o6TS.js +0 -1
  525. package/dist/ui/assets/verilog-CiiDBU1e.js +0 -1
  526. package/dist/ui/assets/vesper-D5bVUKB1.js +0 -1
  527. package/dist/ui/assets/vhdl-BroJfC0k.js +0 -1
  528. package/dist/ui/assets/viml-DvXPmvsu.js +0 -1
  529. package/dist/ui/assets/vitesse-black-fwtXNY1n.js +0 -1
  530. package/dist/ui/assets/vitesse-dark-BZCL-v6S.js +0 -1
  531. package/dist/ui/assets/vitesse-light-VbXTXTou.js +0 -1
  532. package/dist/ui/assets/vue-CraHL-Ps.js +0 -1
  533. package/dist/ui/assets/vue-html-e9tyZNtS.js +0 -1
  534. package/dist/ui/assets/vue-vine-CofmxaUb.js +0 -1
  535. package/dist/ui/assets/vyper-CgoNMtux.js +0 -1
  536. package/dist/ui/assets/wasm-BnjxR4X6.js +0 -1
  537. package/dist/ui/assets/wasm-ByWQv1Qj.js +0 -1
  538. package/dist/ui/assets/wenyan-C8pVoKbM.js +0 -1
  539. package/dist/ui/assets/wgsl-BsKzXJz4.js +0 -1
  540. package/dist/ui/assets/wikitext-ClFFjSW2.js +0 -1
  541. package/dist/ui/assets/wit-DdvCle-K.js +0 -1
  542. package/dist/ui/assets/wolfram-DLL8P-h_.js +0 -1
  543. package/dist/ui/assets/workspace-app-8--oTbCd.css +0 -1
  544. package/dist/ui/assets/xml-BWSdPZHm.js +0 -1
  545. package/dist/ui/assets/xsl-BtCt7Hx8.js +0 -1
  546. package/dist/ui/assets/yaml-BZiTw7cQ.js +0 -1
  547. package/dist/ui/assets/zenscript-BnlCZFoB.js +0 -1
  548. package/dist/ui/assets/zig-CMLA9XwU.js +0 -1
  549. package/docs/assets/auvrynt-logo-light.png +0 -0
  550. package/docs/assets/auvrynt-screenshot.png +0 -0
@@ -0,0 +1,298 @@
1
+ # GODOT_AGENT_GUIDE.md
2
+
3
+ ## Scope
4
+
5
+ This guide applies to Godot 4 game development projects. It covers C#, GDScript, and mixed C#/GDScript projects. The Godot project remains the primary project type whenever a `project.godot` file exists.
6
+
7
+ Do not edit `.godot/imported` manually.
8
+ Do not edit binary `.scn` or `.res` files directly.
9
+ Do not use generic `.NET` tools (like `dotnet run`) to launch a Godot game; use Godot-specific tools.
10
+
11
+ ---
12
+
13
+ ## Language Routing
14
+
15
+ Before modifying or inspecting files, identify the script language:
16
+
17
+ - **`.gd` files:** Use GDScript diagnostics, GDScript editing rules, and GDScript debugger/LSP tools.
18
+ - **`.cs` files:** Use Godot C# build, Roslyn/LSP, C# exception parser, and C# semantic definitions.
19
+ - **Scenes and resource files (`.tscn`, `.tres`):** Use the shared Godot editor bridge and Inspector APIs.
20
+ - **Mixed projects:** Validate both C# build and GDScript parsing when changes span both boundaries.
21
+
22
+ ---
23
+
24
+ ## Shared Godot Capabilities
25
+
26
+ - Project and executable discovery.
27
+ - Headless project validation & asset reimporting.
28
+ - Persistent process management for running projects/scenes.
29
+ - Runtime logs and error categorization.
30
+ - Live editor bridge (connect, status, disconnect).
31
+ - Edited/remote scene tree mutation and property editing (using UndoRedo).
32
+ - Performance monitors (FPS, memory, nodes).
33
+ - Input injection & visual gameplay assertions (screenshots, node existence).
34
+ - Export presets listing and headless exporting.
35
+
36
+ ---
37
+
38
+ ## GDScript Development Rules
39
+
40
+ ### Editing & Syntax
41
+ - Use Godot 4 syntax rules (e.g. `await` instead of `yield`, modern annotations like `@onready`, `@export`).
42
+ - Preserve the existing indentation style (tabs vs spaces) and static typing conventions.
43
+ - Use snake_case for methods/variables, PascalCase for `class_name` definitions.
44
+ - Only add `@tool` or `class_name` when explicitly requested or necessary.
45
+ - Avoid calling `get_node()` (or `$`) inside expensive callbacks like `_process()` or `_physics_process()`; cache them using `@onready` instead.
46
+ - Use `_physics_process()` for frame-independent movement/physics updates.
47
+ - Respect object lifetimes; use `is_instance_valid()` before accessing potentially freed objects.
48
+ - Use deferred calls (`call_deferred()`) when mutating the scene tree inside signal handlers or physics callbacks.
49
+
50
+ ---
51
+
52
+ ## Godot C# Development Rules
53
+
54
+ ### Editing & Syntax
55
+ - Use partial classes for nodes (e.g. `public partial class Player : CharacterBody2D`).
56
+ - Preserve namespace structure and naming conventions.
57
+ - Avoid calling `GetNode()` repeatedly inside `_Process()` or `_PhysicsProcess()`.
58
+ - Use `_PhysicsProcess(double delta)` for physics updates.
59
+ - Respect Godot object lifetimes and call `Dispose()` or `QueueFree()` when freeing nodes.
60
+ - Do not translate GDScript API names blindly (e.g. GDScript `queue_free()` becomes C# `QueueFree()`).
61
+
62
+ ---
63
+
64
+ ## Prerequisites
65
+
66
+ | Requirement | Notes |
67
+ |---|---|
68
+ | **Godot 4.2+ with .NET** | Must be the `mono`/`.NET`-enabled build (e.g. `Godot_v4.x.x-stable_mono_win64`) |
69
+ | **.NET SDK 8.0+** | Required for C# compilation |
70
+ | **Auvrynt server** | Running and connected to your AI client |
71
+ | **Auvrynt workspace** | Opened via `open_workspace` pointing to your Godot project root |
72
+
73
+ ---
74
+
75
+ ## Environment Variables
76
+
77
+ Set these to help Auvrynt find the right Godot executable:
78
+
79
+ ```sh
80
+ # Preferred: Godot .NET-enabled executable
81
+ set GODOT_DOTNET_EXECUTABLE=C:\Godot\Godot_v4.4_mono_win64.exe
82
+
83
+ # Fallback if above is not set
84
+ set GODOT_EXECUTABLE=C:\Godot\Godot_v4.4_stable_win64.exe
85
+ ```
86
+
87
+ ---
88
+
89
+ ## Quick Start — New Project
90
+
91
+ ```
92
+ 1. open_workspace({ path: "/path/to/my-godot-game" })
93
+ 2. godot_dotnet_environment({ workspaceId }) # verify setup
94
+ 3. inspect_godot_dotnet_project({ workspaceId }) # check project health
95
+ 4. godot_dotnet_restore({ workspaceId, projectPath: "." })
96
+ 5. godot_dotnet_build({ workspaceId, projectPath: "." })
97
+ 6. godot_run_project({ workspaceId, projectPath: ".", debug: true })
98
+ 7. godot_get_runtime_logs({ workspaceId, processId })
99
+ ```
100
+
101
+ ---
102
+
103
+ ## Editor Bridge Setup
104
+
105
+ The editor bridge enables live scene-tree inspection and node mutation from Auvrynt while the Godot editor is open.
106
+
107
+ ### Setup
108
+
109
+ 1. **Copy the plugin** into your project:
110
+ ```
111
+ addons/auvrynt_bridge/auvrynt_bridge.gd
112
+ addons/auvrynt_bridge/plugin.cfg
113
+ ```
114
+
115
+ 2. **Enable the plugin** in Godot:
116
+ `Project → Project Settings → Plugins → AuvryntBridge → Enable`
117
+
118
+ 3. **Connect from Auvrynt**:
119
+ ```
120
+ godot_editor_connect({
121
+ workspaceId,
122
+ projectPath: ".",
123
+ token: "<printed in Godot Output panel>"
124
+ })
125
+ ```
126
+ The token is printed in the Godot **Output** panel when the plugin starts:
127
+ ```
128
+ [AuvryntBridge] Listening on 127.0.0.1:49322 token=12345678
129
+ ```
130
+
131
+ 4. **Verify connection**:
132
+ ```
133
+ godot_editor_status({ workspaceId })
134
+ ```
135
+
136
+ ### Bridge Methods
137
+
138
+ | Tool | Method | Notes |
139
+ |---|---|---|
140
+ | `godot_get_scene_tree` | `scene.get_tree` | Edited scene tree |
141
+ | `godot_get_scene_tree` (mode=remote) | `remote.get_scene_tree` | Running game tree |
142
+ | `godot_get_runtime_property` | `remote.get_property` | Live runtime value |
143
+ | `godot_get_performance_monitors` | `remote.get_performance_monitors` | FPS, memory, node count |
144
+ | `godot_assert_node_exists` | `remote.get_node` | Pass/fail node check |
145
+ | `godot_assert_property` | `remote.get_property` + comparison | Gameplay assertion |
146
+ | `godot_press_action` | `input.press_action` | Input simulation |
147
+
148
+ ---
149
+
150
+ ## Complete Tool Reference
151
+
152
+ ### Environment & Project
153
+
154
+ | Tool | What it does |
155
+ |---|---|
156
+ | `godot_dotnet_environment` | Detect executable, .NET SDK, architecture |
157
+ | `inspect_godot_dotnet_project` | Inspect `.csproj`, `.sln`, autoloads, scripts |
158
+
159
+ ### Build & Restore
160
+
161
+ | Tool | What it does |
162
+ |---|---|
163
+ | `godot_build_solutions` | Regenerate `.sln`/`.csproj` (run after adding C# files) |
164
+ | `godot_dotnet_restore` | NuGet restore |
165
+ | `godot_dotnet_build` | C# build, returns structured diagnostics |
166
+ | `godot_dotnet_clean` | Remove `bin/` and `obj/` |
167
+
168
+ ### Running
169
+
170
+ | Tool | What it does |
171
+ |---|---|
172
+ | `godot_run_project` | Launch project as tracked persistent process |
173
+ | `godot_run_scene` | Launch a single `.tscn` scene |
174
+ | `godot_stop` | Stop a tracked Godot process |
175
+ | `godot_get_runtime_logs` | Structured runtime log categorization |
176
+
177
+ ### Validation & Import
178
+
179
+ | Tool | What it does |
180
+ |---|---|
181
+ | `godot_validate_project` | Headless validation: imports, scripts, plugins |
182
+ | `godot_import_assets` | Force headless reimport |
183
+
184
+ ### Editor Bridge
185
+
186
+ | Tool | What it does |
187
+ |---|---|
188
+ | `godot_editor_connect` | Connect to Godot editor plugin |
189
+ | `godot_editor_status` | Check connection |
190
+ | `godot_editor_disconnect` | Disconnect |
191
+ | `godot_get_scene_tree` | Scene tree (edited or remote) |
192
+ | `godot_get_runtime_property` | Read live runtime property |
193
+ | `godot_get_performance_monitors` | FPS, memory, physics timing |
194
+
195
+ ### C# Semantics
196
+
197
+ | Tool | What it does |
198
+ |---|---|
199
+ | `godot_find_csharp_class` | Find class by name, get `[Export]`, `[Signal]`, overrides |
200
+ | `godot_get_exported_properties` | List `[Export]` properties on a script |
201
+ | `godot_get_csharp_diagnostics` | Scan for anti-patterns |
202
+
203
+ ### Project Settings & Configuration
204
+
205
+ | Tool | What it does |
206
+ |---|---|
207
+ | `godot_get_project_settings` | Read all `project.godot` settings |
208
+ | `godot_get_input_map` | List input actions |
209
+ | `godot_get_autoloads` | List autoloads |
210
+ | `godot_apply_pixel_art_import_preset` | Nearest-neighbour, lossless, no mipmaps |
211
+ | `godot_generate_vscode_config` | Create `.vscode/tasks.json` + `.vscode/launch.json` |
212
+
213
+ ### Export
214
+
215
+ | Tool | What it does |
216
+ |---|---|
217
+ | `godot_list_export_presets` | List export presets from `export_presets.cfg` |
218
+ | `godot_export_project` | Export using named preset |
219
+
220
+ ### Testing & Assertions
221
+
222
+ | Tool | What it does |
223
+ |---|---|
224
+ | `godot_assert_node_exists` | Assert node exists in remote scene tree |
225
+ | `godot_assert_property` | Assert runtime property value (`eq`, `neq`, `gt`, `lt`, `approx`, `contains`, `exists`) |
226
+ | `godot_run_test_sequence` | Automated gameplay sequence (max 50 steps, 30s) |
227
+ | `godot_press_action` | Inject input action via bridge |
228
+
229
+ ### Visuals
230
+
231
+ | Tool | What it does |
232
+ |---|---|
233
+ | `godot_capture_game` | Screenshot a running Godot window |
234
+ | `view_image` | Load and inspect an image file |
235
+ | `inspect_image` | Analyse pixel dimensions, palette, format |
236
+ | `inspect_sprite` | Detect animation frames in sprite sheets |
237
+
238
+ ---
239
+
240
+ ## Recommended Workflow
241
+
242
+ 1. Open workspace and inspect project languages.
243
+ 2. If C# is present, compile C# using `godot_dotnet_build`.
244
+ 3. Run headless project validation using `godot_validate_project`.
245
+ 4. Inspect the active scene or node properties via the editor bridge.
246
+ 5. Make minimal changes to scripts. Validate syntax.
247
+ 6. Launch the project or active scene as a persistent process.
248
+ 7. Inject input or test gameplay behavior using assertions.
249
+ 8. Capture gameplay window screenshot to verify visually.
250
+ 9. Stop the game process when finished.
251
+
252
+ ---
253
+
254
+ ## Security Model
255
+
256
+ - **Path resolution**: All file paths are resolved via `workspaces.resolvePath` — reading outside the opened workspace root is blocked.
257
+ - **Process tracking**: Processes are tracked by `workspaceId` + `processId`. Stopping a process from a different workspace is not permitted.
258
+ - **Editor bridge**: Runs on `127.0.0.1` only. Requires a per-session token printed in the Godot output panel. Never accepts external connections.
259
+ - **NuGet restore**: Credentials are redacted from output before returning to the AI client.
260
+ - **Export**: Output path must resolve inside the opened workspace.
261
+
262
+ ---
263
+
264
+ ## Serena (Semantic Code)
265
+
266
+ Serena provides language-aware symbol navigation for Godot C# and GDScript source files.
267
+
268
+ **Use Serena for:**
269
+ - C# or GDScript source navigation when supported reliably
270
+ - References and symbol structure
271
+ - Code-level refactoring
272
+
273
+ **Do not use Serena for:**
274
+ - Scene tree, Inspector, resources, animations, TileMap, collision
275
+ - Remote runtime tree, game input, screenshots, exports
276
+
277
+ **Use:**
278
+ - Godot editor bridge → scenes/resources/runtime
279
+ - Serena → semantic source navigation (`serena_find_symbol`, `serena_find_referencing_symbols`, etc.)
280
+ - Godot/.NET diagnostics → build/parser truth (`godot_dotnet_build`, `godot_get_gdscript_diagnostics`)
281
+
282
+ Do not replace Godot's GDScript LSP integration with Serena unless tests prove equivalent behavior.
283
+
284
+ ---
285
+
286
+ ## Troubleshooting
287
+
288
+ ### `GODOT_DOTNET_EXECUTABLE not set`
289
+ Set the env var (see above) or run `godot_dotnet_environment` to see what was auto-detected.
290
+
291
+ ### `Build failed: Godot.NET.Sdk not found`
292
+ Run `godot_build_solutions` first to generate the `.csproj`. This requires the Godot editor executable to be available.
293
+
294
+ ### `Editor bridge: connection refused`
295
+ Make sure the Auvrynt Bridge plugin is enabled and the Godot editor is open with the project loaded. Copy the token from the Godot Output panel.
296
+
297
+ ### `Node not found` errors
298
+ The `nodePath` must be relative to the scene root (e.g. `Player/Sprite2D`), not absolute. For remote tree queries, the game must be running.
@@ -0,0 +1,165 @@
1
+ # PROJECT_ROUTER.md
2
+
3
+ ## Purpose
4
+
5
+ Read this file first before any development work. Detect the active project or subproject, then load **only** the relevant guide. Do not load all guides by default.
6
+
7
+ Available guides: `WEB_AGENT_GUIDE.md`, `SOFTWARE_AGENT_GUIDE.md`, `GODOT_AGENT_GUIDE.md`, `BLENDER_AGENT_GUIDE.md`, `ASEPRITE_AGENT_GUIDE.md`, `ROBLOX_AGENT_GUIDE.md` (all in this `guides/` directory).
8
+
9
+ ---
10
+
11
+ ## Project Detection
12
+
13
+ Inspect the workspace root for these indicators:
14
+
15
+ ### Blender indicators (highest priority for 3D asset work)
16
+ - `.blend`, `.blend1`
17
+ - Python scripts importing `bpy`
18
+ - `blender_manifest.toml`
19
+ - `addons/` with `plugin.cfg` and `__init__.py`
20
+ - Blender asset library directories
21
+ - Explicit user request mentioning Blender, 3D modeling, rigging, rendering, or UV mapping
22
+
23
+ ### Aseprite indicators (highest priority for pixel-art asset work)
24
+ - `.aseprite`, `.ase`
25
+ - Aseprite Lua scripts
26
+ - Explicit user request mentioning Aseprite, exact pixel drawing, sprite animation, palettes, layers, tags, or frame timing
27
+
28
+ ### Godot indicators
29
+ - `project.godot`
30
+ - `*.tscn`, `*.tres`, `*.gd`
31
+ - `*.cs` (combined with `project.godot`)
32
+ - `export_presets.cfg`
33
+ - `.godot/`
34
+
35
+ ### Web indicators
36
+ - `package.json`
37
+ - `vite.config.*`, `next.config.*`, `nuxt.config.*`, `angular.json`, `astro.config.*`, `svelte.config.*`
38
+ - `index.html` in root or `public/`
39
+ - `src/` with `.tsx`, `.vue`, `.svelte` files
40
+
41
+ ### General software / .NET indicators
42
+ - `*.sln`, `*.csproj`, `*.fsproj`, `*.vbproj`
43
+ - `Directory.Build.props`, `Directory.Packages.props`, `global.json`
44
+ - `src/` with `.cs` / `.fs` files (without `project.godot`)
45
+ - `tests/`, `test/`
46
+
47
+ ---
48
+
49
+ ## Routing Rules
50
+
51
+ ### Rule 1 — Godot project
52
+ If `project.godot` exists:
53
+ - **Primary guide**: `GODOT_AGENT_GUIDE.md`
54
+ - If `.cs` or `.csproj` also exists → use Godot C# sections of `GODOT_AGENT_GUIDE.md`
55
+ - If `.gd` exists → use GDScript sections of `GODOT_AGENT_GUIDE.md`
56
+ - If both → use mixed-language rules in `GODOT_AGENT_GUIDE.md`
57
+ - `SOFTWARE_AGENT_GUIDE.md` is secondary only for generic .NET operations outside Godot
58
+ - If source `.blend` files exist alongside → load `BLENDER_AGENT_GUIDE.md` **only for the Blender asset task**
59
+ - Do not use browser tools unless the project has an actual web UI
60
+
61
+ ### Rule 2 — Web project (no `project.godot`)
62
+ If project is clearly a website or web application:
63
+ - **Primary guide**: `WEB_AGENT_GUIDE.md`
64
+ - Do not load Godot tools
65
+ - Load `SOFTWARE_AGENT_GUIDE.md` only for backend/service component of the same task
66
+ - If `.blend` source assets exist → load `BLENDER_AGENT_GUIDE.md` only when editing that asset
67
+
68
+ ### Rule 3 — General software / .NET
69
+ If project is a desktop app, CLI, API, service, library, or non-Godot .NET project:
70
+ - **Primary guide**: `SOFTWARE_AGENT_GUIDE.md`
71
+ - Do not use Godot tools
72
+ - Do not use browser tools unless the app exposes a web interface
73
+
74
+ ### Rule 4 — Blender-only
75
+ If primary task involves 3D modeling, rendering, material, rigging, animation, UV mapping, or export:
76
+ - **Primary guide**: `BLENDER_AGENT_GUIDE.md`
77
+ - Do not load web, Godot, or software tools unless the task explicitly crosses into those domains
78
+
79
+ ### Rule 5 — Aseprite / pixel-art assets
80
+ If the primary task involves exact pixel editing, sprite animation, layers, palettes, tags, or Aseprite export:
81
+ - **Primary guide**: `ASEPRITE_AGENT_GUIDE.md`
82
+ - Use native `aseprite_*` tools rather than a GUI plugin unless live editor state is explicitly required.
83
+ - If the sprite belongs to a Godot project, use `GODOT_AGENT_GUIDE.md` only for the engine-side import/runtime task.
84
+ - Do not use image-generation tools as a substitute for exact pixel edits.
85
+
86
+ ### Rule 6 — Monorepo
87
+ Identify the active subproject from the user request. Read only that subproject's guide. Refresh project state when switching subprojects.
88
+
89
+ Example layout:
90
+ ```
91
+ apps/web/ → WEB_AGENT_GUIDE.md
92
+ games/rpg/ → GODOT_AGENT_GUIDE.md (contains project.godot)
93
+ services/api/ → SOFTWARE_AGENT_GUIDE.md
94
+ assets/characters/ → BLENDER_AGENT_GUIDE.md (.blend files)
95
+ ```
96
+
97
+ ### Rule 7 — Unclear
98
+ Inspect only the smallest useful set of root files. State which guide was selected and why. Do not scan the entire repository.
99
+
100
+ ---
101
+
102
+ ## Context Efficiency
103
+
104
+ - Never load all guides together for a single-project task.
105
+ - Prefer one primary guide per task.
106
+ - Add a secondary guide only when the task genuinely crosses project boundaries.
107
+ - Keep irrelevant tool schemas out of context.
108
+
109
+ ---
110
+
111
+ ## Expected Agent Behavior
112
+
113
+ > Before making changes, classify the active project or subproject.
114
+ > Load only the relevant development guide.
115
+ > Use the smallest set of tools needed for the current task.
116
+ > Never invent unavailable tools or claim unverified results.
117
+
118
+ ---
119
+
120
+ ## Routing Quick Reference
121
+
122
+ | Evidence | Guide |
123
+ |---|---|
124
+ | `project.godot` | GODOT_AGENT_GUIDE.md |
125
+ | `package.json` + `vite.config.*` | WEB_AGENT_GUIDE.md |
126
+ | `*.sln` / `*.csproj` (no `project.godot`) | SOFTWARE_AGENT_GUIDE.md |
127
+ | `.blend` / `bpy` scripts / explicit Blender request | BLENDER_AGENT_GUIDE.md |
128
+ | `.aseprite` / `.ase` / explicit pixel-art animation request | ASEPRITE_AGENT_GUIDE.md |
129
+ | Godot project + `.blend` source asset task | GODOT_AGENT_GUIDE.md primary, BLENDER_AGENT_GUIDE.md secondary |
130
+ | Web project + `.blend` source asset task | WEB_AGENT_GUIDE.md primary, BLENDER_AGENT_GUIDE.md secondary |
131
+
132
+ ## Serena (Semantic Code Engine)
133
+
134
+ Serena is a local semantic code analysis engine accessible through Auvrynt. It provides symbol-aware navigation and editing across supported languages.
135
+
136
+ **Use Serena when:**
137
+ - Locating symbols in a large codebase
138
+ - Understanding class/function/component structure
139
+ - Finding definitions and references
140
+ - Tracing cross-file dependencies
141
+ - Performing symbol-aware insertion or replacement
142
+ - Safely renaming symbols
143
+ - Navigating monorepos
144
+ - Inspecting unfamiliar architecture
145
+
146
+ **Do not use Serena for:**
147
+ - Simple exact text replacement (use Auvrynt edit tools)
148
+ - Reading a small known file (use Auvrynt read tools)
149
+ - Starting servers, process logs, browser DOM, console errors, network requests, screenshots, visual comparison, image inspection
150
+ - Godot scene-tree operations or Blender scene/object operations
151
+ - Git commands
152
+
153
+ **Routing:**
154
+ - Need semantic code structure? → Start a Serena session with `serena_start_session`, then use `serena_find_symbol`, `serena_find_referencing_symbols`, etc.
155
+ - Need ordinary file/config inspection? → Auvrynt workspace tools
156
+ - Need runtime behavior? → Auvrynt process/browser/Godot/Blender tools
157
+ - Need visual evidence? → Auvrynt screenshot/image tools
158
+
159
+ To enable Serena, set `AUVRYNT_SERENA_ENABLED=true` or add `"serena": { "enabled": true }` to Auvrynt config.
160
+
161
+ ---
162
+
163
+ ## Nested Instruction Files
164
+
165
+ If a subdirectory contains its own `AGENTS.md` or `CLAUDE.md`, those instructions override root-level guidance for that subdirectory.
@@ -0,0 +1,75 @@
1
+ # ROBLOX_AGENT_GUIDE.md
2
+
3
+ ## Scope
4
+
5
+ Official **Roblox Studio MCP** proxy through Auvrynt (Option A).
6
+
7
+ This is **not** a community HTTP plugin bridge. Auvrynt spawns Studio\'s built-in stdio MCP launcher and re-exports tools as `roblox_*`.
8
+
9
+ ## Prerequisites
10
+
11
+ 1. Latest **Roblox Studio** installed
12
+ 2. In Studio: **Assistant → … → Manage MCP Servers → Enable Studio as MCP server**
13
+ 3. Launcher present:
14
+ - Windows: `%LOCALAPPDATA%\Roblox\mcp.bat`
15
+ - macOS: `/Applications/RobloxStudio.app/Contents/MacOS/StudioMCP`
16
+ 4. Start Auvrynt with the Roblox profile:
17
+
18
+ ```bash
19
+ auvrynt start roblox
20
+ # aliases: robloxstudio, rbx
21
+ # can combine: auvrynt start web,roblox
22
+ ```
23
+
24
+ ## Primary tools
25
+
26
+ | Tool | Purpose |
27
+ |------|--------|
28
+ | `roblox_status` | Launcher path, connection, tool list probe |
29
+ | `roblox_list_tools` | Full remote tool inventory + schemas |
30
+ | `roblox_call` | Generic proxy (`tool` + `arguments`) |
31
+ | `roblox_disconnect` | Close stdio session |
32
+ | `roblox_<official_name>` | Convenience aliases for documented Studio tools |
33
+
34
+ Documented Studio tools (prefix with `roblox_`): `script_read`, `multi_edit`, `script_search`, `script_grep`, `search_game_tree`, `inspect_instance`, `execute_luau`, `get_studio_state`, `start_stop_play`, `get_console_output`, `screen_capture`, `list_roblox_studios`, `set_active_studio`, asset/generation tools, input simulation, `http_get`, `skill`, etc.
35
+
36
+ Official docs: https://create.roblox.com/docs/studio/mcp
37
+
38
+ ## Workflow
39
+
40
+ 1. Open the place in Roblox Studio (MCP enabled).
41
+ 2. Ensure Auvrynt is running with `roblox` profile.
42
+ 3. Call `roblox_status` — expect `ok: true` and a non-empty tool list.
43
+ 4. Use `roblox_list_tools` when argument shapes are unclear.
44
+ 5. Prefer specific `roblox_*` aliases or `roblox_call` for actions.
45
+ 6. Keep Studio open; reconnect with another status/call if Studio restarts.
46
+
47
+ ## Rules
48
+
49
+ - Never invent Studio tool names beyond what `roblox_list_tools` / `roblox_status` report.
50
+ - Studio owns the DataModel; Auvrynt only proxies MCP.
51
+ - Multiple Studio windows: use `roblox_list_roblox_studios` + `roblox_set_active_studio`.
52
+ - OAuth scope: `auvrynt:roblox`.
53
+
54
+ ## Troubleshooting
55
+
56
+ - Launcher missing → update Studio; enable MCP in Assistant settings.
57
+ - Tools fail → restart Studio and Auvrynt; confirm green MCP client indicator in Studio.
58
+ - Linux → official Studio MCP is Windows/macOS oriented; status will say so.
59
+
60
+ ## Helper tools (Auvrynt, via execute_luau)
61
+
62
+ | Tool | Purpose |
63
+ |------|--------|
64
+ | `roblox_create_instance` | Instance.new + optional props |
65
+ | `roblox_destroy_instance` | Destroy by path |
66
+ | `roblox_clone_instance` | Clone (+ optional parent/name) |
67
+ | `roblox_set_parent` | Reparent |
68
+ | `roblox_rename_instance` | Rename |
69
+ | `roblox_set_properties` | Set properties |
70
+ | `roblox_set_attribute` | SetAttribute |
71
+ | `roblox_set_lighting` | Lighting service props |
72
+ | `roblox_fill_terrain` | Terrain:FillBlock |
73
+ | `roblox_clear_terrain` | Terrain:Clear |
74
+ | `roblox_create_screen_gui` | ScreenGui under StarterGui |
75
+
@@ -0,0 +1,104 @@
1
+ # SOFTWARE_AGENT_GUIDE.md
2
+
3
+ ## Scope
4
+
5
+ This guide applies to general software development projects, including:
6
+ - C#/.NET desktop applications, APIs, libraries, CLI tools, services, and background workers
7
+ - Non-Godot projects using C#/.NET
8
+ - General backend software tasks
9
+
10
+ Do not use Godot scene-tree or inspector tools unless a `project.godot` exists and is active.
11
+ Do not use web browser/screenshot tools unless the application exposes a web API/UI.
12
+
13
+ ---
14
+
15
+ ## Primary Tools
16
+
17
+ **Workspace & Search**
18
+ - open workspace, read file, edit file, write file
19
+ - file search, text search, project inspection
20
+ - C# symbol definitions, references, and definitions lookup
21
+
22
+ **C#/.NET Core Tools**
23
+ - `inspect_dotnet_project`
24
+ - `dotnet_restore`
25
+ - `dotnet_build`
26
+ - `dotnet_test`
27
+ - `dotnet_run`
28
+ - `dotnet_format`
29
+ - `get_csharp_diagnostics`
30
+
31
+ **Serena Semantic Tools** (when Serena is enabled)
32
+ - `serena_start_session` — start a Serena session for the workspace
33
+ - `serena_find_symbol` — locate a symbol by name
34
+ - `serena_find_referencing_symbols` — find all references to a symbol
35
+ - `serena_get_symbols_overview` — overview of symbols in a file
36
+ - `serena_search_for_pattern` — language-aware pattern search
37
+ - `serena_find_implementations` — find implementations
38
+ - `serena_find_declaration` — find declaration
39
+ - `serena_get_diagnostics_for_file` — LSP diagnostics for a file
40
+ - `serena_get_diagnostics_for_symbol` — diagnostics for a symbol
41
+ - `serena_replace_symbol_body` — replace symbol body (controlled mutation)
42
+ - `serena_insert_before_symbol` — insert code before a symbol
43
+ - `serena_insert_after_symbol` — insert code after a symbol
44
+ - `serena_rename_symbol` — rename symbol across the project
45
+ - `serena_safe_delete_symbol` — delete symbol with safety checks
46
+
47
+ **Process management**
48
+ - start process (for persistent background services or long-running APIs)
49
+ - get process logs
50
+ - list processes
51
+ - stop process
52
+
53
+ ---
54
+
55
+ ## Required Workflow
56
+
57
+ 1. **Inspect Solution/Project:** Read `.sln` or `.csproj` files to identify target frameworks, dependencies, and project structure.
58
+ 2. **Determine Target Frameworks:** Identify whether the project targets `.NET Core / Standard / Framework` or specific operating systems.
59
+ 3. **Restore Dependencies:** Run `dotnet_restore` when starting or when project references/dependencies change. Do not run repeatedly.
60
+ 4. **Compile & Build:** Execute `dotnet_build` to catch compilation errors. Fix diagnostics returned semantically.
61
+ 5. **Run Tests:** Execute targeted unit/integration tests using `dotnet_test` (with filter arguments to run specific tests if needed).
62
+ 6. **Lsp & Semantics:** Prefer Roslyn/LSP symbol definition and reference tracking over plain text search when navigating code.
63
+ 7. **Clean execution:** For long-running apps, use persistent process tools rather than blocking shell commands.
64
+
65
+ ---
66
+
67
+ ## Software-Specific Rules
68
+
69
+ - **Do not rewrite entire project files** unless modifying configuration/dependencies is explicitly requested.
70
+ - **Do not add packages** or dependencies without necessity.
71
+ - **Do not change target frameworks** casually.
72
+ - **Do not expose secrets** or credentials in code, environments, or logs.
73
+ - **Do not claim tests passed** unless they were actually executed and returned a successful exit code.
74
+ - Prefer semantic C# refactorings and structural symbol navigation over simple regex replacement.
75
+ - For long-running processes, capture logs and check for stack traces or unhandled exceptions.
76
+
77
+ ---
78
+
79
+ ## Verification Checklist
80
+
81
+ - [ ] Project restores without NuGet errors.
82
+ - [ ] Build completes with 0 errors and warning counts checked.
83
+ - [ ] Targeted tests run and pass.
84
+ - [ ] Code formatting verified with linter or `dotnet_format`.
85
+ - [ ] Process starts, listens on designated ports (if API), and logs are clean of exceptions.
86
+ - [ ] Code compiles cleanly on target frameworks.
87
+
88
+ ---
89
+
90
+ ## Serena Routing
91
+
92
+ Use Serena for semantic navigation when the backend supports the language.
93
+
94
+ - Use Roslyn/Auvrynt .NET tools for authoritative C# diagnostics.
95
+ - Avoid duplicate semantic edits from Serena and Roslyn in the same step.
96
+ - Choose one semantic mutation owner per operation.
97
+ - Refresh both services after edits when both are active.
98
+
99
+ For C#:
100
+ - Compiler/build truth → .NET tools (`dotnet_build`, `inspect_dotnet_project`)
101
+ - Semantic navigation → Serena (`serena_find_symbol`, `serena_find_referencing_symbols`, etc.)
102
+ - Debugger → DAP
103
+
104
+ Do not claim Serena alone proves a C# build succeeds. Always run `dotnet_build` to verify.