mirror of
https://github.com/OpenHands/OpenHands.git
synced 2025-12-26 05:48:36 +08:00
68 lines
3.0 KiB
Markdown
68 lines
3.0 KiB
Markdown
# Customizing Agent Behavior
|
|
|
|
OpenHands can be customized to work more effectively with specific repositories by providing repository-specific context and guidelines. This section explains how to optimize OpenHands for your project.
|
|
|
|
## Repository Configuration
|
|
|
|
You can customize OpenHands' behavior for your repository by creating a `.openhands` directory in your repository's root. At minimum, it should contain the file
|
|
`.openhands/microagents/repo.md`, which includes instructions that will
|
|
be given to the agent every time it works with this repository.
|
|
|
|
We suggest including the following information:
|
|
- **Repository Overview**: A brief description of your project's purpose and architecture.
|
|
- **Directory Structure**: Key directories and their purposes.
|
|
- **Development Guidelines**: Project-specific coding standards and practices.
|
|
- **Testing Requirements**: How to run tests and what types of tests are required.
|
|
- **Setup Instructions**: Steps needed to build and run the project.
|
|
|
|
### Example Repository Configuration
|
|
Example `.openhands/microagents/repo.md` file:
|
|
```
|
|
Repository: MyProject
|
|
Description: A web application for task management
|
|
|
|
Directory Structure:
|
|
- src/: Main application code
|
|
- tests/: Test files
|
|
- docs/: Documentation
|
|
|
|
Setup:
|
|
- Run `npm install` to install dependencies
|
|
- Use `npm run dev` for development
|
|
- Run `npm test` for testing
|
|
|
|
Guidelines:
|
|
- Follow ESLint configuration
|
|
- Write tests for all new features
|
|
- Use TypeScript for new code
|
|
```
|
|
|
|
### Customizing Prompts
|
|
|
|
When working with a repository:
|
|
|
|
- **Reference Project Standards**: Mention specific coding standards or patterns used in your project.
|
|
- **Include Context**: Reference relevant documentation or existing implementations.
|
|
- **Specify Testing Requirements**: Include project-specific testing requirements in your prompts.
|
|
|
|
Example customized prompt:
|
|
```
|
|
Add a new task completion feature to src/components/TaskList.tsx following our existing component patterns.
|
|
Include unit tests in tests/components/ and update the documentation in docs/features/.
|
|
The component should use our shared styling from src/styles/components.
|
|
```
|
|
|
|
### Best Practices for Repository Customization
|
|
|
|
- **Keep Instructions Updated**: Regularly update your `.openhands` directory as your project evolves.
|
|
- **Be Specific**: Include specific paths, patterns, and requirements unique to your project.
|
|
- **Document Dependencies**: List all tools and dependencies required for development.
|
|
- **Include Examples**: Provide examples of good code patterns from your project.
|
|
- **Specify Conventions**: Document naming conventions, file organization, and code style preferences.
|
|
|
|
By customizing OpenHands for your repository, you'll get more accurate and consistent results that align with your project's standards and requirements.
|
|
|
|
## Other Microagents
|
|
You can create other instructions in the `.openhands/microagents/` directory
|
|
that will be sent to the agent if a particular keyword is found, like `test`, `frontend`, or `migration`. See [Micro-Agents](microagents.md) for more information.
|