Thanks for helping build an excellent self-hosted funnel platform. Focused fixes, tests, documentation, integrations, and template contributions are all welcome.
Use the installation steps in the README, or run docker compose up --build for the evaluation stack. For application development, use PHP 8.3+, Node 18+, Composer, and pnpm 10.13.1.
composer install
pnpm install
cp .env.example .env
php artisan key:generate
touch database/database.sqlite
php artisan migrate
composer run dev- Keep editor data in the canonical funnel → sections → columns → blocks tree from
resources/js/types/editor.ts. - Use policies for user-owned backend resources and feature tests for authorization or persistence.
- Preserve existing funnel JSON and use additive migrations unless a breaking release explicitly documents otherwise.
- Keep custom-domain work at the Laravel/React application layer; do not add proxy or certificate provisioning.
- Keep AI providers behind
App\Contracts\FunnelGeneratorand never expose credentials to the browser.
- Open or reference an issue for substantial behavior changes.
- Keep the change focused and include tests for its failure modes.
- Update docs and
.env.examplewhen configuration or behavior changes. - Run the relevant checks before submitting.
composer test
vendor/bin/pint --test
pnpm run types
pnpm run test
pnpm run lint
pnpm run format:check
pnpm run buildDo not commit generated public/build output, local databases, credentials, or .env files.
See docs/template-format.md. Export the finished funnel from the editor, use assets you have permission to redistribute, include a screenshot, and explain the audience and conversion goal in the pull request.