by umacloud
UmaDev: A coding agent that works like a real dev team, commanding the Claude Code / Codex / OpenCode you already use.
# Add to your Claude Code skills
git clone https://github.com/umacloud/umadevLast scanned: 6/22/2026
{
"issues": [],
"status": "PASSED",
"scannedAt": "2026-06-22T09:51:20.836Z",
"npmAuditRan": true,
"pipAuditRan": true,
"promptInjectionRan": true
}umadev is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by umacloud. UmaDev: A coding agent that works like a real dev team, commanding the Claude Code / Codex / OpenCode you already use. It has 240 GitHub stars.
Yes. umadev passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.
Clone the repository with "git clone https://github.com/umacloud/umadev" and add it to your Claude Code skills directory (see the Installation section above).
umadev is primarily written in Rust. It is open-source under umacloud on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh umadev against similar tools.
No comments yet. Be the first to share your thoughts!
umadev is a coding agent that works like a real dev team. It drives an AI coding CLI you already have — Claude Code, Codex, or OpenCode — as one continuous session, and owns no model of its own: the model your base is connected to is the brain.
What you get is a whole AI development team. Eight specialists — product manager, architect, UI/UX designer, frontend engineer, backend engineer, QA, security, and DevOps — plan, build, review, and sign off the way a real team does, borrowing your already-logged-in base as their shared brain. You describe what you want in plain language, and the team turns it into runnable, shippable, auditable software: it researches, writes the PRD, architecture, and UI/UX, builds the frontend and backend, runs the quality and governance checks, and hands back the code plus a delivery proof. It sizes itself to the task — a small edit stays a small edit; a full project convenes the full roster.
A ninth seat, the coordinator (the team's technical lead), routes the request, owns a visible plan, schedules the team, enforces the gates, and leaves the audit trail. It doesn't write code; the base — the AI coding CLI — is the engineer that does that. The roles coordinate through shared artifact files and structured verdicts, never by chatting to each other.
It's a single Rust binary. npm is just the delivery shell.
npm install -g umadev
On Linux, don't reach for sudo. The default npm prefix (/usr/local) is root-owned, so npm i -g there fails with EACCES — and sudo npm i -g "fixes" it by writing a root-owned tree into the npm prefix, which then breaks every later non-root npm command on that prefix (npm update -g, npm i -g <anything>) with EACCES. npm aborts the whole transaction, so your other global packages — including your base CLI (@anthropic-ai/claude-code, @openai/codex) — can no longer be updated either. Use a prefix you own instead:
npm config set prefix ~/.npm-global
export PATH="$HOME/.npm-global/bin:$PATH" # add to ~/.zshrc or ~/.bashrc
npm install -g umadev
Or skip the global install entirely — no prefix, no sudo, nothing on PATH:
npx umadev # run it straight from the registry
npm i umadev && npx umadev # or as a project-local dependency
(npm i umadev without -g installs fine, but npm deliberately does not put a local command on PATH — bare umadev will say "command not found". That's npm, not a broken install: run it as npx umadev.)
Already hit the sudo trap? umadev doctor detects a root-owned install or npm cache and prints the exact repair (sudo chown -R $(whoami) ~/.npm, then reinstall under a user-owned prefix).
The npm package is a distribution shim. The actual program is a Rust binary. Prebuilt binaries ship for macOS (Apple Silicon and Intel), Linux (x86_64 and ARM64, glibc ≥ 2.31 — musl/Alpine needs a source build), and Windows (x86_64).
The binary and the curated knowledge corpus install from npm and work fully offline. The optional local embedding model (multilingual-e5-small, f16, ~224 MB) is not bundled in the npm package — it is fetched on first run to ~/.umadev/embed-model (a one-time download), then powers offline vector search locally with no API key and no runtime network. If that first-run download is unavailable (offline install, restricted network), umadev still works: retrieval falls back to BM25-only until the model is present, and it self-heals — a later run re-downloads it (a corrupt cache is re-fetched, not trusted).
Build from source:
git clone https://github.com/umacloud/umadev.git
cd umadev && cargo build --release --features vector-local
./target/release/umadev --version
Building from source? The embedding model is not in the repo (it's too large for git, ~224 MB). A plain
cargo build --releasegives a BM25-only binary; the local vector channel needs the--features vector-localflag and the model on disk. The prebuilt binaries andnpm ibundle both automatically — for a source build, downloadmultilingual-e5-smallinto~/.umadev/embed-model/once:mkdir -p ~/.umadev/embed-model && cd ~/.umadev/embed-model for f in config.json tokenizer.json model.safetensors; do curl -fsSL "https://huggingface.co/intfloat/multilingual-e5-small/resolve/main/$f" -o "$f" doneumadev auto-discovers it there (or point
UMADEV_EMBED_MODEL_DIRat any directory with those three files). Without the model, umadev still works — retrieval just falls back to BM25-only.
You also need one AI coding CLI installed and logged in — that's the brain umadev drives:
| Base | Install | Log in |
|---|---|---|
| Claude Code | npm i -g @anthropic-ai/claude-code |
claude auth login |
| Codex | npm i -g @openai/codex |
codex login |
| OpenCode | see opencode.ai | opencode auth login |
umadev injects nothing into the base. Whatever your base is configured with — an official login or your own third-party / local-model routing — is exactly what runs.
umadev # launch the chat UI; first run lets you pick a base
Tell it what you want built:
> add CSV export to the reports page
> build me a todo app with a Postgres backend
> /goal ship a working SaaS landing page # keep working until the goal is met
Or run a build non-interactively:
umadev run "add CSV export to the reports page" --backend claude-code
umadev sizes the work to the request — you don't pick a mode. A build typed in chat earns the same planning, team review, governance, and delivery proof as a /run — there is no separate chat path and build path. All builds run on an isolated umadev/<slug> branch; your working branch is never touched, and umadev never merges or pushes on its own.
Suppose you run:
umadev init
umadev
Then type:
Build a course-booking mini app. Users can browse courses, pick a time, book,
cancel. Admins can manage courses and bookings.
umadev will:
output/<slug>-research.md.plan.json) rendered as a live checklist. Each task links back to its FR id.You end up with real files on disk — the research note, the three docs, source, a quality report, and a proof pack.
umadev evolved from the original shangyankeji/super-dev project.
Early super-dev was closer to an AI coding governance tool. It focused on what AI-generated code must not contain: emoji icons, hardcoded colors, unsafe patterns.
umadev has grown that into a coding agent that works like a real dev team: