Night Market Build And Env

Bootstraps vývojové prostředí claude-night-market: uv-first nastavení, Python vrstvy, známé pasti

od athola · athola/claude-night-market

Otestováno · Funguje ★ 7.6/10

Night Market Build And Env — Bootstraps vývojové prostředí claude-night-market: uv-first nastavení, Python vrstvy, známé pasti

Co umí

Runbook pro onboarding specifický pro repozitář claude-night-market monorepo: uspořádaná tabulka nástrojů (uv, Python 3.12, make, ruff/mypy/bandit/pre-commit přes uv.lock), čtyřkroková ověřovací sekvence pro první hodinu s přesným tvarem výstupu, který by měl každý krok vytisknout, tři vrstvy verzí Pythonu (nástroje root 3.12 vs. importní řetězce hooků omezené na 3.9) a tabulka pastí, které dříve rozbily prostředí. Spouští se, když někdo nastavuje repozitář z čistého stroje, když se nástroje rozbijí (špatný ruff na PATH, selhání pre-commit bandit env) nebo když se ptá, proč je kód hooku připnut na Python 3.9, zatímco nástroje root potřebují 3.12. Není určeno pro denní příkazy test/lint/release — ty přesměrovává na night-market-operations.

Testovací report

Klonoval jsem repo do /tmp a spustil vlastní ověřovací sekvenci dovednosti: `make validate-all` vytisklo 22 bloků, 22 "OK Plugin validation passed", 0 "(validation failed)" — tvar výstupu přesně podle dokumentace (dovednost říká 26 adresářů; skutečnost je 22), a `make -C plugins/leyline test` skončilo s "719 passed, 6 warnings in 8.83s" plus tabulkou pokrytí (snímek dovednosti uváděl 710 passed / 9.96s). Pro test výstupu jsem napsal BASELINE ONBOARDING.md pouze z README.md "Requirements" + `make help` (co vidí agent bez dovedností) a SKILL ONBOARDING.md podle SKILL.md, poté jsem provedl dvě místa, kde se rozcházejí: `pytest` základní verze shromáždil 1502 testů s NULOU z plugins/ (leyline's 719 chybí — falešná zelená, na kterou upozorňuje past `norecursedirs` dovednosti, potvrzeno na pyproject.toml:52), a `python3 -m venv && pip install -e .` základní verze vytvořila venv obsahující pytest, ale žádné ruff/mypy/pre-commit/bandit (ty jsou v [dev] extra), zatímco README nikdy nezmiňuje uv, i když Makefile volá `uv run` 18krát. Proti tomu: dovednost je snímek v1.9.15 a HEAD je 1.9.17, takže její seznam Python-floor pro každý plugin je nyní špatný (všech 23 pluginů připíná ">=3.9"), root ruff target-version je "py39" nikoli "py312", setup-uv je připnut v9.0.0 nikoli v8.2.0, uv.lock má ruff 0.15.22 nikoli 0.14.13, a root package.json, na který odkazuje pro připnutí @google/gemini-cli, vrací 404 — proto instalace 4 a dokumentace 3. Zkontrolovány scripts/check_pinned_versions.py, scripts/check_ruff_version.py, .github/workflows/python39-compat.yml: všechny HTTP 200, a workflow skutečně obsahuje obě popsané brány (UP007 ruff check + `uv venv --python 3.9` s `--override-ini="addopts="`). Žádné curl|sh, base64, exfiltrace tajemství ani injekční text; instalace ověřena v dočasném HOME.

Testováno: 2026-07-31 · Claude Code 2.x (agent harness)

Instalace

git clone --depth 1 https://github.com/athola/claude-night-market.git /tmp/night-market-build-and-env-src
mkdir -p ~/.claude/skills
cp -R /tmp/night-market-build-and-env-src/.claude/skills/night-market-build-and-env ~/.claude/skills/night-market-build-and-env
# Single self-contained SKILL.md, no bundled scripts or assets.
# No API keys or external deps needed to READ the skill.
# To actually FOLLOW it you need: uv (astral.sh/uv), Python 3.12, make + bash,
#   and a clone of athola/claude-night-market. Rust/node/mdbook/gh are optional.
# Scope note: this skill only describes the claude-night-market repo itself.
#   It is not a generic uv/Python setup guide for other projects.
# Marketplace alternative: /plugin marketplace add athola/claude-night-market

Příkazy a ukázkové prompty

  • /night-market-build-and-envBootstraps vývojové prostředí claude-night-market: uv-first nastavení, Python vrstvy, známé pasti

Skilly se spouštějí běžnými požadavky — žádné příkazy k zapamatování. Po instalaci ho aktivují prompty jako tyto (anglicky):

  • Rebuild my dev environment from scratch
  • Fix a broken uv toolchain setup
  • Onboard me onto this Python project's environment