Skip to content

feat(integration): make Elixir a full example-based variant#268

Open
sarahxsanders wants to merge 2 commits into
mainfrom
posthog-code/integration-elixir-framework
Open

feat(integration): make Elixir a full example-based variant#268
sarahxsanders wants to merge 2 commits into
mainfrom
posthog-code/integration-elixir-framework

Conversation

@sarahxsanders

@sarahxsanders sarahxsanders commented Jul 22, 2026

Copy link
Copy Markdown
Collaborator

Promotes the Elixir integration from a docs-only variant to a full example-based variant, anchored on a real, compiling Phoenix app at example-apps/elixir.

What's here:

  • example-apps/elixir/ — minimal Phoenix app: PostHog context Plug, env-var config, identify, event capture, feature flags via evaluate_flags, and the SDK's Logger-based error tracking (documented honestly — there is no manual capture_exception). mix compile clean.
  • config.yaml: elixir switched to example_paths + framework: elixir.
  • skip-patterns.yaml: skip Elixir _build/ and deps/ so a local mix compile can't bloat the generated skill.
  • Removed the now-unused description-elixir-docs-only.md.

Ships as a pair with the wizard detection PR PostHog/wizard#946.

@github-actions

Copy link
Copy Markdown

🧙 Wizard CI

Run the Wizard CI and test your changes against wizard-workbench example apps by replying with a GitHub comment using one of the following commands:

Test all apps:

  • /wizard-ci all

Test all apps in a directory:

  • /wizard-ci basic-integration
  • /wizard-ci mcp-analytics
  • /wizard-ci revenue

Test an individual app:

  • /wizard-ci basic-integration/android
  • /wizard-ci basic-integration/angular
  • /wizard-ci basic-integration/astro
Show more apps
  • /wizard-ci basic-integration/django
  • /wizard-ci basic-integration/fastapi
  • /wizard-ci basic-integration/flask
  • /wizard-ci basic-integration/javascript-node
  • /wizard-ci basic-integration/javascript-web
  • /wizard-ci basic-integration/laravel
  • /wizard-ci basic-integration/next-js
  • /wizard-ci basic-integration/nuxt
  • /wizard-ci basic-integration/python
  • /wizard-ci basic-integration/rails
  • /wizard-ci basic-integration/react-native
  • /wizard-ci basic-integration/react-router
  • /wizard-ci basic-integration/sveltekit
  • /wizard-ci basic-integration/swift
  • /wizard-ci basic-integration/tanstack-router
  • /wizard-ci basic-integration/tanstack-start
  • /wizard-ci basic-integration/vue
  • /wizard-ci mcp-analytics/custom-dispatcher
  • /wizard-ci mcp-analytics/typescript-sdk
  • /wizard-ci revenue/stripe

Results will be posted here when complete.

Replace the elixir docs-only variant with a full variant anchored on a
real example app (example-apps/elixir): a minimal Phoenix app that reads
PostHog config from the environment, installs the PostHog context Plug,
identifies users, captures events, evaluates feature flags with the
current evaluate_flags snapshot API, and relies on the SDK's Logger-based
error tracking (documented honestly, since there is no manual
capture_exception).

Also skip Elixir build artifacts (_build/, deps/) when flattening the
example so a local `mix compile` can't bloat the generated skill. Removes
description-elixir-docs-only.md and points the variant at the example via
example_paths + framework: elixir.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@sarahxsanders
sarahxsanders force-pushed the posthog-code/integration-elixir-framework branch from 4dd07b1 to 7a7ecf2 Compare July 23, 2026 19:22
@sarahxsanders sarahxsanders changed the title feat(integration): route the elixir variant to wizard framework detection feat(integration): make Elixir a full example-based variant Jul 23, 2026
Every page 500'd with "no app html template defined": the router sets the
:root layout but the controller also applies a :app layout, which Layouts
never defined. Add a minimal app/1 pass-through so pages actually render.
Verified: the app boots with no token (SDK goes no-op + warns) and GET /,
/dashboard, /profile, /burrito all return 200, /login redirects.

Also document that distinct_id must come from an authenticated principal, not
an unverified request param.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@sarahxsanders
sarahxsanders marked this pull request as ready for review July 24, 2026 15:16
@sarahxsanders
sarahxsanders requested a review from a team as a code owner July 24, 2026 15:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant