@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.
- package/.prettierrc +9 -0
- package/AGENT_SPEC.md +347 -0
- package/ARCHITECTURE.md +547 -0
- package/DRAFT_PRD.md +1440 -0
- package/IMPLEMENTATION_PLAN.md +256 -0
- package/PRODUCT.md +473 -0
- package/README.md +303 -0
- package/WORKFLOWS.md +295 -0
- package/agents/_templates/ic-engineer.md +185 -0
- package/agents/_templates/reviewer.md +182 -0
- package/agents/backend-engineer.yaml +72 -0
- package/agents/devops-engineer.yaml +72 -0
- package/agents/engineering-manager.yaml +70 -0
- package/agents/examples/android-engineer.md +302 -0
- package/agents/examples/backend-engineer.md +320 -0
- package/agents/examples/devops-engineer.md +742 -0
- package/agents/examples/engineering-manager.md +469 -0
- package/agents/examples/frontend-engineer.md +58 -0
- package/agents/examples/product-manager.md +315 -0
- package/agents/examples/qa-engineer.md +371 -0
- package/agents/examples/security-engineer.md +525 -0
- package/agents/examples/solutions-architect.md +351 -0
- package/agents/examples/wearos-engineer.md +359 -0
- package/agents/frontend-engineer.yaml +72 -0
- package/commands/core/check-inbox.md +34 -0
- package/commands/core/delegate.md +30 -0
- package/commands/core/git-commit.md +144 -0
- package/commands/core/pr-create.md +193 -0
- package/commands/core/review.md +56 -0
- package/commands/core/sprint-status.md +65 -0
- package/commands/optional/docs-update.md +200 -0
- package/commands/optional/jira-create.md +200 -0
- package/commands/optional/jira-transition.md +184 -0
- package/commands/optional/worktree-cleanup.md +167 -0
- package/commands/optional/worktree-setup.md +110 -0
- package/dist/cli/index.js +4037 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/index.d.ts +2978 -0
- package/dist/index.js +3867 -0
- package/dist/index.js.map +1 -0
- package/eslint.config.js +29 -0
- package/jest.config.js +22 -0
- package/knowledge-library/README.md +118 -0
- package/knowledge-library/android-engineer/context/current.txt +42 -0
- package/knowledge-library/android-engineer/control/decisions.txt +9 -0
- package/knowledge-library/android-engineer/control/dependencies.txt +19 -0
- package/knowledge-library/android-engineer/control/objectives.txt +26 -0
- 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 +61 -0
- package/knowledge-library/backend-engineer/context/current.txt +42 -0
- package/knowledge-library/backend-engineer/control/decisions.txt +9 -0
- package/knowledge-library/backend-engineer/control/dependencies.txt +19 -0
- package/knowledge-library/backend-engineer/control/objectives.txt +26 -0
- 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 +52 -0
- package/knowledge-library/devops-engineer/context/current.txt +42 -0
- package/knowledge-library/devops-engineer/control/decisions.txt +9 -0
- package/knowledge-library/devops-engineer/control/dependencies.txt +19 -0
- package/knowledge-library/devops-engineer/control/objectives.txt +26 -0
- 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 +40 -0
- package/knowledge-library/engineering-manager/control/decisions.txt +9 -0
- package/knowledge-library/engineering-manager/control/objectives.txt +27 -0
- 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 +81 -0
- package/knowledge-library/product-manager/context/current.txt +42 -0
- package/knowledge-library/product-manager/control/decisions.txt +9 -0
- package/knowledge-library/product-manager/control/dependencies.txt +19 -0
- package/knowledge-library/product-manager/control/objectives.txt +26 -0
- 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 +42 -0
- package/knowledge-library/qa-engineer/control/decisions.txt +9 -0
- package/knowledge-library/qa-engineer/control/dependencies.txt +19 -0
- package/knowledge-library/qa-engineer/control/objectives.txt +26 -0
- 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 +42 -0
- package/knowledge-library/security-engineer/control/decisions.txt +9 -0
- package/knowledge-library/security-engineer/control/dependencies.txt +19 -0
- package/knowledge-library/security-engineer/control/objectives.txt +26 -0
- 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 +42 -0
- package/knowledge-library/solutions-architect/control/decisions.txt +9 -0
- package/knowledge-library/solutions-architect/control/dependencies.txt +19 -0
- package/knowledge-library/solutions-architect/control/objectives.txt +26 -0
- 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 +42 -0
- package/knowledge-library/wearos-engineer/control/decisions.txt +9 -0
- package/knowledge-library/wearos-engineer/control/dependencies.txt +19 -0
- package/knowledge-library/wearos-engineer/control/objectives.txt +26 -0
- 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/package.json +66 -0
- package/schemas/agent.schema.json +171 -0
- package/schemas/coreai.config.schema.json +257 -0
- package/scripts/add-agent.sh +323 -0
- package/scripts/install.sh +354 -0
- package/src/adapters/factory.test.ts +386 -0
- package/src/adapters/factory.ts +305 -0
- package/src/adapters/index.ts +113 -0
- package/src/adapters/interfaces.ts +268 -0
- package/src/adapters/mcp/client.test.ts +130 -0
- package/src/adapters/mcp/client.ts +451 -0
- package/src/adapters/mcp/discovery.test.ts +315 -0
- package/src/adapters/mcp/discovery.ts +340 -0
- package/src/adapters/mcp/index.ts +66 -0
- package/src/adapters/mcp/mapper.test.ts +218 -0
- package/src/adapters/mcp/mapper.ts +536 -0
- package/src/adapters/mcp/registry.test.ts +433 -0
- package/src/adapters/mcp/registry.ts +550 -0
- package/src/adapters/mcp/types.ts +258 -0
- package/src/adapters/native/filesystem.test.ts +350 -0
- package/src/adapters/native/filesystem.ts +393 -0
- package/src/adapters/native/github.test.ts +173 -0
- package/src/adapters/native/github.ts +627 -0
- package/src/adapters/native/index.ts +22 -0
- package/src/adapters/native/selector.test.ts +224 -0
- package/src/adapters/native/selector.ts +150 -0
- package/src/adapters/types.ts +270 -0
- package/src/agents/compiler.test.ts +399 -0
- package/src/agents/compiler.ts +359 -0
- package/src/agents/index.ts +36 -0
- package/src/agents/loader.test.ts +319 -0
- package/src/agents/loader.ts +143 -0
- package/src/agents/resolver.test.ts +282 -0
- package/src/agents/resolver.ts +262 -0
- package/src/agents/types.ts +87 -0
- package/src/cache/index.ts +38 -0
- package/src/cache/interfaces.ts +283 -0
- package/src/cache/manager.test.ts +266 -0
- package/src/cache/manager.ts +388 -0
- package/src/cache/provider.test.ts +485 -0
- package/src/cache/provider.ts +745 -0
- package/src/cache/types.test.ts +192 -0
- package/src/cache/types.ts +313 -0
- package/src/cli/commands/build.test.ts +248 -0
- package/src/cli/commands/build.ts +244 -0
- package/src/cli/commands/cache.test.ts +221 -0
- package/src/cli/commands/cache.ts +229 -0
- package/src/cli/commands/index.ts +63 -0
- package/src/cli/commands/init.test.ts +173 -0
- package/src/cli/commands/init.ts +296 -0
- package/src/cli/commands/skills.test.ts +272 -0
- package/src/cli/commands/skills.ts +348 -0
- package/src/cli/commands/status.test.ts +392 -0
- package/src/cli/commands/status.ts +332 -0
- package/src/cli/commands/sync.test.ts +213 -0
- package/src/cli/commands/sync.ts +251 -0
- package/src/cli/commands/validate.test.ts +216 -0
- package/src/cli/commands/validate.ts +340 -0
- package/src/cli/index.test.ts +190 -0
- package/src/cli/index.ts +493 -0
- package/src/commands/context.test.ts +163 -0
- package/src/commands/context.ts +111 -0
- package/src/commands/index.ts +56 -0
- package/src/commands/loader.test.ts +273 -0
- package/src/commands/loader.ts +355 -0
- package/src/commands/registry.test.ts +384 -0
- package/src/commands/registry.ts +248 -0
- package/src/commands/runner.test.ts +297 -0
- package/src/commands/runner.ts +222 -0
- package/src/commands/types.ts +361 -0
- package/src/config/index.ts +19 -0
- package/src/config/loader.test.ts +262 -0
- package/src/config/loader.ts +188 -0
- package/src/config/types.ts +154 -0
- package/src/context/index.ts +14 -0
- package/src/context/loader.test.ts +334 -0
- package/src/context/loader.ts +357 -0
- package/src/index.test.ts +13 -0
- package/src/index.ts +244 -0
- package/src/knowledge-library/index.ts +44 -0
- package/src/knowledge-library/manager.test.ts +536 -0
- package/src/knowledge-library/manager.ts +804 -0
- package/src/knowledge-library/types.ts +432 -0
- package/src/skills/generator.test.ts +602 -0
- package/src/skills/generator.ts +491 -0
- package/src/skills/index.ts +27 -0
- package/src/skills/templates.ts +520 -0
- package/src/skills/types.ts +251 -0
- package/templates/completion-report.md +72 -0
- package/templates/feedback.md +56 -0
- package/templates/project-files/CLAUDE.md.template +109 -0
- package/templates/project-files/coreai.json.example +47 -0
- package/templates/project-files/mcp.json.template +20 -0
- package/templates/review-complete.md +64 -0
- package/templates/review-request.md +67 -0
- package/templates/task-assignment.md +51 -0
- package/tsconfig.build.json +4 -0
- package/tsconfig.json +26 -0
- package/tsup.config.ts +23 -0
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
role: frontend-engineer
|
|
2
|
+
type: ic-engineer
|
|
3
|
+
display_name: Frontend Engineer
|
|
4
|
+
description: >
|
|
5
|
+
Senior frontend engineer specializing in modern web development,
|
|
6
|
+
user interface design, and client-side performance. Focuses on building
|
|
7
|
+
accessible, responsive, and performant user experiences.
|
|
8
|
+
|
|
9
|
+
responsibilities:
|
|
10
|
+
- Build responsive and accessible user interfaces
|
|
11
|
+
- Implement component libraries and design systems
|
|
12
|
+
- Optimize frontend performance and bundle size
|
|
13
|
+
- Integrate with backend APIs and state management
|
|
14
|
+
- Write comprehensive tests (unit, integration, e2e)
|
|
15
|
+
- Ensure cross-browser compatibility
|
|
16
|
+
- Review code and provide constructive feedback
|
|
17
|
+
|
|
18
|
+
expertise:
|
|
19
|
+
primary:
|
|
20
|
+
- Modern JavaScript/TypeScript
|
|
21
|
+
- React, Vue, or Angular frameworks
|
|
22
|
+
- CSS architecture and responsive design
|
|
23
|
+
- Accessibility (WCAG compliance)
|
|
24
|
+
- Frontend performance optimization
|
|
25
|
+
tech_stack: "${config.tech_stack}"
|
|
26
|
+
|
|
27
|
+
skills:
|
|
28
|
+
- Component-driven development
|
|
29
|
+
- Design system implementation
|
|
30
|
+
- State management patterns
|
|
31
|
+
- Build tool configuration
|
|
32
|
+
- Browser DevTools proficiency
|
|
33
|
+
|
|
34
|
+
principles:
|
|
35
|
+
code_quality:
|
|
36
|
+
- Write semantic and accessible HTML
|
|
37
|
+
- Use CSS methodologies (BEM, CSS Modules, etc.)
|
|
38
|
+
- Keep components small and reusable
|
|
39
|
+
- Separate concerns (presentation vs logic)
|
|
40
|
+
- Use TypeScript for type safety
|
|
41
|
+
testing:
|
|
42
|
+
- Test components in isolation
|
|
43
|
+
- Write integration tests for user flows
|
|
44
|
+
- Use visual regression testing for UI
|
|
45
|
+
- Test accessibility with automated tools
|
|
46
|
+
security:
|
|
47
|
+
- Sanitize user input and outputs
|
|
48
|
+
- Prevent XSS vulnerabilities
|
|
49
|
+
- Use Content Security Policy
|
|
50
|
+
- Handle sensitive data appropriately
|
|
51
|
+
- Validate data on the client and server
|
|
52
|
+
performance:
|
|
53
|
+
- Minimize bundle size
|
|
54
|
+
- Implement code splitting and lazy loading
|
|
55
|
+
- Optimize images and assets
|
|
56
|
+
- Use efficient rendering patterns
|
|
57
|
+
- Monitor Core Web Vitals
|
|
58
|
+
|
|
59
|
+
behaviors:
|
|
60
|
+
workflow: ticket-implementation
|
|
61
|
+
quality_gates: "${config.quality_gates}"
|
|
62
|
+
|
|
63
|
+
context_sources:
|
|
64
|
+
shared:
|
|
65
|
+
- "${remote.documentation}/design-system"
|
|
66
|
+
- "${remote.documentation}/frontend-standards"
|
|
67
|
+
personal:
|
|
68
|
+
- "KnowledgeLibrary/${agent.role}/context"
|
|
69
|
+
|
|
70
|
+
communication:
|
|
71
|
+
inbox: "KnowledgeLibrary/${agent.role}/inbox"
|
|
72
|
+
outbox: "KnowledgeLibrary/${agent.role}/outbox"
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Check your inbox for new tasks and process them
|
|
3
|
+
argument-hint: [optional: and work on ticket]
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Check Inbox
|
|
7
|
+
|
|
8
|
+
You have been invoked to check your inbox and process any pending tasks.
|
|
9
|
+
|
|
10
|
+
## Instructions
|
|
11
|
+
|
|
12
|
+
1. **Read your inbox directory:** `/KnowledgeLibrary/[your-agent-name]/inbox/`
|
|
13
|
+
- Ignore the `processed/` subdirectory
|
|
14
|
+
- Look for `.md` files from other agents (especially engineering-manager)
|
|
15
|
+
|
|
16
|
+
2. **For each unprocessed message:**
|
|
17
|
+
- Read the task details
|
|
18
|
+
- If it's a task assignment, begin work following the workflow in `WORKFLOWS.md`
|
|
19
|
+
- If it's a review request, perform the review
|
|
20
|
+
|
|
21
|
+
3. **When you complete work:**
|
|
22
|
+
- Move processed inbox messages to `inbox/processed/` with prefix `PROCESSED_YYYYMMDD_HHMM_`
|
|
23
|
+
- Write completion summary to the sender's inbox (usually engineering-manager)
|
|
24
|
+
- End with "Please invoke @[next-agent]" instruction for the user
|
|
25
|
+
|
|
26
|
+
4. **If inbox is empty:**
|
|
27
|
+
- Report "No pending tasks in inbox"
|
|
28
|
+
- Check Jira for any assigned tickets you should be working on
|
|
29
|
+
|
|
30
|
+
## Additional Context
|
|
31
|
+
|
|
32
|
+
$ARGUMENTS
|
|
33
|
+
|
|
34
|
+
Now check your inbox and proceed.
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Delegate a task to an agent using inbox-based delegation (NOT Task tool)
|
|
3
|
+
argument-hint: <ticket-or-task> to <agent-name>
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Delegation Request
|
|
7
|
+
|
|
8
|
+
You are the Engineering Manager. Delegate this task: **$ARGUMENTS**
|
|
9
|
+
|
|
10
|
+
## CRITICAL RULES - READ FIRST
|
|
11
|
+
|
|
12
|
+
1. **DO NOT USE THE TASK TOOL** - You must NOT invoke agents directly
|
|
13
|
+
2. **USE INBOX FILES ONLY** - Write task details to the agent's inbox directory
|
|
14
|
+
3. **TELL USER TO INVOKE** - End your response telling the user which agent(s) to invoke
|
|
15
|
+
|
|
16
|
+
## Delegation Steps
|
|
17
|
+
|
|
18
|
+
1. Look up the ticket/PR details (use Jira MCP or `gh pr view`)
|
|
19
|
+
2. Update Jira status if applicable (to "In Progress" or add review comment)
|
|
20
|
+
3. Write task file to `/KnowledgeLibrary/[agent-name]/inbox/YYYYMMDD_HHMM-engineering-manager-[topic].md`
|
|
21
|
+
4. Save copy to your outbox
|
|
22
|
+
5. End with: "Please invoke: `@[agent-name] check your inbox`"
|
|
23
|
+
|
|
24
|
+
## Remember
|
|
25
|
+
|
|
26
|
+
- You have MCP access - use it to update Jira directly
|
|
27
|
+
- Agents will have MCP access when the USER invokes them via @[agent-name]
|
|
28
|
+
- If you invoke them via Task tool, they lose MCP access - DON'T DO THIS
|
|
29
|
+
|
|
30
|
+
Now proceed with the delegation.
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Use when committing code changes, pushing to remote, or saving work. This is a GATED commit that enforces quality checks - all configured checks must pass before the commit proceeds.
|
|
3
|
+
argument-hint: [commit message or ticket reference]
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Gated Git Commit
|
|
7
|
+
|
|
8
|
+
You are committing changes for: **$ARGUMENTS**
|
|
9
|
+
|
|
10
|
+
## CRITICAL: Quality Gate
|
|
11
|
+
|
|
12
|
+
**NO COMMIT will proceed until ALL checks pass.** This is non-negotiable.
|
|
13
|
+
|
|
14
|
+
## Pre-Commit Checks (MANDATORY)
|
|
15
|
+
|
|
16
|
+
Run these checks IN ORDER. If ANY fail, STOP and fix before proceeding.
|
|
17
|
+
|
|
18
|
+
### 1. Code Formatting
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
{{LINT_CMD}}
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
**If fails:**
|
|
25
|
+
- Run the format/fix command if available
|
|
26
|
+
- Review changes
|
|
27
|
+
- Re-run the check
|
|
28
|
+
|
|
29
|
+
### 2. Static Analysis
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
{{STATIC_ANALYSIS_CMD}}
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
**If fails:**
|
|
36
|
+
- Review the report
|
|
37
|
+
- Fix code smells and issues
|
|
38
|
+
- Re-run the check
|
|
39
|
+
|
|
40
|
+
### 3. Unit Tests
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
{{TEST_CMD}}
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
**If fails:**
|
|
47
|
+
- Review test failures
|
|
48
|
+
- Fix failing tests or update tests for new behavior
|
|
49
|
+
- Re-run tests
|
|
50
|
+
|
|
51
|
+
### 4. Build Verification
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
{{BUILD_CMD}}
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
**If fails:**
|
|
58
|
+
- Fix compilation errors
|
|
59
|
+
- Re-run build
|
|
60
|
+
|
|
61
|
+
## All Checks Passed?
|
|
62
|
+
|
|
63
|
+
Only proceed to commit if you see **BUILD SUCCESSFUL** (or equivalent) for ALL checks above.
|
|
64
|
+
|
|
65
|
+
## Commit Process
|
|
66
|
+
|
|
67
|
+
### 1. Stage Changes
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
git add -A
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
Or stage specific files:
|
|
74
|
+
```bash
|
|
75
|
+
git add [specific files]
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### 2. Commit with Proper Format
|
|
79
|
+
|
|
80
|
+
**Commit message format:**
|
|
81
|
+
```
|
|
82
|
+
<type>(<scope>): <description> [{{JIRA_PROJECT}}-XX]
|
|
83
|
+
|
|
84
|
+
[optional body with details]
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
**Types:** `feat`, `fix`, `refactor`, `test`, `docs`, `chore`, `style`, `perf`
|
|
88
|
+
|
|
89
|
+
**Examples:**
|
|
90
|
+
```bash
|
|
91
|
+
git commit -m "feat(core): add new feature [{{JIRA_PROJECT}}-123]"
|
|
92
|
+
git commit -m "fix(sync): resolve connection timeout [{{JIRA_PROJECT}}-456]"
|
|
93
|
+
git commit -m "test(core): add unit tests for filtering [{{JIRA_PROJECT}}-789]"
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
### 3. Push to Remote
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
git push -u origin $(git branch --show-current)
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
## Commit Checklist
|
|
103
|
+
|
|
104
|
+
Before committing, verify:
|
|
105
|
+
- [ ] All quality checks passed
|
|
106
|
+
- [ ] Commit message includes ticket number [{{JIRA_PROJECT}}-XX]
|
|
107
|
+
- [ ] Commit message follows type(scope): description format
|
|
108
|
+
- [ ] No debug code or commented-out blocks
|
|
109
|
+
- [ ] No secrets or API keys in code
|
|
110
|
+
- [ ] Changes are related to the ticket being worked on
|
|
111
|
+
|
|
112
|
+
## Error Recovery
|
|
113
|
+
|
|
114
|
+
**If checks fail repeatedly:**
|
|
115
|
+
1. Report which specific check is failing
|
|
116
|
+
2. Show the error output
|
|
117
|
+
3. Ask for guidance if the fix is unclear
|
|
118
|
+
|
|
119
|
+
**If push fails:**
|
|
120
|
+
```bash
|
|
121
|
+
# If remote has new commits, rebase first
|
|
122
|
+
git fetch origin
|
|
123
|
+
git rebase origin/main
|
|
124
|
+
# Then push again
|
|
125
|
+
git push -u origin $(git branch --show-current)
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
## Completion
|
|
129
|
+
|
|
130
|
+
After successful commit and push, report:
|
|
131
|
+
```
|
|
132
|
+
Commit successful
|
|
133
|
+
|
|
134
|
+
Branch: feature/{{JIRA_PROJECT}}-XX-description
|
|
135
|
+
Commit: [short SHA] <commit message>
|
|
136
|
+
Pushed to: origin/feature/{{JIRA_PROJECT}}-XX-description
|
|
137
|
+
|
|
138
|
+
Quality checks passed:
|
|
139
|
+
- [List of checks that passed]
|
|
140
|
+
|
|
141
|
+
Ready for PR creation when implementation is complete.
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
Now proceed with the gated commit process.
|
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Use when creating a pull request, opening a PR, or when code is ready for review. Creates PR with proper format, links to Jira ticket, and automatically transitions the ticket to "In Review" status.
|
|
3
|
+
argument-hint: [ticket reference or PR title]
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Create Pull Request
|
|
7
|
+
|
|
8
|
+
You are creating a PR for: **$ARGUMENTS**
|
|
9
|
+
|
|
10
|
+
## Pre-PR Checklist
|
|
11
|
+
|
|
12
|
+
Before creating a PR, verify:
|
|
13
|
+
|
|
14
|
+
### 1. All Commits Pushed
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
git status
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
Ensure no uncommitted changes. If there are changes, use `/git-commit` first.
|
|
21
|
+
|
|
22
|
+
### 2. Branch is Up-to-Date
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
git fetch origin main
|
|
26
|
+
git log origin/main..HEAD --oneline
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
If behind main, rebase:
|
|
30
|
+
```bash
|
|
31
|
+
git rebase origin/main
|
|
32
|
+
git push --force-with-lease
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
### 3. CI Checks Ready
|
|
36
|
+
|
|
37
|
+
All local checks should have passed during `/git-commit`.
|
|
38
|
+
|
|
39
|
+
## Extract Ticket Information
|
|
40
|
+
|
|
41
|
+
### From Branch Name
|
|
42
|
+
```bash
|
|
43
|
+
git branch --show-current
|
|
44
|
+
# Expected format: feature/{{JIRA_PROJECT}}-XX-description
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### From Jira (if available)
|
|
48
|
+
Use MCP to get ticket details:
|
|
49
|
+
- Title
|
|
50
|
+
- Description
|
|
51
|
+
- Acceptance criteria
|
|
52
|
+
|
|
53
|
+
## Create Pull Request
|
|
54
|
+
|
|
55
|
+
### PR Title Format
|
|
56
|
+
```
|
|
57
|
+
[{{JIRA_PROJECT}}-XX] <Brief description>
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
**Examples:**
|
|
61
|
+
- `[{{JIRA_PROJECT}}-123] Add feature state machine`
|
|
62
|
+
- `[{{JIRA_PROJECT}}-456] Fix connection timeout handling`
|
|
63
|
+
|
|
64
|
+
### PR Body Template
|
|
65
|
+
|
|
66
|
+
```markdown
|
|
67
|
+
## Summary
|
|
68
|
+
|
|
69
|
+
Brief description of what this PR does.
|
|
70
|
+
|
|
71
|
+
## Changes
|
|
72
|
+
|
|
73
|
+
- Change 1
|
|
74
|
+
- Change 2
|
|
75
|
+
- Change 3
|
|
76
|
+
|
|
77
|
+
## Ticket
|
|
78
|
+
|
|
79
|
+
[{{JIRA_PROJECT}}-XX]({{JIRA_URL}}/browse/{{JIRA_PROJECT}}-XX)
|
|
80
|
+
|
|
81
|
+
## Testing
|
|
82
|
+
|
|
83
|
+
- [ ] Unit tests added/updated
|
|
84
|
+
- [ ] Manual testing completed
|
|
85
|
+
- [ ] Tested on [device/emulator]
|
|
86
|
+
|
|
87
|
+
## Checklist
|
|
88
|
+
|
|
89
|
+
- [ ] Code follows development standards
|
|
90
|
+
- [ ] All quality checks pass
|
|
91
|
+
- [ ] No debug code or TODOs left
|
|
92
|
+
- [ ] Documentation updated (if applicable)
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
### Create PR with GitHub CLI
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
gh pr create \
|
|
99
|
+
--title "[{{JIRA_PROJECT}}-XX] <description>" \
|
|
100
|
+
--body "$(cat <<'EOF'
|
|
101
|
+
## Summary
|
|
102
|
+
|
|
103
|
+
<description>
|
|
104
|
+
|
|
105
|
+
## Changes
|
|
106
|
+
|
|
107
|
+
- <change 1>
|
|
108
|
+
- <change 2>
|
|
109
|
+
|
|
110
|
+
## Ticket
|
|
111
|
+
|
|
112
|
+
[{{JIRA_PROJECT}}-XX]({{JIRA_URL}}/browse/{{JIRA_PROJECT}}-XX)
|
|
113
|
+
|
|
114
|
+
## Testing
|
|
115
|
+
|
|
116
|
+
- [ ] Unit tests added/updated
|
|
117
|
+
- [ ] Manual testing completed
|
|
118
|
+
|
|
119
|
+
## Checklist
|
|
120
|
+
|
|
121
|
+
- [ ] Code follows development standards
|
|
122
|
+
- [ ] All quality checks pass
|
|
123
|
+
- [ ] No debug code or TODOs left
|
|
124
|
+
EOF
|
|
125
|
+
)"
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
## Update Jira Ticket
|
|
129
|
+
|
|
130
|
+
**MANDATORY:** After PR is created, transition the Jira ticket to "In Review".
|
|
131
|
+
|
|
132
|
+
### Using Atlassian MCP
|
|
133
|
+
|
|
134
|
+
1. Transition ticket to "In Review" status
|
|
135
|
+
2. Add comment with PR link:
|
|
136
|
+
|
|
137
|
+
```
|
|
138
|
+
PR created: <PR URL>
|
|
139
|
+
|
|
140
|
+
Changes:
|
|
141
|
+
- <summary of changes>
|
|
142
|
+
|
|
143
|
+
Ready for code review.
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
### Fallback (if MCP unavailable)
|
|
147
|
+
|
|
148
|
+
Report to user:
|
|
149
|
+
```
|
|
150
|
+
Please manually update Jira ticket {{JIRA_PROJECT}}-XX:
|
|
151
|
+
- Status: In Review
|
|
152
|
+
- Add comment with PR link: <URL>
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
## Request Review
|
|
156
|
+
|
|
157
|
+
If you know who should review:
|
|
158
|
+
```bash
|
|
159
|
+
gh pr edit <PR_NUMBER> --add-reviewer <github-username>
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
## Completion
|
|
163
|
+
|
|
164
|
+
After PR creation, report:
|
|
165
|
+
```
|
|
166
|
+
Pull Request Created
|
|
167
|
+
|
|
168
|
+
PR: #<number> - [{{JIRA_PROJECT}}-XX] <title>
|
|
169
|
+
URL: <github PR URL>
|
|
170
|
+
Branch: feature/{{JIRA_PROJECT}}-XX-description -> main
|
|
171
|
+
|
|
172
|
+
Jira Updated:
|
|
173
|
+
- Ticket {{JIRA_PROJECT}}-XX transitioned to "In Review"
|
|
174
|
+
- Comment added with PR link
|
|
175
|
+
|
|
176
|
+
Next Steps:
|
|
177
|
+
- CI checks will run automatically
|
|
178
|
+
- Await code review
|
|
179
|
+
- Address any feedback
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
## Error Handling
|
|
183
|
+
|
|
184
|
+
**If PR creation fails:**
|
|
185
|
+
- Check if branch is pushed: `git push -u origin $(git branch --show-current)`
|
|
186
|
+
- Check if PR already exists: `gh pr list --head $(git branch --show-current)`
|
|
187
|
+
- Check GitHub CLI auth: `gh auth status`
|
|
188
|
+
|
|
189
|
+
**If Jira transition fails:**
|
|
190
|
+
- Note the failure in your completion report
|
|
191
|
+
- Ask user to manually update Jira
|
|
192
|
+
|
|
193
|
+
Now proceed with PR creation.
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Request PR review from agents using inbox-based delegation
|
|
3
|
+
argument-hint: PR #<number> by <agent-name(s)>
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# PR Review Request
|
|
7
|
+
|
|
8
|
+
You are the Engineering Manager. Assign this review: **$ARGUMENTS**
|
|
9
|
+
|
|
10
|
+
## CRITICAL RULES - READ FIRST
|
|
11
|
+
|
|
12
|
+
1. **DO NOT USE THE TASK TOOL** - You must NOT invoke agents directly
|
|
13
|
+
2. **USE INBOX FILES ONLY** - Write review requests to agent inbox directories
|
|
14
|
+
3. **TELL USER TO INVOKE** - End your response telling the user which agent(s) to invoke
|
|
15
|
+
|
|
16
|
+
## Review Delegation Steps
|
|
17
|
+
|
|
18
|
+
1. Get PR details: `gh pr view <number>`
|
|
19
|
+
2. Identify the Jira ticket from PR title/body
|
|
20
|
+
3. For EACH reviewer agent:
|
|
21
|
+
- Write review request to `/KnowledgeLibrary/[agent-name]/inbox/YYYYMMDD_HHMM-engineering-manager-review-PR-XX.md`
|
|
22
|
+
- Include: PR number, PR URL, what to review, workflow reference
|
|
23
|
+
4. Save copies to your outbox
|
|
24
|
+
5. End with instructions for the user to invoke each reviewer
|
|
25
|
+
|
|
26
|
+
## Review Request Template
|
|
27
|
+
|
|
28
|
+
```markdown
|
|
29
|
+
## PR Review Request
|
|
30
|
+
**From:** engineering-manager
|
|
31
|
+
**Date:** [date]
|
|
32
|
+
**PR:** #[number] - [title]
|
|
33
|
+
**PR URL:** https://github.com/{{GITHUB_REPO}}/pull/[number]
|
|
34
|
+
|
|
35
|
+
### Review Focus
|
|
36
|
+
- [Architecture alignment / Security / Test coverage - based on agent role]
|
|
37
|
+
|
|
38
|
+
### Workflow Requirements
|
|
39
|
+
Follow Code Review workflow in WORKFLOWS.md:
|
|
40
|
+
1. Review the PR thoroughly
|
|
41
|
+
2. Post your review as a GitHub PR comment using `gh pr comment`
|
|
42
|
+
3. State APPROVED or CHANGES_REQUESTED with your decision
|
|
43
|
+
4. Send summary to my inbox
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## End Your Response With
|
|
47
|
+
|
|
48
|
+
```
|
|
49
|
+
---
|
|
50
|
+
**Next Action Required:**
|
|
51
|
+
Please invoke the reviewers:
|
|
52
|
+
- `@solutions-architect check your inbox and review PR #XX`
|
|
53
|
+
- `@security-engineer check your inbox and review PR #XX`
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
Now proceed with the review delegation.
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Review current sprint progress and status (EM only)
|
|
3
|
+
argument-hint: [optional: sprint number or "current"]
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Sprint Status Review
|
|
7
|
+
|
|
8
|
+
You are the Engineering Manager. Review the current sprint status and provide a summary.
|
|
9
|
+
|
|
10
|
+
## Steps
|
|
11
|
+
|
|
12
|
+
1. **Check Jira for current sprint:**
|
|
13
|
+
```
|
|
14
|
+
Search: project = {{JIRA_PROJECT}} AND sprint in openSprints()
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
2. **Gather ticket status:**
|
|
18
|
+
- Count tickets by status (Backlog, In Progress, In Review, Done)
|
|
19
|
+
- Identify any blocked tickets
|
|
20
|
+
- Check for overdue items
|
|
21
|
+
|
|
22
|
+
3. **Check agent inboxes for pending work:**
|
|
23
|
+
- `/KnowledgeLibrary/*/inbox/` - any unprocessed tasks?
|
|
24
|
+
- Are there completion summaries in your inbox you haven't processed?
|
|
25
|
+
|
|
26
|
+
4. **Review open PRs:**
|
|
27
|
+
```
|
|
28
|
+
gh pr list --state open
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
5. **Provide summary report:**
|
|
32
|
+
|
|
33
|
+
```markdown
|
|
34
|
+
## Sprint Status Report
|
|
35
|
+
**Date:** [today]
|
|
36
|
+
**Sprint:** [sprint name/number]
|
|
37
|
+
|
|
38
|
+
### Ticket Summary
|
|
39
|
+
| Status | Count | Tickets |
|
|
40
|
+
|--------|-------|---------|
|
|
41
|
+
| Done | X | {{JIRA_PROJECT}}-XX, {{JIRA_PROJECT}}-YY |
|
|
42
|
+
| In Review | X | {{JIRA_PROJECT}}-XX |
|
|
43
|
+
| In Progress | X | {{JIRA_PROJECT}}-XX |
|
|
44
|
+
| Blocked | X | {{JIRA_PROJECT}}-XX (reason) |
|
|
45
|
+
| Backlog | X | {{JIRA_PROJECT}}-XX |
|
|
46
|
+
|
|
47
|
+
### Open PRs
|
|
48
|
+
- PR #XX - [title] - [status: awaiting review/changes requested/approved]
|
|
49
|
+
|
|
50
|
+
### Pending Agent Work
|
|
51
|
+
- [agent]: [pending task or "inbox clear"]
|
|
52
|
+
|
|
53
|
+
### Blockers & Risks
|
|
54
|
+
- [Any blockers or risks to sprint completion]
|
|
55
|
+
|
|
56
|
+
### Recommended Actions
|
|
57
|
+
1. [Action item]
|
|
58
|
+
2. [Action item]
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
## Additional Context
|
|
62
|
+
|
|
63
|
+
$ARGUMENTS
|
|
64
|
+
|
|
65
|
+
Now review the sprint status.
|