@onion-ai/cli 1.0.0-beta.1

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 (220) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +529 -0
  3. package/bin/onion.js +6 -0
  4. package/framework/CLAUDE.md +45 -0
  5. package/framework/VERSION +1 -0
  6. package/framework/agents/compliance/iso-22301-specialist.md +985 -0
  7. package/framework/agents/compliance/iso-27001-specialist.md +713 -0
  8. package/framework/agents/compliance/pmbok-specialist.md +739 -0
  9. package/framework/agents/compliance/security-information-master.md +907 -0
  10. package/framework/agents/compliance/soc2-specialist.md +889 -0
  11. package/framework/agents/deployment/docker-specialist.md +1192 -0
  12. package/framework/agents/development/c4-architecture-specialist.md +745 -0
  13. package/framework/agents/development/c4-documentation-specialist.md +695 -0
  14. package/framework/agents/development/clickup-specialist.md +396 -0
  15. package/framework/agents/development/cursor-specialist.md +277 -0
  16. package/framework/agents/development/docs-reverse-engineer.md +417 -0
  17. package/framework/agents/development/gamma-api-specialist.md +1168 -0
  18. package/framework/agents/development/gitflow-specialist.md +1206 -0
  19. package/framework/agents/development/linux-security-specialist.md +675 -0
  20. package/framework/agents/development/mermaid-specialist.md +515 -0
  21. package/framework/agents/development/nodejs-specialist.md +672 -0
  22. package/framework/agents/development/nx-migration-specialist.md +866 -0
  23. package/framework/agents/development/nx-monorepo-specialist.md +618 -0
  24. package/framework/agents/development/postgres-specialist.md +1123 -0
  25. package/framework/agents/development/react-developer.md +131 -0
  26. package/framework/agents/development/runflow-specialist.md +277 -0
  27. package/framework/agents/development/system-documentation-orchestrator.md +1387 -0
  28. package/framework/agents/development/task-specialist.md +677 -0
  29. package/framework/agents/git/branch-code-reviewer.md +225 -0
  30. package/framework/agents/git/branch-documentation-writer.md +161 -0
  31. package/framework/agents/git/branch-metaspec-checker.md +67 -0
  32. package/framework/agents/git/branch-test-planner.md +176 -0
  33. package/framework/agents/meta/agent-creator-specialist.md +1266 -0
  34. package/framework/agents/meta/command-creator-specialist.md +1676 -0
  35. package/framework/agents/meta/metaspec-gate-keeper.md +240 -0
  36. package/framework/agents/meta/onion.md +824 -0
  37. package/framework/agents/product/branding-positioning-specialist.md +1029 -0
  38. package/framework/agents/product/extract-meeting-specialist.md +394 -0
  39. package/framework/agents/product/meeting-consolidator.md +482 -0
  40. package/framework/agents/product/pain-price-specialist.md +508 -0
  41. package/framework/agents/product/presentation-orchestrator.md +1190 -0
  42. package/framework/agents/product/product-agent.md +201 -0
  43. package/framework/agents/product/story-points-framework-specialist.md +538 -0
  44. package/framework/agents/product/storytelling-business-specialist.md +890 -0
  45. package/framework/agents/research/research-agent.md +292 -0
  46. package/framework/agents/review/code-reviewer.md +154 -0
  47. package/framework/agents/review/corporate-compliance-specialist.md +370 -0
  48. package/framework/agents/testing/test-agent.md +424 -0
  49. package/framework/agents/testing/test-engineer.md +294 -0
  50. package/framework/agents/testing/test-planner.md +117 -0
  51. package/framework/commands/common/prompts/README.md +208 -0
  52. package/framework/commands/common/prompts/clickup-patterns.md +144 -0
  53. package/framework/commands/common/prompts/code-review-checklist.md +168 -0
  54. package/framework/commands/common/prompts/git-workflow-patterns.md +235 -0
  55. package/framework/commands/common/prompts/output-formats.md +240 -0
  56. package/framework/commands/common/prompts/technical.md +194 -0
  57. package/framework/commands/common/templates/abstraction-template.md +399 -0
  58. package/framework/commands/common/templates/agent-template.md +353 -0
  59. package/framework/commands/common/templates/business_context_template.md +748 -0
  60. package/framework/commands/common/templates/command-template.md +273 -0
  61. package/framework/commands/common/templates/technical_context_template.md +526 -0
  62. package/framework/commands/design/screen-spec.md +505 -0
  63. package/framework/commands/development/runflow-dev.md +465 -0
  64. package/framework/commands/docs/build-business-docs.md +299 -0
  65. package/framework/commands/docs/build-compliance-docs.md +143 -0
  66. package/framework/commands/docs/build-index.md +119 -0
  67. package/framework/commands/docs/build-tech-docs.md +221 -0
  68. package/framework/commands/docs/docs-health.md +141 -0
  69. package/framework/commands/docs/help.md +278 -0
  70. package/framework/commands/docs/refine-vision.md +25 -0
  71. package/framework/commands/docs/reverse-consolidate.md +158 -0
  72. package/framework/commands/docs/sync-sessions.md +354 -0
  73. package/framework/commands/docs/validate-docs.md +157 -0
  74. package/framework/commands/engineer/bump.md +29 -0
  75. package/framework/commands/engineer/docs.md +11 -0
  76. package/framework/commands/engineer/hotfix.md +183 -0
  77. package/framework/commands/engineer/plan.md +85 -0
  78. package/framework/commands/engineer/pr-update.md +219 -0
  79. package/framework/commands/engineer/pr.md +117 -0
  80. package/framework/commands/engineer/pre-pr.md +81 -0
  81. package/framework/commands/engineer/start.md +254 -0
  82. package/framework/commands/engineer/validate-phase-sync.md +134 -0
  83. package/framework/commands/engineer/warm-up.md +20 -0
  84. package/framework/commands/engineer/work.md +155 -0
  85. package/framework/commands/f/company-context-extractor.md +93 -0
  86. package/framework/commands/f/process-meetings.md +103 -0
  87. package/framework/commands/git/README.md +682 -0
  88. package/framework/commands/git/code-review.md +213 -0
  89. package/framework/commands/git/fast-commit.md +43 -0
  90. package/framework/commands/git/feature/finish.md +88 -0
  91. package/framework/commands/git/feature/publish.md +89 -0
  92. package/framework/commands/git/feature/start.md +172 -0
  93. package/framework/commands/git/help.md +100 -0
  94. package/framework/commands/git/hotfix/finish.md +96 -0
  95. package/framework/commands/git/hotfix/start.md +92 -0
  96. package/framework/commands/git/init.md +111 -0
  97. package/framework/commands/git/release/finish.md +96 -0
  98. package/framework/commands/git/release/start.md +93 -0
  99. package/framework/commands/git/sync.md +199 -0
  100. package/framework/commands/meta/all-tools.md +58 -0
  101. package/framework/commands/meta/analyze-complex-problem.md +186 -0
  102. package/framework/commands/meta/create-abstraction.md +882 -0
  103. package/framework/commands/meta/create-agent-express.md +98 -0
  104. package/framework/commands/meta/create-agent.md +210 -0
  105. package/framework/commands/meta/create-command.md +203 -0
  106. package/framework/commands/meta/create-knowledge-base.md +143 -0
  107. package/framework/commands/meta/create-task-structure.md +150 -0
  108. package/framework/commands/meta/setup-integration.md +274 -0
  109. package/framework/commands/onion.md +169 -0
  110. package/framework/commands/product/README.md +249 -0
  111. package/framework/commands/product/analyze-pain-price.md +694 -0
  112. package/framework/commands/product/branding.md +458 -0
  113. package/framework/commands/product/check.md +46 -0
  114. package/framework/commands/product/checklist-sync.md +239 -0
  115. package/framework/commands/product/collect.md +95 -0
  116. package/framework/commands/product/consolidate-meetings.md +291 -0
  117. package/framework/commands/product/estimate.md +511 -0
  118. package/framework/commands/product/extract-meeting.md +226 -0
  119. package/framework/commands/product/feature.md +416 -0
  120. package/framework/commands/product/light-arch.md +82 -0
  121. package/framework/commands/product/presentation.md +174 -0
  122. package/framework/commands/product/refine.md +161 -0
  123. package/framework/commands/product/spec.md +79 -0
  124. package/framework/commands/product/task-check.md +378 -0
  125. package/framework/commands/product/task.md +603 -0
  126. package/framework/commands/product/validate-task.md +325 -0
  127. package/framework/commands/product/warm-up.md +24 -0
  128. package/framework/commands/quick/analisys.md +17 -0
  129. package/framework/commands/test/e2e.md +377 -0
  130. package/framework/commands/test/integration.md +508 -0
  131. package/framework/commands/test/unit.md +381 -0
  132. package/framework/commands/validate/collab/pair-testing.md +657 -0
  133. package/framework/commands/validate/collab/three-amigos.md +534 -0
  134. package/framework/commands/validate/qa-points/estimate.md +660 -0
  135. package/framework/commands/validate/test-strategy/analyze.md +1201 -0
  136. package/framework/commands/validate/test-strategy/create.md +411 -0
  137. package/framework/commands/validate/workflow.md +370 -0
  138. package/framework/commands/warm-up.md +20 -0
  139. package/framework/docs/architecture/acoplamento-clickup-problema-analise.md +468 -0
  140. package/framework/docs/architecture/desacoplamento-roadmap.md +364 -0
  141. package/framework/docs/architecture/validacao-fase-1.md +235 -0
  142. package/framework/docs/c4/c4-detection-rules.md +395 -0
  143. package/framework/docs/c4/c4-documentation-templates.md +579 -0
  144. package/framework/docs/c4/c4-mermaid-patterns.md +331 -0
  145. package/framework/docs/c4/c4-templates.md +256 -0
  146. package/framework/docs/clickup/clickup-acceptance-criteria-strategy.md +329 -0
  147. package/framework/docs/clickup/clickup-auto-update-strategy.md +340 -0
  148. package/framework/docs/clickup/clickup-comment-formatter.md +239 -0
  149. package/framework/docs/clickup/clickup-description-fix.md +384 -0
  150. package/framework/docs/clickup/clickup-dual-comment-strategy.md +528 -0
  151. package/framework/docs/clickup/clickup-formatting.md +302 -0
  152. package/framework/docs/clickup/separador-tamanho-otimizado.md +258 -0
  153. package/framework/docs/engineer/pre-pr-acceptance-validation.md +256 -0
  154. package/framework/docs/onion/ESPERANTO.md +293 -0
  155. package/framework/docs/onion/agents-reference.md +832 -0
  156. package/framework/docs/onion/clickup-integration.md +780 -0
  157. package/framework/docs/onion/commands-guide.md +924 -0
  158. package/framework/docs/onion/engineering-flows.md +900 -0
  159. package/framework/docs/onion/getting-started.md +803 -0
  160. package/framework/docs/onion/maintenance-checklist.md +421 -0
  161. package/framework/docs/onion/naming-conventions.md +286 -0
  162. package/framework/docs/onion/practical-examples.md +854 -0
  163. package/framework/docs/product/story-points-integration.md +269 -0
  164. package/framework/docs/product/story-points-validation.md +237 -0
  165. package/framework/docs/reviews/task-manager-docs-review-2025-11-24.md +184 -0
  166. package/framework/docs/strategies/clickup-comment-patterns.md +766 -0
  167. package/framework/docs/strategies/clickup-integration-tests.md +602 -0
  168. package/framework/docs/strategies/clickup-mcp-wrappers-tests.md +888 -0
  169. package/framework/docs/strategies/clickup-regression-tests.md +587 -0
  170. package/framework/docs/strategies/visual-patterns.md +315 -0
  171. package/framework/docs/templates/README.md +649 -0
  172. package/framework/docs/templates/adr-template.md +226 -0
  173. package/framework/docs/templates/analysis-template.md +280 -0
  174. package/framework/docs/templates/execution-plan-template.md +430 -0
  175. package/framework/docs/templates/guide-template.md +367 -0
  176. package/framework/docs/templates/phase-execution-prompt-template.md +504 -0
  177. package/framework/docs/templates/reference-template.md +522 -0
  178. package/framework/docs/templates/solution-template.md +390 -0
  179. package/framework/docs/tools/README.md +356 -0
  180. package/framework/docs/tools/agents.md +365 -0
  181. package/framework/docs/tools/commands.md +669 -0
  182. package/framework/docs/tools/cursor.md +539 -0
  183. package/framework/docs/tools/mcps.md +937 -0
  184. package/framework/docs/tools/rules.md +461 -0
  185. package/framework/rules/language-and-documentation.mdc +371 -0
  186. package/framework/rules/nestjs-controllers.md +83 -0
  187. package/framework/rules/nestjs-dtos.md +255 -0
  188. package/framework/rules/nestjs-modules.md +141 -0
  189. package/framework/rules/nestjs-services.md +230 -0
  190. package/framework/rules/nx-rules.mdc +41 -0
  191. package/framework/rules/onion-patterns.mdc +197 -0
  192. package/framework/skills/codebase-visualizer/SKILL.md +26 -0
  193. package/framework/skills/codebase-visualizer/scripts/visualize.py +131 -0
  194. package/framework/skills/collect/SKILL.md +84 -0
  195. package/framework/skills/create-rule/SKILL.md +152 -0
  196. package/framework/skills/db-schema-visualizer/SKILL.md +49 -0
  197. package/framework/skills/db-schema-visualizer/scripts/visualize.py +1191 -0
  198. package/framework/skills/sync-meetings/SKILL.md +239 -0
  199. package/framework/utils/clickup-mcp-wrappers.md +744 -0
  200. package/framework/utils/date-time-standards.md +200 -0
  201. package/framework/utils/task-manager/README.md +94 -0
  202. package/framework/utils/task-manager/adapters/asana.md +377 -0
  203. package/framework/utils/task-manager/adapters/clickup.md +467 -0
  204. package/framework/utils/task-manager/adapters/linear.md +421 -0
  205. package/framework/utils/task-manager/detector.md +299 -0
  206. package/framework/utils/task-manager/factory.md +363 -0
  207. package/framework/utils/task-manager/interface.md +248 -0
  208. package/framework/utils/task-manager/types.md +409 -0
  209. package/package.json +41 -0
  210. package/src/cli.js +73 -0
  211. package/src/commands/doctor.js +191 -0
  212. package/src/commands/init.js +287 -0
  213. package/src/commands/install.js +261 -0
  214. package/src/commands/list.js +152 -0
  215. package/src/commands/uninstall.js +90 -0
  216. package/src/commands/update.js +26 -0
  217. package/src/utils/fs.js +89 -0
  218. package/src/utils/log.js +35 -0
  219. package/src/utils/paths.js +32 -0
  220. package/src/utils/prompt.js +76 -0
@@ -0,0 +1,399 @@
1
+ # 🏗️ Template: Abstraction Layer (SDAAL)
2
+
3
+ Este template define a estrutura padrão para camadas de abstração seguindo o padrão **Specification-Driven AI Abstraction Layer**.
4
+
5
+ ---
6
+
7
+ ## 📁 Estrutura de Arquivos
8
+
9
+ ```
10
+ .claude/utils/{{abstraction_name}}/
11
+ ├── README.md # Visão geral + uso rápido
12
+ ├── interface.md # Contrato principal
13
+ ├── types.md # Tipos de entrada/saída
14
+ ├── factory.md # Criação de instâncias
15
+ ├── detector.md # Detecção de provedor
16
+ └── adapters/
17
+ ├── {{provider}}.md # Um por provedor
18
+ └── none.md # Fallback obrigatório
19
+ ```
20
+
21
+ ---
22
+
23
+ ## 📝 README.md Template
24
+
25
+ ```markdown
26
+ # 🔌 {{InterfaceName}} - Abstraction Layer
27
+
28
+ ## 🎯 Propósito
29
+
30
+ [Descrição do que a abstração faz]
31
+
32
+ ## 📁 Estrutura
33
+
34
+ \`\`\`
35
+ {{abstraction_name}}/
36
+ ├── README.md
37
+ ├── interface.md
38
+ ├── types.md
39
+ ├── detector.md
40
+ ├── factory.md
41
+ └── adapters/
42
+ ├── [providers].md
43
+ └── none.md
44
+ \`\`\`
45
+
46
+ ## ⚡ Uso Rápido
47
+
48
+ ### 1. Configurar Provedor
49
+
50
+ \`\`\`bash
51
+ {{ENV_PREFIX}}\_PROVIDER=[provider]
52
+ \`\`\`
53
+
54
+ ### 2. Usar nos Comandos
55
+
56
+ \`\`\`typescript
57
+ const manager = get{{ManagerName}}();
58
+ await manager.operation({ ... });
59
+ \`\`\`
60
+
61
+ ## 🔧 Provedores Suportados
62
+
63
+ | Provedor | Status | Notas |
64
+ | ---------- | ------ | ------------ |
65
+ | [provider] | ✅/📝 | [notas] |
66
+ | None | ✅ | Modo offline |
67
+
68
+ ---
69
+
70
+ **Versão**: 1.0.0
71
+ **Criado em**: YYYY-MM-DD
72
+ ```
73
+
74
+ ---
75
+
76
+ ## 📝 interface.md Template
77
+
78
+ ```markdown
79
+ # 📐 Interface {{InterfaceName}}
80
+
81
+ ## 🎯 Propósito
82
+
83
+ [O que esta interface define]
84
+
85
+ ---
86
+
87
+ ## 📋 Interface Completa
88
+
89
+ \`\`\`typescript
90
+ interface {{InterfaceName}} {
91
+ // ═══════════════════════════════════════════════════
92
+ // IDENTIFICAÇÃO
93
+ // ═══════════════════════════════════════════════════
94
+
95
+ readonly provider: {{ManagerName}}Provider;
96
+ readonly isConfigured: boolean;
97
+
98
+ // ═══════════════════════════════════════════════════
99
+ // OPERAÇÕES PRINCIPAIS
100
+ // ═══════════════════════════════════════════════════
101
+
102
+ operation(input: OperationInput): Promise<OperationOutput>;
103
+
104
+ // ═══════════════════════════════════════════════════
105
+ // VALIDAÇÃO
106
+ // ═══════════════════════════════════════════════════
107
+
108
+ validateConfiguration(): boolean;
109
+ }
110
+ \`\`\`
111
+
112
+ ---
113
+
114
+ ## 📊 Métodos por Categoria
115
+
116
+ | Categoria | Métodos | Descrição |
117
+ | ------------- | ---------------------- | --------------- |
118
+ | Identificação | provider, isConfigured | Info do adapter |
119
+ | Principais | [lista] | Operações core |
120
+ | Validação | validateConfiguration | Verificação |
121
+
122
+ ---
123
+
124
+ **Versão**: 1.0.0
125
+ ```
126
+
127
+ ---
128
+
129
+ ## 📝 types.md Template
130
+
131
+ ```markdown
132
+ # 📦 Tipos Compartilhados
133
+
134
+ ## 🔧 Enums e Constantes
135
+
136
+ \`\`\`typescript
137
+ type {{ManagerName}}Provider = '[providers]' | 'none';
138
+ \`\`\`
139
+
140
+ ---
141
+
142
+ ## 📥 Tipos de Entrada
143
+
144
+ \`\`\`typescript
145
+ interface OperationInput {
146
+ field: Type;
147
+ }
148
+ \`\`\`
149
+
150
+ ---
151
+
152
+ ## 📤 Tipos de Saída
153
+
154
+ \`\`\`typescript
155
+ interface OperationOutput {
156
+ id: string;
157
+ provider: {{ManagerName}}Provider;
158
+ createdAt: string;
159
+ }
160
+ \`\`\`
161
+
162
+ ---
163
+
164
+ ## ⚙️ Configuração
165
+
166
+ \`\`\`typescript
167
+ interface ProviderConfig {
168
+ provider: {{ManagerName}}Provider;
169
+ isConfigured: boolean;
170
+ requiredEnvVars: string[];
171
+ optionalEnvVars: string[];
172
+ errorMessage?: string;
173
+ }
174
+ \`\`\`
175
+
176
+ ---
177
+
178
+ **Versão**: 1.0.0
179
+ ```
180
+
181
+ ---
182
+
183
+ ## 📝 detector.md Template
184
+
185
+ ```markdown
186
+ # 🔍 Detector de Provedor
187
+
188
+ ## 📋 detectProvider()
189
+
190
+ \`\`\`typescript
191
+ function detectProvider(): ProviderConfig {
192
+ const provider = process.env.{{ENV_PREFIX}}\_PROVIDER || 'none';
193
+
194
+ const configs = {
195
+ '[provider]': {
196
+ provider: '[provider]',
197
+ isConfigured: !!process.env.{{ENV_PREFIX}}_[PROVIDER]\_TOKEN,
198
+ requiredEnvVars: ['{{ENV_PREFIX}}_[PROVIDER]_TOKEN'],
199
+ optionalEnvVars: ['{{ENV_PREFIX}}_[PROVIDER]\_WORKSPACE'],
200
+ },
201
+ 'none': {
202
+ provider: 'none',
203
+ isConfigured: true,
204
+ requiredEnvVars: [],
205
+ optionalEnvVars: [],
206
+ }
207
+ };
208
+
209
+ return configs[provider] || configs.none;
210
+ }
211
+ \`\`\`
212
+
213
+ ---
214
+
215
+ ## 📊 Variáveis de Ambiente
216
+
217
+ | Provedor | Obrigatória | Opcionais |
218
+ | ---------- | ----------- | --------- |
219
+ | [provider] | TOKEN | WORKSPACE |
220
+
221
+ ---
222
+
223
+ **Versão**: 1.0.0
224
+ ```
225
+
226
+ ---
227
+
228
+ ## 📝 factory.md Template
229
+
230
+ ```markdown
231
+ # 🏭 Factory
232
+
233
+ ## 📋 get{{ManagerName}}()
234
+
235
+ \`\`\`typescript
236
+ function get{{ManagerName}}(options?: FactoryOptions): {{InterfaceName}} {
237
+ const config = detectProvider();
238
+
239
+ if (!config.isConfigured && options?.throwOnMisconfigured) {
240
+ throw new Error(config.errorMessage);
241
+ }
242
+
243
+ switch (config.provider) {
244
+ case '[provider]':
245
+ return new [Provider]Adapter({ ... });
246
+ default:
247
+ return new NoProviderAdapter();
248
+ }
249
+ }
250
+ \`\`\`
251
+
252
+ ---
253
+
254
+ ## ⚙️ FactoryOptions
255
+
256
+ \`\`\`typescript
257
+ interface FactoryOptions {
258
+ debug?: boolean;
259
+ throwOnMisconfigured?: boolean;
260
+ forceProvider?: {{ManagerName}}Provider;
261
+ }
262
+ \`\`\`
263
+
264
+ ---
265
+
266
+ ## 📊 NoProviderAdapter
267
+
268
+ \`\`\`typescript
269
+ class NoProviderAdapter implements {{InterfaceName}} {
270
+ readonly provider = 'none';
271
+ readonly isConfigured = false;
272
+
273
+ // Implementar com warnings + fallbacks
274
+ }
275
+ \`\`\`
276
+
277
+ ---
278
+
279
+ **Versão**: 1.0.0
280
+ ```
281
+
282
+ ---
283
+
284
+ ## 📝 adapters/[provider].md Template
285
+
286
+ ```markdown
287
+ # 🔵 [Provider] Adapter
288
+
289
+ ## 📋 Configuração
290
+
291
+ \`\`\`bash
292
+ {{ENV_PREFIX}}_[PROVIDER]\_TOKEN=xxx
293
+ {{ENV_PREFIX}}_[PROVIDER]\_WORKSPACE=xxx
294
+ \`\`\`
295
+
296
+ ---
297
+
298
+ ## 🔧 Implementação
299
+
300
+ \`\`\`typescript
301
+ class [Provider]Adapter implements {{InterfaceName}} {
302
+ readonly provider = '[provider]';
303
+ readonly isConfigured: boolean;
304
+
305
+ constructor(config) {
306
+ this.isConfigured = !!config.token;
307
+ }
308
+
309
+ async operation(input): Promise<Output> {
310
+ // Chamar API/MCP específico
311
+ // Normalizar resposta
312
+ }
313
+ }
314
+ \`\`\`
315
+
316
+ ---
317
+
318
+ ## 📊 Mapeamento
319
+
320
+ | Interface | [Provider] API | Notas |
321
+ | --------- | -------------- | ------------ |
322
+ | field | api_field | [mapeamento] |
323
+
324
+ ---
325
+
326
+ **Versão**: 1.0.0
327
+ ```
328
+
329
+ ---
330
+
331
+ ## 📝 adapters/none.md Template
332
+
333
+ ```markdown
334
+ # ⚪ NoProvider Adapter
335
+
336
+ ## 🎯 Propósito
337
+
338
+ Fallback para modo offline.
339
+
340
+ ---
341
+
342
+ ## 🔧 Implementação
343
+
344
+ \`\`\`typescript
345
+ class NoProviderAdapter implements {{InterfaceName}} {
346
+ readonly provider = 'none';
347
+ readonly isConfigured = false;
348
+
349
+ async operation(input) {
350
+ console.warn('⚠️ Modo offline');
351
+ return {
352
+ id: \`local-\${Date.now()}\`,
353
+ provider: 'none',
354
+ ...input
355
+ };
356
+ }
357
+ }
358
+ \`\`\`
359
+
360
+ ---
361
+
362
+ ## 📊 Comportamento
363
+
364
+ | Operação | Offline |
365
+ | -------- | ------------------ |
366
+ | Leitura | [] ou null |
367
+ | Escrita | Warning + ID local |
368
+ | Update | Warning + throw |
369
+ | Delete | Warning + false |
370
+
371
+ ---
372
+
373
+ **Versão**: 1.0.0
374
+ ```
375
+
376
+ ---
377
+
378
+ ## 🔄 Variáveis de Substituição
379
+
380
+ | Variável | Exemplo | Descrição |
381
+ | ---------------------- | ---------------------- | ---------------------------- |
382
+ | `{{abstraction_name}}` | `notification-manager` | Nome em kebab-case |
383
+ | `{{InterfaceName}}` | `INotificationManager` | Interface (I + PascalCase) |
384
+ | `{{ManagerName}}` | `NotificationManager` | Sem I (PascalCase) |
385
+ | `{{ENV_PREFIX}}` | `NOTIFICATION_MANAGER` | Prefixo de env (UPPER_SNAKE) |
386
+ | `{{providers}}` | `slack,discord` | Lista de provedores |
387
+
388
+ ---
389
+
390
+ ## 📚 Referências
391
+
392
+ - [SDAAL Pattern](../../../docs/knowbase/concepts/specification-driven-ai-abstraction-layer.md)
393
+ - [Task Manager (Exemplo)](../../../.claude/utils/task-manager/)
394
+ - [Comando create-abstraction](../meta/create-abstraction.md)
395
+
396
+ ---
397
+
398
+ **Versão**: 1.0.0
399
+ **Criado em**: 2025-11-25