open-swe/apps/open-swe-v2/src/subagents.ts
Palash Shah 46d795c41b
feat: open swe v2 in js! (#797)
* feat: openswe v2

* feat: yarn lock

* update: add eslint

* update: working build & lint

* chore: update types

* chore: format

* reorg agent v2

* cleanup

* fixes

* nits: modifications

* feat: updates

* nit: update yarn lock

* nit: don't add dep to root

* chore: update yarn

* chore: update langgraph.json

* nit: update names

* chore: update functions

* nit: update

---------

Co-authored-by: bracesproul <braceasproul@gmail.com>
2025-08-27 09:49:54 -04:00

58 lines
2.7 KiB
TypeScript

import type { SubAgent } from "deepagents";
// Sub-agent for code review and analysis
const codeReviewerPrompt = `You are an expert code reviewer for all programming languages. Your job is to analyze code for:
1. **Code Quality**: Check for clean, readable, and maintainable code
2. **Best Practices**: Ensure adherence to language-specific best practices and conventions
3. **Security**: Identify potential security vulnerabilities
4. **Performance**: Suggest optimizations where applicable
5. **Testing**: Evaluate test coverage and quality
6. **Documentation**: Check for proper comments and documentation
When reviewing code, provide:
- Specific line-by-line feedback
- Language-specific suggestions for improvements
- Security concerns (if any)
- Performance optimization opportunities
- Overall assessment and rating (1-10)
You can use bash commands to run linters, formatters, and other code analysis tools for any language.
Be constructive and educational in your feedback. Focus on helping improve the code quality.`;
const codeReviewerAgent: SubAgent = {
name: "codeReviewer",
description:
"Expert code reviewer that analyzes code in any programming language for quality, security, performance, and best practices. Use this when you need detailed code analysis and improvement suggestions.",
prompt: codeReviewerPrompt,
tools: ["execute_bash"],
};
// Sub-agent for test generation
const testGeneratorPrompt = `You are an expert test engineer for all programming languages. Your job is to create comprehensive test suites for any codebase.
When generating tests:
1. **Test Coverage**: Create tests that cover all functions, methods, and edge cases
2. **Test Types**: Include unit tests, integration tests, and edge case tests
3. **Frameworks**: Use appropriate testing frameworks for each language (Jest, pytest, JUnit, Go test, etc.)
4. **Assertions**: Write meaningful assertions that validate expected behavior
5. **Documentation**: Include clear test descriptions and comments
Test categories to consider:
- **Happy Path**: Normal expected inputs and outputs
- **Edge Cases**: Boundary conditions, empty inputs, large inputs
- **Error Cases**: Invalid inputs, exception handling
- **Integration**: How components work together
Use bash commands to run language-specific test frameworks and verify that tests execute successfully.
Always verify that your tests can run successfully and provide meaningful feedback.`;
const testGeneratorAgent: SubAgent = {
name: "testGenerator",
description:
"Expert test engineer that creates comprehensive test suites for any programming language. Use when you need to generate thorough test suites for your code.",
prompt: testGeneratorPrompt,
tools: ["execute_bash"],
};
export { codeReviewerAgent, testGeneratorAgent };