Используй это, когда пользователь просит с помощью Portolan составить atlas, осмотреть, проверить или объяснить локальный target.
Если пользователь просит другого агента "поставь Portolan", используй
copyable prompt в docs/agent/INSTALL-PROMPT.ru.md.
Для Cursor, OpenCode, install/build и маршрута human-facing документации
сначала прочитай docs/onboarding.md, если собираешься делать broad claims о
harness support. Cursor UI не доказан headless Cursor Agent CLI evidence.
OpenCode должен писать bundle внутри target, если permission mode явно не
разрешает другой output root.
- Portolan git URL или путь к локальному checkout.
- Локальный target root для чтения.
- BUNDLE_DIR для Portolan bundle.
Не используй network, credentials, clone или mutation target без явного разрешения пользователя.
Основной маршрут начинается с установки target-local wrappers. Это основной interface для Cursor/OpenCode и он не требует читать внешний Portolan checkout во время atlas run:
"$PORTOLAN_PATH/scripts/portolan-install.sh" "$TARGET_ROOT" --harness all --bundle-dir "$BUNDLE_DIR"
"$TARGET_ROOT/.portolan/bin/portolan-scan.sh" --doctor "$TARGET_ROOT" "$BUNDLE_DIR" --skip-install --no-viewer
"$TARGET_ROOT/.portolan/bin/portolan-scan.sh" --dry-run "$TARGET_ROOT" "$BUNDLE_DIR" --skip-install --no-viewer
"$TARGET_ROOT/.portolan/bin/portolan-scan.sh" "$TARGET_ROOT" "$BUNDLE_DIR" --yes --skip-install --no-viewer
"$TARGET_ROOT/.portolan/bin/portolan-scan.sh" --status "$TARGET_ROOT" "$BUNDLE_DIR"Убирай --skip-install только после явного разрешения установить missing local
OSS tools.
После scan прочитай:
receipt.jsoncaptain-atlas-scorecard.jsoncaptain-qna-eval.jsonпосле запуска"$TARGET_ROOT/.portolan/bin/portolan-query-eval.sh" --run "$BUNDLE_DIR"captain-handoff.mdиcaptain-handoff.jsonпосле запуска"$TARGET_ROOT/.portolan/bin/portolan-captain-handoff.sh" "$BUNDLE_DIR"manifest.jsonatlas-facts.jsonrepo-profiles.jsonrelationships.jsonlhotspots.jsonlhotspots-full.jsonlgaps.jsonlatlas-surface-content.json
Открой viewer, когда нужен human-readable atlas:
"$TARGET_ROOT/.portolan/bin/portolan-viewer.sh"Если Portolan не установлен в target, сначала установи его в target.
Query перед ответом:
"$TARGET_ROOT/.portolan/bin/portolan-bundle-query.sh" repos --bundle "$BUNDLE_DIR" --limit 20
"$TARGET_ROOT/.portolan/bin/portolan-bundle-query.sh" relationships --bundle "$BUNDLE_DIR" --limit 20
"$TARGET_ROOT/.portolan/bin/portolan-bundle-query.sh" hotspots --bundle "$BUNDLE_DIR" --limit 20
"$TARGET_ROOT/.portolan/bin/portolan-bundle-query.sh" gaps --bundle "$BUNDLE_DIR" --limit 20
"$TARGET_ROOT/.portolan/bin/portolan-bundle-query.sh" search --bundle "$BUNDLE_DIR" --q "auth" --limit 20
"$TARGET_ROOT/.portolan/bin/portolan-bundle-query.sh" source --bundle "$BUNDLE_DIR" --repo <repo-id> --path README.md --line 1
"$TARGET_ROOT/.portolan/bin/portolan-bundle-query.sh" selected-code --bundle "$BUNDLE_DIR" --repo <repo-id> --path README.md --line 1 --limit 20Когда пользователь выделяет файл, symbol или subsystem в coding-agent UI:
- Определи selected path и repo root.
- Query
selected-codeдля bounded context packet. - Query
sourceдля bounded snippet, если packet требует деталей. - Query
searchилиsymbol, если индексы есть. - Query
hotspots --repo <repo-id>для локальной боли вокруг repo. - Query
relationshipsдля видимых связей с другими repo. - Явно скажи gaps, если runtime/config/vendor relationships отсутствуют.
Не выводи runtime calls из static dependency или source-search результатов.
Используй legacy compatibility path только если пользователь явно просит
context prepare, map или compatibility artifacts.
Если оператор явно выбрал legacy route и Portolan уже resolved в локальный checkout:
cd "$PORTOLAN_PATH"
scripts/bootstrap-portolan
.portolan/bin/portolan --versionContext:
.portolan/bin/portolan context prepare --root <target-root> --out <output-dir>/context --profile agentLegacy map:
.portolan/bin/portolan map --root <target-root> --out <output-dir>/mapОтчет должен включать:
- Run status и blockers
- Видимые repositories или scope
- Relationships
- Duplication
- Configuration surfaces
- Technical-debt candidates
- Unknown и
cannot_verify - Not assessed
Не придумывай facts, которых нет в Portolan artifacts.
- Source/config duplicate clusters являются evidence, а не refactoring order.
- Локально видимый scope не доказывает complete estate coverage.
- Runtime topology требует runtime observations.
- OSS tools являются valid local dependencies, когда установлены и явно requested, но output recipes не evidence, пока outputs не существуют.
not_assessed- нормальный результат.