The documented subset is considered stable in v1.x. This quickstart helps Phoenix developers get productive quickly while clearly flagging experimental surfaces.
If you’re new to Haxe and/or new to Phoenix, start here first:
docs/01-getting-started/START_HERE.md
- New Phoenix app (greenfield):
docs/06-guides/PHOENIX_NEW_APP.md - Existing Phoenix app (gradual adoption):
docs/06-guides/PHOENIX_GRADUAL_ADOPTION.md - Learn by example:
examples/README.md(start withexamples/03-phoenix-app/, then compare hybridexamples/12-phoenix-chat/vs Haxe-firstexamples/15-phoenix-chat-haxe-first/)
- Elixir 1.14+
- Node.js 16+ (for
lixand JS toolchain) - Haxe 4.3.7+ on your PATH
- Postgres (required for
examples/todo-appand any Phoenix app using Ecto)
If you don’t have Haxe installed yet, start here: docs/01-getting-started/installation.md.
This requires a working Postgres connection (defaults are postgres/postgres in the example config).
cd examples/todo-app
mix setupRecommended bounded smoke (from repo root, non-blocking):
npm run qa:sentinel
scripts/qa-logpeek.sh --run-id <RUN_ID> --until-done 600Manual dev run (foreground server):
cd examples/todo-app
mix phx.serverOpen http://localhost:4000 (default dev port).
- Prefer
haxe ...(your local Haxe toolchain); if it’s not on your PATH, use the repo shim:./node_modules/.bin/haxe ...(provided bylix+.haxerc). - Do not use
-D analyzer-optimizefor the Elixir target; it produces non-idiomatic output and can break functional shapes. Seedocs/01-getting-started/compiler-flags-guide.md.