agentreadme

Report · marked 25 Aug 2026

bytedance/UI-TARS-desktop

An agent can work here, but it will waste turns finding its footing.

TypeScript · 38,705 stars · 2,491 files · branch main

Fix these first

01
Agent instruction file
Add an AGENTS.md at the root: what the project is, how to install, how to run, how to test, and the two or three conventions a newcomer always gets wrong.
02
Instruction quality
Instructions earn their keep by naming exact commands. 'Run the tests with `pnpm test`' beats three paragraphs of philosophy.
03
Repository weight
Large binaries and vendored trees slow every operation an agent performs. Git LFS or a separate assets repo keeps the working tree navigable.

The full marking

Every deduction below names the file or setting it came from.

Instructions 3/27 F

Whether the repo tells an agent how to behave before it starts guessing.

Agent instruction file 0/12
None found. Every agent that opens this repo starts from zero.
Add an AGENTS.md at the root: what the project is, how to install, how to run, how to test, and the two or three conventions a newcomer always gets wrong.
Looked for AGENTS.md, CLAUDE.md, .github/copilot-instructions.md, .cursorrules
Instruction quality 0/12
Nothing to judge, since there are no instructions.
Instructions earn their keep by naming exact commands. 'Run the tests with `pnpm test`' beats three paragraphs of philosophy.
README as an entry point 3/3
README has a clear getting-started section.
Setup 18/20 A

Whether an agent can install the project and get it running without a human.

Deterministic install 6/6
pnpm-lock.yaml pins the dependency tree.
Found pnpm-lock.yaml
Discoverable commands 6/6
Commands are declared where an agent will look for them.
package.json scripts (commit, bootstrap, dev:ui-tars, format, lint, test…)
scripts/ directory
Environment config 4/4
.env.example documents what the app needs to run.
Pinned runtime version 2/2
The language runtime version is pinned.
Found .node-version
Reproducible environment 0/2
No container or devcontainer definition.
A Dockerfile or devcontainer removes an entire class of 'it won't install' failures.
Verification loop 22/25 A

Whether an agent can check its own work. This is the category that most decides whether agent output is trustworthy.

Tests exist 6/8
162 test files against 1464 source files.
e.g. .github/workflows/agent_tars_test.yml, apps/ui-tars/e2e/app.test.ts, apps/ui-tars/src/main/agent/operator.test.ts
Test command is discoverable 7/7
An agent can find and run `npm run test`.
Continuous integration 4/4
8 GitHub Actions workflows define what "passing" means.
Lint and format rules 3/3
.eslintrc.cjs encodes the house style.
Static type checking 2/3
Type checking is configured, but not in strict mode.
Turn on `"strict": true`. Type errors are the fastest feedback an agent gets, and non-strict mode silently discards most of them.
Context economy 17/20 A

Whether the repo fits in a context window, or fights it.

No committed build output 6/6
No generated directories committed.
.gitignore hygiene 3/3
.gitignore covers 15 patterns.
File sizes fit in context 6/6
No source file is large enough to crowd out a context window.
Repository weight 2/5
About 193MB checked out. Large enough that cloning and searching are both slow.
Large binaries and vendored trees slow every operation an agent performs. Git LFS or a separate assets repo keeps the working tree navigable.

Here is your AGENTS.md

Drafted from what is actually in this repository: the install command from your lockfile, the commands you already declare, your real directory layout. Anything marked TODO needs a person. Save it at the root as AGENTS.md.

AGENTS.md — drafted for bytedance/UI-TARS-desktop
# AGENTS.md

The Open-Source Multimodal AI Agent Stack: Connecting Cutting-Edge AI Models and Agent Infra

## Setup

```
pnpm install
```

## Commands

```
pnpm test          # run the test suite, must pass before any commit
pnpm lint          # lint
pnpm format        # format
pnpm commit
pnpm bootstrap
pnpm dev:ui-tars
pnpm test:bench
pnpm coverage
```

## Layout

- `multimodal/` 934 source files
- `packages/`   307 source files
- `apps/`       164 source files
- `infra/`      31 source files
- `examples/`   20 source files
- `scripts/`    4 source files

## Conventions

- Tests live alongside the code they cover, following `.github/workflows/agent_tars_test.yml`.
- TypeScript is not in strict mode. Turning it on catches a whole class of mistakes before they run.
- CI defines what passing means. See `.github/workflows/agent_tars_test.yml`, and keep it green.
- TODO: add the two or three conventions a newcomer always gets wrong here.

## Gotchas

- Copy `.env.example` before running anything that needs configuration.

---

Drafted by agentreadme.com from what is in this repository. Everything marked TODO
needs a human. Check it in as AGENTS.md at the root.

Open the raw markdown  or  curl -o AGENTS.md agentreadme.com/draft/bytedance/UI-TARS-desktop.md

Show the mark

The badge re-checks daily, so it keeps up as the repository changes. Use mark again to force it now.

agent ready 69 out of 100

[![agent ready](https://agentreadme.com/badge/bytedance/UI-TARS-desktop.svg)](https://agentreadme.com/bytedance/UI-TARS-desktop)

Other TypeScript repositories, marked

freeCodeCamp/freeCodeCamp 69 B openclaw/openclaw 68 B nilbuild/developer-roadmap 45 C vuejs/vue 67 B n8n-io/n8n 87 A anomalyco/opencode 80 A-

All TypeScript repositories

Think this mark is wrong?

Every deduction above names the file it came from, so this can be settled by looking. If a check missed something, that is a rule worth fixing.

Open an issue, already filled in