1.5 KiB
1.5 KiB
DevClaw — Agent Instructions
DevClaw is an OpenClaw plugin that provides multi-project dev/qa pipeline orchestration with GitHub/GitLab integration, developer tiers, and audit logging.
Testing Changes
To verify changes against a live gateway, run:
npm run build && openclaw gateway restart
Wait 3 seconds, then check the logs:
openclaw logs
Look for the plugin registration line and any errors:
[plugins] DevClaw plugin registered (11 tools, 1 CLI command group, 1 service)
Project Structure
index.ts— Plugin entry point, registers all tools/CLI/serviceslib/run-command.ts— Wrapper aroundapi.runtime.system.runCommandWithTimeout(initialized inregister())lib/dispatch.ts— Core task dispatch logic (session spawn/reuse, gateway RPC)lib/providers/— GitHub and GitLab issue providers (viagh/glabCLI)lib/services/— Heartbeat, tick (queue scan), pipeline (completion rules)lib/setup/— Agent creation, model fetching, LLM-powered model selectionlib/tools/— All registered tools (work_start, work_finish, task_create, etc.)
Key Conventions
- All external command execution uses
runCommand()fromlib/run-command.ts— never importchild_processdirectly (the OpenClaw plugin security scanner flags it). - The plugin SDK provides
api.runtime.system.runCommandWithTimeoutwhich is the sanctioned way to run external commands. - Functions that call
runCommand()must be async.