@deimoscloud/coreai 0.1.9 → 0.1.11
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.
- package/dist/cli/index.js +7 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -1
- package/package.json +6 -1
- package/.prettierrc +0 -9
- package/AGENT_SPEC.md +0 -347
- package/ARCHITECTURE.md +0 -547
- package/DRAFT_PRD.md +0 -1440
- package/IMPLEMENTATION_PLAN.md +0 -256
- package/PRODUCT.md +0 -473
- package/WORKFLOWS.md +0 -295
- package/commands/core/check-inbox.md +0 -34
- package/commands/core/delegate.md +0 -30
- package/commands/core/git-commit.md +0 -144
- package/commands/core/pr-create.md +0 -193
- package/commands/core/review.md +0 -56
- package/commands/core/sprint-status.md +0 -65
- package/commands/optional/docs-update.md +0 -200
- package/commands/optional/jira-create.md +0 -200
- package/commands/optional/jira-transition.md +0 -184
- package/commands/optional/worktree-cleanup.md +0 -167
- package/commands/optional/worktree-setup.md +0 -110
- package/eslint.config.js +0 -29
- package/jest.config.js +0 -22
- package/knowledge-library/README.md +0 -118
- package/knowledge-library/android-engineer/context/current.txt +0 -42
- package/knowledge-library/android-engineer/control/decisions.txt +0 -9
- package/knowledge-library/android-engineer/control/dependencies.txt +0 -19
- package/knowledge-library/android-engineer/control/objectives.txt +0 -26
- package/knowledge-library/android-engineer/history/.gitkeep +0 -0
- package/knowledge-library/android-engineer/inbox/processed/.gitkeep +0 -0
- package/knowledge-library/android-engineer/outbox/.gitkeep +0 -0
- package/knowledge-library/android-engineer/tech/.gitkeep +0 -0
- package/knowledge-library/architecture.txt +0 -61
- package/knowledge-library/backend-engineer/context/current.txt +0 -42
- package/knowledge-library/backend-engineer/control/decisions.txt +0 -9
- package/knowledge-library/backend-engineer/control/dependencies.txt +0 -19
- package/knowledge-library/backend-engineer/control/objectives.txt +0 -26
- package/knowledge-library/backend-engineer/history/.gitkeep +0 -0
- package/knowledge-library/backend-engineer/inbox/processed/.gitkeep +0 -0
- package/knowledge-library/backend-engineer/outbox/.gitkeep +0 -0
- package/knowledge-library/backend-engineer/tech/.gitkeep +0 -0
- package/knowledge-library/context.txt +0 -52
- package/knowledge-library/devops-engineer/context/current.txt +0 -42
- package/knowledge-library/devops-engineer/control/decisions.txt +0 -9
- package/knowledge-library/devops-engineer/control/dependencies.txt +0 -19
- package/knowledge-library/devops-engineer/control/objectives.txt +0 -26
- package/knowledge-library/devops-engineer/history/.gitkeep +0 -0
- package/knowledge-library/devops-engineer/inbox/processed/.gitkeep +0 -0
- package/knowledge-library/devops-engineer/outbox/.gitkeep +0 -0
- package/knowledge-library/devops-engineer/tech/.gitkeep +0 -0
- package/knowledge-library/engineering-manager/context/current.txt +0 -40
- package/knowledge-library/engineering-manager/control/decisions.txt +0 -9
- package/knowledge-library/engineering-manager/control/objectives.txt +0 -27
- package/knowledge-library/engineering-manager/history/.gitkeep +0 -0
- package/knowledge-library/engineering-manager/inbox/processed/.gitkeep +0 -0
- package/knowledge-library/engineering-manager/outbox/.gitkeep +0 -0
- package/knowledge-library/engineering-manager/tech/.gitkeep +0 -0
- package/knowledge-library/prd.txt +0 -81
- package/knowledge-library/product-manager/context/current.txt +0 -42
- package/knowledge-library/product-manager/control/decisions.txt +0 -9
- package/knowledge-library/product-manager/control/dependencies.txt +0 -19
- package/knowledge-library/product-manager/control/objectives.txt +0 -26
- package/knowledge-library/product-manager/history/.gitkeep +0 -0
- package/knowledge-library/product-manager/inbox/processed/.gitkeep +0 -0
- package/knowledge-library/product-manager/outbox/.gitkeep +0 -0
- package/knowledge-library/product-manager/tech/.gitkeep +0 -0
- package/knowledge-library/qa-engineer/context/current.txt +0 -42
- package/knowledge-library/qa-engineer/control/decisions.txt +0 -9
- package/knowledge-library/qa-engineer/control/dependencies.txt +0 -19
- package/knowledge-library/qa-engineer/control/objectives.txt +0 -26
- package/knowledge-library/qa-engineer/history/.gitkeep +0 -0
- package/knowledge-library/qa-engineer/inbox/processed/.gitkeep +0 -0
- package/knowledge-library/qa-engineer/outbox/.gitkeep +0 -0
- package/knowledge-library/qa-engineer/tech/.gitkeep +0 -0
- package/knowledge-library/security-engineer/context/current.txt +0 -42
- package/knowledge-library/security-engineer/control/decisions.txt +0 -9
- package/knowledge-library/security-engineer/control/dependencies.txt +0 -19
- package/knowledge-library/security-engineer/control/objectives.txt +0 -26
- package/knowledge-library/security-engineer/history/.gitkeep +0 -0
- package/knowledge-library/security-engineer/inbox/processed/.gitkeep +0 -0
- package/knowledge-library/security-engineer/outbox/.gitkeep +0 -0
- package/knowledge-library/security-engineer/tech/.gitkeep +0 -0
- package/knowledge-library/solutions-architect/context/current.txt +0 -42
- package/knowledge-library/solutions-architect/control/decisions.txt +0 -9
- package/knowledge-library/solutions-architect/control/dependencies.txt +0 -19
- package/knowledge-library/solutions-architect/control/objectives.txt +0 -26
- package/knowledge-library/solutions-architect/history/.gitkeep +0 -0
- package/knowledge-library/solutions-architect/inbox/processed/.gitkeep +0 -0
- package/knowledge-library/solutions-architect/outbox/.gitkeep +0 -0
- package/knowledge-library/solutions-architect/tech/.gitkeep +0 -0
- package/knowledge-library/wearos-engineer/context/current.txt +0 -42
- package/knowledge-library/wearos-engineer/control/decisions.txt +0 -9
- package/knowledge-library/wearos-engineer/control/dependencies.txt +0 -19
- package/knowledge-library/wearos-engineer/control/objectives.txt +0 -26
- package/knowledge-library/wearos-engineer/history/.gitkeep +0 -0
- package/knowledge-library/wearos-engineer/inbox/processed/.gitkeep +0 -0
- package/knowledge-library/wearos-engineer/outbox/.gitkeep +0 -0
- package/knowledge-library/wearos-engineer/tech/.gitkeep +0 -0
- package/scripts/add-agent.sh +0 -323
- package/scripts/install.sh +0 -354
- package/src/adapters/factory.test.ts +0 -386
- package/src/adapters/factory.ts +0 -305
- package/src/adapters/index.ts +0 -113
- package/src/adapters/interfaces.ts +0 -268
- package/src/adapters/mcp/client.test.ts +0 -130
- package/src/adapters/mcp/client.ts +0 -451
- package/src/adapters/mcp/discovery.test.ts +0 -315
- package/src/adapters/mcp/discovery.ts +0 -340
- package/src/adapters/mcp/index.ts +0 -66
- package/src/adapters/mcp/mapper.test.ts +0 -218
- package/src/adapters/mcp/mapper.ts +0 -536
- package/src/adapters/mcp/registry.test.ts +0 -433
- package/src/adapters/mcp/registry.ts +0 -550
- package/src/adapters/mcp/types.ts +0 -258
- package/src/adapters/native/filesystem.test.ts +0 -350
- package/src/adapters/native/filesystem.ts +0 -393
- package/src/adapters/native/github.test.ts +0 -173
- package/src/adapters/native/github.ts +0 -627
- package/src/adapters/native/index.ts +0 -22
- package/src/adapters/native/selector.test.ts +0 -224
- package/src/adapters/native/selector.ts +0 -150
- package/src/adapters/types.ts +0 -270
- package/src/agents/compiler.test.ts +0 -410
- package/src/agents/compiler.ts +0 -424
- package/src/agents/index.ts +0 -37
- package/src/agents/loader.test.ts +0 -319
- package/src/agents/loader.ts +0 -143
- package/src/agents/resolver.test.ts +0 -282
- package/src/agents/resolver.ts +0 -262
- package/src/agents/types.ts +0 -97
- package/src/cache/index.ts +0 -38
- package/src/cache/interfaces.ts +0 -283
- package/src/cache/manager.test.ts +0 -266
- package/src/cache/manager.ts +0 -388
- package/src/cache/provider.test.ts +0 -485
- package/src/cache/provider.ts +0 -745
- package/src/cache/types.test.ts +0 -192
- package/src/cache/types.ts +0 -313
- package/src/cli/commands/build.test.ts +0 -248
- package/src/cli/commands/build.ts +0 -284
- package/src/cli/commands/cache.test.ts +0 -221
- package/src/cli/commands/cache.ts +0 -229
- package/src/cli/commands/index.ts +0 -63
- package/src/cli/commands/init.test.ts +0 -173
- package/src/cli/commands/init.ts +0 -296
- package/src/cli/commands/skills.test.ts +0 -272
- package/src/cli/commands/skills.ts +0 -348
- package/src/cli/commands/status.test.ts +0 -392
- package/src/cli/commands/status.ts +0 -332
- package/src/cli/commands/sync.test.ts +0 -213
- package/src/cli/commands/sync.ts +0 -251
- package/src/cli/commands/validate.test.ts +0 -216
- package/src/cli/commands/validate.ts +0 -340
- package/src/cli/index.test.ts +0 -190
- package/src/cli/index.ts +0 -493
- package/src/commands/context.test.ts +0 -163
- package/src/commands/context.ts +0 -111
- package/src/commands/index.ts +0 -56
- package/src/commands/loader.test.ts +0 -273
- package/src/commands/loader.ts +0 -355
- package/src/commands/registry.test.ts +0 -384
- package/src/commands/registry.ts +0 -248
- package/src/commands/runner.test.ts +0 -297
- package/src/commands/runner.ts +0 -222
- package/src/commands/types.ts +0 -361
- package/src/config/index.ts +0 -19
- package/src/config/loader.test.ts +0 -262
- package/src/config/loader.ts +0 -188
- package/src/config/types.ts +0 -154
- package/src/context/index.ts +0 -14
- package/src/context/loader.test.ts +0 -334
- package/src/context/loader.ts +0 -357
- package/src/index.test.ts +0 -13
- package/src/index.ts +0 -268
- package/src/knowledge-library/index.ts +0 -44
- package/src/knowledge-library/manager.test.ts +0 -536
- package/src/knowledge-library/manager.ts +0 -804
- package/src/knowledge-library/types.ts +0 -432
- package/src/skills/generator.test.ts +0 -602
- package/src/skills/generator.ts +0 -491
- package/src/skills/index.ts +0 -27
- package/src/skills/templates.ts +0 -520
- package/src/skills/types.ts +0 -251
- package/templates/completion-report.md +0 -72
- package/templates/feedback.md +0 -56
- package/templates/project-files/CLAUDE.md.template +0 -109
- package/templates/project-files/coreai.json.example +0 -47
- package/templates/project-files/mcp.json.template +0 -20
- package/templates/review-complete.md +0 -64
- package/templates/review-request.md +0 -67
- package/templates/task-assignment.md +0 -51
- package/tsconfig.build.json +0 -4
- package/tsconfig.json +0 -26
- package/tsup.config.ts +0 -23
package/src/skills/types.ts
DELETED
|
@@ -1,251 +0,0 @@
|
|
|
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
|
-
}
|
|
@@ -1,72 +0,0 @@
|
|
|
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
|
-
```
|
package/templates/feedback.md
DELETED
|
@@ -1,56 +0,0 @@
|
|
|
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
|
-
```
|
|
@@ -1,109 +0,0 @@
|
|
|
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
|
|
@@ -1,47 +0,0 @@
|
|
|
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
|
-
}
|
|
@@ -1,20 +0,0 @@
|
|
|
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
|
-
}
|
|
@@ -1,64 +0,0 @@
|
|
|
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
|
-
```
|
|
@@ -1,67 +0,0 @@
|
|
|
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
|
-
```
|