{"owner":"iflytek","repo":"astron-rpa","hasSkills":true,"hasMcp":false,"mcpConfig":null,"found":["AGENTS.md"],"skills":{"AGENTS.md":"# AGENTS.md\n\nGuidance for AI coding agents working in the **astron-rpa** (AstronRPA)\nrepository — an agent-ready RPA suite with out-of-the-box automation tools for\ndesktop applications, web systems, and business-process automation.\n\nAstronRPA uses a **server–client** architecture: server components run via\nDocker, and the client (RPA engine + desktop app) is packaged and run on the\nmachine that executes RPA tasks. The client toolchain is Windows-first.\n\n## Project layout\n\nThis is a multi-language monorepo driven by a unified `Makefile` (with modular\nincludes under `makefiles/`).\n\n- `backend/` — server-side microservices (deployed via Docker Compose):\n  - `robot-service/`, `resource-service/`, `rpa-auth/` — Java / Spring Boot\n    services (Maven; each ships `checkstyle.xml`, `pmd-ruleset.xml`,\n    `spotbugs-exclude.xml`).\n  - `ai-service/`, `openapi-service/` — Python services (managed with `uv`).\n- `engine/` — the Python RPA execution engine (managed with `uv`, linted with\n  `ruff`): `main.py`, `components/` (RPA components), `servers/`, `shared/`.\n- `frontend/` — pnpm workspace monorepo (Vue 3 + TypeScript, Vitest, ESLint,\n  i18n under `locales/`). Notable packages under `frontend/packages/`:\n  `electron-app` (desktop client), `web-app` (web console), `browser-plugin`,\n  `auth-app`, `cli`, `components`, `shared`.\n- `docker/` — Docker Compose manifests for the server stack.\n- `makefiles/` — modular Make components (`common.mk`, `python.mk`, `java.mk`,\n  `typescript.mk`, `go.mk`, `git.mk`).\n- `resources/` — packaged client resources. `docs/`, `FAQ.md`, `BUILD_GUIDE.md`\n  — documentation.\n\n## Toolchain\n\n- **Python 3.13.x** + **uv 0.8+** — RPA engine and Python services.\n- **Node.js 22+** + **pnpm 9+** — frontend workspace.\n- **Java JDK 8+** + **Maven** — Java backend services.\n- **Docker & Docker Compose** — server deployment.\n- Windows client packaging also needs **SWIG** (Python↔C/C++ bindings, e.g.\n  `pywinhook`) and **7-Zip** (deployment archives). See `BUILD_GUIDE.md`.\n\n## Common commands\n\nQuality and git workflow are driven by the root `Makefile` (run `make help` to\nsee detected projects and targets):\n\n- `make install-tools` — install the formatting/linting toolchain.\n- `make fmt` — format across languages (`fmt-python`, `fmt-java`, `fmt-ts`, …).\n- `make check` (alias `make lint`) — format check + linters\n  (`check-python`, `check-java`, `check-ts`, …). CI is check-only; it does not\n  auto-fix.\n- `make new-feature name=<short-name>` / `make new-bugfix name=<short-name>` —\n  branch helpers following the project's branch strategy.\n\nPre-commit hooks (install with `pre-commit install`) format the engine with\nruff: `uv run --project engine --dev ruff format ./engine`.\n\n### Run the server (Docker)\n\n```bash\ncd docker\ncp .env.example .env\n# set CASDOOR_EXTERNAL_ENDPOINT to http://<YOUR_SERVER_IP>:8000\ndocker compose up -d\ndocker compose ps\n```\n\nGateway API: http://localhost:32742 · Casdoor auth: http://localhost:8000\n\n### Build the client (Windows)\n\n```bash\n# full build (engine + frontend desktop app) from the repo root\n./build.bat --python-exe \"C:\\Program Files\\Python313\\python.exe\"\n./build.bat --skip-frontend   # engine only\n./build.bat --skip-engine     # frontend only\n```\n\nThe packaged installer is written to `frontend/packages/electron-app/dist/`.\n\n### Frontend (pnpm workspace, from `frontend/`)\n\n```bash\npnpm install\npnpm dev:web         # run the web console in dev\npnpm dev:desktop     # run the desktop app in dev\npnpm build:desktop   # build the Windows desktop app\n```\n\n## Testing instructions\n\nThere is no aggregate `make test`; run tests per component:\n\n- **Frontend**: `pnpm test` (Vitest) or `pnpm test:run` for a single run.\n- **Python** (`engine`, `backend/ai-service`, `backend/openapi-service`):\n  `uv run pytest` within the project where tests exist (e.g. `backend/ai-service`\n  has a `tests/` directory).\n- **Java** (`backend/robot-service`, `resource-service`, `rpa-auth`):\n  `mvn test` within the service directory.\n\nRun `make check` and the relevant tests before opening a PR, and add or update\ntests for code you change.\n\n## Code style\n\nFormatting and linting are wired through `make fmt` / `make check`:\n\n| Language        | Format / Lint                                                        |\n| --------------- | -------------------------------------------------------------------- |\n| Python          | `ruff` format + `ruff` check (see `engine/.ruff.toml`)               |\n| Java            | Checkstyle + PMD + SpotBugs (per-service configs)                     |\n| TypeScript/Vue  | ESLint (`frontend/eslint.config.mjs`); `pnpm lint` / `pnpm lint:fix` |\n\n## PR instructions\n\n- Create branches with the Make helpers (`make new-feature name=<…>`).\n- Run `make check` and the relevant component tests before committing; make sure\n  pre-commit hooks pass.\n- Keep PRs focused and write clear, conventional commit messages.\n- For build and deployment details, see `BUILD_GUIDE.md`.\n"},"files":{"AGENTS.md":"# AGENTS.md\n\nGuidance for AI coding agents working in the **astron-rpa** (AstronRPA)\nrepository — an agent-ready RPA suite with out-of-the-box automation tools for\ndesktop applications, web systems, and business-process automation.\n\nAstronRPA uses a **server–client** architecture: server components run via\nDocker, and the client (RPA engine + desktop app) is packaged and run on the\nmachine that executes RPA tasks. The client toolchain is Windows-first.\n\n## Project layout\n\nThis is a multi-language monorepo driven by a unified `Makefile` (with modular\nincludes under `makefiles/`).\n\n- `backend/` — server-side microservices (deployed via Docker Compose):\n  - `robot-service/`, `resource-service/`, `rpa-auth/` — Java / Spring Boot\n    services (Maven; each ships `checkstyle.xml`, `pmd-ruleset.xml`,\n    `spotbugs-exclude.xml`).\n  - `ai-service/`, `openapi-service/` — Python services (managed with `uv`).\n- `engine/` — the Python RPA execution engine (managed with `uv`, linted with\n  `ruff`): `main.py`, `components/` (RPA components), `servers/`, `shared/`.\n- `frontend/` — pnpm workspace monorepo (Vue 3 + TypeScript, Vitest, ESLint,\n  i18n under `locales/`). Notable packages under `frontend/packages/`:\n  `electron-app` (desktop client), `web-app` (web console), `browser-plugin`,\n  `auth-app`, `cli`, `components`, `shared`.\n- `docker/` — Docker Compose manifests for the server stack.\n- `makefiles/` — modular Make components (`common.mk`, `python.mk`, `java.mk`,\n  `typescript.mk`, `go.mk`, `git.mk`).\n- `resources/` — packaged client resources. `docs/`, `FAQ.md`, `BUILD_GUIDE.md`\n  — documentation.\n\n## Toolchain\n\n- **Python 3.13.x** + **uv 0.8+** — RPA engine and Python services.\n- **Node.js 22+** + **pnpm 9+** — frontend workspace.\n- **Java JDK 8+** + **Maven** — Java backend services.\n- **Docker & Docker Compose** — server deployment.\n- Windows client packaging also needs **SWIG** (Python↔C/C++ bindings, e.g.\n  `pywinhook`) and **7-Zip** (deployment archives). See `BUILD_GUIDE.md`.\n\n## Common commands\n\nQuality and git workflow are driven by the root `Makefile` (run `make help` to\nsee detected projects and targets):\n\n- `make install-tools` — install the formatting/linting toolchain.\n- `make fmt` — format across languages (`fmt-python`, `fmt-java`, `fmt-ts`, …).\n- `make check` (alias `make lint`) — format check + linters\n  (`check-python`, `check-java`, `check-ts`, …). CI is check-only; it does not\n  auto-fix.\n- `make new-feature name=<short-name>` / `make new-bugfix name=<short-name>` —\n  branch helpers following the project's branch strategy.\n\nPre-commit hooks (install with `pre-commit install`) format the engine with\nruff: `uv run --project engine --dev ruff format ./engine`.\n\n### Run the server (Docker)\n\n```bash\ncd docker\ncp .env.example .env\n# set CASDOOR_EXTERNAL_ENDPOINT to http://<YOUR_SERVER_IP>:8000\ndocker compose up -d\ndocker compose ps\n```\n\nGateway API: http://localhost:32742 · Casdoor auth: http://localhost:8000\n\n### Build the client (Windows)\n\n```bash\n# full build (engine + frontend desktop app) from the repo root\n./build.bat --python-exe \"C:\\Program Files\\Python313\\python.exe\"\n./build.bat --skip-frontend   # engine only\n./build.bat --skip-engine     # frontend only\n```\n\nThe packaged installer is written to `frontend/packages/electron-app/dist/`.\n\n### Frontend (pnpm workspace, from `frontend/`)\n\n```bash\npnpm install\npnpm dev:web         # run the web console in dev\npnpm dev:desktop     # run the desktop app in dev\npnpm build:desktop   # build the Windows desktop app\n```\n\n## Testing instructions\n\nThere is no aggregate `make test`; run tests per component:\n\n- **Frontend**: `pnpm test` (Vitest) or `pnpm test:run` for a single run.\n- **Python** (`engine`, `backend/ai-service`, `backend/openapi-service`):\n  `uv run pytest` within the project where tests exist (e.g. `backend/ai-service`\n  has a `tests/` directory).\n- **Java** (`backend/robot-service`, `resource-service`, `rpa-auth`):\n  `mvn test` within the service directory.\n\nRun `make check` and the relevant tests before opening a PR, and add or update\ntests for code you change.\n\n## Code style\n\nFormatting and linting are wired through `make fmt` / `make check`:\n\n| Language        | Format / Lint                                                        |\n| --------------- | -------------------------------------------------------------------- |\n| Python          | `ruff` format + `ruff` check (see `engine/.ruff.toml`)               |\n| Java            | Checkstyle + PMD + SpotBugs (per-service configs)                     |\n| TypeScript/Vue  | ESLint (`frontend/eslint.config.mjs`); `pnpm lint` / `pnpm lint:fix` |\n\n## PR instructions\n\n- Create branches with the Make helpers (`make new-feature name=<…>`).\n- Run `make check` and the relevant component tests before committing; make sure\n  pre-commit hooks pass.\n- Keep PRs focused and write clear, conventional commit messages.\n- For build and deployment details, see `BUILD_GUIDE.md`.\n"},"items":[{"name":"AGENTS.md","path":"AGENTS.md","title":"AGENTS.md","content":"# AGENTS.md\n\nGuidance for AI coding agents working in the **astron-rpa** (AstronRPA)\nrepository — an agent-ready RPA suite with out-of-the-box automation tools for\ndesktop applications, web systems, and business-process automation.\n\nAstronRPA uses a **server–client** architecture: server components run via\nDocker, and the client (RPA engine + desktop app) is packaged and run on the\nmachine that executes RPA tasks. The client toolchain is Windows-first.\n\n## Project layout\n\nThis is a multi-language monorepo driven by a unified `Makefile` (with modular\nincludes under `makefiles/`).\n\n- `backend/` — server-side microservices (deployed via Docker Compose):\n  - `robot-service/`, `resource-service/`, `rpa-auth/` — Java / Spring Boot\n    services (Maven; each ships `checkstyle.xml`, `pmd-ruleset.xml`,\n    `spotbugs-exclude.xml`).\n  - `ai-service/`, `openapi-service/` — Python services (managed with `uv`).\n- `engine/` — the Python RPA execution engine (managed with `uv`, linted with\n  `ruff`): `main.py`, `components/` (RPA components), `servers/`, `shared/`.\n- `frontend/` — pnpm workspace monorepo (Vue 3 + TypeScript, Vitest, ESLint,\n  i18n under `locales/`). Notable packages under `frontend/packages/`:\n  `electron-app` (desktop client), `web-app` (web console), `browser-plugin`,\n  `auth-app`, `cli`, `components`, `shared`.\n- `docker/` — Docker Compose manifests for the server stack.\n- `makefiles/` — modular Make components (`common.mk`, `python.mk`, `java.mk`,\n  `typescript.mk`, `go.mk`, `git.mk`).\n- `resources/` — packaged client resources. `docs/`, `FAQ.md`, `BUILD_GUIDE.md`\n  — documentation.\n\n## Toolchain\n\n- **Python 3.13.x** + **uv 0.8+** — RPA engine and Python services.\n- **Node.js 22+** + **pnpm 9+** — frontend workspace.\n- **Java JDK 8+** + **Maven** — Java backend services.\n- **Docker & Docker Compose** — server deployment.\n- Windows client packaging also needs **SWIG** (Python↔C/C++ bindings, e.g.\n  `pywinhook`) and **7-Zip** (deployment archives). See `BUILD_GUIDE.md`.\n\n## Common commands\n\nQuality and git workflow are driven by the root `Makefile` (run `make help` to\nsee detected projects and targets):\n\n- `make install-tools` — install the formatting/linting toolchain.\n- `make fmt` — format across languages (`fmt-python`, `fmt-java`, `fmt-ts`, …).\n- `make check` (alias `make lint`) — format check + linters\n  (`check-python`, `check-java`, `check-ts`, …). CI is check-only; it does not\n  auto-fix.\n- `make new-feature name=<short-name>` / `make new-bugfix name=<short-name>` —\n  branch helpers following the project's branch strategy.\n\nPre-commit hooks (install with `pre-commit install`) format the engine with\nruff: `uv run --project engine --dev ruff format ./engine`.\n\n### Run the server (Docker)\n\n```bash\ncd docker\ncp .env.example .env\n# set CASDOOR_EXTERNAL_ENDPOINT to http://<YOUR_SERVER_IP>:8000\ndocker compose up -d\ndocker compose ps\n```\n\nGateway API: http://localhost:32742 · Casdoor auth: http://localhost:8000\n\n### Build the client (Windows)\n\n```bash\n# full build (engine + frontend desktop app) from the repo root\n./build.bat --python-exe \"C:\\Program Files\\Python313\\python.exe\"\n./build.bat --skip-frontend   # engine only\n./build.bat --skip-engine     # frontend only\n```\n\nThe packaged installer is written to `frontend/packages/electron-app/dist/`.\n\n### Frontend (pnpm workspace, from `frontend/`)\n\n```bash\npnpm install\npnpm dev:web         # run the web console in dev\npnpm dev:desktop     # run the desktop app in dev\npnpm build:desktop   # build the Windows desktop app\n```\n\n## Testing instructions\n\nThere is no aggregate `make test`; run tests per component:\n\n- **Frontend**: `pnpm test` (Vitest) or `pnpm test:run` for a single run.\n- **Python** (`engine`, `backend/ai-service`, `backend/openapi-service`):\n  `uv run pytest` within the project where tests exist (e.g. `backend/ai-service`\n  has a `tests/` directory).\n- **Java** (`backend/robot-service`, `resource-service`, `rpa-auth`):\n  `mvn test` within the service directory.\n\nRun `make check` and the relevant tests before opening a PR, and add or update\ntests for code you change.\n\n## Code style\n\nFormatting and linting are wired through `make fmt` / `make check`:\n\n| Language        | Format / Lint                                                        |\n| --------------- | -------------------------------------------------------------------- |\n| Python          | `ruff` format + `ruff` check (see `engine/.ruff.toml`)               |\n| Java            | Checkstyle + PMD + SpotBugs (per-service configs)                     |\n| TypeScript/Vue  | ESLint (`frontend/eslint.config.mjs`); `pnpm lint` / `pnpm lint:fix` |\n\n## PR instructions\n\n- Create branches with the Make helpers (`make new-feature name=<…>`).\n- Run `make check` and the relevant component tests before committing; make sure\n  pre-commit hooks pass.\n- Keep PRs focused and write clear, conventional commit messages.\n- For build and deployment details, see `BUILD_GUIDE.md`.\n","category":"root","tokens":1242}]}