Project Context Router

Настройка проекта

Переключателя языка программирования нет. Индексатор обрабатывает файлы из modules.*.source_globs. Приложение может использовать любой стек; сам роутер работает на Node.js.

Модули и проверки

Отредактируйте .project-context/project.yaml. Используйте относительные пути в репозитории и реальные команды вашей команды.

project:
  name: My project
routing:
  default_modules: [app]
modules:
  app:
    path: src
    aliases: [app, backend, customer]
    source_globs: ["src/**/*.{ts,tsx,js,jsx}"]
    playbooks: [AGENTS.md]
commands:
  app_tests:
    run: npm test
    required_for: [app]
    context_pack: true

Явные маски заменяют значения по умолчанию. Добавьте тесты и конфигурацию, если они нужны в контексте. Плейбуки — существующие инструкции репозитория, выбранные для нужного модуля; отдельного типа записи памяти для них нет.

Выбор модулей и задач в контексте

Начиная с 0.10.1, запрос с точным ключом задачи, например SD-14, использует модули связанных задач и backlog перед default_modules. Ключ ищется в ID, заголовке, тегах и task_key, без совпадений по префиксу или случайным упоминаниям в теле. Явные modules и пути файлов сохраняют приоритет.

В стандартном поиске current точный ключ и связь с переданными файлами повышают место записи в выдаче. При равной релевантности учитываются выполняемая задача и дата обновления. Завершённая задача с запрошенным ключом может попасть в пакет со статусом done и категорией historical; это не доказательство текущего поведения кода. Для общего обзора история по-прежнему скрыта. Экспериментальный FTS5 сохраняет собственный порядок BM25. Изменения входят в релиз 0.10.1.

Выбор стека

Стек Пример масок исходников Пример проверки
TypeScript / фронтенд / Node.js src/**/*.{ts,tsx,js,jsx,mjs,cjs,mts,cts} npm test, npm run build
C# / .NET src/**/*.cs dotnet build, dotnet test
Java / Maven src/**/*.java ./mvnw verify
Java / Gradle src/**/*.java ./gradlew check
Python src/**/*.py python -m pytest
Go **/*.go go test ./...
Rust src/**/*.rs, tests/**/*.rs cargo test

Пути и команды приведены для примера. Укажите фактическое расположение приложения и доступные инструменты сборки. В монорепозитории создайте отдельные модули и запускайте проверки из каталогов сервисов.

Для Python распознаются функции, async-функции и классы. Для Go — функции, методы, структуры, интерфейсы и именованные типы. Для Rust — функции, структуры, enum, trait и псевдонимы типов. Для C# — распространённые типы, методы, свойства и строковые маршруты ASP.NET-контроллеров.

Индексатор использует текстовые эвристики, а не компилятор или языковой сервер. Он не разрешает все формы наследования, макросы, условную компиляцию и вычисляемые маршруты. C# Minimal API не входит в базовое распознавание маршрутов. В README есть подробные конфигурации и ограничения.

Профиль инструментов

Задайте PROJECT_CONTEXT_TOOL_PROFILE в окружении MCP-сервера, сохранив другие переменные.

Профиль Назначение
core Контракт задачи, контекст, переиспользование, проверки, ревью рефакторинга и финализация
planning Core, исследования и жизненный цикл backlog
analyst Core, исследования, требования, связи с источниками, аналитический контекст и публикация в Confluence
developer Core, записи выполнения/приёмки и инструменты заданий/отчётов портала
admin Core, выполнение, исследования, backlog, продвижение черновиков, архивирование и решения
full Все зарегистрированные инструменты

По умолчанию используется core. Профиль выбирает инструменты, но не предоставляет разрешений. После изменения переподключите MCP. Для исследований нужен профиль вроде planning; установка skill не меняет профиль.

Проверка настройки

npx project-context index
npx project-context doctor --json
npx project-context pack "Update customer service" --modules app --file src/customer.ts

Используйте реальные пути. Для конкретной работы передавайте модули и файлы явно. Далее — работа с агентом.

Редактировать страницу