@deimoscloud/coreai 0.1.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 (216) hide show
  1. package/.prettierrc +9 -0
  2. package/AGENT_SPEC.md +347 -0
  3. package/ARCHITECTURE.md +547 -0
  4. package/DRAFT_PRD.md +1440 -0
  5. package/IMPLEMENTATION_PLAN.md +256 -0
  6. package/PRODUCT.md +473 -0
  7. package/README.md +303 -0
  8. package/WORKFLOWS.md +295 -0
  9. package/agents/_templates/ic-engineer.md +185 -0
  10. package/agents/_templates/reviewer.md +182 -0
  11. package/agents/backend-engineer.yaml +72 -0
  12. package/agents/devops-engineer.yaml +72 -0
  13. package/agents/engineering-manager.yaml +70 -0
  14. package/agents/examples/android-engineer.md +302 -0
  15. package/agents/examples/backend-engineer.md +320 -0
  16. package/agents/examples/devops-engineer.md +742 -0
  17. package/agents/examples/engineering-manager.md +469 -0
  18. package/agents/examples/frontend-engineer.md +58 -0
  19. package/agents/examples/product-manager.md +315 -0
  20. package/agents/examples/qa-engineer.md +371 -0
  21. package/agents/examples/security-engineer.md +525 -0
  22. package/agents/examples/solutions-architect.md +351 -0
  23. package/agents/examples/wearos-engineer.md +359 -0
  24. package/agents/frontend-engineer.yaml +72 -0
  25. package/commands/core/check-inbox.md +34 -0
  26. package/commands/core/delegate.md +30 -0
  27. package/commands/core/git-commit.md +144 -0
  28. package/commands/core/pr-create.md +193 -0
  29. package/commands/core/review.md +56 -0
  30. package/commands/core/sprint-status.md +65 -0
  31. package/commands/optional/docs-update.md +200 -0
  32. package/commands/optional/jira-create.md +200 -0
  33. package/commands/optional/jira-transition.md +184 -0
  34. package/commands/optional/worktree-cleanup.md +167 -0
  35. package/commands/optional/worktree-setup.md +110 -0
  36. package/dist/cli/index.js +4037 -0
  37. package/dist/cli/index.js.map +1 -0
  38. package/dist/index.d.ts +2978 -0
  39. package/dist/index.js +3867 -0
  40. package/dist/index.js.map +1 -0
  41. package/eslint.config.js +29 -0
  42. package/jest.config.js +22 -0
  43. package/knowledge-library/README.md +118 -0
  44. package/knowledge-library/android-engineer/context/current.txt +42 -0
  45. package/knowledge-library/android-engineer/control/decisions.txt +9 -0
  46. package/knowledge-library/android-engineer/control/dependencies.txt +19 -0
  47. package/knowledge-library/android-engineer/control/objectives.txt +26 -0
  48. package/knowledge-library/android-engineer/history/.gitkeep +0 -0
  49. package/knowledge-library/android-engineer/inbox/processed/.gitkeep +0 -0
  50. package/knowledge-library/android-engineer/outbox/.gitkeep +0 -0
  51. package/knowledge-library/android-engineer/tech/.gitkeep +0 -0
  52. package/knowledge-library/architecture.txt +61 -0
  53. package/knowledge-library/backend-engineer/context/current.txt +42 -0
  54. package/knowledge-library/backend-engineer/control/decisions.txt +9 -0
  55. package/knowledge-library/backend-engineer/control/dependencies.txt +19 -0
  56. package/knowledge-library/backend-engineer/control/objectives.txt +26 -0
  57. package/knowledge-library/backend-engineer/history/.gitkeep +0 -0
  58. package/knowledge-library/backend-engineer/inbox/processed/.gitkeep +0 -0
  59. package/knowledge-library/backend-engineer/outbox/.gitkeep +0 -0
  60. package/knowledge-library/backend-engineer/tech/.gitkeep +0 -0
  61. package/knowledge-library/context.txt +52 -0
  62. package/knowledge-library/devops-engineer/context/current.txt +42 -0
  63. package/knowledge-library/devops-engineer/control/decisions.txt +9 -0
  64. package/knowledge-library/devops-engineer/control/dependencies.txt +19 -0
  65. package/knowledge-library/devops-engineer/control/objectives.txt +26 -0
  66. package/knowledge-library/devops-engineer/history/.gitkeep +0 -0
  67. package/knowledge-library/devops-engineer/inbox/processed/.gitkeep +0 -0
  68. package/knowledge-library/devops-engineer/outbox/.gitkeep +0 -0
  69. package/knowledge-library/devops-engineer/tech/.gitkeep +0 -0
  70. package/knowledge-library/engineering-manager/context/current.txt +40 -0
  71. package/knowledge-library/engineering-manager/control/decisions.txt +9 -0
  72. package/knowledge-library/engineering-manager/control/objectives.txt +27 -0
  73. package/knowledge-library/engineering-manager/history/.gitkeep +0 -0
  74. package/knowledge-library/engineering-manager/inbox/processed/.gitkeep +0 -0
  75. package/knowledge-library/engineering-manager/outbox/.gitkeep +0 -0
  76. package/knowledge-library/engineering-manager/tech/.gitkeep +0 -0
  77. package/knowledge-library/prd.txt +81 -0
  78. package/knowledge-library/product-manager/context/current.txt +42 -0
  79. package/knowledge-library/product-manager/control/decisions.txt +9 -0
  80. package/knowledge-library/product-manager/control/dependencies.txt +19 -0
  81. package/knowledge-library/product-manager/control/objectives.txt +26 -0
  82. package/knowledge-library/product-manager/history/.gitkeep +0 -0
  83. package/knowledge-library/product-manager/inbox/processed/.gitkeep +0 -0
  84. package/knowledge-library/product-manager/outbox/.gitkeep +0 -0
  85. package/knowledge-library/product-manager/tech/.gitkeep +0 -0
  86. package/knowledge-library/qa-engineer/context/current.txt +42 -0
  87. package/knowledge-library/qa-engineer/control/decisions.txt +9 -0
  88. package/knowledge-library/qa-engineer/control/dependencies.txt +19 -0
  89. package/knowledge-library/qa-engineer/control/objectives.txt +26 -0
  90. package/knowledge-library/qa-engineer/history/.gitkeep +0 -0
  91. package/knowledge-library/qa-engineer/inbox/processed/.gitkeep +0 -0
  92. package/knowledge-library/qa-engineer/outbox/.gitkeep +0 -0
  93. package/knowledge-library/qa-engineer/tech/.gitkeep +0 -0
  94. package/knowledge-library/security-engineer/context/current.txt +42 -0
  95. package/knowledge-library/security-engineer/control/decisions.txt +9 -0
  96. package/knowledge-library/security-engineer/control/dependencies.txt +19 -0
  97. package/knowledge-library/security-engineer/control/objectives.txt +26 -0
  98. package/knowledge-library/security-engineer/history/.gitkeep +0 -0
  99. package/knowledge-library/security-engineer/inbox/processed/.gitkeep +0 -0
  100. package/knowledge-library/security-engineer/outbox/.gitkeep +0 -0
  101. package/knowledge-library/security-engineer/tech/.gitkeep +0 -0
  102. package/knowledge-library/solutions-architect/context/current.txt +42 -0
  103. package/knowledge-library/solutions-architect/control/decisions.txt +9 -0
  104. package/knowledge-library/solutions-architect/control/dependencies.txt +19 -0
  105. package/knowledge-library/solutions-architect/control/objectives.txt +26 -0
  106. package/knowledge-library/solutions-architect/history/.gitkeep +0 -0
  107. package/knowledge-library/solutions-architect/inbox/processed/.gitkeep +0 -0
  108. package/knowledge-library/solutions-architect/outbox/.gitkeep +0 -0
  109. package/knowledge-library/solutions-architect/tech/.gitkeep +0 -0
  110. package/knowledge-library/wearos-engineer/context/current.txt +42 -0
  111. package/knowledge-library/wearos-engineer/control/decisions.txt +9 -0
  112. package/knowledge-library/wearos-engineer/control/dependencies.txt +19 -0
  113. package/knowledge-library/wearos-engineer/control/objectives.txt +26 -0
  114. package/knowledge-library/wearos-engineer/history/.gitkeep +0 -0
  115. package/knowledge-library/wearos-engineer/inbox/processed/.gitkeep +0 -0
  116. package/knowledge-library/wearos-engineer/outbox/.gitkeep +0 -0
  117. package/knowledge-library/wearos-engineer/tech/.gitkeep +0 -0
  118. package/package.json +66 -0
  119. package/schemas/agent.schema.json +171 -0
  120. package/schemas/coreai.config.schema.json +257 -0
  121. package/scripts/add-agent.sh +323 -0
  122. package/scripts/install.sh +354 -0
  123. package/src/adapters/factory.test.ts +386 -0
  124. package/src/adapters/factory.ts +305 -0
  125. package/src/adapters/index.ts +113 -0
  126. package/src/adapters/interfaces.ts +268 -0
  127. package/src/adapters/mcp/client.test.ts +130 -0
  128. package/src/adapters/mcp/client.ts +451 -0
  129. package/src/adapters/mcp/discovery.test.ts +315 -0
  130. package/src/adapters/mcp/discovery.ts +340 -0
  131. package/src/adapters/mcp/index.ts +66 -0
  132. package/src/adapters/mcp/mapper.test.ts +218 -0
  133. package/src/adapters/mcp/mapper.ts +536 -0
  134. package/src/adapters/mcp/registry.test.ts +433 -0
  135. package/src/adapters/mcp/registry.ts +550 -0
  136. package/src/adapters/mcp/types.ts +258 -0
  137. package/src/adapters/native/filesystem.test.ts +350 -0
  138. package/src/adapters/native/filesystem.ts +393 -0
  139. package/src/adapters/native/github.test.ts +173 -0
  140. package/src/adapters/native/github.ts +627 -0
  141. package/src/adapters/native/index.ts +22 -0
  142. package/src/adapters/native/selector.test.ts +224 -0
  143. package/src/adapters/native/selector.ts +150 -0
  144. package/src/adapters/types.ts +270 -0
  145. package/src/agents/compiler.test.ts +399 -0
  146. package/src/agents/compiler.ts +359 -0
  147. package/src/agents/index.ts +36 -0
  148. package/src/agents/loader.test.ts +319 -0
  149. package/src/agents/loader.ts +143 -0
  150. package/src/agents/resolver.test.ts +282 -0
  151. package/src/agents/resolver.ts +262 -0
  152. package/src/agents/types.ts +87 -0
  153. package/src/cache/index.ts +38 -0
  154. package/src/cache/interfaces.ts +283 -0
  155. package/src/cache/manager.test.ts +266 -0
  156. package/src/cache/manager.ts +388 -0
  157. package/src/cache/provider.test.ts +485 -0
  158. package/src/cache/provider.ts +745 -0
  159. package/src/cache/types.test.ts +192 -0
  160. package/src/cache/types.ts +313 -0
  161. package/src/cli/commands/build.test.ts +248 -0
  162. package/src/cli/commands/build.ts +244 -0
  163. package/src/cli/commands/cache.test.ts +221 -0
  164. package/src/cli/commands/cache.ts +229 -0
  165. package/src/cli/commands/index.ts +63 -0
  166. package/src/cli/commands/init.test.ts +173 -0
  167. package/src/cli/commands/init.ts +296 -0
  168. package/src/cli/commands/skills.test.ts +272 -0
  169. package/src/cli/commands/skills.ts +348 -0
  170. package/src/cli/commands/status.test.ts +392 -0
  171. package/src/cli/commands/status.ts +332 -0
  172. package/src/cli/commands/sync.test.ts +213 -0
  173. package/src/cli/commands/sync.ts +251 -0
  174. package/src/cli/commands/validate.test.ts +216 -0
  175. package/src/cli/commands/validate.ts +340 -0
  176. package/src/cli/index.test.ts +190 -0
  177. package/src/cli/index.ts +493 -0
  178. package/src/commands/context.test.ts +163 -0
  179. package/src/commands/context.ts +111 -0
  180. package/src/commands/index.ts +56 -0
  181. package/src/commands/loader.test.ts +273 -0
  182. package/src/commands/loader.ts +355 -0
  183. package/src/commands/registry.test.ts +384 -0
  184. package/src/commands/registry.ts +248 -0
  185. package/src/commands/runner.test.ts +297 -0
  186. package/src/commands/runner.ts +222 -0
  187. package/src/commands/types.ts +361 -0
  188. package/src/config/index.ts +19 -0
  189. package/src/config/loader.test.ts +262 -0
  190. package/src/config/loader.ts +188 -0
  191. package/src/config/types.ts +154 -0
  192. package/src/context/index.ts +14 -0
  193. package/src/context/loader.test.ts +334 -0
  194. package/src/context/loader.ts +357 -0
  195. package/src/index.test.ts +13 -0
  196. package/src/index.ts +244 -0
  197. package/src/knowledge-library/index.ts +44 -0
  198. package/src/knowledge-library/manager.test.ts +536 -0
  199. package/src/knowledge-library/manager.ts +804 -0
  200. package/src/knowledge-library/types.ts +432 -0
  201. package/src/skills/generator.test.ts +602 -0
  202. package/src/skills/generator.ts +491 -0
  203. package/src/skills/index.ts +27 -0
  204. package/src/skills/templates.ts +520 -0
  205. package/src/skills/types.ts +251 -0
  206. package/templates/completion-report.md +72 -0
  207. package/templates/feedback.md +56 -0
  208. package/templates/project-files/CLAUDE.md.template +109 -0
  209. package/templates/project-files/coreai.json.example +47 -0
  210. package/templates/project-files/mcp.json.template +20 -0
  211. package/templates/review-complete.md +64 -0
  212. package/templates/review-request.md +67 -0
  213. package/templates/task-assignment.md +51 -0
  214. package/tsconfig.build.json +4 -0
  215. package/tsconfig.json +26 -0
  216. package/tsup.config.ts +23 -0
@@ -0,0 +1,432 @@
1
+ /**
2
+ * KnowledgeLibrary Types
3
+ *
4
+ * Type definitions for local agent state management.
5
+ */
6
+
7
+ /**
8
+ * Message type for inbox/outbox messages
9
+ */
10
+ export type MessageType =
11
+ | 'task-assignment'
12
+ | 'completion-report'
13
+ | 'review-request'
14
+ | 'feedback'
15
+ | 'status-update'
16
+ | 'question'
17
+ | 'response';
18
+
19
+ /**
20
+ * Priority levels for messages
21
+ */
22
+ export type MessagePriority = 'P0' | 'P1' | 'P2' | 'P3';
23
+
24
+ /**
25
+ * Message metadata from frontmatter
26
+ */
27
+ export interface MessageMetadata {
28
+ /**
29
+ * Message type
30
+ */
31
+ type: MessageType;
32
+
33
+ /**
34
+ * Sender agent name
35
+ */
36
+ from: string;
37
+
38
+ /**
39
+ * Recipient agent name
40
+ */
41
+ to: string;
42
+
43
+ /**
44
+ * Timestamp of the message
45
+ */
46
+ date: Date;
47
+
48
+ /**
49
+ * Associated ticket key (optional)
50
+ */
51
+ ticket?: string;
52
+
53
+ /**
54
+ * Message priority (optional)
55
+ */
56
+ priority?: MessagePriority;
57
+
58
+ /**
59
+ * Message subject
60
+ */
61
+ subject?: string;
62
+ }
63
+
64
+ /**
65
+ * An inbox/outbox message
66
+ */
67
+ export interface Message {
68
+ /**
69
+ * Message filename
70
+ */
71
+ filename: string;
72
+
73
+ /**
74
+ * Full file path
75
+ */
76
+ path: string;
77
+
78
+ /**
79
+ * Message metadata from frontmatter
80
+ */
81
+ metadata: MessageMetadata;
82
+
83
+ /**
84
+ * Raw message content (including frontmatter)
85
+ */
86
+ rawContent: string;
87
+
88
+ /**
89
+ * Message body (excluding frontmatter)
90
+ */
91
+ body: string;
92
+ }
93
+
94
+ /**
95
+ * Agent context state
96
+ */
97
+ export interface AgentContext {
98
+ /**
99
+ * Current task or assignment
100
+ */
101
+ currentTask?: string;
102
+
103
+ /**
104
+ * Current ticket being worked on
105
+ */
106
+ currentTicket?: string;
107
+
108
+ /**
109
+ * Current state/status
110
+ */
111
+ status?: string;
112
+
113
+ /**
114
+ * Last updated timestamp
115
+ */
116
+ lastUpdated: Date;
117
+
118
+ /**
119
+ * Additional context notes
120
+ */
121
+ notes?: string;
122
+ }
123
+
124
+ /**
125
+ * Agent objective entry
126
+ */
127
+ export interface Objective {
128
+ /**
129
+ * Objective description
130
+ */
131
+ description: string;
132
+
133
+ /**
134
+ * Success criteria
135
+ */
136
+ successCriteria?: string[];
137
+
138
+ /**
139
+ * Deadline (optional)
140
+ */
141
+ deadline?: Date;
142
+
143
+ /**
144
+ * Priority
145
+ */
146
+ priority?: MessagePriority;
147
+
148
+ /**
149
+ * Status
150
+ */
151
+ status: 'pending' | 'in_progress' | 'completed' | 'blocked';
152
+ }
153
+
154
+ /**
155
+ * Decision log entry
156
+ */
157
+ export interface Decision {
158
+ /**
159
+ * Decision timestamp
160
+ */
161
+ date: Date;
162
+
163
+ /**
164
+ * What was decided
165
+ */
166
+ decision: string;
167
+
168
+ /**
169
+ * Context/reasoning
170
+ */
171
+ reasoning?: string;
172
+
173
+ /**
174
+ * Related ticket or task
175
+ */
176
+ relatedTo?: string;
177
+ }
178
+
179
+ /**
180
+ * Dependency tracking entry
181
+ */
182
+ export interface Dependency {
183
+ /**
184
+ * What this agent/task depends on
185
+ */
186
+ blockedBy?: string[];
187
+
188
+ /**
189
+ * What depends on this agent/task
190
+ */
191
+ blocking?: string[];
192
+
193
+ /**
194
+ * Last updated
195
+ */
196
+ lastUpdated: Date;
197
+ }
198
+
199
+ /**
200
+ * Agent control state (objectives, decisions, dependencies)
201
+ */
202
+ export interface AgentControl {
203
+ objectives: Objective[];
204
+ decisions: Decision[];
205
+ dependencies: Dependency;
206
+ }
207
+
208
+ /**
209
+ * Directory paths within an agent's KnowledgeLibrary
210
+ */
211
+ export interface AgentDirectories {
212
+ /**
213
+ * Root directory for this agent
214
+ */
215
+ root: string;
216
+
217
+ /**
218
+ * Inbox for incoming messages
219
+ */
220
+ inbox: string;
221
+
222
+ /**
223
+ * Processed messages archive
224
+ */
225
+ inboxProcessed: string;
226
+
227
+ /**
228
+ * Outbox for sent messages
229
+ */
230
+ outbox: string;
231
+
232
+ /**
233
+ * Context directory
234
+ */
235
+ context: string;
236
+
237
+ /**
238
+ * Control directory (objectives, decisions, dependencies)
239
+ */
240
+ control: string;
241
+
242
+ /**
243
+ * Historical records
244
+ */
245
+ history: string;
246
+
247
+ /**
248
+ * Technical notes and research
249
+ */
250
+ tech: string;
251
+ }
252
+
253
+ /**
254
+ * Full KnowledgeLibrary state for an agent
255
+ */
256
+ export interface AgentKnowledgeState {
257
+ /**
258
+ * Agent name/identifier
259
+ */
260
+ agentName: string;
261
+
262
+ /**
263
+ * Directory paths
264
+ */
265
+ directories: AgentDirectories;
266
+
267
+ /**
268
+ * Current context
269
+ */
270
+ context?: AgentContext;
271
+
272
+ /**
273
+ * Control state
274
+ */
275
+ control?: AgentControl;
276
+
277
+ /**
278
+ * Unprocessed inbox messages
279
+ */
280
+ pendingMessages: Message[];
281
+
282
+ /**
283
+ * Initialization status
284
+ */
285
+ initialized: boolean;
286
+ }
287
+
288
+ /**
289
+ * Options for initializing KnowledgeLibrary
290
+ */
291
+ export interface InitKnowledgeLibraryOptions {
292
+ /**
293
+ * Project root directory
294
+ */
295
+ projectRoot?: string;
296
+
297
+ /**
298
+ * Base directory for KnowledgeLibrary
299
+ * Default: KnowledgeLibrary
300
+ */
301
+ basePath?: string;
302
+
303
+ /**
304
+ * Whether to create default files
305
+ */
306
+ createDefaults?: boolean;
307
+ }
308
+
309
+ /**
310
+ * Result of KnowledgeLibrary initialization
311
+ */
312
+ export interface InitKnowledgeLibraryResult {
313
+ /**
314
+ * Whether initialization was successful
315
+ */
316
+ success: boolean;
317
+
318
+ /**
319
+ * Created directories
320
+ */
321
+ createdDirs: string[];
322
+
323
+ /**
324
+ * Created files
325
+ */
326
+ createdFiles: string[];
327
+
328
+ /**
329
+ * Error message if failed
330
+ */
331
+ error?: string;
332
+ }
333
+
334
+ /**
335
+ * Options for reading messages
336
+ */
337
+ export interface ReadMessagesOptions {
338
+ /**
339
+ * Filter by message type
340
+ */
341
+ type?: MessageType;
342
+
343
+ /**
344
+ * Filter by sender
345
+ */
346
+ from?: string;
347
+
348
+ /**
349
+ * Filter by priority
350
+ */
351
+ priority?: MessagePriority;
352
+
353
+ /**
354
+ * Include processed messages
355
+ */
356
+ includeProcessed?: boolean;
357
+
358
+ /**
359
+ * Maximum number of messages to return
360
+ */
361
+ limit?: number;
362
+ }
363
+
364
+ /**
365
+ * Options for writing a message
366
+ */
367
+ export interface WriteMessageOptions {
368
+ /**
369
+ * Message type
370
+ */
371
+ type: MessageType;
372
+
373
+ /**
374
+ * Sender agent
375
+ */
376
+ from: string;
377
+
378
+ /**
379
+ * Recipient agent
380
+ */
381
+ to: string;
382
+
383
+ /**
384
+ * Message subject
385
+ */
386
+ subject: string;
387
+
388
+ /**
389
+ * Message body content
390
+ */
391
+ body: string;
392
+
393
+ /**
394
+ * Associated ticket key
395
+ */
396
+ ticket?: string;
397
+
398
+ /**
399
+ * Message priority
400
+ */
401
+ priority?: MessagePriority;
402
+ }
403
+
404
+ /**
405
+ * Global KnowledgeLibrary state
406
+ */
407
+ export interface KnowledgeLibraryState {
408
+ /**
409
+ * Base path for KnowledgeLibrary
410
+ */
411
+ basePath: string;
412
+
413
+ /**
414
+ * Global context file path
415
+ */
416
+ contextPath: string;
417
+
418
+ /**
419
+ * Architecture notes file path
420
+ */
421
+ architecturePath: string;
422
+
423
+ /**
424
+ * PRD file path
425
+ */
426
+ prdPath: string;
427
+
428
+ /**
429
+ * List of initialized agents
430
+ */
431
+ agents: string[];
432
+ }