npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

mova-claude-import

v0.1.5

Published

Детерминированный генератор и контролёр структуры Claude Code‑проекта с наблюдаемостью MOVA.

Readme

mova-claude-import

Детерминированный генератор и контролёр структуры Claude Code‑проекта с наблюдаемостью MOVA.

Что делает инструмент

  • создаёт полный “эталонный” скелет Claude Code‑проекта;
  • импортирует существующий проект в чистую структуру;
  • добавляет слой контроля, наблюдаемости и отчёты без “магии” и без LLM.

Что было → что стало

Было: разрозненные файлы, нет единой точки контроля, нечего “применять”.

Стало (минимальный срез):

.\project\
  CLAUDE.md
  .claude/
    settings.json
    settings.local.example.json
    commands/
    agents/
    output-styles/
    hooks/
  .mcp.json
  mova/
    control_v0.json
    claude_import/v0/...
    claude_control/v0/runs/...

Быстрый старт

Где размещать файлы проекта

Claude Code читает инструкции из корня репозитория. После генерации профиля (init/preset) поместите в корень:

  • CLAUDE.md
  • .claude/ (settings, commands, agents, hooks, rules, skills)
  • .mcp.json
  • mova/ (control_v0.json и отчеты)

Если preset/профиль был создан в отдельной папке (например, out), просто перенесите эти файлы и папки в корень целевого репозитория без изменения относительных путей.

Если перенести эти папки не в корень, Claude Code и mova-claude-import не найдут настройки.

Recommended flow (control_v0)

mkdir .\claude_profile -Force
npx -y mova-claude-import@latest init --out .\claude_profile
npx -y mova-claude-import@latest control prefill --project .\claude_profile --out .\prefill_out
npx -y mova-claude-import@latest control apply --project .\claude_profile --profile .\claude_profile\mova\control_v0.json --mode apply
npx -y mova-claude-import@latest control check --project .\claude_profile --profile .\claude_profile\mova\control_v0.json

У меня уже есть папка Claude Code‑проекта

npx -y mova-claude-import@latest --project .\claude_profile --out .\out --zip

Quick start (existing Claude folder + preset)

npx -y mova-claude-import@latest preset list
npx -y mova-claude-import@latest control apply --preset safe_observable_v0 --project . --mode overlay

Дальше используйте единый контрольный файл и выполните rebuild/import:

.\out\mova\control_v0.json
npx -y mova-claude-import@latest --project .\claude_project --out .\out --zip

Я хочу создать эталонный профиль с нуля (init)

npx -y mova-claude-import@latest init --out .\claude_profile --zip

Заполните единый контрольный файл:

.\claude_profile\mova\control_v0.json

Затем выполните rebuild/import:

npx -y mova-claude-import@latest --project .\claude_profile --out .\out --zip

Контроль (preview по умолчанию)

npx -y mova-claude-import@latest control apply --project .\claude_profile --profile .\prefill_out\claude_control_profile_v0.json --mode apply

Демо (60 секунд)

npm run demo

Где настраивается контроль

Файл профиля: claude_control_profile_v0.json (создаётся через control prefill). Руководство: docs/CONTROL_PROFILE_GUIDE_v0.md. Примеры: examples/control_profile_min.json, examples/control_profile_standard.json, examples/control_profile_strict.json.

Единый контрольный файл для rebuild/import: mova/control_v0.json. Schema: schemas/mova.control_v0.schema.json.

Канон схем control‑слоя: schemas/claude_control/v0/{ds,env,global}.

Где смотреть отчёты/доказательства

  • mova/claude_import/v0/* — отчёты импорта и контроля качества
  • mova/claude_control/v0/runs/* — планы/отчёты control‑команд
  • .mova/episodes/index.jsonl — индекс наблюдаемости
  • .mova/episodes/run_.../summary.json — краткая сводка последнего прогона

Наблюдаемость (Observability Writer)

Writer включается из mova/control_v0.json и через hooks пишет эпизоды:

  • события в .mova/episodes/run_.../events.jsonl
  • сводка в .mova/episodes/run_.../summary.json
  • индекс прогонов в .mova/episodes/index.jsonl

Отключить можно через observability.enable=false в mova/control_v0.json.

Минимальные команды:

npx -y mova-claude-import@latest observe list --project .\claude_profile
$run = (Get-ChildItem .\claude_profile\.mova\episodes -Directory | Sort-Object Name -Descending | Select-Object -First 1).Name
npx -y mova-claude-import@latest observe tail --project .\claude_profile --run $run
npx -y mova-claude-import@latest observe summary --project .\claude_profile --run $run

Для автоматизации

Подробности по --strict, кодам завершения и CI‑проверкам — в docs/OPERATOR_GUIDE_v0.md.

Preset: safe_observable_v0

Что делает:

  • включает observability writer и hooks
  • добавляет guardrails на опасные команды и изменения в main
  • добавляет start/finish команды и базовые skills
  • включает skill-eval hook и правила

Что не делает:

  • не включает MCP (по умолчанию пусто)
  • не трогает секреты или локальные креды

Ссылки

  • docs/COMPATIBILITY_MATRIX.md
  • docs/MOVA_SPEC_BINDINGS.md