@silverassist/agents-toolkit 2.0.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/LICENSE +135 -0
- package/README.md +388 -0
- package/bin/cli.js +940 -0
- package/package.json +52 -0
- package/src/index.js +58 -0
- package/templates/agents/AGENTS.codex.md +195 -0
- package/templates/agents/AGENTS.md +195 -0
- package/templates/agents/CLAUDE.md +213 -0
- package/templates/agents/copilot-instructions.md +83 -0
- package/templates/shared/instructions/css-styling.instructions.md +142 -0
- package/templates/shared/instructions/documentation-language.instructions.md +216 -0
- package/templates/shared/instructions/github-workflow.instructions.md +245 -0
- package/templates/shared/instructions/php-standards.instructions.md +293 -0
- package/templates/shared/instructions/react-components.instructions.md +196 -0
- package/templates/shared/instructions/server-actions.instructions.md +429 -0
- package/templates/shared/instructions/testing-standards.instructions.md +264 -0
- package/templates/shared/instructions/tests.instructions.md +103 -0
- package/templates/shared/instructions/typescript.instructions.md +106 -0
- package/templates/shared/instructions/wordpress-plugin-architecture.instructions.md +238 -0
- package/templates/shared/prompts/README.md +129 -0
- package/templates/shared/prompts/_partials/README.md +57 -0
- package/templates/shared/prompts/_partials/documentation.md +203 -0
- package/templates/shared/prompts/_partials/git-operations.md +171 -0
- package/templates/shared/prompts/_partials/github-integration.md +100 -0
- package/templates/shared/prompts/_partials/jira-integration.md +155 -0
- package/templates/shared/prompts/_partials/pr-template.md +216 -0
- package/templates/shared/prompts/_partials/validations.md +87 -0
- package/templates/shared/prompts/add-tests.prompt.md +151 -0
- package/templates/shared/prompts/analyze-github-issue.prompt.md +73 -0
- package/templates/shared/prompts/analyze-ticket.prompt.md +63 -0
- package/templates/shared/prompts/create-plan.prompt.md +118 -0
- package/templates/shared/prompts/create-pr.prompt.md +139 -0
- package/templates/shared/prompts/finalize-pr.prompt.md +150 -0
- package/templates/shared/prompts/fix-issues.prompt.md +92 -0
- package/templates/shared/prompts/new-wp-component.prompt.md +51 -0
- package/templates/shared/prompts/new-wp-plugin.prompt.md +46 -0
- package/templates/shared/prompts/prepare-pr.prompt.md +123 -0
- package/templates/shared/prompts/prepare-release.prompt.md +74 -0
- package/templates/shared/prompts/quality-check.prompt.md +45 -0
- package/templates/shared/prompts/review-code.prompt.md +81 -0
- package/templates/shared/prompts/work-github-issue.prompt.md +96 -0
- package/templates/shared/prompts/work-ticket.prompt.md +98 -0
- package/templates/shared/skills/README.md +53 -0
- package/templates/shared/skills/component-architecture/SKILL.md +321 -0
- package/templates/shared/skills/create-component/SKILL.md +714 -0
- package/templates/shared/skills/domain-driven-design/SKILL.md +277 -0
- package/templates/shared/skills/plugin-creation/SKILL.md +1094 -0
- package/templates/shared/skills/quality-checks/SKILL.md +493 -0
- package/templates/shared/skills/release-management/SKILL.md +649 -0
- package/templates/shared/skills/testing/SKILL.md +682 -0
- package/templates/shared/skills/testing-patterns/SKILL.md +243 -0
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
---
|
|
2
|
+
agent: agent
|
|
3
|
+
description: Analyze a Jira ticket without creating branches or making changes
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Analyze Jira Ticket
|
|
7
|
+
|
|
8
|
+
Analyze Jira ticket **{ticket-id}** and provide a comprehensive assessment without making any code changes.
|
|
9
|
+
|
|
10
|
+
## Prerequisites
|
|
11
|
+
- Atlassian MCP connection is required
|
|
12
|
+
- Reference: `.github/prompts/_partials/jira-integration.md`
|
|
13
|
+
|
|
14
|
+
## Steps
|
|
15
|
+
|
|
16
|
+
### 1. Verify Jira Access
|
|
17
|
+
- Use `getAccessibleAtlassianResources` to confirm connectivity
|
|
18
|
+
- Get the correct cloud ID for subsequent calls
|
|
19
|
+
|
|
20
|
+
### 2. Fetch Ticket Details
|
|
21
|
+
- Use `getJiraIssue` with ticket **{ticket-id}**
|
|
22
|
+
- Request fields: `summary`, `description`, `status`, `issuetype`, `priority`, `assignee`
|
|
23
|
+
- Read all comments for additional context
|
|
24
|
+
|
|
25
|
+
### 3. Analyze Codebase Impact
|
|
26
|
+
- Search the codebase for related components
|
|
27
|
+
- Identify files likely to be modified
|
|
28
|
+
- Check for existing implementations or patterns
|
|
29
|
+
|
|
30
|
+
### 4. Generate Report
|
|
31
|
+
|
|
32
|
+
Provide the following structured analysis:
|
|
33
|
+
|
|
34
|
+
#### 📋 Summary
|
|
35
|
+
Brief overview of what needs to be done.
|
|
36
|
+
|
|
37
|
+
#### ✅ Acceptance Criteria
|
|
38
|
+
- [ ] Criterion 1
|
|
39
|
+
- [ ] Criterion 2
|
|
40
|
+
- [ ] Criterion 3
|
|
41
|
+
|
|
42
|
+
#### 🔍 Technical Impact
|
|
43
|
+
| Area | Files/Components | Impact Level |
|
|
44
|
+
|------|------------------|--------------|
|
|
45
|
+
| Components | list | High/Medium/Low |
|
|
46
|
+
| Actions | list | High/Medium/Low |
|
|
47
|
+
| Types | list | High/Medium/Low |
|
|
48
|
+
|
|
49
|
+
#### 📊 Complexity Estimate
|
|
50
|
+
- **Level**: Simple / Medium / Complex
|
|
51
|
+
- **Estimated time**: X hours/days
|
|
52
|
+
- **Reasoning**: Why this complexity level
|
|
53
|
+
|
|
54
|
+
#### ⚠️ Risks & Blockers
|
|
55
|
+
- Risk 1: Description and mitigation
|
|
56
|
+
- Risk 2: Description and mitigation
|
|
57
|
+
|
|
58
|
+
#### 🔗 Related
|
|
59
|
+
- Related tickets or documentation
|
|
60
|
+
- Similar implementations in codebase
|
|
61
|
+
|
|
62
|
+
## Output Format
|
|
63
|
+
Present findings in a clear, structured format that can be referenced during implementation.
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
---
|
|
2
|
+
agent: agent
|
|
3
|
+
description: Create a detailed implementation plan for a feature
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Create Implementation Plan
|
|
7
|
+
|
|
8
|
+
Create a detailed implementation plan for: **{feature-description}**
|
|
9
|
+
|
|
10
|
+
## Prerequisites
|
|
11
|
+
- Reference: `.github/prompts/_partials/documentation.md` for plan template
|
|
12
|
+
- Reference: `AGENTS.md` for agent workflow conventions
|
|
13
|
+
- Reference: `.github/copilot-instructions.md` (if present) for additional project conventions
|
|
14
|
+
|
|
15
|
+
## Steps
|
|
16
|
+
|
|
17
|
+
### 1. Analyze Request
|
|
18
|
+
- Break down the feature into components
|
|
19
|
+
- Identify affected areas of the codebase
|
|
20
|
+
- Search for related implementations
|
|
21
|
+
|
|
22
|
+
### 2. Research Current State
|
|
23
|
+
- Read relevant source files
|
|
24
|
+
- Understand current architecture
|
|
25
|
+
- Document existing patterns
|
|
26
|
+
|
|
27
|
+
### 3. Create Planning Document
|
|
28
|
+
|
|
29
|
+
Save to: `docs/{feature-name}-plan.md`
|
|
30
|
+
|
|
31
|
+
Include these sections:
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
# {Feature Name} Implementation Plan
|
|
36
|
+
|
|
37
|
+
## Problem Statement
|
|
38
|
+
What problem are we solving? Why is this change needed?
|
|
39
|
+
|
|
40
|
+
## Current Architecture
|
|
41
|
+
- How does the current system work?
|
|
42
|
+
- What components are involved?
|
|
43
|
+
- What are the limitations?
|
|
44
|
+
|
|
45
|
+
## Proposed Changes
|
|
46
|
+
|
|
47
|
+
### Overview
|
|
48
|
+
High-level description of the solution.
|
|
49
|
+
|
|
50
|
+
### Technical Approach
|
|
51
|
+
- Component 1: Changes needed
|
|
52
|
+
- Component 2: Changes needed
|
|
53
|
+
- New components to create
|
|
54
|
+
|
|
55
|
+
### API Changes
|
|
56
|
+
If applicable, document any API changes.
|
|
57
|
+
|
|
58
|
+
## Risk Assessment
|
|
59
|
+
|
|
60
|
+
| Risk | Probability | Impact | Mitigation |
|
|
61
|
+
|------|-------------|--------|------------|
|
|
62
|
+
| Risk 1 | Low/Med/High | Low/Med/High | Strategy |
|
|
63
|
+
| Risk 2 | Low/Med/High | Low/Med/High | Strategy |
|
|
64
|
+
|
|
65
|
+
## Phase Breakdown
|
|
66
|
+
|
|
67
|
+
### Phase 1: {Phase Name}
|
|
68
|
+
**Objective**: What this phase accomplishes
|
|
69
|
+
|
|
70
|
+
- [ ] Task 1
|
|
71
|
+
- [ ] Task 2
|
|
72
|
+
- [ ] Task 3
|
|
73
|
+
|
|
74
|
+
**Validation**: How to verify this phase is complete
|
|
75
|
+
|
|
76
|
+
### Phase 2: {Phase Name}
|
|
77
|
+
**Objective**: What this phase accomplishes
|
|
78
|
+
|
|
79
|
+
- [ ] Task 1
|
|
80
|
+
- [ ] Task 2
|
|
81
|
+
|
|
82
|
+
**Validation**: How to verify this phase is complete
|
|
83
|
+
|
|
84
|
+
## Testing Strategy
|
|
85
|
+
|
|
86
|
+
### Unit Tests
|
|
87
|
+
- Test case 1
|
|
88
|
+
- Test case 2
|
|
89
|
+
|
|
90
|
+
### Integration Tests
|
|
91
|
+
- Scenario 1
|
|
92
|
+
- Scenario 2
|
|
93
|
+
|
|
94
|
+
### Manual Testing
|
|
95
|
+
- Steps to manually verify
|
|
96
|
+
|
|
97
|
+
## Rollback Plan
|
|
98
|
+
How to revert changes if issues arise.
|
|
99
|
+
|
|
100
|
+
## Dependencies
|
|
101
|
+
- External dependencies
|
|
102
|
+
- Internal dependencies
|
|
103
|
+
- Team coordination needed
|
|
104
|
+
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
### 4. Commit Plan
|
|
108
|
+
|
|
109
|
+
```bash
|
|
110
|
+
git add docs/{feature-name}-plan.md
|
|
111
|
+
# Prefer Jira-prefixed commit messages when ticket ID is known
|
|
112
|
+
git commit -m "{ticket-id}: Add {feature-name} implementation plan"
|
|
113
|
+
# Fallback when no ticket ID is available:
|
|
114
|
+
# git commit -m "docs: Add {feature-name} implementation plan"
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
## Output
|
|
118
|
+
The planning document at `docs/{feature-name}-plan.md` ready for implementation.
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
---
|
|
2
|
+
agent: agent
|
|
3
|
+
description: Create a pull request for the current branch
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Create Pull Request
|
|
7
|
+
|
|
8
|
+
Create a pull request for the current branch linked to Jira ticket **{ticket-id}**.
|
|
9
|
+
|
|
10
|
+
## Prerequisites
|
|
11
|
+
- Run `prepare-pr` first to ensure code is ready
|
|
12
|
+
- Reference: `.github/prompts/_partials/pr-template.md`
|
|
13
|
+
- Reference: `.github/prompts/_partials/git-operations.md`
|
|
14
|
+
- Reference: `.github/prompts/_partials/jira-integration.md`
|
|
15
|
+
|
|
16
|
+
## Steps
|
|
17
|
+
|
|
18
|
+
### 1. Verify Current State
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
git branch --show-current
|
|
22
|
+
git status
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Verify:
|
|
26
|
+
- Branch follows convention: `feature/{ticket-id}-*` or `bugfix/{ticket-id}-*`
|
|
27
|
+
- All changes are committed
|
|
28
|
+
- Not on protected branch
|
|
29
|
+
|
|
30
|
+
### 2. Review Changes
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
BASE_BRANCH=$(node -e "try{const c=require('./.agents-toolkit.json');console.log(c.pr?.targetBranch||c.git?.defaultBranch||'main')}catch{console.log('main')}")
|
|
34
|
+
git diff "$BASE_BRANCH" --name-only
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
- Reuse `BASE_BRANCH` in all subsequent steps
|
|
38
|
+
- Summarize the changes made
|
|
39
|
+
- Identify breaking changes or migrations
|
|
40
|
+
|
|
41
|
+
### 3. Read Jira Ticket
|
|
42
|
+
|
|
43
|
+
Fetch ticket **{ticket-id}** details:
|
|
44
|
+
- Get summary for PR title
|
|
45
|
+
- Extract acceptance criteria
|
|
46
|
+
- Get any context from comments
|
|
47
|
+
|
|
48
|
+
### 4. Run Final Validations
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
npm run lint --if-present
|
|
52
|
+
npm run type-check --if-present
|
|
53
|
+
if [ -f tsconfig.json ]; then npx tsc --noEmit; fi
|
|
54
|
+
npm run test --if-present
|
|
55
|
+
npm run build --if-present
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
Fix any issues before proceeding.
|
|
59
|
+
|
|
60
|
+
### 5. Push Branch
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
git push -u origin $(git branch --show-current)
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### 6. Create Pull Request
|
|
67
|
+
|
|
68
|
+
#### PR Title
|
|
69
|
+
```
|
|
70
|
+
{ticket-id}: {Ticket Summary}
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
#### PR Description
|
|
74
|
+
|
|
75
|
+
Use this template:
|
|
76
|
+
|
|
77
|
+
```markdown
|
|
78
|
+
## Summary
|
|
79
|
+
Brief description of what this PR accomplishes.
|
|
80
|
+
|
|
81
|
+
## Jira Ticket
|
|
82
|
+
[{ticket-id}](https://your-org.atlassian.net/browse/{ticket-id})
|
|
83
|
+
|
|
84
|
+
## Changes Made
|
|
85
|
+
- Change 1: Description
|
|
86
|
+
- Change 2: Description
|
|
87
|
+
- Change 3: Description
|
|
88
|
+
|
|
89
|
+
## Type of Change
|
|
90
|
+
- [ ] 🐛 Bug fix
|
|
91
|
+
- [ ] ✨ New feature
|
|
92
|
+
- [ ] 💥 Breaking change
|
|
93
|
+
- [ ] 📝 Documentation
|
|
94
|
+
- [ ] 🔧 Refactoring
|
|
95
|
+
|
|
96
|
+
## Testing
|
|
97
|
+
- [ ] Unit tests added/updated
|
|
98
|
+
- [ ] Manual testing performed
|
|
99
|
+
- Describe test cases here
|
|
100
|
+
|
|
101
|
+
## Screenshots
|
|
102
|
+
(If UI changes, add before/after screenshots)
|
|
103
|
+
|
|
104
|
+
## Checklist
|
|
105
|
+
- [ ] Code follows project style guidelines
|
|
106
|
+
- [ ] Self-review completed
|
|
107
|
+
- [ ] Documentation updated
|
|
108
|
+
- [ ] Tests pass locally
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
#### PR Settings
|
|
112
|
+
- **Source**: Current branch
|
|
113
|
+
- **Target**: `<base-branch>` resolved from `.agents-toolkit.json` (fallback: `main`)
|
|
114
|
+
- **Reviewers**: Based on changed files
|
|
115
|
+
|
|
116
|
+
### 7. Link PR to Jira
|
|
117
|
+
|
|
118
|
+
Add comment to Jira ticket:
|
|
119
|
+
```markdown
|
|
120
|
+
## Pull Request Created
|
|
121
|
+
- PR: [PR Title](PR_URL)
|
|
122
|
+
- Target: `<base-branch>` branch
|
|
123
|
+
- Reviewers: @assigned-reviewers
|
|
124
|
+
|
|
125
|
+
## Changes
|
|
126
|
+
- Summary of changes made
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
## Output
|
|
130
|
+
|
|
131
|
+
Report:
|
|
132
|
+
1. ✅ PR URL
|
|
133
|
+
2. ✅ Jira ticket linked
|
|
134
|
+
3. ✅ Reviewers assigned
|
|
135
|
+
|
|
136
|
+
## Next Steps
|
|
137
|
+
- Wait for review
|
|
138
|
+
- Address feedback
|
|
139
|
+
- Use `finalize-pr` after approval
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
---
|
|
2
|
+
agent: agent
|
|
3
|
+
description: Finalize a pull request after approval and prepare for merge
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Finalize Pull Request
|
|
7
|
+
|
|
8
|
+
Finalize PR for Jira ticket **{ticket-id}** after approval and prepare for merge.
|
|
9
|
+
|
|
10
|
+
## Prerequisites
|
|
11
|
+
- PR has been approved
|
|
12
|
+
- Reference: `.github/prompts/_partials/git-operations.md`
|
|
13
|
+
- Reference: `.github/prompts/_partials/validations.md`
|
|
14
|
+
- Reference: `.github/prompts/_partials/jira-integration.md`
|
|
15
|
+
|
|
16
|
+
## Steps
|
|
17
|
+
|
|
18
|
+
### 1. Verify PR Status
|
|
19
|
+
|
|
20
|
+
Check:
|
|
21
|
+
- All required approvals in place
|
|
22
|
+
- CI/CD pipeline passed
|
|
23
|
+
- No unresolved review comments
|
|
24
|
+
|
|
25
|
+
### 2. Address Review Comments
|
|
26
|
+
|
|
27
|
+
If there are unresolved comments:
|
|
28
|
+
- List each comment
|
|
29
|
+
- Address feedback
|
|
30
|
+
- Push additional commits if needed
|
|
31
|
+
- Request re-review if changes are significant
|
|
32
|
+
|
|
33
|
+
### 3. Sync with Base Branch
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
BASE_BRANCH=$(node -e "try{const c=require('./.agents-toolkit.json');console.log(c.pr?.targetBranch||c.git?.defaultBranch||'main')}catch{console.log('main')}")
|
|
37
|
+
git fetch origin
|
|
38
|
+
git rebase "origin/${BASE_BRANCH}"
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
If conflicts:
|
|
42
|
+
1. Resolve each conflict
|
|
43
|
+
2. Stage resolved files: `git add <file>`
|
|
44
|
+
3. Continue rebase: `git rebase --continue`
|
|
45
|
+
|
|
46
|
+
Push updated branch:
|
|
47
|
+
```bash
|
|
48
|
+
git push --force-with-lease
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### 4. Final Validations
|
|
52
|
+
|
|
53
|
+
Run complete validation suite:
|
|
54
|
+
```bash
|
|
55
|
+
npm run lint --if-present
|
|
56
|
+
npm run type-check --if-present
|
|
57
|
+
if [ -f tsconfig.json ]; then npx tsc --noEmit; fi
|
|
58
|
+
npm run test --if-present
|
|
59
|
+
npm run build --if-present
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
Verify:
|
|
63
|
+
- No regressions after rebase
|
|
64
|
+
- All tests still pass
|
|
65
|
+
- No new warnings
|
|
66
|
+
|
|
67
|
+
### 5. Update Jira Ticket
|
|
68
|
+
|
|
69
|
+
Add comment:
|
|
70
|
+
```markdown
|
|
71
|
+
## Ready for Merge
|
|
72
|
+
- All approvals received
|
|
73
|
+
- CI/CD passed
|
|
74
|
+
- Branch synced with `<base-branch>`
|
|
75
|
+
- Tests passing
|
|
76
|
+
|
|
77
|
+
## Merge Notes
|
|
78
|
+
- Merge strategy: Squash recommended
|
|
79
|
+
- Post-merge: Deploy to staging for QA
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
Transition ticket to appropriate status:
|
|
83
|
+
- "In Review" → "Ready for QA" or
|
|
84
|
+
- "In Review" → "Done" (if no QA needed)
|
|
85
|
+
|
|
86
|
+
### 6. Clean Up
|
|
87
|
+
|
|
88
|
+
- [ ] Delete temporary planning docs from `docs/` (if applicable)
|
|
89
|
+
- [ ] Ensure final documentation is complete
|
|
90
|
+
- [ ] Verify commit history is clean
|
|
91
|
+
|
|
92
|
+
### 7. Prepare Merge
|
|
93
|
+
|
|
94
|
+
**Recommended merge strategy**: Squash merge
|
|
95
|
+
|
|
96
|
+
**Final commit message format**:
|
|
97
|
+
```
|
|
98
|
+
{ticket-id}: {Summary of changes}
|
|
99
|
+
|
|
100
|
+
- Key change 1
|
|
101
|
+
- Key change 2
|
|
102
|
+
- Key change 3
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
### 8. Post-Merge Tasks
|
|
106
|
+
|
|
107
|
+
After merge is complete:
|
|
108
|
+
|
|
109
|
+
```bash
|
|
110
|
+
# Delete local branch
|
|
111
|
+
git checkout "$BASE_BRANCH"
|
|
112
|
+
git pull origin "$BASE_BRANCH"
|
|
113
|
+
git branch -d <branch-name>
|
|
114
|
+
|
|
115
|
+
# Delete remote branch (if not auto-deleted)
|
|
116
|
+
git push origin --delete <branch-name>
|
|
117
|
+
|
|
118
|
+
# Clean up stale references
|
|
119
|
+
git remote prune origin
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
Update Jira:
|
|
123
|
+
- Transition to "Done" or "Ready for QA"
|
|
124
|
+
- Add deployment comment if applicable
|
|
125
|
+
|
|
126
|
+
## Output
|
|
127
|
+
|
|
128
|
+
### Completion Report
|
|
129
|
+
|
|
130
|
+
✅ **Pre-Merge Checklist**
|
|
131
|
+
- [ ] All approvals received
|
|
132
|
+
- [ ] CI/CD passed
|
|
133
|
+
- [ ] Branch synced with base branch
|
|
134
|
+
- [ ] Final validations passed
|
|
135
|
+
- [ ] Documentation complete
|
|
136
|
+
|
|
137
|
+
✅ **Merge Ready**
|
|
138
|
+
- Commit message prepared
|
|
139
|
+
- Merge strategy confirmed
|
|
140
|
+
|
|
141
|
+
✅ **Post-Merge Tasks**
|
|
142
|
+
- [ ] Local branch deleted
|
|
143
|
+
- [ ] Remote branch deleted
|
|
144
|
+
- [ ] Jira ticket updated
|
|
145
|
+
- [ ] Team notified (if needed)
|
|
146
|
+
|
|
147
|
+
## Notes
|
|
148
|
+
- If merge conflicts arise during squash, resolve and complete
|
|
149
|
+
- Notify team if deployment is needed
|
|
150
|
+
- Update related documentation if this was a major feature
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
---
|
|
2
|
+
agent: agent
|
|
3
|
+
description: Fix failing tests and lint errors
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Fix Code Issues
|
|
7
|
+
|
|
8
|
+
Fix failing tests, lint errors, and type errors in the codebase.
|
|
9
|
+
|
|
10
|
+
## Steps
|
|
11
|
+
|
|
12
|
+
### 1. Run All Checks
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
npm run lint --if-present 2>&1 | head -100
|
|
16
|
+
npm run type-check --if-present 2>&1 | head -100
|
|
17
|
+
if [ -f tsconfig.json ]; then npx tsc --noEmit 2>&1 | head -100; fi
|
|
18
|
+
npm run test --if-present 2>&1 | head -100
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
### 2. Categorize Issues
|
|
22
|
+
|
|
23
|
+
Sort issues by type:
|
|
24
|
+
- **Lint errors**: ESLint violations
|
|
25
|
+
- **Type errors**: TypeScript compilation errors
|
|
26
|
+
- **Test failures**: Failed unit tests
|
|
27
|
+
|
|
28
|
+
### 3. Fix Lint Errors
|
|
29
|
+
|
|
30
|
+
#### Auto-fixable
|
|
31
|
+
```bash
|
|
32
|
+
npm run lint --if-present -- --fix
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
#### Manual fixes
|
|
36
|
+
For each remaining lint error:
|
|
37
|
+
1. Read the error message
|
|
38
|
+
2. Locate the file and line
|
|
39
|
+
3. Apply the appropriate fix
|
|
40
|
+
4. Verify fix resolved the issue
|
|
41
|
+
|
|
42
|
+
### 4. Fix Type Errors
|
|
43
|
+
|
|
44
|
+
For each type error:
|
|
45
|
+
1. Read the TypeScript error message
|
|
46
|
+
2. Understand the type mismatch
|
|
47
|
+
3. Apply fix:
|
|
48
|
+
- Add missing type
|
|
49
|
+
- Fix type assertion
|
|
50
|
+
- Update interface
|
|
51
|
+
- Handle null/undefined
|
|
52
|
+
|
|
53
|
+
### 5. Fix Test Failures
|
|
54
|
+
|
|
55
|
+
For each failing test:
|
|
56
|
+
1. Read the test output
|
|
57
|
+
2. Understand what's expected vs actual
|
|
58
|
+
3. Determine if issue is:
|
|
59
|
+
- **Test is wrong**: Update test
|
|
60
|
+
- **Code is wrong**: Fix implementation
|
|
61
|
+
- **Missing mock**: Add mock data
|
|
62
|
+
|
|
63
|
+
### 6. Verify All Fixed
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
npm run lint --if-present
|
|
67
|
+
npm run type-check --if-present
|
|
68
|
+
if [ -f tsconfig.json ]; then npx tsc --noEmit; fi
|
|
69
|
+
npm run test --if-present
|
|
70
|
+
npm run build --if-present
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
## Output
|
|
74
|
+
|
|
75
|
+
### Fixed Issues
|
|
76
|
+
|
|
77
|
+
| Type | Count | Files |
|
|
78
|
+
|------|-------|-------|
|
|
79
|
+
| Lint | N | file1, file2 |
|
|
80
|
+
| Types | N | file3, file4 |
|
|
81
|
+
| Tests | N | test1, test2 |
|
|
82
|
+
|
|
83
|
+
### Remaining Issues
|
|
84
|
+
List any issues that couldn't be auto-fixed.
|
|
85
|
+
|
|
86
|
+
### Changes Made
|
|
87
|
+
Summary of fixes applied.
|
|
88
|
+
|
|
89
|
+
## Notes
|
|
90
|
+
- Always commit after fixing each category
|
|
91
|
+
- Run full validation after all fixes
|
|
92
|
+
- Some issues may require architectural changes
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Scaffold a new component (Service, Controller, View, Model, Repository) in a Silver Assist WordPress plugin
|
|
3
|
+
agent: agent
|
|
4
|
+
tools:
|
|
5
|
+
- run_in_terminal
|
|
6
|
+
- read_file
|
|
7
|
+
- replace_string_in_file
|
|
8
|
+
- create_file
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# New Component
|
|
12
|
+
|
|
13
|
+
Scaffold a new component in the current Silver Assist plugin following the LoadableInterface architecture.
|
|
14
|
+
|
|
15
|
+
## Inputs
|
|
16
|
+
|
|
17
|
+
Ask the user:
|
|
18
|
+
1. **Component type** — Service, Controller, View, Model, or Repository?
|
|
19
|
+
2. **Component name** — e.g., `EmailNotification`, `ReportGenerator`
|
|
20
|
+
3. **Category/subdirectory** — e.g., `Admin`, `Frontend`, `Email` (optional)
|
|
21
|
+
|
|
22
|
+
## Steps
|
|
23
|
+
|
|
24
|
+
1. **Detect plugin** — Find the plugin root, namespace, and existing component structure.
|
|
25
|
+
|
|
26
|
+
2. **Create the component file** — Use the create-component skill templates to generate the class file in the appropriate directory:
|
|
27
|
+
- `includes/Service/` for Services (LoadableInterface, priority 20)
|
|
28
|
+
- `includes/Controller/Admin/` or `includes/Controller/Frontend/` for Controllers (LoadableInterface, priority 30)
|
|
29
|
+
- `includes/View/Admin/` or `includes/View/Frontend/` for Views (static class, no LoadableInterface)
|
|
30
|
+
- `includes/Model/` for Models (plain object, no LoadableInterface)
|
|
31
|
+
- `includes/Repository/` for Repositories (no LoadableInterface, used by Services)
|
|
32
|
+
|
|
33
|
+
3. **Register in Plugin.php** — If the component implements LoadableInterface, add it to the `$components` array in `Plugin.php` with the correct priority.
|
|
34
|
+
|
|
35
|
+
4. **Create test file** — Generate a corresponding test file at `tests/` following the testing conventions:
|
|
36
|
+
- Test class extends the plugin's base `TestCase` (which extends `WP_UnitTestCase`)
|
|
37
|
+
- Use `camelCase` for test methods, `snake_case` for lifecycle methods
|
|
38
|
+
- Include `@group` and `@coversDefaultClass` PHPDoc annotations
|
|
39
|
+
|
|
40
|
+
5. **Verify** — Run PHPCS and PHPStan on the new file:
|
|
41
|
+
```bash
|
|
42
|
+
vendor/bin/phpcs path/to/NewFile.php
|
|
43
|
+
vendor/bin/phpstan analyse path/to/NewFile.php --memory-limit=1G
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## Important
|
|
47
|
+
|
|
48
|
+
- The create-component skill has full templates and MVC flow documentation — use it.
|
|
49
|
+
- Views must NEVER instantiate Services directly. Controllers coordinate Service → View.
|
|
50
|
+
- All public methods must have `@param` and `@return` PHPDoc with concrete types (PHPStan level 8).
|
|
51
|
+
- Use the plugin's text domain for all translatable strings.
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Create a new Silver Assist WordPress plugin from scratch with full architecture and CI/CD
|
|
3
|
+
agent: agent
|
|
4
|
+
tools:
|
|
5
|
+
- run_in_terminal
|
|
6
|
+
- read_file
|
|
7
|
+
- replace_string_in_file
|
|
8
|
+
- create_file
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# New Plugin
|
|
12
|
+
|
|
13
|
+
Scaffold a new Silver Assist WordPress plugin with the standard architecture, quality tools, and CI/CD pipeline.
|
|
14
|
+
|
|
15
|
+
## Inputs
|
|
16
|
+
|
|
17
|
+
Ask the user:
|
|
18
|
+
1. **Plugin name** — Human-readable name (e.g., "Silver Assist Cache Manager")
|
|
19
|
+
2. **Plugin slug** — Kebab-case slug (e.g., `silver-assist-cache-manager`)
|
|
20
|
+
3. **Brief description** — One-line description of the plugin's purpose
|
|
21
|
+
4. **Minimum PHP version** — Default: 8.2
|
|
22
|
+
|
|
23
|
+
## Steps
|
|
24
|
+
|
|
25
|
+
Follow the plugin-creation skill instructions completely. The skill has the full file structure, templates, and configuration for:
|
|
26
|
+
|
|
27
|
+
1. **Core files** — Main plugin file, `Plugin.php` with singleton + LoadableInterface loader, `Activator.php`
|
|
28
|
+
2. **Composer setup** — `composer.json` with PSR-4 autoloading, dev dependencies (PHPCS, PHPStan, PHPUnit)
|
|
29
|
+
3. **Quality configs** — `phpcs.xml`, `phpstan.neon`, `phpunit.xml.dist`
|
|
30
|
+
4. **CI/CD** — GitHub Actions workflows for quality checks and releases
|
|
31
|
+
5. **Scripts** — `build-release.sh`, `run-quality-checks.sh`, `update-version.sh`
|
|
32
|
+
6. **Tests** — Bootstrap, base `TestCase`, first sample test
|
|
33
|
+
7. **Documentation** — `README.md`, `CHANGELOG.md`, `.github/copilot-instructions.md`
|
|
34
|
+
8. **Git setup** — `.gitignore`, initial commit
|
|
35
|
+
|
|
36
|
+
After scaffolding, run quality checks to verify everything works:
|
|
37
|
+
```bash
|
|
38
|
+
composer install
|
|
39
|
+
./scripts/run-quality-checks.sh --skip-wp-setup phpcs phpstan
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Important
|
|
43
|
+
|
|
44
|
+
- Use the plugin-creation skill — it has the complete canonical templates.
|
|
45
|
+
- The `.github/copilot-instructions.md` should contain ONLY plugin-specific context (namespace, text domain, key features). Global standards are handled by `~/.copilot/instructions/`.
|
|
46
|
+
- Pin all GitHub Actions to SHA hashes, not version tags.
|