opencode-telos 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (568) hide show
  1. package/README.md +927 -0
  2. package/dist/code-intelligence/analyzer.d.ts +9 -0
  3. package/dist/code-intelligence/analyzer.d.ts.map +1 -0
  4. package/dist/code-intelligence/analyzer.js +321 -0
  5. package/dist/code-intelligence/analyzer.js.map +1 -0
  6. package/dist/code-intelligence/ast/cache.d.ts +16 -0
  7. package/dist/code-intelligence/ast/cache.d.ts.map +1 -0
  8. package/dist/code-intelligence/ast/cache.js +44 -0
  9. package/dist/code-intelligence/ast/cache.js.map +1 -0
  10. package/dist/code-intelligence/ast/common.d.ts +8 -0
  11. package/dist/code-intelligence/ast/common.d.ts.map +1 -0
  12. package/dist/code-intelligence/ast/common.js +42 -0
  13. package/dist/code-intelligence/ast/common.js.map +1 -0
  14. package/dist/code-intelligence/ast/component.d.ts +10 -0
  15. package/dist/code-intelligence/ast/component.d.ts.map +1 -0
  16. package/dist/code-intelligence/ast/component.js +38 -0
  17. package/dist/code-intelligence/ast/component.js.map +1 -0
  18. package/dist/code-intelligence/ast/fallback.d.ts +9 -0
  19. package/dist/code-intelligence/ast/fallback.d.ts.map +1 -0
  20. package/dist/code-intelligence/ast/fallback.js +38 -0
  21. package/dist/code-intelligence/ast/fallback.js.map +1 -0
  22. package/dist/code-intelligence/ast/index.d.ts +5 -0
  23. package/dist/code-intelligence/ast/index.d.ts.map +1 -0
  24. package/dist/code-intelligence/ast/index.js +5 -0
  25. package/dist/code-intelligence/ast/index.js.map +1 -0
  26. package/dist/code-intelligence/ast/ir.d.ts +72 -0
  27. package/dist/code-intelligence/ast/ir.d.ts.map +1 -0
  28. package/dist/code-intelligence/ast/ir.js +2 -0
  29. package/dist/code-intelligence/ast/ir.js.map +1 -0
  30. package/dist/code-intelligence/ast/metrics.d.ts +25 -0
  31. package/dist/code-intelligence/ast/metrics.d.ts.map +1 -0
  32. package/dist/code-intelligence/ast/metrics.js +38 -0
  33. package/dist/code-intelligence/ast/metrics.js.map +1 -0
  34. package/dist/code-intelligence/ast/registry.d.ts +5 -0
  35. package/dist/code-intelligence/ast/registry.d.ts.map +1 -0
  36. package/dist/code-intelligence/ast/registry.js +22 -0
  37. package/dist/code-intelligence/ast/registry.js.map +1 -0
  38. package/dist/code-intelligence/ast/tree-sitter.d.ts +8 -0
  39. package/dist/code-intelligence/ast/tree-sitter.d.ts.map +1 -0
  40. package/dist/code-intelligence/ast/tree-sitter.js +247 -0
  41. package/dist/code-intelligence/ast/tree-sitter.js.map +1 -0
  42. package/dist/code-intelligence/ast/typescript.d.ts +8 -0
  43. package/dist/code-intelligence/ast/typescript.d.ts.map +1 -0
  44. package/dist/code-intelligence/ast/typescript.js +147 -0
  45. package/dist/code-intelligence/ast/typescript.js.map +1 -0
  46. package/dist/index.d.ts +10 -0
  47. package/dist/index.d.ts.map +1 -0
  48. package/dist/index.js +18 -0
  49. package/dist/index.js.map +1 -0
  50. package/dist/mcp/server.d.ts +27 -0
  51. package/dist/mcp/server.d.ts.map +1 -0
  52. package/dist/mcp/server.js +67 -0
  53. package/dist/mcp/server.js.map +1 -0
  54. package/dist/opencode/hooks.d.ts +9 -0
  55. package/dist/opencode/hooks.d.ts.map +1 -0
  56. package/dist/opencode/hooks.js +583 -0
  57. package/dist/opencode/hooks.js.map +1 -0
  58. package/dist/opencode/router/categories.d.ts +31 -0
  59. package/dist/opencode/router/categories.d.ts.map +1 -0
  60. package/dist/opencode/router/categories.js +165 -0
  61. package/dist/opencode/router/categories.js.map +1 -0
  62. package/dist/opencode/router/embeddings.d.ts +41 -0
  63. package/dist/opencode/router/embeddings.d.ts.map +1 -0
  64. package/dist/opencode/router/embeddings.js +136 -0
  65. package/dist/opencode/router/embeddings.js.map +1 -0
  66. package/dist/opencode/router/graph-state-snapshot.d.ts +35 -0
  67. package/dist/opencode/router/graph-state-snapshot.d.ts.map +1 -0
  68. package/dist/opencode/router/graph-state-snapshot.js +129 -0
  69. package/dist/opencode/router/graph-state-snapshot.js.map +1 -0
  70. package/dist/opencode/router/index.d.ts +21 -0
  71. package/dist/opencode/router/index.d.ts.map +1 -0
  72. package/dist/opencode/router/index.js +23 -0
  73. package/dist/opencode/router/index.js.map +1 -0
  74. package/dist/opencode/router/intent-classifier.d.ts +35 -0
  75. package/dist/opencode/router/intent-classifier.d.ts.map +1 -0
  76. package/dist/opencode/router/intent-classifier.js +108 -0
  77. package/dist/opencode/router/intent-classifier.js.map +1 -0
  78. package/dist/opencode/router/semantic-nudge.d.ts +42 -0
  79. package/dist/opencode/router/semantic-nudge.d.ts.map +1 -0
  80. package/dist/opencode/router/semantic-nudge.js +73 -0
  81. package/dist/opencode/router/semantic-nudge.js.map +1 -0
  82. package/dist/opencode/router/state-gate.d.ts +25 -0
  83. package/dist/opencode/router/state-gate.d.ts.map +1 -0
  84. package/dist/opencode/router/state-gate.js +178 -0
  85. package/dist/opencode/router/state-gate.js.map +1 -0
  86. package/dist/opencode/router/tool-embeddings.d.ts +36 -0
  87. package/dist/opencode/router/tool-embeddings.d.ts.map +1 -0
  88. package/dist/opencode/router/tool-embeddings.js +140 -0
  89. package/dist/opencode/router/tool-embeddings.js.map +1 -0
  90. package/dist/opencode/router/tool-registry.d.ts +45 -0
  91. package/dist/opencode/router/tool-registry.d.ts.map +1 -0
  92. package/dist/opencode/router/tool-registry.js +103 -0
  93. package/dist/opencode/router/tool-registry.js.map +1 -0
  94. package/dist/opencode/router/tool-taxonomy.d.ts +51 -0
  95. package/dist/opencode/router/tool-taxonomy.d.ts.map +1 -0
  96. package/dist/opencode/router/tool-taxonomy.js +250 -0
  97. package/dist/opencode/router/tool-taxonomy.js.map +1 -0
  98. package/dist/opencode/router/tools-composite.d.ts +21 -0
  99. package/dist/opencode/router/tools-composite.d.ts.map +1 -0
  100. package/dist/opencode/router/tools-composite.js +684 -0
  101. package/dist/opencode/router/tools-composite.js.map +1 -0
  102. package/dist/opencode/shell-hooks.d.ts +7 -0
  103. package/dist/opencode/shell-hooks.d.ts.map +1 -0
  104. package/dist/opencode/shell-hooks.js +96 -0
  105. package/dist/opencode/shell-hooks.js.map +1 -0
  106. package/dist/opencode/system-prompt.d.ts +10 -0
  107. package/dist/opencode/system-prompt.d.ts.map +1 -0
  108. package/dist/opencode/system-prompt.js +600 -0
  109. package/dist/opencode/system-prompt.js.map +1 -0
  110. package/dist/opencode/tools.d.ts +8 -0
  111. package/dist/opencode/tools.d.ts.map +1 -0
  112. package/dist/opencode/tools.js +3731 -0
  113. package/dist/opencode/tools.js.map +1 -0
  114. package/dist/opencode/workflows/chains.d.ts +52 -0
  115. package/dist/opencode/workflows/chains.d.ts.map +1 -0
  116. package/dist/opencode/workflows/chains.js +170 -0
  117. package/dist/opencode/workflows/chains.js.map +1 -0
  118. package/dist/opencode/workflows/executor.d.ts +52 -0
  119. package/dist/opencode/workflows/executor.d.ts.map +1 -0
  120. package/dist/opencode/workflows/executor.js +130 -0
  121. package/dist/opencode/workflows/executor.js.map +1 -0
  122. package/dist/opencode/workflows/index.d.ts +14 -0
  123. package/dist/opencode/workflows/index.d.ts.map +1 -0
  124. package/dist/opencode/workflows/index.js +15 -0
  125. package/dist/opencode/workflows/index.js.map +1 -0
  126. package/dist/opencode/workflows/tools-workflow.d.ts +24 -0
  127. package/dist/opencode/workflows/tools-workflow.d.ts.map +1 -0
  128. package/dist/opencode/workflows/tools-workflow.js +85 -0
  129. package/dist/opencode/workflows/tools-workflow.js.map +1 -0
  130. package/dist/opencode/workflows/types.d.ts +32 -0
  131. package/dist/opencode/workflows/types.d.ts.map +1 -0
  132. package/dist/opencode/workflows/types.js +13 -0
  133. package/dist/opencode/workflows/types.js.map +1 -0
  134. package/dist/sdd/analysis/compliance.d.ts +30 -0
  135. package/dist/sdd/analysis/compliance.d.ts.map +1 -0
  136. package/dist/sdd/analysis/compliance.js +251 -0
  137. package/dist/sdd/analysis/compliance.js.map +1 -0
  138. package/dist/sdd/analysis/scalability.d.ts +15 -0
  139. package/dist/sdd/analysis/scalability.d.ts.map +1 -0
  140. package/dist/sdd/analysis/scalability.js +72 -0
  141. package/dist/sdd/analysis/scalability.js.map +1 -0
  142. package/dist/sdd/analysis/security.d.ts +25 -0
  143. package/dist/sdd/analysis/security.d.ts.map +1 -0
  144. package/dist/sdd/analysis/security.js +94 -0
  145. package/dist/sdd/analysis/security.js.map +1 -0
  146. package/dist/sdd/brownfield/scanner.d.ts +31 -0
  147. package/dist/sdd/brownfield/scanner.d.ts.map +1 -0
  148. package/dist/sdd/brownfield/scanner.js +228 -0
  149. package/dist/sdd/brownfield/scanner.js.map +1 -0
  150. package/dist/sdd/cache/manager.d.ts +237 -0
  151. package/dist/sdd/cache/manager.d.ts.map +1 -0
  152. package/dist/sdd/cache/manager.js +770 -0
  153. package/dist/sdd/cache/manager.js.map +1 -0
  154. package/dist/sdd/cache/snapshot-store.d.ts +39 -0
  155. package/dist/sdd/cache/snapshot-store.d.ts.map +1 -0
  156. package/dist/sdd/cache/snapshot-store.js +156 -0
  157. package/dist/sdd/cache/snapshot-store.js.map +1 -0
  158. package/dist/sdd/changes/manager.d.ts +58 -0
  159. package/dist/sdd/changes/manager.d.ts.map +1 -0
  160. package/dist/sdd/changes/manager.js +235 -0
  161. package/dist/sdd/changes/manager.js.map +1 -0
  162. package/dist/sdd/cicd/generators.d.ts +16 -0
  163. package/dist/sdd/cicd/generators.d.ts.map +1 -0
  164. package/dist/sdd/cicd/generators.js +1042 -0
  165. package/dist/sdd/cicd/generators.js.map +1 -0
  166. package/dist/sdd/code-quality/complexity.d.ts +38 -0
  167. package/dist/sdd/code-quality/complexity.d.ts.map +1 -0
  168. package/dist/sdd/code-quality/complexity.js +161 -0
  169. package/dist/sdd/code-quality/complexity.js.map +1 -0
  170. package/dist/sdd/code-quality/conventions.d.ts +33 -0
  171. package/dist/sdd/code-quality/conventions.d.ts.map +1 -0
  172. package/dist/sdd/code-quality/conventions.js +193 -0
  173. package/dist/sdd/code-quality/conventions.js.map +1 -0
  174. package/dist/sdd/code-quality/dependencies.d.ts +27 -0
  175. package/dist/sdd/code-quality/dependencies.d.ts.map +1 -0
  176. package/dist/sdd/code-quality/dependencies.js +142 -0
  177. package/dist/sdd/code-quality/dependencies.js.map +1 -0
  178. package/dist/sdd/code-quality/import-analyzer.d.ts +49 -0
  179. package/dist/sdd/code-quality/import-analyzer.d.ts.map +1 -0
  180. package/dist/sdd/code-quality/import-analyzer.js +213 -0
  181. package/dist/sdd/code-quality/import-analyzer.js.map +1 -0
  182. package/dist/sdd/code-quality/metrics.d.ts +35 -0
  183. package/dist/sdd/code-quality/metrics.d.ts.map +1 -0
  184. package/dist/sdd/code-quality/metrics.js +172 -0
  185. package/dist/sdd/code-quality/metrics.js.map +1 -0
  186. package/dist/sdd/code-quality/smells.d.ts +38 -0
  187. package/dist/sdd/code-quality/smells.d.ts.map +1 -0
  188. package/dist/sdd/code-quality/smells.js +319 -0
  189. package/dist/sdd/code-quality/smells.js.map +1 -0
  190. package/dist/sdd/code-quality/symbol-parser.d.ts +28 -0
  191. package/dist/sdd/code-quality/symbol-parser.d.ts.map +1 -0
  192. package/dist/sdd/code-quality/symbol-parser.js +230 -0
  193. package/dist/sdd/code-quality/symbol-parser.js.map +1 -0
  194. package/dist/sdd/code-quality/usage-tracker.d.ts +59 -0
  195. package/dist/sdd/code-quality/usage-tracker.d.ts.map +1 -0
  196. package/dist/sdd/code-quality/usage-tracker.js +402 -0
  197. package/dist/sdd/code-quality/usage-tracker.js.map +1 -0
  198. package/dist/sdd/code-quality/utils.d.ts +6 -0
  199. package/dist/sdd/code-quality/utils.d.ts.map +1 -0
  200. package/dist/sdd/code-quality/utils.js +14 -0
  201. package/dist/sdd/code-quality/utils.js.map +1 -0
  202. package/dist/sdd/codegen/generator.d.ts +42 -0
  203. package/dist/sdd/codegen/generator.d.ts.map +1 -0
  204. package/dist/sdd/codegen/generator.js +1023 -0
  205. package/dist/sdd/codegen/generator.js.map +1 -0
  206. package/dist/sdd/constitution/validator.d.ts +37 -0
  207. package/dist/sdd/constitution/validator.d.ts.map +1 -0
  208. package/dist/sdd/constitution/validator.js +192 -0
  209. package/dist/sdd/constitution/validator.js.map +1 -0
  210. package/dist/sdd/cost/estimator.d.ts +31 -0
  211. package/dist/sdd/cost/estimator.d.ts.map +1 -0
  212. package/dist/sdd/cost/estimator.js +92 -0
  213. package/dist/sdd/cost/estimator.js.map +1 -0
  214. package/dist/sdd/coverage/tracker.d.ts +47 -0
  215. package/dist/sdd/coverage/tracker.d.ts.map +1 -0
  216. package/dist/sdd/coverage/tracker.js +251 -0
  217. package/dist/sdd/coverage/tracker.js.map +1 -0
  218. package/dist/sdd/disaster/recovery.d.ts +11 -0
  219. package/dist/sdd/disaster/recovery.d.ts.map +1 -0
  220. package/dist/sdd/disaster/recovery.js +55 -0
  221. package/dist/sdd/disaster/recovery.js.map +1 -0
  222. package/dist/sdd/discovery/adaptive.d.ts +14 -0
  223. package/dist/sdd/discovery/adaptive.d.ts.map +1 -0
  224. package/dist/sdd/discovery/adaptive.js +145 -0
  225. package/dist/sdd/discovery/adaptive.js.map +1 -0
  226. package/dist/sdd/discovery/briefing-analyzer.d.ts +66 -0
  227. package/dist/sdd/discovery/briefing-analyzer.d.ts.map +1 -0
  228. package/dist/sdd/discovery/briefing-analyzer.js +672 -0
  229. package/dist/sdd/discovery/briefing-analyzer.js.map +1 -0
  230. package/dist/sdd/discovery/briefing.d.ts +109 -0
  231. package/dist/sdd/discovery/briefing.d.ts.map +1 -0
  232. package/dist/sdd/discovery/briefing.js +617 -0
  233. package/dist/sdd/discovery/briefing.js.map +1 -0
  234. package/dist/sdd/discovery/graph-builder.d.ts +10 -0
  235. package/dist/sdd/discovery/graph-builder.d.ts.map +1 -0
  236. package/dist/sdd/discovery/graph-builder.js +510 -0
  237. package/dist/sdd/discovery/graph-builder.js.map +1 -0
  238. package/dist/sdd/documentation/generator.d.ts +7 -0
  239. package/dist/sdd/documentation/generator.d.ts.map +1 -0
  240. package/dist/sdd/documentation/generator.js +119 -0
  241. package/dist/sdd/documentation/generator.js.map +1 -0
  242. package/dist/sdd/domain/types.d.ts +460 -0
  243. package/dist/sdd/domain/types.d.ts.map +1 -0
  244. package/dist/sdd/domain/types.js +25 -0
  245. package/dist/sdd/domain/types.js.map +1 -0
  246. package/dist/sdd/drift/detector.d.ts +28 -0
  247. package/dist/sdd/drift/detector.d.ts.map +1 -0
  248. package/dist/sdd/drift/detector.js +379 -0
  249. package/dist/sdd/drift/detector.js.map +1 -0
  250. package/dist/sdd/drift/exclusion.d.ts +54 -0
  251. package/dist/sdd/drift/exclusion.d.ts.map +1 -0
  252. package/dist/sdd/drift/exclusion.js +179 -0
  253. package/dist/sdd/drift/exclusion.js.map +1 -0
  254. package/dist/sdd/drift/signals.d.ts +52 -0
  255. package/dist/sdd/drift/signals.d.ts.map +1 -0
  256. package/dist/sdd/drift/signals.js +470 -0
  257. package/dist/sdd/drift/signals.js.map +1 -0
  258. package/dist/sdd/enforcement/interceptor.d.ts +47 -0
  259. package/dist/sdd/enforcement/interceptor.d.ts.map +1 -0
  260. package/dist/sdd/enforcement/interceptor.js +365 -0
  261. package/dist/sdd/enforcement/interceptor.js.map +1 -0
  262. package/dist/sdd/enforcement/workflow-tracker.d.ts +66 -0
  263. package/dist/sdd/enforcement/workflow-tracker.d.ts.map +1 -0
  264. package/dist/sdd/enforcement/workflow-tracker.js +229 -0
  265. package/dist/sdd/enforcement/workflow-tracker.js.map +1 -0
  266. package/dist/sdd/graph/engine.d.ts +44 -0
  267. package/dist/sdd/graph/engine.d.ts.map +1 -0
  268. package/dist/sdd/graph/engine.js +203 -0
  269. package/dist/sdd/graph/engine.js.map +1 -0
  270. package/dist/sdd/graph/index.d.ts +160 -0
  271. package/dist/sdd/graph/index.d.ts.map +1 -0
  272. package/dist/sdd/graph/index.js +624 -0
  273. package/dist/sdd/graph/index.js.map +1 -0
  274. package/dist/sdd/graph/integrity-guard.d.ts +129 -0
  275. package/dist/sdd/graph/integrity-guard.d.ts.map +1 -0
  276. package/dist/sdd/graph/integrity-guard.js +263 -0
  277. package/dist/sdd/graph/integrity-guard.js.map +1 -0
  278. package/dist/sdd/graph/integrity.d.ts +79 -0
  279. package/dist/sdd/graph/integrity.d.ts.map +1 -0
  280. package/dist/sdd/graph/integrity.js +462 -0
  281. package/dist/sdd/graph/integrity.js.map +1 -0
  282. package/dist/sdd/graph/pruner.d.ts +27 -0
  283. package/dist/sdd/graph/pruner.d.ts.map +1 -0
  284. package/dist/sdd/graph/pruner.js +203 -0
  285. package/dist/sdd/graph/pruner.js.map +1 -0
  286. package/dist/sdd/graph/traverse.d.ts +43 -0
  287. package/dist/sdd/graph/traverse.d.ts.map +1 -0
  288. package/dist/sdd/graph/traverse.js +265 -0
  289. package/dist/sdd/graph/traverse.js.map +1 -0
  290. package/dist/sdd/incidents/manager.d.ts +10 -0
  291. package/dist/sdd/incidents/manager.d.ts.map +1 -0
  292. package/dist/sdd/incidents/manager.js +63 -0
  293. package/dist/sdd/incidents/manager.js.map +1 -0
  294. package/dist/sdd/knowledge/transfer.d.ts +24 -0
  295. package/dist/sdd/knowledge/transfer.d.ts.map +1 -0
  296. package/dist/sdd/knowledge/transfer.js +94 -0
  297. package/dist/sdd/knowledge/transfer.js.map +1 -0
  298. package/dist/sdd/migrations/fixes.d.ts +2 -0
  299. package/dist/sdd/migrations/fixes.d.ts.map +1 -0
  300. package/dist/sdd/migrations/fixes.js +159 -0
  301. package/dist/sdd/migrations/fixes.js.map +1 -0
  302. package/dist/sdd/migrations/index.d.ts +2 -0
  303. package/dist/sdd/migrations/index.d.ts.map +1 -0
  304. package/dist/sdd/migrations/index.js +5 -0
  305. package/dist/sdd/migrations/index.js.map +1 -0
  306. package/dist/sdd/migrations/migration-runner.d.ts +41 -0
  307. package/dist/sdd/migrations/migration-runner.d.ts.map +1 -0
  308. package/dist/sdd/migrations/migration-runner.js +91 -0
  309. package/dist/sdd/migrations/migration-runner.js.map +1 -0
  310. package/dist/sdd/monitoring/setup.d.ts +40 -0
  311. package/dist/sdd/monitoring/setup.d.ts.map +1 -0
  312. package/dist/sdd/monitoring/setup.js +177 -0
  313. package/dist/sdd/monitoring/setup.js.map +1 -0
  314. package/dist/sdd/monitoring/telemetry.d.ts +18 -0
  315. package/dist/sdd/monitoring/telemetry.d.ts.map +1 -0
  316. package/dist/sdd/monitoring/telemetry.js +37 -0
  317. package/dist/sdd/monitoring/telemetry.js.map +1 -0
  318. package/dist/sdd/patterns/anti-patterns.d.ts +21 -0
  319. package/dist/sdd/patterns/anti-patterns.d.ts.map +1 -0
  320. package/dist/sdd/patterns/anti-patterns.js +286 -0
  321. package/dist/sdd/patterns/anti-patterns.js.map +1 -0
  322. package/dist/sdd/patterns/ast-clones.d.ts +23 -0
  323. package/dist/sdd/patterns/ast-clones.d.ts.map +1 -0
  324. package/dist/sdd/patterns/ast-clones.js +171 -0
  325. package/dist/sdd/patterns/ast-clones.js.map +1 -0
  326. package/dist/sdd/patterns/config-drift.d.ts +16 -0
  327. package/dist/sdd/patterns/config-drift.d.ts.map +1 -0
  328. package/dist/sdd/patterns/config-drift.js +322 -0
  329. package/dist/sdd/patterns/config-drift.js.map +1 -0
  330. package/dist/sdd/patterns/contradictions.d.ts +38 -0
  331. package/dist/sdd/patterns/contradictions.d.ts.map +1 -0
  332. package/dist/sdd/patterns/contradictions.js +237 -0
  333. package/dist/sdd/patterns/contradictions.js.map +1 -0
  334. package/dist/sdd/patterns/learner.d.ts +49 -0
  335. package/dist/sdd/patterns/learner.d.ts.map +1 -0
  336. package/dist/sdd/patterns/learner.js +226 -0
  337. package/dist/sdd/patterns/learner.js.map +1 -0
  338. package/dist/sdd/permissions/access.d.ts +69 -0
  339. package/dist/sdd/permissions/access.d.ts.map +1 -0
  340. package/dist/sdd/permissions/access.js +333 -0
  341. package/dist/sdd/permissions/access.js.map +1 -0
  342. package/dist/sdd/persistence/repository.d.ts +60 -0
  343. package/dist/sdd/persistence/repository.d.ts.map +1 -0
  344. package/dist/sdd/persistence/repository.js +96 -0
  345. package/dist/sdd/persistence/repository.js.map +1 -0
  346. package/dist/sdd/persistence/sqlite.d.ts +122 -0
  347. package/dist/sdd/persistence/sqlite.d.ts.map +1 -0
  348. package/dist/sdd/persistence/sqlite.js +602 -0
  349. package/dist/sdd/persistence/sqlite.js.map +1 -0
  350. package/dist/sdd/persistence/yaml.d.ts +41 -0
  351. package/dist/sdd/persistence/yaml.d.ts.map +1 -0
  352. package/dist/sdd/persistence/yaml.js +382 -0
  353. package/dist/sdd/persistence/yaml.js.map +1 -0
  354. package/dist/sdd/promises/classifier.d.ts +48 -0
  355. package/dist/sdd/promises/classifier.d.ts.map +1 -0
  356. package/dist/sdd/promises/classifier.js +215 -0
  357. package/dist/sdd/promises/classifier.js.map +1 -0
  358. package/dist/sdd/promises/tracker.d.ts +20 -0
  359. package/dist/sdd/promises/tracker.d.ts.map +1 -0
  360. package/dist/sdd/promises/tracker.js +204 -0
  361. package/dist/sdd/promises/tracker.js.map +1 -0
  362. package/dist/sdd/quality/scorer.d.ts +44 -0
  363. package/dist/sdd/quality/scorer.d.ts.map +1 -0
  364. package/dist/sdd/quality/scorer.js +216 -0
  365. package/dist/sdd/quality/scorer.js.map +1 -0
  366. package/dist/sdd/rollback/manager.d.ts +45 -0
  367. package/dist/sdd/rollback/manager.d.ts.map +1 -0
  368. package/dist/sdd/rollback/manager.js +266 -0
  369. package/dist/sdd/rollback/manager.js.map +1 -0
  370. package/dist/sdd/session/handoff.d.ts +52 -0
  371. package/dist/sdd/session/handoff.d.ts.map +1 -0
  372. package/dist/sdd/session/handoff.js +264 -0
  373. package/dist/sdd/session/handoff.js.map +1 -0
  374. package/dist/sdd/sla/tracker.d.ts +11 -0
  375. package/dist/sdd/sla/tracker.d.ts.map +1 -0
  376. package/dist/sdd/sla/tracker.js +52 -0
  377. package/dist/sdd/sla/tracker.js.map +1 -0
  378. package/dist/sdd/sync/git-sync.d.ts +61 -0
  379. package/dist/sdd/sync/git-sync.d.ts.map +1 -0
  380. package/dist/sdd/sync/git-sync.js +297 -0
  381. package/dist/sdd/sync/git-sync.js.map +1 -0
  382. package/dist/sdd/toggle/state.d.ts +8 -0
  383. package/dist/sdd/toggle/state.d.ts.map +1 -0
  384. package/dist/sdd/toggle/state.js +32 -0
  385. package/dist/sdd/toggle/state.js.map +1 -0
  386. package/dist/sdd/transactions/manager.d.ts +12 -0
  387. package/dist/sdd/transactions/manager.d.ts.map +1 -0
  388. package/dist/sdd/transactions/manager.js +80 -0
  389. package/dist/sdd/transactions/manager.js.map +1 -0
  390. package/dist/sdd/validation/coverage-index.d.ts +117 -0
  391. package/dist/sdd/validation/coverage-index.d.ts.map +1 -0
  392. package/dist/sdd/validation/coverage-index.js +251 -0
  393. package/dist/sdd/validation/coverage-index.js.map +1 -0
  394. package/dist/sdd/validation/executable.d.ts +26 -0
  395. package/dist/sdd/validation/executable.d.ts.map +1 -0
  396. package/dist/sdd/validation/executable.js +122 -0
  397. package/dist/sdd/validation/executable.js.map +1 -0
  398. package/dist/sdd/validation/smart-validator.d.ts +53 -0
  399. package/dist/sdd/validation/smart-validator.d.ts.map +1 -0
  400. package/dist/sdd/validation/smart-validator.js +347 -0
  401. package/dist/sdd/validation/smart-validator.js.map +1 -0
  402. package/dist/sdd/validation/validator.d.ts +39 -0
  403. package/dist/sdd/validation/validator.d.ts.map +1 -0
  404. package/dist/sdd/validation/validator.js +512 -0
  405. package/dist/sdd/validation/validator.js.map +1 -0
  406. package/dist/sdd/workflow/exporter.d.ts +36 -0
  407. package/dist/sdd/workflow/exporter.d.ts.map +1 -0
  408. package/dist/sdd/workflow/exporter.js +112 -0
  409. package/dist/sdd/workflow/exporter.js.map +1 -0
  410. package/dist/sdd/workflows/ab-testing.d.ts +18 -0
  411. package/dist/sdd/workflows/ab-testing.d.ts.map +1 -0
  412. package/dist/sdd/workflows/ab-testing.js +67 -0
  413. package/dist/sdd/workflows/ab-testing.js.map +1 -0
  414. package/dist/sdd/workflows/bug-fix.d.ts +13 -0
  415. package/dist/sdd/workflows/bug-fix.d.ts.map +1 -0
  416. package/dist/sdd/workflows/bug-fix.js +65 -0
  417. package/dist/sdd/workflows/bug-fix.js.map +1 -0
  418. package/dist/sdd/workflows/data-migration.d.ts +14 -0
  419. package/dist/sdd/workflows/data-migration.d.ts.map +1 -0
  420. package/dist/sdd/workflows/data-migration.js +68 -0
  421. package/dist/sdd/workflows/data-migration.js.map +1 -0
  422. package/dist/sdd/workflows/deprecation.d.ts +15 -0
  423. package/dist/sdd/workflows/deprecation.d.ts.map +1 -0
  424. package/dist/sdd/workflows/deprecation.js +68 -0
  425. package/dist/sdd/workflows/deprecation.js.map +1 -0
  426. package/dist/sdd/workflows/feature-flags.d.ts +14 -0
  427. package/dist/sdd/workflows/feature-flags.d.ts.map +1 -0
  428. package/dist/sdd/workflows/feature-flags.js +73 -0
  429. package/dist/sdd/workflows/feature-flags.js.map +1 -0
  430. package/dist/sdd/workflows/hotfix.d.ts +13 -0
  431. package/dist/sdd/workflows/hotfix.d.ts.map +1 -0
  432. package/dist/sdd/workflows/hotfix.js +67 -0
  433. package/dist/sdd/workflows/hotfix.js.map +1 -0
  434. package/dist/sdd/workflows/multi-tenancy.d.ts +13 -0
  435. package/dist/sdd/workflows/multi-tenancy.d.ts.map +1 -0
  436. package/dist/sdd/workflows/multi-tenancy.js +68 -0
  437. package/dist/sdd/workflows/multi-tenancy.js.map +1 -0
  438. package/dist/sdd/workflows/onboarding.d.ts +7 -0
  439. package/dist/sdd/workflows/onboarding.d.ts.map +1 -0
  440. package/dist/sdd/workflows/onboarding.js +43 -0
  441. package/dist/sdd/workflows/onboarding.js.map +1 -0
  442. package/dist/sdd/workflows/refactoring.d.ts +14 -0
  443. package/dist/sdd/workflows/refactoring.d.ts.map +1 -0
  444. package/dist/sdd/workflows/refactoring.js +73 -0
  445. package/dist/sdd/workflows/refactoring.js.map +1 -0
  446. package/dist/server/events.d.ts +64 -0
  447. package/dist/server/events.d.ts.map +1 -0
  448. package/dist/server/events.js +149 -0
  449. package/dist/server/events.js.map +1 -0
  450. package/dist/server/server.d.ts +33 -0
  451. package/dist/server/server.d.ts.map +1 -0
  452. package/dist/server/server.js +1019 -0
  453. package/dist/server/server.js.map +1 -0
  454. package/marketplace.json +39 -0
  455. package/package.json +65 -0
  456. package/src/code-intelligence/analyzer.ts +350 -0
  457. package/src/code-intelligence/ast/cache.ts +61 -0
  458. package/src/code-intelligence/ast/common.ts +62 -0
  459. package/src/code-intelligence/ast/component.ts +39 -0
  460. package/src/code-intelligence/ast/fallback.ts +44 -0
  461. package/src/code-intelligence/ast/index.ts +4 -0
  462. package/src/code-intelligence/ast/ir.ts +91 -0
  463. package/src/code-intelligence/ast/metrics.ts +65 -0
  464. package/src/code-intelligence/ast/registry.ts +28 -0
  465. package/src/code-intelligence/ast/tree-sitter.ts +226 -0
  466. package/src/code-intelligence/ast/typescript.ts +140 -0
  467. package/src/index.ts +22 -0
  468. package/src/mcp/server.ts +77 -0
  469. package/src/opencode/hooks.ts +728 -0
  470. package/src/opencode/router/categories.ts +192 -0
  471. package/src/opencode/router/embeddings.ts +149 -0
  472. package/src/opencode/router/graph-state-snapshot.ts +163 -0
  473. package/src/opencode/router/index.ts +44 -0
  474. package/src/opencode/router/intent-classifier.ts +140 -0
  475. package/src/opencode/router/semantic-nudge.ts +89 -0
  476. package/src/opencode/router/state-gate.ts +192 -0
  477. package/src/opencode/router/tool-embeddings.ts +162 -0
  478. package/src/opencode/router/tool-registry.ts +135 -0
  479. package/src/opencode/router/tool-taxonomy.ts +284 -0
  480. package/src/opencode/router/tools-composite.ts +685 -0
  481. package/src/opencode/shell-hooks.ts +115 -0
  482. package/src/opencode/system-prompt.ts +617 -0
  483. package/src/opencode/tools.ts +4102 -0
  484. package/src/opencode/workflows/chains.ts +205 -0
  485. package/src/opencode/workflows/executor.ts +172 -0
  486. package/src/opencode/workflows/index.ts +21 -0
  487. package/src/opencode/workflows/tools-workflow.ts +91 -0
  488. package/src/opencode/workflows/types.ts +42 -0
  489. package/src/sdd/analysis/compliance.ts +279 -0
  490. package/src/sdd/analysis/scalability.ts +97 -0
  491. package/src/sdd/analysis/security.ts +135 -0
  492. package/src/sdd/brownfield/scanner.ts +276 -0
  493. package/src/sdd/cache/manager.ts +899 -0
  494. package/src/sdd/cache/snapshot-store.ts +185 -0
  495. package/src/sdd/changes/manager.ts +326 -0
  496. package/src/sdd/cicd/generators.ts +1095 -0
  497. package/src/sdd/code-quality/complexity.ts +235 -0
  498. package/src/sdd/code-quality/conventions.ts +220 -0
  499. package/src/sdd/code-quality/dependencies.ts +203 -0
  500. package/src/sdd/code-quality/import-analyzer.ts +294 -0
  501. package/src/sdd/code-quality/metrics.ts +232 -0
  502. package/src/sdd/code-quality/smells.ts +415 -0
  503. package/src/sdd/code-quality/symbol-parser.ts +335 -0
  504. package/src/sdd/code-quality/usage-tracker.ts +527 -0
  505. package/src/sdd/code-quality/utils.ts +13 -0
  506. package/src/sdd/codegen/generator.ts +1181 -0
  507. package/src/sdd/constitution/validator.ts +253 -0
  508. package/src/sdd/cost/estimator.ts +147 -0
  509. package/src/sdd/coverage/tracker.ts +342 -0
  510. package/src/sdd/disaster/recovery.ts +79 -0
  511. package/src/sdd/discovery/adaptive.ts +167 -0
  512. package/src/sdd/discovery/briefing-analyzer.ts +802 -0
  513. package/src/sdd/discovery/briefing.ts +770 -0
  514. package/src/sdd/discovery/graph-builder.ts +598 -0
  515. package/src/sdd/documentation/generator.ts +158 -0
  516. package/src/sdd/domain/types.ts +658 -0
  517. package/src/sdd/drift/detector.ts +465 -0
  518. package/src/sdd/drift/exclusion.ts +223 -0
  519. package/src/sdd/drift/signals.ts +577 -0
  520. package/src/sdd/enforcement/interceptor.ts +444 -0
  521. package/src/sdd/enforcement/workflow-tracker.ts +263 -0
  522. package/src/sdd/graph/engine.ts +277 -0
  523. package/src/sdd/graph/index.ts +700 -0
  524. package/src/sdd/graph/integrity-guard.ts +348 -0
  525. package/src/sdd/graph/integrity.ts +628 -0
  526. package/src/sdd/graph/pruner.ts +221 -0
  527. package/src/sdd/graph/traverse.ts +331 -0
  528. package/src/sdd/incidents/manager.ts +87 -0
  529. package/src/sdd/knowledge/transfer.ts +140 -0
  530. package/src/sdd/migrations/fixes.ts +154 -0
  531. package/src/sdd/migrations/index.ts +14 -0
  532. package/src/sdd/migrations/migration-runner.ts +118 -0
  533. package/src/sdd/monitoring/setup.ts +237 -0
  534. package/src/sdd/monitoring/telemetry.ts +44 -0
  535. package/src/sdd/patterns/anti-patterns.ts +333 -0
  536. package/src/sdd/patterns/ast-clones.ts +214 -0
  537. package/src/sdd/patterns/config-drift.ts +346 -0
  538. package/src/sdd/patterns/contradictions.ts +323 -0
  539. package/src/sdd/patterns/learner.ts +266 -0
  540. package/src/sdd/permissions/access.ts +478 -0
  541. package/src/sdd/persistence/repository.ts +166 -0
  542. package/src/sdd/persistence/sqlite.ts +703 -0
  543. package/src/sdd/persistence/yaml.ts +409 -0
  544. package/src/sdd/promises/classifier.ts +253 -0
  545. package/src/sdd/promises/tracker.ts +258 -0
  546. package/src/sdd/quality/scorer.ts +263 -0
  547. package/src/sdd/rollback/manager.ts +361 -0
  548. package/src/sdd/session/handoff.ts +354 -0
  549. package/src/sdd/sla/tracker.ts +68 -0
  550. package/src/sdd/sync/git-sync.ts +401 -0
  551. package/src/sdd/toggle/state.ts +38 -0
  552. package/src/sdd/transactions/manager.ts +93 -0
  553. package/src/sdd/validation/coverage-index.ts +339 -0
  554. package/src/sdd/validation/executable.ts +127 -0
  555. package/src/sdd/validation/smart-validator.ts +470 -0
  556. package/src/sdd/validation/validator.ts +641 -0
  557. package/src/sdd/workflow/exporter.ts +169 -0
  558. package/src/sdd/workflows/ab-testing.ts +90 -0
  559. package/src/sdd/workflows/bug-fix.ts +81 -0
  560. package/src/sdd/workflows/data-migration.ts +86 -0
  561. package/src/sdd/workflows/deprecation.ts +87 -0
  562. package/src/sdd/workflows/feature-flags.ts +91 -0
  563. package/src/sdd/workflows/hotfix.ts +83 -0
  564. package/src/sdd/workflows/multi-tenancy.ts +84 -0
  565. package/src/sdd/workflows/onboarding.ts +82 -0
  566. package/src/sdd/workflows/refactoring.ts +90 -0
  567. package/src/server/events.ts +184 -0
  568. package/src/server/server.ts +1088 -0
package/README.md ADDED
@@ -0,0 +1,927 @@
1
+ # OPENCODE TELOS
2
+
3
+ Plugin de **Spec-Driven Development (SDD)** para o [OpenCode](https://github.com/anomalyco/opencode). Transforma o ambiente de desenvolvimento em um sistema conversacional baseado em Knowledge Graph, onde a especificação sempre vem antes do código.
4
+
5
+ ## O que faz
6
+
7
+ - **Descoberta conversacional**: analisa seu briefing, detecta o que falta e faz perguntas com menus de seleção (via ferramenta `question` do OpenCode)
8
+ - **Knowledge Graph**: mantém um grafo semântico como fonte de verdade do projeto
9
+ - **Tech stack configurável**: detecta tecnologias mencionadas, usa conhecimento do AI para stacks não suportadas por templates
10
+ - **Referências @**: leitura de arquivos `.md` para extrair especificações de stack
11
+ - **Geração de código**: gera código para stacks suportadas (Express+React+SQLite) ou usa AI para stacks arbitrárias
12
+ - **Enforcement SDD-first**: bloqueia modificações no código que não passaram pela especificação
13
+ - **Change management**: toda mudança vira um Change node rastreável no grafo
14
+ - **Impact analysis**: traversa o grafo para mostrar o que será afetado
15
+ - **Drift detection**: detecta quando o código desviou da especificação
16
+ - **Dashboard web**: visualização 3D do grafo em tempo real com 3d-force-graph
17
+ - **Constitution**: define princípios obrigatórios, opcionais e desejados para o projeto
18
+ - **Promise tracking**: rastreia promessas de especificação e detecta violações
19
+ - **Quality scoring**: calcula score de qualidade (0-100%) com tendência
20
+ - **Anti-pattern detection**: identifica nós gods, dependências circulares, especulação
21
+ - **AST clone detection**: detecta código duplicado no projeto
22
+ - **Contradiction detection**: identifica requisitos e regras conflitantes
23
+ - **Test coverage tracking**: mede cobertura de testes por requisito
24
+ - **Config drift detection**: detecta inconsistências em configs
25
+ - **Session handoff**: gera pacote de estado para continuar trabalho
26
+ - **Workflow export**: exporta estado do SDD como relatório estruturado
27
+ - **Shell hooks**: instala hooks Git para integração SDD
28
+ - **Brownfield scanning**: analisa projetos existentes para integração
29
+ - **CI/CD Integration**: gera GitHub Actions, GitLab CI, Jenkins, Docker, CircleCI, Azure DevOps, AWS CodePipeline, Travis CI, NPM Publish, Docker Compose, Maven (Java), Python (pip), Go (GoReleaser) com validação SDD
30
+ - **Multi-developer Sync**: sincronização via Git com detecção e resolução de conflitos
31
+ - **Rollback**: 3 camadas de reversão (git → snapshot → backup)
32
+ - **Permissions**: controle de acesso por roles (admin, architect, developer, viewer) com autenticação GitHub/GitLab
33
+ - **Enterprise Workflows**: workflows automáticos para cenários enterprise:
34
+ - **Bug Fixing**: workflow com aprovação automática
35
+ - **Hotfix/Emergência**: bypass de enforcement + documentação retroativa
36
+ - **Refactoring**: verificação de dependências + testes obrigatórios
37
+ - **Deprecation**: plano de migração + notificações
38
+ - **Data Migration**: scripts de migração + rollback
39
+ - **A/B Testing**: experimentos com variantes
40
+ - **Feature Flags**: controle de rollout
41
+ - **Multi-tenancy**: isolamento de dados
42
+ - **Onboarding**: guia para novos desenvolvedores
43
+ - **Security Audit**: auditoria de segurança automatizada
44
+ - **Scalability Analysis**: análise de escalabilidade
45
+ - **Compliance**: validação regulatory (GDPR, HIPAA, SOC2)
46
+ - **Monitoring**: configuração de métricas e alertas
47
+ - **Incident Management**: gestão de incidentes
48
+ - **SLA Tracking**: rastreamento de acordos de nível de serviço
49
+ - **Cost Management**: estimativa de custos
50
+ - **Documentation**: geração de documentação
51
+ - **Knowledge Transfer**: transferência de conhecimento
52
+ - **Disaster Recovery**: plano de recuperação de desastres
53
+
54
+ ## Pré-requisitos
55
+
56
+ - [OpenCode](https://github.com/anomalyco/opencode) instalado
57
+ - [Bun](https://bun.sh) (runtime do plugin)
58
+
59
+ ## Instalação
60
+
61
+ ### Opção 1: Via OpenCode CLI (recomendado)
62
+
63
+ ```bash
64
+ opencode plugin add opencode-telos
65
+ ```
66
+
67
+ Isso instala o plugin automaticamente no seu OpenCode.
68
+
69
+ ### Opção 2: Via npm
70
+
71
+ ```bash
72
+ npm install -g opencode-telos
73
+ ```
74
+
75
+ Depois adicione no `opencode.json`:
76
+
77
+ ```json
78
+ {
79
+ "plugin": ["opencode-telos"]
80
+ }
81
+ ```
82
+
83
+ ### Opção 3: Plugin local
84
+
85
+ Clone ou copie a pasta do plugin para um diretório acessível:
86
+
87
+ ```bash
88
+ git clone https://github.com/JudahAragao/opencode-telos.git ~/.config/opencode/plugins/opencode-telos
89
+ ```
90
+
91
+ Depois adicione no `opencode.json`:
92
+
93
+ ```json
94
+ {
95
+ "plugin": ["~/.config/opencode/plugins/opencode-telos"]
96
+ }
97
+ ```
98
+
99
+ ### Opção 4: Plugin no projeto
100
+
101
+ Copie a pasta `opencode-telos` para dentro do seu projeto:
102
+
103
+ ```bash
104
+ cp -r /caminho/opencode-telos ./opencode-telos
105
+ ```
106
+
107
+ Depois adicione no `opencode.json`:
108
+
109
+ ```json
110
+ {
111
+ "plugin": ["./opencode-telos"]
112
+ }
113
+ ```
114
+
115
+ ## Como funciona a interação
116
+
117
+ ### Toggle SDD (liga/desliga)
118
+
119
+ O plugin pode ser ligado ou desligado a qualquer momento:
120
+
121
+ | Comando | Efeito |
122
+ |---|---|
123
+ | `/sdd on` | Ativa enforcement SDD (toda mudança precisa de spec) |
124
+ | `/sdd off` | Desativa enforcement (pode codar livremente) |
125
+ | `/sdd status` | Mostra estado atual |
126
+
127
+ Quando desativado:
128
+ - O system prompt SDD não é injetado
129
+ - Não há enforcement em writes/edits
130
+ - O agente pode modificar código diretamente
131
+
132
+ Quando ativado:
133
+ - Workflow SDD-first obrigatório
134
+ - Spec antes de código
135
+ - Change nodes para toda modificação
136
+
137
+ Também disponível via tool: `sdd.toggle(enabled: true|false)`
138
+
139
+ ### Passo 1: Descreva o projeto
140
+
141
+ Abra o OpenCode na pasta do seu projeto e descreva o que quer criar:
142
+
143
+ ```
144
+ Quero criar um sistema de gerenciamento de tarefas.
145
+ Cada usuário terá suas próprias tarefas com título, descrição e status.
146
+ ```
147
+
148
+ O plugin automaticamente:
149
+
150
+ 1. Detecta que não existe SDD inicializado
151
+ 2. Roda `sdd.discover` analisando seu briefing
152
+ 3. Detecta: entidades (usuário, tarefa), domínio (task_management)
153
+ 4. Detecta tecnologias mencionadas (nenhuma ainda)
154
+ 5. Retorna perguntas estruturadas para a ferramenta `question`
155
+
156
+ ### Passo 2: Responda com menus de seleção
157
+
158
+ O OpenCode exibe um menu para cada pergunta faltante:
159
+
160
+ ```
161
+ ? Qual framework será usado no frontend?
162
+ > React
163
+ Vue.js
164
+ Angular
165
+ Svelte
166
+ Next.js
167
+ [Digite sua própria resposta]
168
+ ```
169
+
170
+ ```
171
+ ? Qual framework será usado no backend?
172
+ > Express
173
+ Fastify
174
+ NestJS
175
+ Django
176
+ FastAPI
177
+ [Digite sua própria resposta]
178
+ ```
179
+
180
+ ```
181
+ ? Qual banco de dados será utilizado?
182
+ > SQLite
183
+ PostgreSQL
184
+ MySQL
185
+ MongoDB
186
+ [Digite sua própria resposta]
187
+ ```
188
+
189
+ ```
190
+ ? Como os usuários farão login no sistema?
191
+ > Email + Senha
192
+ Google OAuth
193
+ JWT
194
+ Sem autenticação
195
+ [Digite sua própria resposta]
196
+ ```
197
+
198
+ ```
199
+ ? Como devem funcionar as exclusões no sistema?
200
+ > Hard delete (permanente)
201
+ Soft delete (reversível)
202
+ ```
203
+
204
+ Você seleciona uma opção ou digita sua própria resposta. O plugin atualiza o Knowledge Graph automaticamente.
205
+
206
+ ### Passo 3: Especifique a stack via arquivos .md (opcional)
207
+
208
+ Se preferir definir a stack em um arquivo, crie um `.md` e referencie com `@`:
209
+
210
+ ```
211
+ Quero um sistema de tarefas. @tech.md
212
+ ```
213
+
214
+ Onde `tech.md` contém:
215
+
216
+ ```markdown
217
+ ## Stack
218
+ - Frontend: Next.js + Tailwind
219
+ - Backend: FastAPI (Python)
220
+ - Database: PostgreSQL
221
+ - Auth: Clerk
222
+ ```
223
+
224
+ O plugin lê o arquivo, detecta as tecnologias e **não pergunta** sobre elas.
225
+
226
+ ### Passo 4: Gere o código
227
+
228
+ Depois que a especificação estiver suficiente:
229
+
230
+ ```
231
+ Gere o código do projeto
232
+ ```
233
+
234
+ O plugin:
235
+
236
+ - Se a stack tem templates built-in (Express+React+SQLite): gera os arquivos automaticamente
237
+ - Se a stack é diferente: retorna uma especificação detalhada e o AI gera o código usando seu conhecimento sobre as tecnologias escolhidas
238
+
239
+ ### Passo 5: Modifique funcionalidades
240
+
241
+ ```
242
+ Adicione um campo de prioridade nas tarefas com valores LOW, MEDIUM e HIGH
243
+ ```
244
+
245
+ O plugin **força** o workflow SDD:
246
+
247
+ 1. `sdd.enforce` → classifica como "add_functionality"
248
+ 2. Cria um Change node (ex: CHG-001)
249
+ 3. Analisa impacto: entidade Task, API, testes
250
+ 4. Atualiza a especificação
251
+ 5. Valida o SDD
252
+ 6. Regenera o código afetado
253
+ 7. Completa o Change
254
+
255
+ ### Passo 6: Mudanças arquiteturais
256
+
257
+ ```
258
+ Mude o banco de SQLite para PostgreSQL
259
+ ```
260
+
261
+ O plugin **bloqueia** e pede aprovação explícita antes de prosseguir.
262
+
263
+ ### Passo 7: Verifique drift
264
+
265
+ ```
266
+ Verifique se há drift no projeto
267
+ ```
268
+
269
+ O plugin compara o grafo com o código e reporta divergências.
270
+
271
+ ### Completar especificação manualmente
272
+
273
+ Se achar que a IA não fez todas as perguntas, você pode:
274
+
275
+ **Validar o que falta:**
276
+ ```
277
+ Valide o SDD e me diga o que está faltando na spec
278
+ ```
279
+ O agente roda `sdd.validate` e lista erros/warnings (ex: entity sem campos, requirement sem task).
280
+
281
+ **Rodar discovery de novo:**
282
+ ```
283
+ Analise o SDD atual e faça todas as perguntas que faltam
284
+ ```
285
+ O agente inspeciona o grafo com `sdd.inspect`, identifica gaps, e faz perguntas via `question`.
286
+
287
+ **Verificar completude antes de gerar:**
288
+ ```
289
+ Verifique se a spec está completa antes de gerar código
290
+ ```
291
+
292
+ **Adicionar entidades/regras manualmente:**
293
+ ```
294
+ Adicione uma entidade Tenant com campos id (uuid), name (string), created_at (timestamp)
295
+ ```
296
+ O agente roda `sdd.add_node` direto.
297
+
298
+ **Adicionar relacionamento:**
299
+ ```
300
+ Crie um relacionamento: Tenant contains User
301
+ ```
302
+
303
+ **Consultar estado atual:**
304
+ ```
305
+ Mostre o estado atual do SDD
306
+ ```
307
+ O agente roda `sdd.inspect` mostrando stats, nós por tipo e distribuição de status.
308
+
309
+ ## Ferramentas disponíveis
310
+
311
+ ### Inicialização e Gestão do Grafo
312
+
313
+ | Ferramenta | Descrição |
314
+ |---|---|
315
+ | `sdd.initialize` | Inicializa o SDD para o projeto |
316
+ | `sdd.toggle_status` | Liga/desliga enforcement SDD |
317
+ | `sdd.list_snapshots` | Lista snapshots disponíveis para rollback |
318
+
319
+ ### Navegação e Busca
320
+
321
+ | Ferramenta | Descrição |
322
+ |---|---|
323
+ | `sdd.inspect` | Mostra estado atual do grafo |
324
+ | `sdd.query_graph` | Busca nós por texto, tipo ou ID |
325
+ | `sdd.list_nodes` | Lista nós por tipo |
326
+ | `sdd.count_nodes` | Conta nós por tipo |
327
+ | `sdd.get_nodes_by_status` | Lista nós filtrados por status |
328
+ | `sdd.get_context` | Context pack para um nó |
329
+ | `sdd.find_path` | Encontra caminho entre nós |
330
+ | `sdd.analyze_impact` | Análise de impacto via traversal |
331
+
332
+ ### Graph Traversal
333
+
334
+ | Ferramenta | Descrição |
335
+ |---||
336
+ | `sdd.traverse_outgoing` | BFS seguindo arestas de saída |
337
+ | `sdd.traverse_incoming` | BFS seguindo arestas de entrada |
338
+ | `sdd.traverse_both` | BFS bidirecional |
339
+ | `sdd.get_subgraph` | Extrai subgrafo a partir de um nó |
340
+
341
+ ### CRUD de Nós e Relacionamentos
342
+
343
+ | Ferramenta | Descrição |
344
+ |---|---|
345
+ | `sdd.add_node` | Adiciona feature, requirement, entity, etc. |
346
+ | `sdd.update_node` | Atualiza campos de um nó existente |
347
+ | `sdd.remove_node` | Remove um nó do grafo |
348
+ | `sdd.add_relationship` | Cria relações entre nós |
349
+ | `sdd.remove_relationship` | Remove um relacionamento |
350
+
351
+ ### Descoberta e Briefing
352
+
353
+ | Ferramenta | Descrição |
354
+ |---|---|
355
+ | `sdd.discover` | Analisa briefing, retorna perguntas para a ferramenta `question` |
356
+ | `sdd.update_from_answers` | Atualiza grafo com respostas |
357
+
358
+ ### Change Management
359
+
360
+ | Ferramenta | Descrição |
361
+ |---|---|
362
+ | `sdd.create_change` | Cria Change com approval gates |
363
+ | `sdd.approve_change` | Aprova uma mudança |
364
+ | `sdd.complete_change` | Marca mudança como completa |
365
+ | `sdd.pending_changes` | Lista mudanças pendentes |
366
+
367
+ ### Validação e Qualidade
368
+
369
+ | Ferramenta | Descrição |
370
+ |---|---|
371
+ | `sdd.validate` | Valida integridade do SDD |
372
+ | `sdd.constitution` | Gerencia constituição do projeto (princípios) |
373
+ | `sdd.quality` | Calcula score de qualidade com tendência |
374
+ | `sdd.contradictions` | Detecta contradições no grafo |
375
+ | `sdd.verify_usage` | Verifica uso de funcionalidades SDD |
376
+
377
+ ### Detecção de Drift
378
+
379
+ | Ferramenta | Descrição |
380
+ |---|---|
381
+ | `sdd.detect_drift` | Detecta drift specification ↔ código |
382
+ | `sdd.config_drift` | Detecta drift em configs |
383
+ | `sdd.detect_sync_conflicts` | Detecta conflitos entre grafo local e remoto |
384
+
385
+ ### Padrões e Anti-Patterns
386
+
387
+ | Ferramenta | Descrição |
388
+ |---|---|
389
+ | `sdd.anti_patterns` | Detecta padrões antiéticos no grafo |
390
+ | `sdd.clone_detection` | Detecta código duplicado no projeto |
391
+
392
+ ### Código e Geração
393
+
394
+ | Ferramenta | Descrição |
395
+ |---|---|
396
+ | `sdd.plan_implementation` | Gera plano de implementação |
397
+ | `sdd.generate_code` | Gera código (templates ou via AI para stacks arbitrárias) |
398
+ | `sdd.enforce` | Força workflow SDD-first |
399
+ | `sdd.enforce_rules` | Mostra regras de enforcement |
400
+ | `sdd.full_cycle` | Ciclo completo: enforce → validate → generate → sync |
401
+
402
+ ### Qualidade de Código
403
+
404
+ | Ferramenta | Descrição |
405
+ |---|---|
406
+ | `sdd.analyze_complexity` | Analisa complexidade ciclomática e cognitiva |
407
+ | `sdd.code_metrics` | Métricas de código (LOC, SLOC, nesting depth) |
408
+ | `sdd.detect_smells` | Detecta code smells |
409
+ | `sdd.analyze_dependencies` | Analisa grafo de dependências e coupling |
410
+ | `sdd.find_dead_code` | Encontra código não utilizado |
411
+ | `sdd.remove_dead_code` | Remove código morto identificado |
412
+ | `sdd.parse_symbols` | Parseia símbolos (funções, classes, interfaces) |
413
+
414
+ ### Análise
415
+
416
+ | Ferramenta | Descrição |
417
+ |---|---|
418
+ | `sdd.check_compliance` | Verificação de compliance (GDPR, LGPD, HIPAA, SOC2) |
419
+ | `sdd.security_audit` | Auditoria de segurança |
420
+ | `sdd.analyze_scalability` | Análise de escalabilidade |
421
+
422
+ ### Codebase Intelligence
423
+
424
+ | Ferramenta | Descrição |
425
+ |---|---|
426
+ | `sdd.analyze_codebase` | Analisa codebase completa e cria nós de arquivo/símbolo |
427
+
428
+ ### Sync e Colaboração
429
+
430
+ | Ferramenta | Descrição |
431
+ |---|---|
432
+ | `sdd.sync_status` | Verifica status de sincronização com remote |
433
+ | `sdd.sync_pull` | Puxa últimas mudanças do remote |
434
+ | `sdd.sync_push` | Envia mudanças SDD para remote |
435
+ | `sdd.merge_graphs` | Merge de dois grafos |
436
+
437
+ ### Rollback
438
+
439
+ | Ferramenta | Descrição |
440
+ |---|---|
441
+ | `sdd.create_snapshot` | Cria snapshot antes de mudanças |
442
+ | `sdd.rollback` | Reverte uma change (git → snapshot → backup) |
443
+ | `sdd.rollback_history` | Histórico de rollbacks |
444
+
445
+ ### Permissões
446
+
447
+ | Ferramenta | Descrição |
448
+ |---|---|
449
+ | `sdd.load_permissions_config` | Carrega config de permissões |
450
+ | `sdd.save_permissions_config` | Salva config de permissões |
451
+ | `sdd.check_permission` | Verifica permissão de um usuário |
452
+ | `sdd.check_change_approval` | Verifica se mudança precisa de aprovação |
453
+ | `sdd.set_role` | Define role de um usuário |
454
+ | `sdd.get_user_role` | Retorna role do usuário |
455
+ | `sdd.audit_log` | Visualiza log de auditoria |
456
+
457
+ ### Enterprise Workflows
458
+
459
+ | Ferramenta | Descrição | Approval Level |
460
+ |---|---|---|
461
+ | `sdd.bug_fix` | Workflow de bug fix completo | AUTO |
462
+ | `sdd.hotfix` | Documentar hotfix retroativo | POST_HOC |
463
+ | `sdd.refactoring` | Refactoring com verificação de dependências | REVIEW |
464
+ | `sdd.deprecate` | Deprecation com plano de migração | APPROVAL |
465
+ | `sdd.create_migration` | Migração de dados com rollback | APPROVAL |
466
+ | `sdd.create_experiment` | Experimento A/B | REVIEW |
467
+ | `sdd.create_flag` | Feature flag | AUTO |
468
+ | `sdd.create_tenant` | Multi-tenancy | APPROVAL |
469
+ | `sdd.onboard_developer` | Guia de onboarding | - |
470
+ | `sdd.report_incident` | Reportar incidente | - |
471
+ | `sdd.create_sla` | Criar SLA | - |
472
+
473
+ ### Monitoramento e Observabilidade
474
+
475
+ | Ferramenta | Descrição |
476
+ |---|---|
477
+ | `sdd.setup_monitoring` | Configuração de monitoramento |
478
+ | `sdd.generate_dashboard` | Gerar dashboard de monitoramento |
479
+
480
+ ### Documentação e Conhecimento
481
+
482
+ | Ferramenta | Descrição |
483
+ |---|---|
484
+ | `sdd.generate_docs` | Gerar documentação (API, user guide, dev guide, architecture) |
485
+ | `sdd.knowledge_transfer` | Transferência de conhecimento |
486
+ | `sdd.session_handoff` | Gera pacote de handoff da sessão |
487
+ | `sdd.workflow_export` | Exporta estado do SDD como relatório |
488
+
489
+ ### Custo e CICD
490
+
491
+ | Ferramenta | Descrição |
492
+ |---|---|
493
+ | `sdd.estimate_cost` | Estimativa de custos |
494
+ | `sdd.generate_cicd` | Gera config CI/CD (GitHub, GitLab, Jenkins, Docker) |
495
+ | `sdd.disaster_recovery_plan` | Plano de disaster recovery |
496
+
497
+ ### Infraestrutura
498
+
499
+ | Ferramenta | Descrição |
500
+ |---|---|
501
+ | `sdd.install_hooks` | Instala hooks Git para SDD |
502
+ | `sdd.brownfield_scan` | Analisa projeto existente |
503
+ | `sdd.start_dashboard` | Inicia servidor web com visualização 3D do grafo |
504
+ | `sdd.mcp_server_info` | Informações do servidor MCP |
505
+ | `sdd.handle_mcp_tool` | Processa tool via protocolo MCP |
506
+
507
+ ### Promessas
508
+
509
+ | Ferramenta | Descrição |
510
+ |---|---|
511
+ | `sdd.promises` | Rastreia promessas de especificação |
512
+ | `sdd.coverage` | Mede cobertura de testes por requisito |
513
+
514
+ ## Tech Stack e Geração de Código
515
+
516
+ ### Stacks com templates built-in
517
+
518
+ O plugin gera código automaticamente para:
519
+
520
+ | Camada | Tecnologias |
521
+ |---|---|
522
+ | Frontend | React + React Router + hooks customizados |
523
+ | Backend | Express ou Fastify + rotas REST + controllers + services + repositories |
524
+ | Database | SQLite, PostgreSQL ou MySQL (via drivers nativos) + schema SQL |
525
+ | Testes | Bun test |
526
+ | Tipos | TypeScript compartilhado |
527
+
528
+ ### Stacks arbitrárias (via AI)
529
+
530
+ Para qualquer outra combinação (Django, FastAPI, Rails, Go, etc.):
531
+
532
+ 1. O plugin detecta a stack do grafo
533
+ 2. Se não está no conjunto de templates built-in, retorna uma **spec prompt**
534
+ 3. A spec prompt lista entidades, endpoints e regras de negócio extraídas do grafo
535
+ 4. O AI gera o código completo usando seu conhecimento sobre as tecnologias escolhidas
536
+ 5. Você pode especificar a stack via briefing (`FastAPI com PostgreSQL`) ou via arquivo `@tech.md`
537
+
538
+ ### Detecção automática
539
+
540
+ O plugin detecta automaticamente no briefing:
541
+
542
+ - **Frontend**: React, Vue, Angular, Svelte, Next.js, Nuxt, Tailwind, shadcn/ui, etc.
543
+ - **Backend**: Express, Fastify, NestJS, Django, FastAPI, Flask, Rails, Laravel, Spring Boot, Go, Rust, etc.
544
+ - **Database**: PostgreSQL, MySQL, SQLite, MongoDB, Redis, Supabase, Firebase, Turso, etc.
545
+ - **Auth**: JWT, Google/GitHub OAuth, Clerk, Auth0, NextAuth, sessão/cookie, etc.
546
+ - **Linguagem**: TypeScript, JavaScript, Python, Go, Rust, Java, Ruby
547
+ - **Testes**: Jest, Vitest, Bun test, Cypress, Playwright, pytest, RSpec
548
+
549
+ Tecnologias que já foram mencionadas **não são perguntadas novamente**.
550
+
551
+ ## Tipos de nós suportados
552
+
553
+ | Tipo | Descrição |
554
+ |---|---|
555
+ | `project` | O projeto |
556
+ | `domain` | Domínio funcional |
557
+ | `feature` | Funcionalidade |
558
+ | `requirement` | Requisito |
559
+ | `business_rule` | Regra de negócio |
560
+ | `actor` | Usuário/sistema externo |
561
+ | `entity` | Entidade de domínio |
562
+ | `value_object` | Objeto de valor |
563
+ | `flow` | Fluxo |
564
+ | `use_case` | Caso de uso |
565
+ | `architecture_component` | Componente arquitetural |
566
+ | `module` | Módulo |
567
+ | `api` | Interface API |
568
+ | `endpoint` | Endpoint HTTP |
569
+ | `database` | Banco de dados |
570
+ | `table` | Tabela |
571
+ | `field` | Campo |
572
+ | `task` | Tarefa de implementação |
573
+ | `test` | Teste |
574
+ | `file` | Arquivo do código |
575
+ | `symbol` | Função, classe, interface |
576
+ | `change` | Mudança do sistema |
577
+ | `decision` | Decisão arquitetural (ADR) |
578
+ | `constraint` | Restrição |
579
+ | `assumption` | Premissa registrada |
580
+ | `constitution` | Princípios do projeto (must/should/may) |
581
+
582
+ ## Tipos de relações
583
+
584
+ ```
585
+ contains, depends_on, requires, implements, implemented_by,
586
+ satisfied_by, affects, modifies, creates, deletes, uses,
587
+ calls, persists_to, exposes, tested_by, tests, derived_from,
588
+ contradicts, supersedes, replaces, blocked_by, belongs_to,
589
+ owned_by, triggered_by, flows_to
590
+ ```
591
+
592
+ ## Fluxo de enforcement
593
+
594
+ Toda modificação segue obrigatoriamente. **O hook bloqueia programaticamente** qualquer Write/Edit em arquivos fonte que não tenha um Change node aprovado:
595
+
596
+ ```
597
+ USUÁRIO: "Adicione X"
598
+
599
+ Write/Edit interceptado pelo hook
600
+
601
+ Hook verifica: arquivo fonte? SDD inicializado? Change aprovado cobrindo esse arquivo?
602
+
603
+ Se NÃO tem Change aprovado → ERRO: operação bloqueada
604
+
605
+ Agente é forçado a seguir o workflow SDD:
606
+
607
+ sdd.enforce → classifica a mudança
608
+
609
+ sdd.discover → coleta informações faltantes
610
+
611
+ question → menus de seleção para o usuário
612
+
613
+ sdd.update_from_answers → atualiza grafo
614
+
615
+ sdd.create_change → cria Change node
616
+
617
+ sdd.approve_change → aprova o Change
618
+
619
+ Write/Edit → operação liberada pelo hook
620
+
621
+ sdd.generate_code → gera/atualiza código
622
+
623
+ sdd.complete_change → marca como completa
624
+ ```
625
+
626
+ **O que é bloqueado:** qualquer operação de escrita em arquivos `.ts`, `.js`, `.py`, `.go`, `.rs`, `.java`, `.rb`, `.vue`, `.svelte` (fora de `node_modules`, `.sdd/`, `dist/`, `build/`).
627
+
628
+ **O que NÃO é bloqueado:** arquivos de config (`package.json`, `tsconfig.json`), `.env`, arquivos `.sdd/`, arquivos fora do projeto.
629
+
630
+ **O que acontece quando bloqueado:** o agente recebe uma mensagem de erro descrevendo exatamente o que precisa fazer (enforce → approve → retry).
631
+
632
+ ## Autenticação e Roles
633
+
634
+ ### Como funcionam as roles
635
+
636
+ O sistema de permissões funciona em 3 níveis:
637
+
638
+ **1. Remote Detection (automático)**
639
+ - Plugin detecta automaticamente o repositório remoto (GitHub/GitLab)
640
+ - Se detectar, usa a API para verificar permissões do usuário
641
+ - Se não detectar ou não tiver token → **todos têm acesso admin**
642
+
643
+ **2. Roles disponíveis**
644
+ | Role | Permissões |
645
+ |---|---|
646
+ | `admin` | Tudo: criar, aprovar, modificar constituição, rollback, gerenciar permissões |
647
+ | `architect` | Criar, aprovar features/requirements, aprovar arquitetura, decisões |
648
+ | `developer` | Criar, aprovar features/requirements |
649
+ | `viewer` | Apenas visualização |
650
+
651
+ **3. Fallback automático**
652
+ - Sem repositório remoto → todos são admin
653
+ - Sem token de autenticação → todos são admin
654
+ - Token inválido → fallback para admin
655
+ - Usuário não encontrado no remote → verifica role local
656
+
657
+ ### Configuração do token
658
+
659
+ **GitHub:**
660
+ ```bash
661
+ export GITHUB_TOKEN=ghp_seutokenaqui
662
+ ```
663
+
664
+ **GitLab:**
665
+ ```bash
666
+ export GITLAB_TOKEN=glpat-seutokenaqui
667
+ ```
668
+
669
+ O token precisa ter permissões de leitura de colaboradores:
670
+ - GitHub: `repo` scope
671
+ - GitLab: `read_api` scope
672
+
673
+ ### Verificar status
674
+
675
+ ```
676
+ sdd.remote_status
677
+ ```
678
+
679
+ Mostra se o remote está configurado e se o token está presente.
680
+
681
+ ### Exemplo de uso
682
+
683
+ ```
684
+ # Verificar permissão de um usuário
685
+ sdd.check_permission(user: "joao", permission: "approve_architecture")
686
+
687
+ # Definir role manualmente (local)
688
+ sdd.set_role(user: "maria", role: "architect")
689
+
690
+ # Verificar status do remote
691
+ sdd.remote_status
692
+ ```
693
+
694
+ ## Enterprise Workflows
695
+
696
+ O plugin detecta automaticamente cenários enterprise e sugere workflows específicos:
697
+
698
+ ### Detecção Automática
699
+
700
+ Quando você digita algo como:
701
+ - "Corrija o bug no login" → Detecta **bug fix** e sugere `sdd.bug_fix`
702
+ - "Emergência: sistema fora do ar" → Detecta **hotfix** e desabilita enforcement
703
+ - "Refatore o módulo de auth" → Detecta **refactoring** e sugere `sdd.refactoring`
704
+ - "Deprecie a rota /api/v1" → Detecta **deprecation** e sugere `sdd.deprecate`
705
+ - "Migre os dados da tabela users" → Detecta **migration** e sugere `sdd.create_migration`
706
+ - "Crie um experimento A/B" → Detecta **A/B testing** e sugere `sdd.create_experiment`
707
+ - "Adicione feature flag" → Detecta **feature flag** e sugere `sdd.create_flag`
708
+ - "Multi-tenancy ao sistema" → Detecta **multi-tenancy** e sugere `sdd.create_tenant`
709
+ - "Onboarding para novo dev" → Detecta **onboarding** e sugere `sdd.onboard_developer`
710
+ - "Faça auditoria de segurança" → Detecta **security** e sugere `sdd.security_audit`
711
+ - "Analise escalabilidade" → Detecta **scalability** e sugere `sdd.analyze_scalability`
712
+ - "Verifique compliance com GDPR" → Detecta **compliance** e sugere `sdd.check_compliance`
713
+ - "Configure monitoramento" → Detecta **monitoring** e sugere `sdd.setup_monitoring`
714
+ - "Reporte incidente" → Detecta **incident** e sugere `sdd.report_incident`
715
+ - "Crie SLA de 99.9%" → Detecta **SLA** e sugere `sdd.create_sla`
716
+ - "Estime custos" → Detecta **cost** e sugere `sdd.estimate_cost`
717
+ - "Gere documentação" → Detecta **documentation** e sugere `sdd.generate_docs`
718
+ - "Transferência de conhecimento" → Detecta **knowledge** e sugere `sdd.knowledge_transfer`
719
+ - "Plano de disaster recovery" → Detecta **disaster** e sugere `sdd.disaster_recovery_plan`
720
+
721
+ ### Tools Disponíveis
722
+
723
+ | Tool | Descrição | Approval Level |
724
+ |---|---|---|
725
+ | `sdd.bug_fix` | Workflow de bug fix completo | AUTO |
726
+ | `sdd.hotfix` | Documentar hotfix retroativo | POST_HOC |
727
+ | `sdd.refactoring` | Refactoring com verificação de dependências | REVIEW |
728
+ | `sdd.deprecate` | Deprecation com plano de migração | APPROVAL |
729
+ | `sdd.create_migration` | Migração de dados com rollback | APPROVAL |
730
+ | `sdd.create_experiment` | Experimento A/B | REVIEW |
731
+ | `sdd.create_flag` | Feature flag | AUTO |
732
+ | `sdd.create_tenant` | Multi-tenancy | APPROVAL |
733
+ | `sdd.onboard_developer` | Guia de onboarding | - |
734
+ | `sdd.security_audit` | Auditoria de segurança | - |
735
+ | `sdd.analyze_scalability` | Análise de escalabilidade | - |
736
+ | `sdd.check_compliance` | Verificação de compliance (GDPR, LGPD, HIPAA, SOC2, PCI_DSS, ISO27001) | - |
737
+ | `sdd.setup_monitoring` | Configuração de monitoramento | - |
738
+ | `sdd.generate_dashboard` | Gerar dashboard de monitoramento | - |
739
+ | `sdd.report_incident` | Reportar incidente | - |
740
+ | `sdd.create_sla` | Criar SLA | - |
741
+ | `sdd.estimate_cost` | Estimativa de custos | - |
742
+ | `sdd.generate_docs` | Gerar documentação | - |
743
+ | `sdd.knowledge_transfer` | Transferência de conhecimento | - |
744
+ | `sdd.disaster_recovery_plan` | Plano de disaster recovery | - |
745
+
746
+ ### Exemplos de Uso
747
+
748
+ ```bash
749
+ # Bug fix (aprovação automática)
750
+ sdd.bug_fix(description: "Login retorna 500", files: ["src/auth.ts"], severity: "high")
751
+
752
+ # Hotfix (emergência)
753
+ # 1. Enforcement é desabilitado automaticamente
754
+ # 2. Aplique a correção
755
+ # 3. Documente retroativamente:
756
+ sdd.hotfix(description: "Sistema fora do ar", files: ["src/server.ts"], urgency: "critical")
757
+
758
+ # Refactoring
759
+ sdd.refactoring(target: "auth", description: "Extrair validação", type: "extract", files: ["src/auth.ts"])
760
+
761
+ # Deprecation
762
+ sdd.deprecate(target: "/api/v1/users", removal_date: "2025-12-31", endpoints: ["/api/v1/users"])
763
+
764
+ # Migration
765
+ sdd.create_migration(source: "users_v1", target: "users_v2", description: "Adicionar campo email")
766
+
767
+ # A/B Testing
768
+ sdd.create_experiment(
769
+ hypothesis: "Novo botão aumenta conversão",
770
+ variants: [
771
+ { name: "control", description: "Botão azul", traffic_percentage: 50 },
772
+ { name: "variant", description: "Botão verde", traffic_percentage: 50 }
773
+ ],
774
+ metric: "conversion_rate",
775
+ duration: 14
776
+ )
777
+
778
+ # Feature Flag
779
+ sdd.create_flag(name: "new_dashboard", description: "Novo dashboard", rollout: 10)
780
+
781
+ # Multi-tenancy
782
+ sdd.create_tenant(name: "empresa_acme", type: "shared_database", isolation: "row")
783
+
784
+ # Onboarding
785
+ sdd.onboard_developer(developer_name: "João")
786
+
787
+ # Security Audit
788
+ sdd.security_audit()
789
+
790
+ # Scalability Analysis
791
+ sdd.analyze_scalability()
792
+
793
+ # Compliance
794
+ sdd.check_compliance(standard: "GDPR")
795
+ sdd.check_compliance(standard: "LGPD")
796
+
797
+ # Monitoring
798
+ sdd.setup_monitoring()
799
+
800
+ # Incident Management
801
+ sdd.report_incident(title: "Sistema fora do ar", severity: "SEV1", impact: "Todos os usuários afetados")
802
+
803
+ # SLA
804
+ sdd.create_sla(name: "Uptime", metric: "availability", target: 99.9, period: "monthly")
805
+
806
+ # Cost Estimation
807
+ sdd.estimate_cost()
808
+
809
+ # Documentation
810
+ sdd.generate_docs(type: "api")
811
+
812
+ # Knowledge Transfer
813
+ sdd.knowledge_transfer()
814
+
815
+ # Disaster Recovery
816
+ sdd.disaster_recovery_plan()
817
+
818
+ # Dashboard Generation
819
+ sdd.generate_dashboard(type: "overview")
820
+ ```
821
+
822
+ ## Estrutura do projeto
823
+
824
+ ```
825
+ src/
826
+ ├ index.ts # Entry point do plugin
827
+ ├ sdd/
828
+ │ ├── domain/types.ts # 38 tipos de nós + relações + grafos
829
+ │ ├── graph/engine.ts # CRUD do Knowledge Graph
830
+ │ ├── graph/traverse.ts # BFS, impact analysis, pathfinding
831
+ │ ├── persistence/yaml.ts # Repositórios YAML + snapshots
832
+ │ ├── discovery/briefing.ts # Análise de briefing + detecção de tech stack + perguntas
833
+ │ ├── changes/manager.ts # Change management + approval gates
834
+ │ ├── validation/validator.ts # Validação estrutural/semântica
835
+ │ ├── drift/detector.ts # Detecção de drift
836
+ │ ├── drift/signals.ts # Sinais avançados de drift
837
+ │ ├── enforcement/interceptor.ts # Força workflow SDD-first
838
+ │ ├── codegen/generator.ts # Templates built-in + spec prompt para AI
839
+ │ ├── toggle/state.ts # Liga/desliga enforcement SDD
840
+ │ ├── constitution/validator.ts # Validação de princípios
841
+ │ ├── promises/tracker.ts # Rastreamento de promessas
842
+ │ ├── quality/scorer.ts # Score de qualidade com tendência
843
+ │ ├── session/handoff.ts # Handoff de sessão
844
+ │ ├── patterns/anti-patterns.ts # Detecção de anti-padrões
845
+ │ ├── patterns/ast-clones.ts # Detecção de clones AST
846
+ │ ├── patterns/contradictions.ts # Detecção de contradições
847
+ │ ├── patterns/config-drift.ts # Detecção de drift em configs
848
+ │ ├── coverage/tracker.ts # Cobertura de testes
849
+ │ ├── workflow/exporter.ts # Exportação de workflow
850
+ │ ├── brownfield/scanner.ts # Análise de projetos existentes
851
+ │ ├── cicd/generators.ts # Geração CI/CD (GitHub, GitLab, Jenkins, Docker)
852
+ │ ├── sync/git-sync.ts # Sincronização Git + conflitos
853
+ │ ├── rollback/manager.ts # Rollback 3 camadas (git → snapshot → backup)
854
+ │ ├── permissions/access.ts # Controle de acesso + auditoria
855
+ │ ├── workflows/
856
+ │ │ ├── bug-fix.ts # Workflow de bug fix
857
+ │ │ ├── hotfix.ts # Workflow de hotfix
858
+ │ │ ├── refactoring.ts # Workflow de refactoring
859
+ │ │ ├── deprecation.ts # Workflow de deprecation
860
+ │ │ ├── data-migration.ts # Workflow de migração de dados
861
+ │ │ ├── ab-testing.ts # Workflow de A/B testing
862
+ │ │ ├── feature-flags.ts # Workflow de feature flags
863
+ │ │ ├── multi-tenancy.ts # Workflow de multi-tenancy
864
+ │ │ └── onboarding.ts # Workflow de onboarding
865
+ │ ├── analysis/
866
+ │ │ ├── security.ts # Auditoria de segurança
867
+ │ │ ├── scalability.ts # Análise de escalabilidade
868
+ │ │ └── compliance.ts # Validação regulatory
869
+ │ ├── monitoring/
870
+ │ │ └── setup.ts # Configuração de monitoramento
871
+ │ ├── incidents/
872
+ │ │ └── manager.ts # Gestão de incidentes
873
+ │ ├── sla/
874
+ │ │ └── tracker.ts # Rastreamento de SLA
875
+ │ ├── cost/
876
+ │ │ └── estimator.ts # Estimativa de custos
877
+ │ ├── documentation/
878
+ │ │ └── generator.ts # Geração de documentação
879
+ │ ├── knowledge/
880
+ │ │ └── transfer.ts # Transferência de conhecimento
881
+ │ ├── disaster/
882
+ │ │ └── recovery.ts # Plano de disaster recovery
883
+ │ └── transactions/manager.ts # Transações lógicas
884
+ ├ opencode/
885
+ │ ├── tools.ts # 95 ferramentas para o agente
886
+ │ ├── hooks.ts # Hooks do OpenCode
887
+ │ ├── system-prompt.ts # Instruções SDD + integração question tool
888
+ │ └── shell-hooks.ts # Hooks Git para SDD
889
+ ├ mcp/
890
+ │ └── server.ts # Servidor MCP
891
+ ├ code-intelligence/
892
+ │ └── analyzer.ts # Análise de código (AST básico)
893
+ └ server/
894
+ └── server.ts # Dashboard web (API + UI)
895
+ ```
896
+
897
+ ## Estrutura `.sdd/`
898
+
899
+ Quando inicializado, o plugin cria:
900
+
901
+ ```
902
+ .sdd/
903
+ ├ graph.yaml # O Knowledge Graph completo
904
+ ├ enabled # Estado do toggle (JSON: {enabled, changed_at})
905
+ ├ nodes/ # Nós individuais (futuro)
906
+ ├ relationships/ # Relações (futuro)
907
+ ├ changes/ # Histórico de mudanças
908
+ ├ snapshots/ # Snapshots do estado
909
+ └ transactions/ # Transações lógicas
910
+ ```
911
+
912
+ ## Desenvolvimento
913
+
914
+ ```bash
915
+ # Instalar dependências
916
+ bun install
917
+
918
+ # Verificar tipos
919
+ bun run typecheck
920
+
921
+ # Rodar testes
922
+ bun test
923
+ ```
924
+
925
+ ## Licença
926
+
927
+ MIT