Skip to content

Since the last run

Overall +9 points

anomalyco/opencode (opens in a new tab)

A well-documented, agent-navigable monorepo whose heavy media assets and unpruned file tree tax context windows.

TypeScript★ 207,9595,803 open issuesMIT License
Overall score: 81 out of 100
Firm grip

last scored 2026-09-17 · both lenses

Readiness lenses

The same repo, two ways: how ready it is for an AI coding agent, and for a human newcomer. Switch lenses to see each one's score and checks.

How ready the repo is for an AI coding agent to read, build, and operate it.

81 / 100

31 of 44 checks passed across 6 categories.

  • Machine Orientation

    85

    Solid, explicit AGENTS.md and README make machine orientation straightforward.

    The repository provides clear guidance via an informative README and an explicit AGENTS.md specifying build, dev, commit, and style conventions. Essential setup rules, lockfiles, and environment templates exist, clearing the Solid band (70-89).

  • Reproducible Setup

    85

    Solid setup with pinned lockfiles and docker support, though root test invocation requires package-level routing.

    The repository provides pinned dependencies (`bun.lock`), explicit package manager constraints (`packageManager: bun@1.3.14`), an environment example (`.env.example`), a Dockerfile, and robust CI workflows for testing and typechecking. However, root test invocation explicitly fails via script guard (`"test": "echo 'do not run tests from root' && exit 1"`), meaning agents must navigate package-specific test execution without centralized root wrappers. This clears the Solid band (70–89).

  • Code Navigability

    82

    Well-organized monorepo workspaces and clear agent navigation guide make localization straightforward despite scale.

    The repository is well-structured into conventional workspaces (`packages/*`) with clean module boundaries and robust guidelines in AGENTS.md, but spans 6,626 files with mixed typechecking strictness across packages. This places it solidly in the Solid band (70-89) as an agent can navigate core modules reliably with clear patterns.

  • Verification Surface

    80

    Solid verification infrastructure with comprehensive CI and typechecking, though root test delegation requires workspace awareness.

    The repository provides robust verification signals including extensive test suites, workflows (.github/workflows/test.yml, typecheck.yml), and explicit package scripts for linting (oxlint) and typechecking (bun turbo typecheck). However, the root package.json explicitly prevents running tests from the root (`echo 'do not run tests from root' && exit 1`), requiring agents to navigate workspace turbo commands or package subdirectories to execute checks. This clears the Solid band.

  • Agent Safety

    85

    Solid agent safety hygiene with clear threat modeling, clean secret management, and explicit operational warnings.

    The repository demonstrates solid agent safety with correct secret hygiene (env.example present, .gitignore covering secrets, zero secret-shaped hits) and explicit security guidelines in SECURITY.md detailing lack of sandboxing and server risks. Minor gaps include lack of an explicit trusted boundaries list for agent file access beyond standard config files, but overall safety practices are well established and verifiable.

  • Context Economy

    60

    Massive file tree and heavy media artifacts create high noise that strains agent context windows.

    Although the repo manages node_modules and build outputs via gitignore, it spans 6,626+ files across deeply nested mono-repo packages and artifact directories without clear `.gitignore` scopes or split submodules for auxiliary large media assets (like `artifacts/glm52-rise-video/out/`), overwhelming agent context windows. Essential guidelines exist (`AGENTS.md`, `.opencode/`), but navigating the immense raw file count without a curated map drops it into the Workable band.

  • Machine Orientation

    6 checks passed4 problems found

    • lowllms.txt present

      An llms.txt is the emerging machine-orientation standard — a curated map for LLMs.

      Fix: Add an llms.txt pointing at the key docs and entry points.

    • lowTopics set

      GitHub topics situate the repo's domain and stack for an agent at a glance.

      Fix: Add a few GitHub topics describing the domain and stack.

    • lowArchitecture doc

      An ARCHITECTURE doc hands an agent the module map instead of making it infer one.

      Fix: Add an ARCHITECTURE.md describing the major components and how they fit.

    • lowExamples directory

      An examples/ directory gives an agent runnable, copyable references for the API.

      Fix: Add an examples/ directory with small, runnable usage samples.

    • README present — An agent reconstructs what the repo is and how to work in it from the README first.
    • Agent instructions file — AGENTS.md / CLAUDE.md is the direct, machine-read channel for entry points and conventions.
    • Agent instructions stay lean — A bloated instructions file burns context and measurably hurts more than it helps.
    • Repository description set — The one-line description is the fastest orientation signal an agent reads.
    • README shows usage — A usage/example section tells an agent how the project is actually invoked.
    • Contribution conventions are written down — A contributor guide is where an agent learns the branch, commit, and review conventions it must follow.
  • Reproducible Setup

    6 checks passed1 problem found

    • lowDev container

      A .devcontainer gives an agent a one-command, fully-declared environment.

      Fix: Add a .devcontainer so the toolchain is declared, not assumed.

    • Lockfile committed — Without a lockfile two clones can resolve different dependency trees — the build isn't reproducible.
    • Runtime / toolchain pinned — An unpinned runtime makes an agent guess the version a clean environment needs.
    • Version pins are exact — A floating pin (a bare major, or a range) still drifts between installs.
    • Env template present — A .env.example tells an agent which configuration keys it must supply to run.
    • Container or dev-container — A Dockerfile / compose / devcontainer removes 'works on my machine' from setup.
    • README documents setup — Explicit install/setup steps are what let an agent go from clone to running.
  • Code Navigability

    2 checks passed3 problems found

    • lowTypeScript strict mode on

      Strict typing gives an agent typed signatures to anchor an edit on, not guesses.

      Fix: Turn on `strict` in tsconfig.json.

    • lowFormatter configured

      A formatter config (Prettier/Biome/rustfmt/…) keeps style uniform across the tree.

      Fix: Add a formatter (Prettier, Biome, rustfmt, …) and commit its config.

    • lowTyped public API

      A declared `types` entry gives an agent typed signatures to anchor an edit on.

      Fix: Ship type declarations and point package.json `types`/`typings` at them.

    • Conventional source layout — A recognised src/ · lib/ · app/ layout lets an agent localise code without spelunking.
    • .editorconfig present — An .editorconfig keeps whitespace and encoding consistent, so diffs stay legible.
  • Verification Surface

    5 checks passed2 problems found

    • lowTask runner present

      A Makefile / Taskfile / justfile gives an agent a single index of the project's commands.

      Fix: Add a Makefile / Taskfile / justfile collecting the common commands.

    • lowBuild command

      A documented build command is the discoverable way for an agent to produce artifacts.

      Fix: Add a `build` script that produces the distributable.

    • Tests present — Runnable tests are the ground truth an agent checks its own edits against.
    • Test command defined — A `test` script is the documented, discoverable way to run the suite.
    • Lint command defined — A linter an agent can run catches a class of mistakes before they ship.
    • CI configured — Readable CI is the feedback loop an agent reads to know what 'green' means here.
    • Typecheck command — A typecheck script lets an agent catch type errors before they ship.
  • Agent Safety

    9 checks passed2 problems found

    • lowAutomated dependency updates

      Dependabot / Renovate keeps dependencies patched without a human in the loop.

      Fix: Enable Dependabot or Renovate.

    • lowPolicy gives severity context

      Severity judged against this system beats a generic rating an agent had to guess at.

      Fix: Say in SECURITY.md how severity is judged here — what makes a finding critical for this system.

    • No committed .env — A tracked real .env hands secrets to anything — including an agent — that reads the repo.
    • No exposed secrets — Secret-shaped literals in tracked files are a live credential leak.
    • .gitignore covers env files — An ignore rule for .env is what keeps the next careless commit from leaking secrets.
    • CODEOWNERS present — CODEOWNERS marks the 'don't touch without review' zones an agent should respect.
    • .gitignore present — A .gitignore is the first guard against an agent committing secrets or build junk.
    • Security policy — A SECURITY.md is where an autonomous security agent reads this repo's rules before acting on it.
    • Policy names the threat model — A scanning agent aims at what the repo says it is defending, and where untrusted input crosses in.
    • Policy scopes what counts as a finding — With no reportable-finding bar and no out-of-scope list, an automated scan returns noise nobody triages.
    • License makes the code reusable — Without a license an agent cannot safely copy, redistribute, or vendor any of this code.
  • Context Economy

    3 checks passed1 problem found

    • lowNo oversized source file

      A single file in the hundreds of KB blows past an agent's effective context window.

      Fix: Split the largest files along their natural seams.

    • Dependencies not vendored in — A committed node_modules / vendor tree drowns the real signal an agent needs.
    • Build output not committed — Generated dist/ · build/ output is noise an agent has to read past.
    • Generated / vendored files marked — A .gitattributes linguist marker tells tools (and agents) what to skip.

Where the grip slips

  1. mediumVerification Surface+4 pts if fixed

    Root test script blocks default execution

    Root package.json test script explicitly blocks execution (`echo 'do not run tests from root' && exit 1`), which can cause agents trying to run `npm test` or `bun test` at the root to fail instantly.

    Fix: Update root package.json test script to delegate to turbo or document workspace test execution clearly.

  2. mediumReproducible Setup+3 pts if fixed

    Root test script blocks default test invocation

    Root test script exits with an error to prevent root execution, forcing agents to discover package-specific test paths.

    Fix: Provide a unified turbo or workspace test script at the root level that runs tests across packages correctly.

  3. mediumCode Navigability+3 pts if fixed

    Inconsistent TypeScript strictness across packages

    TypeScript strictness and configuration vary across the large monorepo workspace packages.

    Fix: Enforce uniform strict tsconfig inheritance across all workspace packages.

  4. mediumContext Economy+2 pts if fixed

    Heavy auxiliary media artifacts clutter file tree and context

    Repository contains over 6,600 files, including heavy media artifacts under `artifacts/glm52-rise-video/out/` that consume context and token budgets unnecessarily.

    Fix: Move large binary artifacts and demo videos out of the main repository or ensure they are excluded and pruned from git history.

  5. lowMachine Orientation+2 pts if fixed

    Missing architecture doc and llms.txt

    No dedicated architecture diagram or top-level llms.txt summary for agent navigation.

    Fix: Add an architecture overview or llms.txt to further streamline agent onboarding.

  6. lowAgent Safety+2 pts if fixed

    Missing explicit agent-touch boundaries

    The repository lacks a dedicated policy file or machine-readable instruction set defining clear agent-touch boundaries (e.g., explicit read-only or forbidden directories for autonomous agents).

    Fix: Add a clear DO NOT TOUCH or read-only boundary block inside AGENTS.md or .opencode/opencode.jsonc to guide autonomous agent actions.

  7. lowContext Economy+1 pts if fixed

    Missing llms.txt guide for agent navigation

    Lack of a machine-readable `llms.txt` file or explicit directory-level scoping files across all subpackages hinders efficient agent traversal in a massive monorepo.

    Fix: Add an `llms.txt` file at the root to guide agents on package boundaries and key entry points.

Show your score

Latch badge
[![Latch score](https://latch.fyi/api/badge/a1dbfb7e-d5ee-4382-835b-e0288279efca)](https://latch.fyi/anomalyco/opencode)

Share this analysis

https://latch.fyi/anomalyco/opencode

Fixed some issues? Re-analyze to measure your progress →

Copy the whole report

Grab the entire verdict in one go — a Markdown block for a README or an issue, plain text, or a prompt you can paste straight into an LLM.

Was this verdict fair?

One tap helps — or tell us more.