voora-ai-agent
v1.0.0
Published
Minimal but functional OpenCode-style CLI agent.
Readme
VOORA / ARIA CLI
Minimal but functional OpenCode-style CLI agent.
What it does
- accepts a natural language task from the CLI
- calls the InferX Gemma model through the required endpoint
- plans work in short steps
- reads, writes, and patches files
- runs shell commands
- supports a modular brain prompt directory in
aria/brain/ - keeps rolling session memory for recent steps
- supports large multi-file tasks with higher token and step limits
- validates frontend output with Playwright DOM and screenshot tools
- iterates until the task is done or max steps are reached
- writes per-run logs to
audit/
Runtime model configuration
- base URL:
https://litellm-proxy-93ef.onrender.com/v1 - model:
google/gemma-4-31B-it - API key env var:
INFERX_API_KEY
Setup
- Create a virtual environment if you want one.
- Install the package:
pip install -e .- The repo includes a local
.envfile. The client loadsINFERX_API_KEYfrom it automatically.
Run
Run a task directly:
python3 -m aria "Inspect this repository and summarize the main Python entrypoints."Or use the installed command:
aria "Add a README section describing the CLI options."Useful options:
aria --help
aria --cwd . --audit-dir ./audit "List the top-level files and explain the project layout."
aria --verbose "Inspect the package layout and explain it"
aria --dry-run "Build a scraper and save it to CSV"
aria --max-steps 50 "Create a multi-file frontend landing page and verify it"
python3 -m aria -iTools
The starter includes these tools:
list_filesread_filewrite_fileapply_patchapply_diffrun_commandrun_pythonfetch_urlsearch_filesparse_codesearch_symbolplaywright_openplaywright_get_htmlplaywright_screenshot
File editing behavior
apply_patchre-reads the current file before editing- patch operations fail if the expected old text is not present
write_filerefuses to overwrite an existing file unlessoverwrite=true- diffs are returned for patches and overwrites when possible
Logging
Each run creates an audit/run_YYYYMMDD_HHMMSS/ directory with:
trace.jsonlfor step-by-step tool/model activitysummary.mdfor a short session summary
Brain Files
The system prompt is composed from these files in aria/brain/:
IDENTITY.mdGOAL.mdMEMORY.mdTOOLS.mdAGENT.mdSTATE.md
Frontend Validation
For frontend tasks the agent now:
- plans project structure before writing files
- creates files separately instead of trying to emit everything at once
- verifies written files with
read_file - inspects rendered DOM with
playwright_get_html - captures screenshots with
playwright_screenshot - applies targeted HTML/CSS fixes with patches
Example task:
python3 -m aria --max-steps 50 --verbose "Build a small multi-file landing page in index.html, style.css, and script.js, then validate it with Playwright and fix obvious UI issues."Sample workflow
aria "Create a file named notes.txt with a short project summary, then run ls and finish."The model should plan the work, create or patch files with the tool layer, run the command, inspect the result, and then finish with a short summary.
