@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,251 @@
1
+ /**
2
+ * Skill Types
3
+ *
4
+ * Type definitions for skill generation and templates.
5
+ */
6
+
7
+ import type { AdapterType } from '../adapters/types.js';
8
+
9
+ /**
10
+ * Skill category
11
+ */
12
+ export type SkillCategory = 'core' | 'optional' | 'custom';
13
+
14
+ /**
15
+ * Integration dependency for a skill
16
+ */
17
+ export interface SkillDependency {
18
+ /**
19
+ * Integration type required
20
+ */
21
+ type: AdapterType;
22
+
23
+ /**
24
+ * Whether this integration is required (vs optional)
25
+ */
26
+ required: boolean;
27
+
28
+ /**
29
+ * Description of why this integration is needed
30
+ */
31
+ description?: string;
32
+ }
33
+
34
+ /**
35
+ * Skill template definition
36
+ */
37
+ export interface SkillTemplate {
38
+ /**
39
+ * Template name/identifier
40
+ */
41
+ name: string;
42
+
43
+ /**
44
+ * Human-readable description
45
+ */
46
+ description: string;
47
+
48
+ /**
49
+ * Hint for command arguments
50
+ */
51
+ argumentHint?: string;
52
+
53
+ /**
54
+ * Skill category
55
+ */
56
+ category: SkillCategory;
57
+
58
+ /**
59
+ * Integration dependencies
60
+ */
61
+ dependencies?: SkillDependency[];
62
+
63
+ /**
64
+ * Markdown content with placeholders
65
+ */
66
+ content: string;
67
+ }
68
+
69
+ /**
70
+ * Variables available for substitution in skill templates
71
+ */
72
+ export interface SkillVariables {
73
+ // Project variables
74
+ PROJECT_NAME?: string;
75
+ PROJECT_ROOT?: string;
76
+ PROJECT_TYPE?: string;
77
+
78
+ // Issue tracker variables
79
+ JIRA_PROJECT?: string;
80
+ JIRA_URL?: string;
81
+ LINEAR_TEAM?: string;
82
+
83
+ // Git variables
84
+ GITHUB_REPO?: string;
85
+ GITHUB_OWNER?: string;
86
+ GITLAB_PROJECT?: string;
87
+ DEFAULT_BRANCH?: string;
88
+
89
+ // Documentation variables
90
+ CONFLUENCE_SPACE?: string;
91
+ CONFLUENCE_URL?: string;
92
+ NOTION_WORKSPACE?: string;
93
+ DOCS_PATH?: string;
94
+
95
+ // Quality gate commands
96
+ LINT_CMD?: string;
97
+ TEST_CMD?: string;
98
+ BUILD_CMD?: string;
99
+ STATIC_ANALYSIS_CMD?: string;
100
+
101
+ // Tech stack
102
+ PRIMARY_LANGUAGE?: string;
103
+
104
+ // Custom variables
105
+ [key: string]: string | undefined;
106
+ }
107
+
108
+ /**
109
+ * Options for generating skills
110
+ */
111
+ export interface GenerateSkillsOptions {
112
+ /**
113
+ * Project root directory
114
+ */
115
+ projectRoot?: string;
116
+
117
+ /**
118
+ * Output directory for generated skills
119
+ * Default: .claude/commands
120
+ */
121
+ outputDir?: string;
122
+
123
+ /**
124
+ * Directory containing custom skill templates
125
+ */
126
+ customTemplatesDir?: string;
127
+
128
+ /**
129
+ * Whether to include core skills
130
+ * Default: true
131
+ */
132
+ includeCoreSkills?: boolean;
133
+
134
+ /**
135
+ * Whether to include optional skills based on integrations
136
+ * Default: true
137
+ */
138
+ includeOptionalSkills?: boolean;
139
+
140
+ /**
141
+ * Specific skills to generate (by name)
142
+ * If not specified, generates all applicable skills
143
+ */
144
+ skills?: string[];
145
+
146
+ /**
147
+ * Whether to overwrite existing skills
148
+ * Default: false
149
+ */
150
+ overwrite?: boolean;
151
+
152
+ /**
153
+ * Additional variables for substitution
154
+ */
155
+ variables?: Record<string, string>;
156
+ }
157
+
158
+ /**
159
+ * Result of generating a single skill
160
+ */
161
+ export interface GeneratedSkill {
162
+ /**
163
+ * Skill name
164
+ */
165
+ name: string;
166
+
167
+ /**
168
+ * Category of the skill
169
+ */
170
+ category: SkillCategory;
171
+
172
+ /**
173
+ * Output path where skill was written
174
+ */
175
+ outputPath: string;
176
+
177
+ /**
178
+ * Whether the skill was newly created or updated
179
+ */
180
+ action: 'created' | 'updated' | 'skipped';
181
+
182
+ /**
183
+ * Reason for skipping (if applicable)
184
+ */
185
+ skipReason?: string;
186
+ }
187
+
188
+ /**
189
+ * Error from skill generation
190
+ */
191
+ export interface SkillError {
192
+ /**
193
+ * Skill name that failed
194
+ */
195
+ name: string;
196
+
197
+ /**
198
+ * Error message
199
+ */
200
+ error: string;
201
+ }
202
+
203
+ /**
204
+ * Result of skill generation
205
+ */
206
+ export interface GenerateSkillsResult {
207
+ /**
208
+ * Successfully generated skills
209
+ */
210
+ generated: GeneratedSkill[];
211
+
212
+ /**
213
+ * Skills that failed to generate
214
+ */
215
+ errors: SkillError[];
216
+
217
+ /**
218
+ * Variables used for substitution
219
+ */
220
+ variables: SkillVariables;
221
+ }
222
+
223
+ /**
224
+ * Skill configuration from coreai.config.yaml
225
+ */
226
+ export interface SkillsConfig {
227
+ /**
228
+ * Whether to generate skills on build
229
+ */
230
+ generate?: boolean;
231
+
232
+ /**
233
+ * Custom skill templates directory
234
+ */
235
+ templatesDir?: string;
236
+
237
+ /**
238
+ * Skills to include (whitelist)
239
+ */
240
+ include?: string[];
241
+
242
+ /**
243
+ * Skills to exclude (blacklist)
244
+ */
245
+ exclude?: string[];
246
+
247
+ /**
248
+ * Custom variable overrides
249
+ */
250
+ variables?: Record<string, string>;
251
+ }
@@ -0,0 +1,72 @@
1
+ # Completion Report Template
2
+
3
+ **Usage:** Engineer reports task completion to EM
4
+
5
+ **Filename:** `YYYYMMDD_HHMM-[agent-name]-SUR-XX-complete.md`
6
+
7
+ **Location:** `/KnowledgeLibrary/engineering-manager/inbox/`
8
+
9
+ ---
10
+
11
+ ```markdown
12
+ ---
13
+ type: completion-report
14
+ from: [agent-name]
15
+ to: engineering-manager
16
+ date: [YYYY-MM-DD HH:MM]
17
+ ticket: SUR-XX
18
+ priority: [P0 | P1 | P2 | P3]
19
+ ---
20
+
21
+ ## Completion: SUR-XX - [Title]
22
+
23
+ ### Summary
24
+ [1-2 sentence summary of what was done]
25
+
26
+ ### PR
27
+ - **URL:** [GitHub PR URL]
28
+ - **CI Status:** Passing
29
+
30
+ ### Changes Made
31
+ - [Change 1]
32
+ - [Change 2]
33
+ - [Change 3]
34
+
35
+ ### Acceptance Criteria
36
+ - [x] Criterion 1 - [how addressed]
37
+ - [x] Criterion 2 - [how addressed]
38
+ - [x] Criterion 3 - [how addressed]
39
+
40
+ ### Quality Checks
41
+ - [x] Tests passing: `./gradlew test`
42
+ - [x] Lint passing: `./gradlew ktlintCheck`
43
+ - [x] Static analysis passing: `./gradlew detekt`
44
+
45
+ ---
46
+
47
+ ## Workflow Checkpoint
48
+
49
+ **Workflow:** Ticket Implementation
50
+ **Ticket:** SUR-XX
51
+ **Previous State:** IN_PROGRESS
52
+ **Current State:** IN_REVIEW
53
+ **Timestamp:** [YYYY-MM-DD HH:MM]
54
+
55
+ ### Entry Conditions Verified
56
+ - [x] Ticket moved to "In Review" in Jira
57
+ - [x] CI checks passing
58
+ - [x] PR created with correct title format
59
+
60
+ ### Required Outputs Completed
61
+ - [x] Code changes complete
62
+ - [x] Unit tests written and passing
63
+ - [x] Lint checks passing
64
+ - [x] Static analysis passing
65
+ - [x] All acceptance criteria addressed
66
+ - [x] PR created: [URL]
67
+ - [x] Jira updated with branch and PR comments
68
+
69
+ ### Next State
70
+ **Target:** APPROVED (after review)
71
+ **Blockers:** None
72
+ ```
@@ -0,0 +1,56 @@
1
+ # Feedback Template
2
+
3
+ **Usage:** EM sends feedback when validation fails
4
+
5
+ **Filename:** `YYYYMMDD_HHMM-engineering-manager-SUR-XX-feedback.md`
6
+
7
+ **Location:** `/KnowledgeLibrary/[agent-name]/inbox/`
8
+
9
+ ---
10
+
11
+ ```markdown
12
+ ---
13
+ type: feedback
14
+ from: engineering-manager
15
+ to: [agent-name]
16
+ date: [YYYY-MM-DD HH:MM]
17
+ ticket: SUR-XX
18
+ priority: [P1 | P2]
19
+ ---
20
+
21
+ ## Feedback: SUR-XX - Validation Failed
22
+
23
+ ### Issue
24
+ Your completion report for SUR-XX did not pass validation.
25
+
26
+ ### Problems Found
27
+
28
+ 1. **[Problem Category]**
29
+ - Expected: [what should be]
30
+ - Found: [what was actually found]
31
+ - Action needed: [what to do]
32
+
33
+ 2. **[Problem Category]**
34
+ - Expected: [what should be]
35
+ - Found: [what was actually found]
36
+ - Action needed: [what to do]
37
+
38
+ ### Common Issues
39
+
40
+ - [ ] Ticket not in "In Review" status
41
+ - [ ] PR URL missing from completion report
42
+ - [ ] CI checks failing
43
+ - [ ] Workflow checkpoint missing or incomplete
44
+ - [ ] Acceptance criteria not addressed
45
+
46
+ ### Required Actions
47
+
48
+ 1. [Specific action 1]
49
+ 2. [Specific action 2]
50
+ 3. Send updated completion report to my inbox
51
+
52
+ ### References
53
+ - Original task: [link to original assignment]
54
+ - PR: [URL if exists]
55
+ - Jira: https://[site].atlassian.net/browse/SUR-XX
56
+ ```
@@ -0,0 +1,109 @@
1
+ # CLAUDE.md
2
+
3
+ This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
4
+
5
+ ## Project Overview
6
+
7
+ {{PROJECT_NAME}} - [Add brief project description]
8
+
9
+ **Current State:** [e.g., Sprint 1 - Foundation]
10
+
11
+ ## Documentation
12
+
13
+ All project documentation is maintained in Confluence: {{CONFLUENCE_URL}}/spaces/{{CONFLUENCE_SPACE}}
14
+
15
+ ### Key Documentation Pages
16
+
17
+ | Section | Description |
18
+ |---------|-------------|
19
+ | **Product** | PRDs, product context, UI mockups |
20
+ | **Architecture** | Technical architecture, data models |
21
+ | **Development** | Environment setup, standards, CI/CD |
22
+ | **Sprint Planning** | Current and past sprint plans |
23
+
24
+ ## Repository Structure
25
+
26
+ ```
27
+ .claude/
28
+ ├── agents/ # Agent definitions
29
+ ├── commands/ # Slash commands (skills)
30
+ └── mcp.json # MCP server configuration
31
+
32
+ KnowledgeLibrary/ # Agent context and communication
33
+ ├── context.txt # Project state (EM updates)
34
+ ├── architecture.txt # Architecture decisions
35
+ ├── prd.txt # Product requirements
36
+ └── [agent-name]/ # Per-agent directories
37
+ ├── inbox/ # Messages from other agents
38
+ ├── outbox/ # Sent messages
39
+ ├── context/ # Agent's current state
40
+ └── control/ # Objectives, decisions
41
+
42
+ coreai/ # Framework templates and scripts
43
+ ├── AGENT_SPEC.md # Agent behavior specification
44
+ ├── WORKFLOWS.md # Workflow state machines
45
+ └── scripts/ # install.sh, add-agent.sh
46
+ ```
47
+
48
+ ## Development Skills
49
+
50
+ Workflows are enforced through skills in `.claude/commands/`:
51
+
52
+ | Skill | Description |
53
+ |-------|-------------|
54
+ | `/delegate` | EM delegates task to agent via inbox |
55
+ | `/check-inbox` | Agent processes inbox tasks |
56
+ | `/review` | EM requests PR review |
57
+ | `/sprint-status` | EM generates sprint report |
58
+ | `/git-commit` | Quality-gated commit (all checks must pass) |
59
+ | `/pr-create` | Create PR and update Jira |
60
+
61
+ ## Code Quality
62
+
63
+ Quality checks are enforced before every commit:
64
+
65
+ ```bash
66
+ # Required checks (customize for your project)
67
+ {{LINT_CMD}}
68
+ {{TEST_CMD}}
69
+ {{BUILD_CMD}}
70
+ ```
71
+
72
+ ## Agent Communication
73
+
74
+ Agents communicate via file-based inbox system:
75
+ 1. Sender writes to `/KnowledgeLibrary/[recipient]/inbox/`
76
+ 2. User invokes recipient agent via `@[agent-name]`
77
+ 3. Recipient processes inbox and sends completion to sender
78
+
79
+ **Critical:** EM does NOT use Task tool to invoke agents (loses MCP access).
80
+
81
+ ## Quick Commands
82
+
83
+ ```bash
84
+ # Add a new agent
85
+ ./coreai/scripts/add-agent.sh <agent-name> --type ic
86
+
87
+ # Invoke an agent
88
+ @engineering-manager /delegate SUR-XX to backend-engineer
89
+ @backend-engineer /check-inbox
90
+ ```
91
+
92
+ ## Code Development Guidelines
93
+
94
+ ### Core Philosophy
95
+ - Favor simplicity over cleverness
96
+ - Start minimal and iterate
97
+ - Optimize for the next developer
98
+
99
+ ### Quality Checklist
100
+ - [ ] Can a new team member understand this code in 5 minutes?
101
+ - [ ] Are variable and function names self-explanatory?
102
+ - [ ] Is the happy path clear and error handling robust?
103
+ - [ ] Could this be simpler without losing functionality?
104
+
105
+ ### Red Flags
106
+ - Functions longer than 20-30 lines
107
+ - More than 3 levels of nesting
108
+ - Variable names like `data`, `item`, `temp`
109
+ - Abstractions only used once
@@ -0,0 +1,47 @@
1
+ {
2
+ "project": {
3
+ "name": "My Project",
4
+ "jiraProject": "PROJ",
5
+ "githubRepo": "owner/repo",
6
+ "confluenceSpace": "PROJ",
7
+ "confluenceUrl": "https://yourcompany.atlassian.net/wiki",
8
+ "jiraUrl": "https://yourcompany.atlassian.net"
9
+ },
10
+ "agents": {
11
+ "installed": [
12
+ "engineering-manager",
13
+ "backend-engineer",
14
+ "frontend-engineer",
15
+ "qa-engineer"
16
+ ],
17
+ "custom": []
18
+ },
19
+ "commands": {
20
+ "core": [
21
+ "delegate",
22
+ "check-inbox",
23
+ "review",
24
+ "sprint-status",
25
+ "git-commit",
26
+ "pr-create"
27
+ ],
28
+ "optional": [
29
+ "jira-create",
30
+ "jira-transition",
31
+ "worktree-setup",
32
+ "worktree-cleanup",
33
+ "docs-update"
34
+ ]
35
+ },
36
+ "qualityChecks": {
37
+ "lint": "./gradlew ktlintCheck",
38
+ "staticAnalysis": "./gradlew detekt",
39
+ "test": "./gradlew testDebugUnitTest",
40
+ "build": "./gradlew assembleDebug"
41
+ },
42
+ "techStack": {
43
+ "language": "kotlin",
44
+ "framework": "android",
45
+ "notes": "Customize qualityChecks for your tech stack"
46
+ }
47
+ }
@@ -0,0 +1,20 @@
1
+ {
2
+ "mcpServers": {
3
+ "github": {
4
+ "command": "npx",
5
+ "args": ["-y", "@modelcontextprotocol/server-github"],
6
+ "env": {
7
+ "GITHUB_PERSONAL_ACCESS_TOKEN": "${GITHUB_TOKEN}"
8
+ }
9
+ },
10
+ "atlassian": {
11
+ "command": "npx",
12
+ "args": ["-y", "@anthropic/mcp-server-atlassian"],
13
+ "env": {
14
+ "ATLASSIAN_HOST": "${ATLASSIAN_HOST}",
15
+ "ATLASSIAN_EMAIL": "${ATLASSIAN_EMAIL}",
16
+ "ATLASSIAN_API_TOKEN": "${ATLASSIAN_API_TOKEN}"
17
+ }
18
+ }
19
+ }
20
+ }
@@ -0,0 +1,64 @@
1
+ # Review Complete Template
2
+
3
+ **Usage:** Reviewer reports review completion to EM
4
+
5
+ **Filename:** `YYYYMMDD_HHMM-[agent-name]-PR-XX-review.md`
6
+
7
+ **Location:** `/KnowledgeLibrary/engineering-manager/inbox/`
8
+
9
+ ---
10
+
11
+ ```markdown
12
+ ---
13
+ type: completion-report
14
+ from: [agent-name]
15
+ to: engineering-manager
16
+ date: [YYYY-MM-DD HH:MM]
17
+ ticket: SUR-XX
18
+ priority: P1
19
+ ---
20
+
21
+ ## Review Complete: PR #XX - SUR-XX
22
+
23
+ ### Decision
24
+ **APPROVED** | **CHANGES REQUESTED**
25
+
26
+ ### Summary
27
+ [What was reviewed and key findings]
28
+
29
+ ### Review Posted
30
+ - GitHub PR comment posted: Yes
31
+ - Decision clearly stated in comment
32
+
33
+ ### Key Findings
34
+ - [Finding 1]
35
+ - [Finding 2]
36
+
37
+ ### [If CHANGES REQUESTED]
38
+ Issues to address:
39
+ 1. [Issue 1]
40
+ 2. [Issue 2]
41
+
42
+ ---
43
+
44
+ ## Workflow Checkpoint
45
+
46
+ **Workflow:** Code Review
47
+ **Ticket:** SUR-XX
48
+ **Previous State:** REVIEWING
49
+ **Current State:** DECISION_POSTED
50
+ **Timestamp:** [YYYY-MM-DD HH:MM]
51
+
52
+ ### Entry Conditions Verified
53
+ - [x] PR exists and CI passing
54
+ - [x] Review request received via inbox
55
+
56
+ ### Required Outputs Completed
57
+ - [x] Review posted on GitHub PR via `gh pr comment`
58
+ - [x] Decision stated: [APPROVED/CHANGES_REQUESTED]
59
+ - [x] Completion report sent to EM inbox
60
+
61
+ ### Next State
62
+ **Target:** [APPROVED state if approved, or back to engineer]
63
+ **Blockers:** None
64
+ ```
@@ -0,0 +1,67 @@
1
+ # Review Request Template
2
+
3
+ **Usage:** EM requests PR review from specialist
4
+
5
+ **Filename:** `YYYYMMDD_HHMM-engineering-manager-review-PR-XX.md`
6
+
7
+ **Location:** `/KnowledgeLibrary/[reviewer-agent]/inbox/`
8
+
9
+ ---
10
+
11
+ ```markdown
12
+ ---
13
+ type: review-request
14
+ from: engineering-manager
15
+ to: [agent-name]
16
+ date: [YYYY-MM-DD HH:MM]
17
+ ticket: SUR-XX
18
+ priority: P1
19
+ ---
20
+
21
+ ## PR Review Request
22
+
23
+ **PR:** #[number] - [title]
24
+ **URL:** https://github.com/[owner]/[repo]/pull/[number]
25
+ **Ticket:** SUR-XX
26
+ **Author:** [author-agent]
27
+
28
+ ### Review Focus
29
+ [Based on reviewer's role:]
30
+ - solutions-architect: Architecture alignment, patterns, design
31
+ - security-engineer: Security vulnerabilities, data handling
32
+ - qa-engineer: Test coverage, edge cases
33
+
34
+ ### Requirements
35
+
36
+ 1. Review the PR thoroughly
37
+ 2. **Post review as GitHub PR comment** using `gh pr comment`
38
+ 3. Use the standard review format (see below)
39
+ 4. State APPROVED or CHANGES_REQUESTED
40
+ 5. Send completion summary to my inbox
41
+
42
+ ### Review Comment Format
43
+
44
+ ```
45
+ ## [Review Type]: SUR-XX
46
+
47
+ ### Summary
48
+ [What was reviewed]
49
+
50
+ ### Checklist
51
+ - [x] [Check relevant to your role]
52
+ - [x] [Check relevant to your role]
53
+
54
+ ### Findings
55
+ - [Findings]
56
+
57
+ ### **DECISION: APPROVED** | **DECISION: CHANGES REQUESTED**
58
+
59
+ [Explanation]
60
+
61
+ ---
62
+ *Review by: [agent-name]*
63
+ ```
64
+
65
+ ### References
66
+ - Jira: https://[site].atlassian.net/browse/SUR-XX
67
+ ```