Skip to content

Since the last run

Overall −8 points

cansin/next-with-workbox (opens in a new tab)

A lean codebase that agents can ingest instantly, but one missing test file away from being actually verifiable.

JavaScript★ 296 open issuesMIT License
Overall score: 60 out of 100
Slipping

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.

60 / 100

17 of 42 checks passed across 6 categories.

  • Machine Orientation

    65

    Workable README and tests exist, but an agent guidance file is missing.

    The repository has a clean README with install and usage instructions and an npm test script defined in package.json, scoring in the Workable band. However, it lacks an explicit AGENTS.md or CLAUDE.md file to guide AI agents on execution commands and conventions.

  • Reproducible Setup

    60

    Workable npm setup with a lockfile and test script, but lacking containerization and pinned runtime engines.

    The repository includes a package-lock.json and a standard npm test script, clearing the Workworkable band. However, it lacks a container or devcontainer definition and uses floating engine constraints, leaving minor gaps in fully deterministic environment reproduction.

  • Code Navigability

    60

    The flat, small codebase is easily navigated by agents despite its lack of types and modular directories.

    The repository has an extremely flat 13-file structure with zero nested subdirectories or modular organization, making everything immediately visible in a single context window despite lacking TypeScript signatures and conventional layout. Navigability clears the Workable band because the core logic is concentrated in single files (`index.js`, `test.js`), though the lack of typing and modular breakdown requires agents to parse untyped JS directly.

  • Verification Surface

    45

    Test script and CI exist, but the actual test files are missing.

    Although `package.json` defines a test script (`eslint . && jest`), the file tree indicates that tests (`tests=no`) are missing alongside missing test suites, preventing an agent from verifying changes. CI exists via GitHub Actions, but without a robust local test suite, the verification surface remains rough and incomplete.

  • Agent Safety

    60

    Clean of secrets, but missing a .gitignore file and explicit agent guardrails.

    Although there are no hardcoded secrets or committed env files, the repository lacks a .gitignore file covering environment configurations and has no explicit agent boundaries or safety documentation. The signal clears the Workable band (50–69) because essentials like clean secret scans are present, but key safeguards like .gitignore and explicit agent guardrails are missing.

  • Context Economy

    85

    Extremely lean repository with zero noise, allowing agents to ingest the entire codebase instantly.

    The repository is exceptionally small with only 13 files and zero generated or vendored bulk, meaning 100% of the files are signal and fit comfortably into any agent context window. While it lacks explicit linguist markers or an llms.txt, the ultra-minimal footprint easily clears the Solid band (70-89) for context economy.

  • Machine Orientation

    4 checks passed5 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.

    • lowExamples directory

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

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

    • lowContribution conventions are written down

      A contributor guide is where an agent learns the branch, commit, and review conventions it must follow.

      Fix: Add a CONTRIBUTING.md stating the branch naming, commit format, and how a change gets reviewed.

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

    3 checks passed4 problems found

    • mediumContainer or dev-container

      A Dockerfile / compose / devcontainer removes 'works on my machine' from setup.

      Fix: Add a Dockerfile, a compose file, or a .devcontainer so the environment is declared, not assumed.

    • 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.
    • README documents setup — Explicit install/setup steps are what let an agent go from clone to running.
  • Code Navigability

    0 checks passed4 problems found

    • mediumConventional source layout

      A recognised src/ · lib/ · app/ layout lets an agent localise code without spelunking.

      Fix: Group source under a conventional top-level directory (src/, lib/, app/, …).

    • low.editorconfig present

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

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

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

  • Verification Surface

    2 checks passed5 problems found

    • highTests present

      Runnable tests are the ground truth an agent checks its own edits against.

      Fix: Add a test suite an agent can run to verify a change.

    • lowLint command defined

      A linter an agent can run catches a class of mistakes before they ship.

      Fix: Add a `lint` script and a linter config.

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

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

    • Test command defined — A `test` script is the documented, discoverable way to run the suite.
    • CI configured — Readable CI is the feedback loop an agent reads to know what 'green' means here.
  • Agent Safety

    5 checks passed6 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.

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

    • lowGenerated / vendored files marked

      A .gitattributes linguist marker tells tools (and agents) what to skip.

      Fix: Mark generated/vendored paths in .gitattributes (linguist-generated / linguist-vendored).

    • 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.
    • No oversized source file — A single file in the hundreds of KB blows past an agent's effective context window.

Where the grip slips

  1. highVerification Surface+12 pts if fixed

    Missing test files

    No test files or test suite exist in the repository despite a test script being configured in package.json.

    Fix: Implement a test suite using Jest and add test files covering the plugin functionality.

  2. mediumReproducible Setup+5 pts if fixed

    Missing container environment

    No containerization or devcontainer configuration provided for isolated execution.

    Fix: Add a Dockerfile or devcontainer.json for standardized containerized setup.

  3. mediumMachine Orientation+4 pts if fixed

    Missing agent-specific guidance file (AGENTS.md/CLAUDE.md)

    Missing AGENTS.md or CLAUDE.md file providing agent-specific build/test/run guidance and architectural conventions.

    Fix: Create an AGENTS.md or CLAUDE.md file listing test commands (`npm test`) and key entry points (`index.js`).

  4. mediumCode Navigability+4 pts if fixed

    Missing type signatures

    Lack of TypeScript or JSDoc type definitions for complex Next.js webpack config wrappers and workbox options.

    Fix: Add JSDoc type annotations or migrate index.js to TypeScript with strict mode enabled.

  5. lowReproducible Setup+3 pts if fixed

    Unpinned Node.js engine requirement

    Node engine requirement uses floating constraint (>=14) without a .nvmversion or engines specification pinning.

    Fix: Pin the exact Node.js version in .nvmrc and engines field in package.json.

  6. mediumAgent Safety+3 pts if fixed

    Missing .gitignore file

    The repository has no .gitignore file, risking accidental commits of sensitive files or local build outputs.

    Fix: Create a standard .gitignore file excluding node_modules, build outputs, and .env files.

  7. lowCode Navigability+2 pts if fixed

    Non-conventional file layout

    Flat file structure without a dedicated src/ or lib/ directory layout.

    Fix: Organize source files into a conventional src/ directory structure.

  8. lowAgent Safety+2 pts if fixed

    Missing agent safety boundaries

    No explicit agent guidance or 'don't touch' boundaries are defined in the repository.

    Fix: Add agent instructions or explicit boundaries in a dedicated documentation file.

  9. lowContext Economy+1 pts if fixed

    Missing llms.txt

    No llms.txt or compact architectural summary for agent consumption.

    Fix: Add an llms.txt file to guide AI agents through the repository structure.

Show your score

Latch badge
[![Latch score](https://latch.fyi/api/badge/27d9f72a-d39a-45cf-bcc1-db2dfd5ecb7b)](https://latch.fyi/cansin/next-with-workbox)

Share this analysis

https://latch.fyi/cansin/next-with-workbox

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.