Night Market Build And Env

Avvia un ambiente di sviluppo claude-night-market: setup uv-first, livelli Python, trappole note

di athola · athola/claude-night-market

Promosso ★ 7.6/10

Night Market Build And Env — Avvia un ambiente di sviluppo claude-night-market: setup uv-first, livelli Python, trappole note

Cosa fa

Un runbook di onboarding specifico per il monorepo claude-night-market: una tabella ordinata della toolchain (uv, Python 3.12, make, ruff/mypy/bandit/pre-commit tramite uv.lock), una sequenza di verifica in quattro passaggi per la prima ora con la forma esatta dell'output che ogni passaggio dovrebbe stampare, i tre livelli di versione Python (strumenti root 3.12 vs catene di importazione hook vincolate a 3.9) e una tabella di trappole che hanno precedentemente rotto l'ambiente. Si attiva quando qualcuno sta configurando il repository da una macchina pulita, quando la toolchain si rompe (ruff sbagliato su PATH, ambiente pre-commit bandit fallito) o quando si chiede perché il codice hook è bloccato a Python 3.9 mentre gli strumenti root richiedono 3.12. Non per comandi giornalieri di test/lint/release — li reindirizza a night-market-operations.

Rapporto di test

Clonato il repository in /tmp e eseguita la sequenza di verifica della skill: `make validate-all` ha stampato 22 blocchi, 22 "OK Plugin validation passed", 0 "(validation failed)" — forma dell'output esattamente come documentato (la skill dice 26 directory; l'attuale è 22), e `make -C plugins/leyline test` è terminato con "719 passed, 6 warnings in 8.83s" più una tabella di copertura (lo snapshot della skill diceva 710 passed / 9.96s). Per il test di output ho scritto un BASELINE ONBOARDING.md solo da README.md "Requirements" + `make help` (ciò che vede un agente senza skill) e un SKILL ONBOARDING.md seguendo SKILL.md, quindi ho eseguito i due punti in cui divergono: il `pytest` della baseline ha raccolto 1502 test con ZERO da plugins/ (i 719 di leyline assenti — un falso positivo di cui la trappola `norecursedirs` della skill avverte, confermato in pyproject.toml:52), e il `python3 -m venv && pip install -e .` della baseline ha prodotto un venv contenente pytest ma nessun ruff/mypy/pre-commit/bandit (si trovano nell'extra [dev]), mentre README non menziona mai uv anche se il Makefile chiama `uv run` 18 volte. Contro questo: la skill è uno snapshot v1.9.15 e HEAD è 1.9.17, quindi la sua lista Python-floor per plugin è ora sbagliata (tutti i 23 plugin bloccano ">=3.9"), la root ruff target-version è "py39" non "py312", setup-uv è bloccato a v9.0.0 non v8.2.0, uv.lock ha ruff 0.15.22 non 0.14.13, e il root package.json che cita per il blocco @google/gemini-cli restituisce 404 — quindi installazione 4 e documentazione 3. Controllati scripts/check_pinned_versions.py, scripts/check_ruff_version.py, .github/workflows/python39-compat.yml: tutti HTTP 200, e il workflow contiene davvero entrambi i gate descritti (UP007 ruff check + `uv venv --python 3.9` con `--override-ini="addopts="`). Nessun curl|sh, base64, esfiltrazione di segreti o testo di injection; installazione verificata in una HOME temporanea.

Testato il: 2026-07-31 · Claude Code 2.x (agent harness)

Installazione

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

Comandi e prompt di esempio

  • /night-market-build-and-envAvvia un ambiente di sviluppo claude-night-market: setup uv-first, livelli Python, trappole note

Gli skill si attivano con richieste in linguaggio naturale, senza comandi da ricordare. Dopo l'installazione, prompt come questi lo attivano (in inglese):

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