Паттерн динамических файлов
Назначение
Заголовок раздела «Назначение»Использование шаблонных переменных для путей к файлам, чтобы сделать workflow переиспользуемыми в разных проектах. Пути собираются во время выполнения и используются на протяжении всего процесса.
Структура
Заголовок раздела «Структура»[collect-paths] → [use-paths-in-directives] → [output-to-path]Реализация
Заголовок раздела «Реализация»Сбор путей
Заголовок раздела «Сбор путей»{ "type": "agent-directive", "id": "collect-project-paths", "directive": "Determine project structure:\n- Docs location?\n- Output location?\n- Test files location?", "inputSchema": { "type": "object", "properties": { "docs_path": { "type": "string", "description": "Path to project documentation" }, "output_path": { "type": "string", "description": "Path for workflow outputs" }, "test_path": { "type": "string", "description": "Path to test files" } }, "required": ["docs_path", "output_path"] }, "connections": { "success": "read-documentation" }}Использование путей в директивах
Заголовок раздела «Использование путей в директивах»{ "type": "agent-directive", "id": "read-documentation", "directive": "Read project documentation from {{docs_path}}.\nAnalyze structure and content.", "connections": { "success": "write-output" }}Вывод по динамическому пути
Заголовок раздела «Вывод по динамическому пути»{ "type": "agent-directive", "id": "write-output", "directive": "Write results to {{output_path}}/analysis-results.md", "connections": { "success": "next-step" }}Стратегии обнаружения путей
Заголовок раздела «Стратегии обнаружения путей»Агент может определять пути следующими способами:
- Поиск в файловой системе: Искать типичные паттерны (
docs/,README.md) - Значения по умолчанию: Использовать стандартные расположения как запасной вариант
- Запрос у пользователя: Когда путь не удаётся определить
{ "directive": "Find project documentation:\n1. Search for docs/ directory\n2. Check for README.md\n3. Look in standard locations\n4. Ask user if not found"}Условное использование путей
Заголовок раздела «Условное использование путей»Комбинирование с условными шаблонами:
{ "directive": "{{#if testing_guide_path}}Read testing guide from {{testing_guide_path}}{{else}}No testing guide found, proceed with default patterns{{/if}}"}Реальный пример
Заголовок раздела «Реальный пример»Из development-flow.json:
{ "id": "get-initial-requirements", "inputSchema": { "properties": { "checklist_path": { "type": "string", "description": "Path to project checklist or empty if none" }, "agent_onboarding_path": { "type": "string", "description": "Path to agent onboarding document or empty if none" }, "docs_standards_path": { "type": "string", "description": "Path to documentation standards or empty if none" }, "testing_guide_path": { "type": "string", "description": "Path to testing guide or empty if none" } } }}Используется далее:
{ "directive": "{{#if has_checklist}}Review project checklist: {{checklist_path}}{{/if}}"}Валидация путей
Заголовок раздела «Валидация путей»Используйте pattern в inputSchema для базовой валидации:
{ "properties": { "file_path": { "type": "string", "pattern": "^[a-zA-Z0-9/_.-]+$" } }}Связанные паттерны
Заголовок раздела «Связанные паттерны»- Сбор информации - Сбор путей как часть онбординга
- Паттерн пропуска - Пропуск шагов при недоступности путей