Skip to content

Add broad Elixir ecosystem support#199

Closed
Marve10s wants to merge 15 commits into
mainfrom
ibrahim/mobile-first-native
Closed

Add broad Elixir ecosystem support#199
Marve10s wants to merge 15 commits into
mainfrom
ibrahim/mobile-first-native

Conversation

@Marve10s
Copy link
Copy Markdown
Owner

@Marve10s Marve10s commented May 22, 2026

Summary

  • Adds Elixir as a first-class ecosystem across shared schemas, CLI prompts/flags, Stack Builder state, URL/command generation, MCP config, smoke presets, and docs.
  • Adds plain Mix / OTP scaffolds with optional Phoenix and Ecto-specific templates.
  • Adds Elixir-focused tests plus release/parity coverage for command generation and multi-select defaults.

Validation

  • bun run test:release
  • bun run check-types --cwd apps/cli
  • bun run typecheck --cwd apps/web
  • bun test apps/cli/test/elixir-ecosystem.test.ts
  • bun test apps/web/test/elixir-ecosystem.test.ts
  • bun test packages/template-generator/test/template-handlers/elixir-base.test.ts

Notes

The branch also contains the prior React Native ecosystem work that this PR was originally opened for; this push adds the Elixir ecosystem work on top.

@vercel
Copy link
Copy Markdown

vercel Bot commented May 22, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
better-fullstack-web Ready Ready Preview, Comment May 23, 2026 9:05pm

@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:XXL 1,000+ effective changed lines (test files excluded in mixed PRs). labels May 22, 2026
@Marve10s Marve10s changed the title [codex] Add first-class mobile scaffolding Add first-class mobile scaffolding May 22, 2026
@Marve10s Marve10s force-pushed the ibrahim/mobile-first-native branch from 2fca48c to 36ebded Compare May 23, 2026 08:22
@chatgpt-codex-connector
Copy link
Copy Markdown

💡 Codex Review


P2 Badge Honor mobileDeepLinking in React Navigation scaffold

This template always wires deep-linking into navigation (NavigationContainer linking={linking}), so --mobile-deep-linking none cannot actually disable deep-link helpers for react-navigation projects. In practice, native scaffolds still depend on @/lib/deep-linking/expo-linking even when the user explicitly selects none, so generated output no longer reflects the requested stack.


mobileNavigation: (input.mobileNavigation as ProjectConfig["mobileNavigation"]) ?? "expo-router",

P2 Badge Default MCP mobile navigation to none for web-only stacks

The MCP project-config builder now defaults mobileNavigation to expo-router unconditionally, even when no native-* frontend is selected. Because bfs_plan_project/bfs_create_project use this builder directly, web-only TypeScript requests can be persisted with mobile navigation enabled in config despite having no native app, creating config drift and noisy follow-up compatibility adjustments.

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@Marve10s Marve10s changed the title Add first-class mobile scaffolding Make React Native a standalone ecosystem May 23, 2026
@Marve10s Marve10s marked this pull request as draft May 23, 2026 09:20
@Marve10s
Copy link
Copy Markdown
Owner Author

Addressed the Codex review findings in 3b1a753: React Navigation now honors mobileDeepLinking: none without importing/generated deep-link helpers or expo-linking, MCP mobile defaults are now native-only, and the PR workflows now pin Bun to avoid the setup-bun latest fetch failure. Local verification passed with bun run test:release, focused mobile tests, and a real React Navigation/no-deep-link scaffold install + native typecheck.

@Marve10s
Copy link
Copy Markdown
Owner Author

Follow-up after the Playwright failure: f347c9c fixes the shared command default detector so TypeScript builder changes like --backend fastify, --backend convex, and --frontend next no longer collapse to --yes. Added parity coverage for those core TypeScript selections and reran bun run test:release locally.

@Marve10s Marve10s marked this pull request as ready for review May 23, 2026 17:52
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 47af19477d

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +563 to +565
config.ecosystem === "react-native" &&
frontend.some((item) => !item.startsWith("native-") && item !== "none")
) {
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Skip React Native frontend check for implicit defaults

This new validation rejects react-native whenever frontend contains a non-native value, but in --yes mode the config is first seeded from TypeScript defaults (tanstack-router) before ecosystem-specific prompting happens, so --yes --ecosystem react-native now fails even though the user did not provide --frontend. The check should only apply when frontend was explicitly provided (or after React Native defaults are normalized), otherwise default React Native scaffolding is blocked.

Useful? React with 👍 / 👎.

@Marve10s Marve10s closed this May 23, 2026
@Marve10s Marve10s reopened this May 23, 2026
@Marve10s Marve10s changed the title Make React Native a standalone ecosystem Add broad Elixir ecosystem support May 23, 2026
Comment thread packages/template-generator/src/template-handlers/elixir-base.ts Fixed
@Marve10s
Copy link
Copy Markdown
Owner Author

Closing this duplicate PR so the Elixir ecosystem work is consolidated in #200.

@Marve10s Marve10s closed this May 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XXL 1,000+ effective changed lines (test files excluded in mixed PRs). vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants