adding-framework-support

от posthog

Добавьте новую интеграцию фреймворка в мастер PostHog. Используйте при добавлении поддержки нового языка или фреймворка (например, Ruby on Rails, Go, Angular). Охватывает…

npx skills add https://github.com/posthog/wizard --skill adding-framework-support

Adding Framework Support

Read wizard-development for the shared design policy and gateway contract. New agent work uses Pi and prefers the orchestrator; adding a framework extends the integration program without creating its own runner or changing existing routing defaults.

Extend the framework configuration

Start with FrameworkConfig and a nearby example under src/programs/frameworks. Framework-specific detection, context, environment conventions, and UI metadata belong here. Integration instructions and examples belong in context-mill.

  1. Add the integration to Integration. Its order controls first-match detection and the framework picker. Keep specific frameworks before language fallbacks and generic Node last; preserve the overlap rules in the detection checks.
  2. Add the config under src/programs/frameworks/<name>/<name>-wizard-agent.ts. Use a type for framework context so it satisfies Record<string, unknown>. Export the config; the integration program already supplies execution.
  3. Import the config into FRAMEWORK_REGISTRY. The display label comes from metadata.name.

Read the current interface for the complete required fields. In particular, detection.detectPackageManager is required: reuse an adapter from package-manager detection. Use metadata.setup.questions for unresolved project variants; gatherContext collects framework context. Optional notices and extra MCP servers also belong in metadata.

Use usesPackageJson: false for frameworks without a package.json dependency. Their required getVersion callback can return undefined. Minimum-version checking requires both minimumVersion and getInstalledVersion; unknown versions pass. Context detection returns unsupported-version data for the integration UI rather than aborting itself.

Detection and examples

Starting pointPattern to reuse
Next.jshasDeclaredDependency from utils/package-json, tryGetPackageJson from utils/setup-utils, and router setup questions
DjangoPython project files, context gathering, and Python package-manager detection
LaravelComposer and framework-specific filesystem signals
RailsGemfile detection and Ruby conventions

Use bounded filesystem helpers for project scans and reads. They bound traversal and skip dependency/build directories; add framework-specific exclusions with extraIgnore. Keep complex parsers and detectors beside the config so they can be checked independently.

Complete the content side

Ensure context-mill supplies the matching integration reference and task-skill variants for the framework. A registry entry alone does not provide integration knowledge. The orchestrator resolves framework variants from the skill menu and rejects missing task variants; see the orchestrator runner.

Keep project-specific facts in configuration and reusable integration guidance in that content. Model IDs, reasoning efforts, and gateway-required system prompts follow the cross-repo contract in wizard-development; a framework config cannot enable a new gateway model.

Verify the changed behavior

Check detection against the target framework and the closest overlapping framework/fallback. Reuse the existing detection checks; add a focused case only for behavior they do not cover. Confirm package-manager selection and matching content-mill variants. For an end-to-end run, use a disposable test app and the exploration guide.

For prompt, environment-upload, or outro changes, inspect the current integration program and the selected sequence. Some fields remain in the interface without a current consumer: getOutroNextSteps is not used by the integration outro. Linear post-run/outro hooks are not shared by the orchestrator; see the program guide.

Use the proportionate validation guidance in wizard-development. Documentation-only changes need source/link checks, not an agent run.

Больше skills от posthog

error-tracking-hono
posthog
Отслеживание ошибок PostHog для Hono
tuning-incremental-sync-config
posthog
Конфигурация синхронизации хранится в ExternalDataSchema и может быть изменена в любое время через external-data-schemas-partial-update. Большинство изменений являются недеструктивными (вступают в силу при следующей синхронизации), но некоторые (смена sync_type, изменение первичных ключей) требуют осторожного обращения, чтобы избежать повреждения синхронизированных данных.
playwright-test
posthog
Напишите playwright-тест, убедитесь, что он выполняется и не является нестабильным.
error-tracking-ruby
posthog
Отслеживание ошибок PostHog для Ruby
authoring-log-alerts
posthog
Создавайте полезные, малошумящие оповещения по логам для сервисов в проекте PostHog. Используйте, когда пользователь просит настроить оповещения для своих логов, предложите оповещения, которые стоит добавить,…
making-scenes-tab-aware
posthog
Guides converting PostHog frontend scenes to be tab aware for internal scene tabs. Use when adding or refactoring a `SceneExport` scene, fixing state leaking…
posthog-survey-creator
posthog
Создание и настройка опросов в PostHog через направленный диалог. Используйте этот навык, когда пользователь хочет создать опрос, собрать отзывы пользователей, запустить…
authoring-scouts
posthog
Как создавать, редактировать и адаптировать скауты PostHog Signals — запланированные агенты, которые сканируют проект и записывают отчёты в папку входящих Signals. Используйте, когда пользователь…