Skip to content

Since the last run

Overall −1 points

nestjs/nest (opens in a new tab)

A well-structured NestJS monorepo with solid verification and navigability, though agents would benefit from clearer onboarding guides and environment templates.

TypeScript★ 76,64874 open issuesMIT License
Overall score: 77 out of 100
Holding

last scored 2026-09-13 · 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.

77 / 100

26 of 43 checks passed across 6 categories.

  • Machine Orientation

    65

    Solid codebase structure and package scripts, but lacks dedicated machine-readable agent onboarding instructions.

    While NestJS features an extensive test suite and clear package scripts in package.json, it lacks an AGENTS.md or CLAUDE.md file providing dedicated machine-readable onboarding instructions for an AI agent. It clears the Workable band (50–69) because core scripts and structure are present in package.json and CONTRIBUTING.md, but agent guidance is missing.

  • Reproducible Setup

    75

    Well-structured npm workspaces with complete build and test scripts, missing only containerization and environment templates.

    The repository provides a clear Node.js workspace structure with a package-lock.json and defined scripts for building, testing, and linting in package.json. However, it lacks an environment variables template (.env.example) and a container setup (Dockerfile/devcontainer), placing it firmly in the Solid band.

  • Code Navigability

    85

    Code navigability is strong with a clean monorepo layout and predictable module boundaries.

    The repository uses a clear monorepo structure under `packages/` with consistent TypeScript conventions, descriptive package naming, and conventional layout, allowing an AI agent to easily localize and navigate code. Minor gaps include missing explicit tsconfig strict settings in root summary signals, but module boundaries are well defined. Code Navigability easily clears the Solid band.

  • Verification Surface

    85

    Solid verification surface with Vitest, oxlint, and CircleCI integration.

    The repository provides a comprehensive verification surface with Vitest tests, oxlint linting, TypeScript build checking, and a detailed CircleCI workflow (.circleci/config.yml) covering unit, integration, and sample tests. This clears the Solid band cleanly, as an agent can easily run npm test, npm run lint, and npm run build locally to verify its changes.

  • Agent Safety

    60

    Secure secret hygiene and SECURITY.md exist, but .env.example and .gitignore environment coverage are missing.

    The repository has no committed environment files or secret-shaped hits, and includes a SECURITY.md file, but lacks an .env.example template and its .gitignore does not explicitly cover .env files. Because the essentials exist with named gaps, this lands firmly in the Workable (50–69) band.

  • Context Economy

    85

    Clean workspace boundaries and proper ignore configurations keep context pollution minimal for agents.

    The repository manages context effectively with clean build artifacts and well-structured source code, clearing the Solid band (70-89). However, lack of explicit `llms.txt` or a high-level architectural overview document prevents it from reaching exemplary status.

  • Machine Orientation

    6 checks passed3 problems found

    • mediumAgent instructions file

      AGENTS.md / CLAUDE.md is the direct, machine-read channel for entry points and conventions.

      Fix: Add an AGENTS.md naming the entry points, the build/test commands, and the house conventions.

    • 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.

    • 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.

    • README present — An agent reconstructs what the repo is and how to work in it from the README first.
    • Repository description set — The one-line description is the fastest orientation signal an agent reads.
    • Topics set — GitHub topics situate the repo's domain and stack for an agent at a glance.
    • README shows usage — A usage/example section tells an agent how the project is actually invoked.
    • Examples directory — An examples/ directory gives an agent runnable, copyable references for the API.
    • Contribution conventions are written down — A contributor guide is where an agent learns the branch, commit, and review conventions it must follow.
  • Reproducible Setup

    4 checks passed3 problems found

    • lowVersion pins are exact

      A floating pin (a bare major, or a range) still drifts between installs.

      Fix: Pin to an exact or minor version, not a floating range.

    • lowEnv template present

      A .env.example tells an agent which configuration keys it must supply to run.

      Fix: Ship a .env.example listing every required key with placeholder values.

    • 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.
    • 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.

    • low.editorconfig present

      An .editorconfig keeps whitespace and encoding consistent, so diffs stay legible.

      Fix: Add an .editorconfig pinning indentation, charset, and final-newline.

    • 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.
    • Formatter configured — A formatter config (Prettier/Biome/rustfmt/…) keeps style uniform across the tree.
  • 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.

    • lowTypecheck command

      A typecheck script lets an agent catch type errors before they ship.

      Fix: Add a `typecheck` script (e.g. `tsc --noEmit`).

    • 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.
    • Build command — A documented build command is the discoverable way for an agent to produce artifacts.
  • Agent Safety

    6 checks passed5 problems found

    • medium.gitignore covers env files

      An ignore rule for .env is what keeps the next careless commit from leaking secrets.

      Fix: Add `.env` (and `.env.*`) to .gitignore.

    • mediumPolicy names the threat model

      A scanning agent aims at what the repo says it is defending, and where untrusted input crosses in.

      Fix: Describe the threat model and trust boundaries in SECURITY.md — what is attacker-controlled, and where it reaches trusted code.

    • mediumPolicy scopes what counts as a finding

      With no reportable-finding bar and no out-of-scope list, an automated scan returns noise nobody triages.

      Fix: State in SECURITY.md what counts as a reportable finding, and what is out of scope or accepted risk.

    • lowCODEOWNERS present

      CODEOWNERS marks the 'don't touch without review' zones an agent should respect.

      Fix: Add a CODEOWNERS file marking the sensitive paths.

    • 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.
    • Automated dependency updates — Dependabot / Renovate keeps dependencies patched without a human in the loop.
    • .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.
    • 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. mediumMachine Orientation+4 pts if fixed

    Missing AGENTS.md or CLAUDE.md guidance file

    No AGENTS.md or CLAUDE.md file is present to guide AI coding agents on build, test, and contribution workflows.

    Fix: Create an AGENTS.md file summarizing the primary build (`npm run build`), test (`npm test`), lint (`npm run lint`), and package layout conventions.

  2. mediumAgent Safety+3 pts if fixed

    Missing .env.example template

    No .env.example or template file is provided for configuration, which can lead agents to guess required environment variables.

    Fix: Add a robust .env.example file documenting all expected environment variables.

  3. lowReproducible Setup+3 pts if fixed

    Missing containerized setup

    No Dockerfile or devcontainer configuration is provided for containerized agent execution.

    Fix: Add a Dockerfile or devcontainer configuration to standardize the runtime environment.

  4. lowVerification Surface+3 pts if fixed

    Missing dedicated typecheck npm script

    Typecheck verification script relies on tsc -b but there is no dedicated npm run typecheck script in package.json.

    Fix: Add a `"typecheck": "tsc -b --noEmit"` script to package.json.

  5. mediumAgent Safety+2 pts if fixed

    .gitignore does not explicitly cover .env files

    The .gitignore file does not explicitly ignore standard .env files, risking accidental secret leakage if local environment files are created.

    Fix: Add .env, .env.local, and related environment file patterns to .gitignore.

  6. lowReproducible Setup+2 pts if fixed

    Missing environment template

    No .env.example or environment configuration template is present.

    Fix: Add a .env.example file documenting expected configuration variables.

  7. lowCode Navigability+2 pts if fixed

    Implicit strict TypeScript signal

    Root tsconfig strictness is not explicitly marked in standard config signals.

    Fix: Ensure tsconfig.json explicitly sets strict mode flags and documents them for agent context.

  8. lowContext Economy+1 pts if fixed

    Missing LLM orientation guide (llms.txt)

    No dedicated LLM orientation file (llms.txt) is provided to guide agents on package architecture and workspace relationships.

    Fix: Create an llms.txt at the repository root outlining the monorepo structure and core packages.

Show your score

Latch badge
[![Latch score](https://latch.fyi/api/badge/39202205-b59c-410a-b3db-7d186978b37d)](https://latch.fyi/nestjs/nest)

Share this analysis

https://latch.fyi/nestjs/nest

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.