bench-setup

Initializes the nu-validator benchmark environment with Docker, submodules, and snapshot generation.

611|63|Updated Sep 26, 2017
One-click install
npx skills add https://github.com/markuplint/markuplint --skill bench-setup
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: bench-setup
Source: https://github.com/markuplint/markuplint/tree/main/.claude/skills/bench-setup
Command: npx skills add https://github.com/markuplint/markuplint --skill bench-setup

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Setting up the markuplint nu-validator benchmark on a fresh clone or after a long break fails in confusing ways: missing gitignored snapshots, an uninitialized validator submodule, Docker daemon errors, port conflicts, and healthcheck timeouts. This Skill walks through the exact bootstrap and recovery steps so the bench becomes runnable.

Core Features & Use Cases

  • Fresh-clone bootstrap: Initializes the validator submodule and runs yarn bench:update to pull the nu-validator Docker image and generate raw snapshot trees.
  • Routine refresh: Updates the submodule remote and regenerates snapshots, with guidance on reviewing diff summaries in PRs.
  • Targeted troubleshooting: Maps symptoms like "no snapshots found", "Docker daemon not reachable", port 28888 conflicts, and healthcheck timeouts to concrete fixes.
  • Use Case: After cloning the markuplint monorepo, yarn bench:verify fails with "no snapshots found". This Skill identifies that raw snapshot trees are gitignored and directs you to run the submodule init plus yarn bench:update once.

Quick Start

Set up the nu-validator benchmark environment on this machine and fix any Docker or snapshot errors that come up.

Frequently Asked Questions about bench-setup

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I set up the markuplint nu-validator benchmark on a fresh clone?

Run git submodule update --init tests/external/validator, then yarn bench:update. This pulls the nu-validator Docker image, runs both tools across all fixtures, and writes the gitignored snapshot trees in about two minutes.

Why does yarn bench:verify fail with "no snapshots found"?

The raw snapshot trees are gitignored, so they do not exist on a fresh clone. Run yarn bench:update once to generate them locally before running verify or compare commands.

How do I fix "Docker daemon not reachable" when running the bench?

Start Docker Desktop or the Docker daemon manually; the bench does not install or start Docker for you. If docker pull fails afterward, run docker login ghcr.io or check network connectivity.

Can I update benchmarks without rerunning the Docker nu-validator side?

Yes, run yarn bench:update:ml after a markuplint rule change. It only re-runs the markuplint side and reuses the existing nu snapshots, skipping the Docker leg entirely.

Why do benchmark snapshot files flip between runs?

This is expected nu-validator parallelism flicker affecting one or two files. Rerun with --concurrency 1 when reproducibility matters, since nu output is only deterministic at concurrency 1.