{"_id":"@dan321/tundra-sdk","_rev":"2-e099287ef20424b073c8f5af2b17de3a","name":"@dan321/tundra-sdk","dist-tags":{"latest":"1.1.0"},"versions":{"1.0.0":{"name":"@dan321/tundra-sdk","version":"1.0.0","author":{"name":"Dancho190"},"license":"MIT","_id":"@dan321/tundra-sdk@1.0.0","maintainers":[{"name":"dan321","email":"kingikingbro16@gmail.com"}],"dist":{"shasum":"319026dc3a036e5b9020a93d222ec9fd931b7fd0","tarball":"https://registry.npmjs.org/@dan321/tundra-sdk/-/tundra-sdk-1.0.0.tgz","fileCount":11,"integrity":"sha512-I0j1eNbdrqVkc0hgIb+x+5bSlJPDNEME0U4v0inNu/UL6UVyRFR5ue+unWg0JdE1tl8g4KnFX5uE1akrQPfO9Q==","signatures":[{"sig":"MEYCIQC3cggonJ9WwdwnCYM3lJr+u5kvhPCsZXPefgjlHlVx2QIhALQZMyhfHMLPJ0R+WSd18oIeKmYgNkNJPYGy2iGNyRn7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2487120},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","dev:cli":"tsx src/cli/cli.ts","engines":{"node":">=20"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./package.json":"./package.json"},"gitHead":"396f3406a1ec1be86730aecac837362920b4da2f","scripts":{"cli":"node dist/cli.js","dev":"tsup --watch","lint":"eslint .","build":"tsup","format":"prettier --write .","dev:cli":"node --loader tsx src/cli/cli.ts","typecheck":"tsc --noEmit","format:check":"prettier --check .","prepublishOnly":"npm run build"},"_npmUser":{"name":"dan321","email":"kingikingbro16@gmail.com"},"_npmVersion":"11.5.1","description":"Tundra — инструмент для анализа backend-проектов (Express, NestJS, Python, Java и др.) и извлечения HTTP-эндпоинтов. README содержит краткое описание публичного API и удобную справку по CLI-утилитам: tundra scan и tundra analyze.","directories":{},"_nodeVersion":"24.6.0","dependencies":{"cors":"^2.8.5","glob":"^13.0.1","tsup":"^8.5.1","dotenv":"^17.2.3","express":"^5.2.1","chokidar":"^5.0.0","prettier":"^3.8.1","ts-morph":"^27.0.2","@babel/parser":"^7.28.6","@babel/traverse":"^7.28.6"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.2","@types/node":"^22.10.2","@types/babel__traverse":"^7.28.0"},"_npmOperationalInternal":{"tmp":"tmp/tundra-sdk_1.0.0_1770817744707_0.1013223566056678","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@dan321/tundra-sdk","version":"1.1.0","license":"MIT","author":{"name":"Dancho190"},"type":"module","main":"./dist/index.cjs","module":"./dist/index.js","dev:cli":"tsx src/cli/cli.ts","types":"./dist/index.d.ts","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./package.json":"./package.json"},"engines":{"node":">=20"},"scripts":{"dev":"tsup --watch","build":"tsup","typecheck":"tsc --noEmit","lint":"eslint .","dev:cli":"node --loader tsx src/cli/cli.ts","cli":"node dist/cli.js","mcp":"node dist/mcp/server.js","format":"prettier --write .","format:check":"prettier --check .","prepublishOnly":"npm run build"},"devDependencies":{"@types/babel__traverse":"^7.28.0","@types/node":"^22.10.2","typescript":"^5.7.2"},"dependencies":{"@babel/parser":"^7.28.6","@babel/traverse":"^7.28.6","@modelcontextprotocol/sdk":"^1.26.0","chokidar":"^5.0.0","cors":"^2.8.5","dotenv":"^17.2.3","express":"^5.2.1","glob":"^13.0.1","prettier":"^3.8.1","ts-morph":"^27.0.2","tsup":"^8.5.1","zod":"^4.3.6"},"_id":"@dan321/tundra-sdk@1.1.0","gitHead":"79e772fa3573ad211c8dbf72cc88130fb514afc2","description":"Tundra — инструмент для анализа backend-проектов (Express, NestJS, Python, Java и др.) и извлечения HTTP-эндпоинтов. README содержит краткое описание публичного API и удобную справку по CLI-утилитам: tundra scan и tundra analyze.MCP сервер также позволяет","_nodeVersion":"24.6.0","_npmVersion":"11.5.1","dist":{"integrity":"sha512-fpOTKpG/4UgmunrvN0rElOlqeh4x7JdA5HVl4dzrcUwCrxalsl5kDCePxP0ChmuD6+oANleg9vXI7XMDMXz4Vg==","shasum":"a9e430d89ac71723a78f0425e8cbe5c4291f3866","tarball":"https://registry.npmjs.org/@dan321/tundra-sdk/-/tundra-sdk-1.1.0.tgz","fileCount":9,"unpackedSize":2471765,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIFF4PDjzYLpoxw/zerz6jBsUwuUCaPAf33m7xXVv/RkRAiEAmbfB1SEucAXnvidG/4cShLpKQgX4/gQhOoLNSh5pfFM="}]},"_npmUser":{"name":"dan321","email":"kingikingbro16@gmail.com"},"directories":{},"maintainers":[{"name":"dan321","email":"kingikingbro16@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/tundra-sdk_1.1.0_1773733467099_0.3121132899316974"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-11T13:49:04.627Z","modified":"2026-03-17T07:44:27.346Z","1.0.0":"2026-02-11T13:49:04.930Z","1.1.0":"2026-03-17T07:44:27.242Z"},"author":{"name":"Dancho190"},"license":"MIT","description":"Tundra — инструмент для анализа backend-проектов (Express, NestJS, Python, Java и др.) и извлечения HTTP-эндпоинтов. README содержит краткое описание публичного API и удобную справку по CLI-утилитам: tundra scan и tundra analyze.MCP сервер также позволяет","maintainers":[{"name":"dan321","email":"kingikingbro16@gmail.com"}],"readme":"# Tundra — Public API и CLI (пользовательская документация)\n\nTundra — инструмент для анализа backend-проектов (Express, NestJS, Python, Java и др.) и извлечения HTTP-эндпоинтов. README содержит краткое описание публичного API и удобную справку по CLI-утилитам: tundra scan и tundra analyze.MCP сервер также позволяет использовать его в Claude Code и Cursor.\n\n---\n\n## Коротко про CLI (Public API)\n\n`index.ts` предоставляет высокоуровневый публичный API для анализа проектов и извлечения эндпоинтов.CLI инкапсулирует:\n\n- парсинг исходного кода\n- анализ фреймворков\n- агрегацию и фильтрацию эндпоинтов\n\nОсновные утилиты (см. src/\\*):\n\n- validateProject(rootDir) — проверяет возможность анализа проекта (директория, файлы и т. п.).\n- getAnalyzableFiles(rootDir, options?) — возвращает список файлов для анализа (.ts, .tsx, .js, .jsx, .py, .java и др.).\n- watchProject(rootDir, onChange, options?) — режим наблюдения за изменениями.\n- groupEndpointsBy(endpoints, by) — группировка по методам, фреймворку, файлу или первому сегменту пути.\n\n---\n\n## CLI — быстрое руководство для пользователя\n\nДоступные команды: tundra analyze, tundra scan, tundra tree, tundra validate, tundra watch.\n\nТребования: Node.js >= 20 (см. engines в package.json / package-lock.json).\n\nУстановка и запуск (локально):\n\n```sh\n# установить зависимости\nnpm install\n# или\nyarn install\n\n# запуск CLI в dev (если есть скрипт)\nnpm run dev\n# либо после сборки\nnpm run build\nnode ./dist/cli.js <command>\n\n# запуск MCP server-а после установки в Cursor\nnpx tundra mcp init\n\n#В Claude Code \nclaude mcp add tundra node \"/path/to/server.js\"\n\n```\n\n### tundra analyze [dir]\n\nПолный анализ проекта. Сканирует все поддерживаемые файлы в указанной директории, извлекает эндпоинты, строит дерево и выполняет базовые проверки на vulnerabilities в коде(есть ли комменты,неправильные имена переменных).\n\nПримеры:\n\n```sh\n# Анализ текущей директории\ntundra analyze\n\n# Анализ репозитория в гитхаб\ntundra github <url>\n\n\n# Анализ конкретного пути\ntundra analyze ../my-backend\n\n# Анализ с подробным логом\ntundra analyze --verbose\n\n# Сохранить результаты в файлы\ntundra analyze --output results.json --tree tree.json --security-report security.md\n```\n\nОпции:\n\n- -f, --frameworks <list> — фильтрация по фреймворкам (например: express,nestjs,fastapi).\n- -o, --output <file> — сохранить полный результат анализа в JSON.\n- -t, --tree <file> — сохранить иерархическое дерево эндпоинтов (JSON).\n- --security-report <file> — сохранить человекочитаемый Markdown-отчёт.\n- --strict-security — завершать с ненулевым кодом при обнаружении критичных уязвимостей (полезно в CI).\n- -v, --verbose — подробный вывод в консоль.\n\nКогда использовать:\n\n- при полной ревизии кода перед релизом;\n---\n\n### tundra scan <file>\n\nБыстрая проверка одного файла. Подходит для интерактивного использования и интеграции в редактор/скрипты.\n\nПримеры:\n\n```sh\n# Просканировать файл\ntundra scan src/server.ts\n\n# С выводом в JSON (для автоматизации)\ntundra scan src/server.ts --json\n\n# Указать фреймворк\ntundra scan api.py -f fastapi\n```\n\nОпции:\n\n- -f, --frameworks <list> — ограничение по фреймворкам.\n- --json — вывод в JSON.\n- -o, --output <file> — сохранить результат в файл.\n\nКогда использовать:\n\n- быстро посмотреть эндпоинты в одном файле;\n- интегрировать в pre-commit или редактор.\n\n---\n\n### Дополнительные команды\n\n- tundra tree [dir] — вывести или сохранить иерархическое дерево эндпоинтов.\n- tundra validate [dir] — проверить корректность и готовность проекта к анализу.\n- tundra watch [dir] — следить за изменениями и пересканировать изменённые файлы в реальном времени.\n\n---\n\n## Форматы выходных файлов\n\n- results.json — полный результат анализа (эндпоинты, статистика, уязвимости).\n- tree.json — дерево эндпоинтов (структурированный JSON).\n- security-report.md — человекочитаемый отчёт по найденным проблемам.\n\nСтруктуры данных и типы — в src/types/types.ts.\n\n---\n\n## Быстрые рекомендации и примеры использования\n\n- CI: добавьте шаг в pipeline:\n  npm run tundra-analyze -- --strict-security --output tundra-results.json\n- Локально: используйте --verbose для понимания, какие файлы и эндпоинты были найдены.\n- Если парсинг TypeScript некорректен — убедитесь в совместимости с tsconfig и запустите сборку/установку зависимостей.\n\n---\n\n## Отладка и устранение проблем\n\n- Убедиться, что Node.js >= 20 установлен: node -v\n- Проверить, что проект не содержит игнорируемых директорий для анализа (node_modules, dist).\n- Включить --verbose для подробных логов.\n- Если файл не анализируется — проверить расширение и наличие поддерживаемого синтаксиса.\n\n---\n\n## Ссылки на исходники\n\n- CLI: src/cli/cli.ts\n- Основная логика и API: src/index.ts\n- Типы: src/types/types.ts\n\n---\n\nЕсли нужно — подготовлю примеры вывода команд и\n","readmeFilename":"README.md"}