@syntesseraai/opencode-feature-factory 0.2.2 → 0.2.3
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/package.json +1 -1
- package/src/index.ts +0 -9
- package/src/tools/ffAcceptance.ts +0 -31
- package/src/tools/ffMiniPlan.ts +0 -28
- package/src/tools/ffReview.ts +0 -28
- package/src/tools/ffSecurity.ts +0 -28
- package/src/tools/ffValidate.ts +0 -28
- package/src/tools/ffWellArchitected.ts +0 -30
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json.schemastore.org/package.json",
|
|
3
3
|
"name": "@syntesseraai/opencode-feature-factory",
|
|
4
|
-
"version": "0.2.
|
|
4
|
+
"version": "0.2.3",
|
|
5
5
|
"description": "OpenCode plugin for Feature Factory agents - provides sub-agents and skills for validation, review, security, and architecture assessment",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"license": "MIT",
|
package/src/index.ts
CHANGED
|
@@ -17,15 +17,6 @@ export const AGENT_PATHS = {
|
|
|
17
17
|
'ff-validate': './agents/ff-validate.md',
|
|
18
18
|
};
|
|
19
19
|
|
|
20
|
-
// Backward compatibility: Export tool plugins that delegate to sub-agents
|
|
21
|
-
// These tools now invoke the corresponding sub-agents instead of returning prompts
|
|
22
|
-
export { FFAcceptancePlugin } from './tools/ffAcceptance';
|
|
23
|
-
export { FFMiniPlanPlugin } from './tools/ffMiniPlan';
|
|
24
|
-
export { FFReviewPlugin } from './tools/ffReview';
|
|
25
|
-
export { FFSecurityPlugin } from './tools/ffSecurity';
|
|
26
|
-
export { FFValidatePlugin } from './tools/ffValidate';
|
|
27
|
-
export { FFWellArchitectedPlugin } from './tools/ffWellArchitected';
|
|
28
|
-
|
|
29
20
|
const SERVICE_NAME = 'feature-factory';
|
|
30
21
|
|
|
31
22
|
type Client = PluginInput['client'];
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { type Plugin, tool } from '@opencode-ai/plugin';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* @ff-acceptance Tool Plugin (Backward Compatibility)
|
|
5
|
-
*
|
|
6
|
-
* This tool delegates to the @ff-acceptance sub-agent.
|
|
7
|
-
*
|
|
8
|
-
* NOTE: New code should use the sub-agent directly via @ff-acceptance
|
|
9
|
-
* or invoke it through the @ff-validate orchestrator.
|
|
10
|
-
*/
|
|
11
|
-
|
|
12
|
-
export const FFAcceptancePlugin: Plugin = async (_ctx) => {
|
|
13
|
-
return {
|
|
14
|
-
tool: {
|
|
15
|
-
ff_acceptance: tool({
|
|
16
|
-
description:
|
|
17
|
-
'Validates implementation against acceptance criteria (@ff-acceptance), checks if code meets all requirements. DEPRECATED: Use @ff-acceptance sub-agent directly.',
|
|
18
|
-
args: {
|
|
19
|
-
task: tool.schema
|
|
20
|
-
.string()
|
|
21
|
-
.describe('The validation task or acceptance criteria to check'),
|
|
22
|
-
},
|
|
23
|
-
async execute({ task }) {
|
|
24
|
-
// Invoke the sub-agent via the Task tool
|
|
25
|
-
// This maintains backward compatibility while using the new sub-agent
|
|
26
|
-
return `Invoking @ff-acceptance sub-agent to validate: ${task}\n\nPlease wait for the acceptance validation to complete. The @ff-acceptance agent will:\n1. Create a validation plan\n2. Check all acceptance criteria\n3. Provide a detailed report with findings\n\nFor direct access to the sub-agent, use: @ff-acceptance ${task}`;
|
|
27
|
-
},
|
|
28
|
-
}),
|
|
29
|
-
},
|
|
30
|
-
};
|
|
31
|
-
};
|
package/src/tools/ffMiniPlan.ts
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { type Plugin, tool } from '@opencode-ai/plugin';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* @ff-mini-plan Tool Plugin (Backward Compatibility)
|
|
5
|
-
*
|
|
6
|
-
* This tool loads the ff-mini-plan skill and provides guidance.
|
|
7
|
-
*
|
|
8
|
-
* NOTE: New code should use the skill directly via the skill tool
|
|
9
|
-
* or invoke it through sub-agents that load it automatically.
|
|
10
|
-
*/
|
|
11
|
-
|
|
12
|
-
export const FFMiniPlanPlugin: Plugin = async (ctx) => {
|
|
13
|
-
return {
|
|
14
|
-
tool: {
|
|
15
|
-
ff_mini_plan: tool({
|
|
16
|
-
description:
|
|
17
|
-
'Creates mini implementation plans for smaller tasks (2-5 steps) (@ff-mini-plan), quick planning, small fixes. DEPRECATED: Load the ff-mini-plan skill directly.',
|
|
18
|
-
args: {
|
|
19
|
-
task: tool.schema.string().describe('The simple task or issue description to plan for'),
|
|
20
|
-
},
|
|
21
|
-
async execute({ task }) {
|
|
22
|
-
// Provide guidance on using the skill instead
|
|
23
|
-
return `# Mini Planning\n\nFor task: ${task}\n\n## Using the ff-mini-plan Skill\n\nThe ff-mini-plan skill is now available globally. To use it:\n\n1. **In sub-agents**: Skills are loaded automatically at the start of tasks\n2. **Manually**: Use the skill tool to load ff-mini-plan\n\n## Quick Planning Guide\n\nThe mini-plan skill helps create 2-5 step plans for simple tasks:\n\n### Planning Process:\n1. Assess task complexity (suitable for 2-5 steps?)\n2. Create concrete steps with specific files\n3. Estimate effort and complexity\n4. Identify quick wins\n\n### Escalation Criteria:\n- Requires more than 5 implementation steps\n- Affects multiple components or services\n- Requires architecture decisions\n- Has security implications\n\n### Example Plan Structure:\n\`\`\`\n# Mini Plan: [Task]\n\n**Status:** Ready\n**Time Estimate:** 5-10 minutes\n**Complexity:** Simple\n\n## 📋 Steps\n\n1. **[Step 1]**\n - What to do: [Action]\n - Files: \`file.ts\`\n - Tests: [Verification]\n\n2. **[Step 2]**\n - What to do: [Action]\n - Files: \`file.ts\`\n - Tests: [Verification]\n\n## ⚡ Quick Wins\n\n- [Improvement] - [Benefit]\n\`\`\`\n\nFor comprehensive planning, use @ff-validate to run all validation agents with mini-plans.`;
|
|
24
|
-
},
|
|
25
|
-
}),
|
|
26
|
-
},
|
|
27
|
-
};
|
|
28
|
-
};
|
package/src/tools/ffReview.ts
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { type Plugin, tool } from '@opencode-ai/plugin';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* @ff-review Tool Plugin (Backward Compatibility)
|
|
5
|
-
*
|
|
6
|
-
* This tool delegates to the @ff-review sub-agent.
|
|
7
|
-
*
|
|
8
|
-
* NOTE: New code should use the sub-agent directly via @ff-review
|
|
9
|
-
* or invoke it through the @ff-validate orchestrator.
|
|
10
|
-
*/
|
|
11
|
-
|
|
12
|
-
export const FFReviewPlugin: Plugin = async (_ctx) => {
|
|
13
|
-
return {
|
|
14
|
-
tool: {
|
|
15
|
-
ff_review: tool({
|
|
16
|
-
description:
|
|
17
|
-
'Reviews code changes for correctness, quality, and test coverage (@ff-review), code review, quality check. DEPRECATED: Use @ff-review sub-agent directly.',
|
|
18
|
-
args: {
|
|
19
|
-
task: tool.schema.string().describe('The code review task or diff to analyze'),
|
|
20
|
-
},
|
|
21
|
-
async execute({ task }) {
|
|
22
|
-
// Invoke the sub-agent via the Task tool
|
|
23
|
-
return `Invoking @ff-review sub-agent to review: ${task}\n\nPlease wait for the code review to complete. The @ff-review agent will:\n1. Create a review plan\n2. Check correctness, quality, and tests\n3. Provide a detailed report with findings\n\nFor direct access to the sub-agent, use: @ff-review ${task}`;
|
|
24
|
-
},
|
|
25
|
-
}),
|
|
26
|
-
},
|
|
27
|
-
};
|
|
28
|
-
};
|
package/src/tools/ffSecurity.ts
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { type Plugin, tool } from '@opencode-ai/plugin';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* @ff-security Tool Plugin (Backward Compatibility)
|
|
5
|
-
*
|
|
6
|
-
* This tool delegates to the @ff-security sub-agent.
|
|
7
|
-
*
|
|
8
|
-
* NOTE: New code should use the sub-agent directly via @ff-security
|
|
9
|
-
* or invoke it through the @ff-validate orchestrator.
|
|
10
|
-
*/
|
|
11
|
-
|
|
12
|
-
export const FFSecurityPlugin: Plugin = async (_ctx) => {
|
|
13
|
-
return {
|
|
14
|
-
tool: {
|
|
15
|
-
ff_security: tool({
|
|
16
|
-
description:
|
|
17
|
-
'Performs deep security audits on code changes (@ff-security), security check, vulnerability audit. DEPRECATED: Use @ff-security sub-agent directly.',
|
|
18
|
-
args: {
|
|
19
|
-
task: tool.schema.string().describe('The security audit task or code to analyze'),
|
|
20
|
-
},
|
|
21
|
-
async execute({ task }) {
|
|
22
|
-
// Invoke the sub-agent via the Task tool
|
|
23
|
-
return `Invoking @ff-security sub-agent to audit: ${task}\n\nPlease wait for the security audit to complete. The @ff-security agent will:\n1. Create an audit plan\n2. Check for OWASP Top 10 and other vulnerabilities\n3. Provide a detailed security report\n\nFor direct access to the sub-agent, use: @ff-security ${task}`;
|
|
24
|
-
},
|
|
25
|
-
}),
|
|
26
|
-
},
|
|
27
|
-
};
|
|
28
|
-
};
|
package/src/tools/ffValidate.ts
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { type Plugin, tool } from '@opencode-ai/plugin';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* @ff-validate Tool Plugin (Backward Compatibility)
|
|
5
|
-
*
|
|
6
|
-
* This tool delegates to the @ff-validate sub-agent.
|
|
7
|
-
*
|
|
8
|
-
* NOTE: New code should use the sub-agent directly via @ff-validate
|
|
9
|
-
* for comprehensive validation.
|
|
10
|
-
*/
|
|
11
|
-
|
|
12
|
-
export const FFValidatePlugin: Plugin = async (_ctx) => {
|
|
13
|
-
return {
|
|
14
|
-
tool: {
|
|
15
|
-
ff_validate: tool({
|
|
16
|
-
description:
|
|
17
|
-
'Orchestrates comprehensive validation by running multiple review agents in parallel (@ff-validate), validate changes, comprehensive review. DEPRECATED: Use @ff-validate sub-agent directly.',
|
|
18
|
-
args: {
|
|
19
|
-
task: tool.schema.string().describe('The validation task description'),
|
|
20
|
-
},
|
|
21
|
-
async execute({ task }) {
|
|
22
|
-
// Invoke the sub-agent via the Task tool
|
|
23
|
-
return `Invoking @ff-validate sub-agent to orchestrate comprehensive validation: ${task}\n\nPlease wait for the validation to complete. The @ff-validate agent will:\n1. Create an orchestration plan\n2. Run all validation agents in parallel:\n - @ff-acceptance (requirements validation)\n - @ff-review (code quality)\n - @ff-security (security audit)\n - @ff-well-architected (architecture review)\n3. Aggregate results and provide a comprehensive report\n\nFor direct access to the orchestrator, use: @ff-validate ${task}`;
|
|
24
|
-
},
|
|
25
|
-
}),
|
|
26
|
-
},
|
|
27
|
-
};
|
|
28
|
-
};
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { type Plugin, tool } from '@opencode-ai/plugin';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* @ff-well-architected Tool Plugin (Backward Compatibility)
|
|
5
|
-
*
|
|
6
|
-
* This tool delegates to the @ff-well-architected sub-agent.
|
|
7
|
-
*
|
|
8
|
-
* NOTE: New code should use the sub-agent directly via @ff-well-architected
|
|
9
|
-
* or invoke it through the @ff-validate orchestrator.
|
|
10
|
-
*/
|
|
11
|
-
|
|
12
|
-
export const FFWellArchitectedPlugin: Plugin = async (_ctx) => {
|
|
13
|
-
return {
|
|
14
|
-
tool: {
|
|
15
|
-
ff_well_architected: tool({
|
|
16
|
-
description:
|
|
17
|
-
'Reviews code against AWS Well-Architected Framework pillars (@ff-well-architected), architecture review, AWS best practices. DEPRECATED: Use @ff-well-architected sub-agent directly.',
|
|
18
|
-
args: {
|
|
19
|
-
task: tool.schema
|
|
20
|
-
.string()
|
|
21
|
-
.describe('The architecture review task or system design to analyze'),
|
|
22
|
-
},
|
|
23
|
-
async execute({ task }) {
|
|
24
|
-
// Invoke the sub-agent via the Task tool
|
|
25
|
-
return `Invoking @ff-well-architected sub-agent to review: ${task}\n\nPlease wait for the architecture review to complete. The @ff-well-architected agent will:\n1. Create a review plan\n2. Assess against AWS Well-Architected 6 pillars:\n - Operational Excellence\n - Security\n - Reliability\n - Performance Efficiency\n - Cost Optimization\n - Sustainability\n3. Provide a detailed report with pillar scores\n\nFor direct access to the sub-agent, use: @ff-well-architected ${task}`;
|
|
26
|
-
},
|
|
27
|
-
}),
|
|
28
|
-
},
|
|
29
|
-
};
|
|
30
|
-
};
|