2.0 KiB
name, type, agent
| name | type | agent |
|---|---|---|
| repo | repo | CodeActAgent |
This repository contains the code for OpenHands, an automated AI software engineer. It has a Python backend
(in the openhands directory) and React frontend (in the frontend directory).
General Setup:
To set up the entire repo, including frontend and backend, run make build.
You don't need to do this unless the user asks you to, or if you're trying to run the entire application.
Before pushing any changes, you should ensure that any lint errors or simple test errors have been fixed.
- If you've made changes to the backend, you should run
pre-commit run --all-files --config ./dev_config/python/.pre-commit-config.yaml - If you've made changes to the frontend, you should run
cd frontend && npm run lint:fix && npm run build ; cd ..
If either command fails, it may have automatically fixed some issues. You should fix any issues that weren't automatically fixed, then re-run the command to ensure it passes.
Repository Structure
Backend:
- Located in the
openhandsdirectory - Testing:
- All tests are in
tests/unit/test_*.py - To test new code, run
poetry run pytest tests/unit/test_xxx.pywherexxxis the appropriate file for the current functionality - Write all tests with pytest
- All tests are in
Frontend:
- Located in the
frontenddirectory - Prerequisites: A recent version of NodeJS / NPM
- Setup: Run
npm installin the frontend directory - Testing:
- Run tests:
npm run test - To run specific tests:
npm run test -- -t "TestName" - Our test framework is vitest
- Run tests:
- Building:
- Build for production:
npm run build
- Build for production:
- Environment Variables:
- Set in
frontend/.envor as environment variables - Available variables: VITE_BACKEND_HOST, VITE_USE_TLS, VITE_INSECURE_SKIP_VERIFY, VITE_FRONTEND_PORT
- Set in
- Internationalization:
- Generate i18n declaration file:
npm run make-i18n
- Generate i18n declaration file:
Template for Github Pull Request
If you are starting a pull request (PR), please follow the template in .github/pull_request_template.md.