Skip to content

Releases: bloxy-studios/groot

create-groot@1.9.0

Choose a tag to compare

@github-actions github-actions released this 13 Jul 16:16
a671c25

Minor Changes

  • #73 762a77a Thanks @bloxy-studios! - The backend slot doubles and the v1.1 wave completes: Supabase joins Convex, via the official supabase init run as a postCommand inside groot's package shell (init has no directory argument — it writes supabase/config.toml into its cwd). Every fact verified in the cli monorepo's Go sources and by running the published 2.109.1 binary: init is non-interactive by default in 2.x (the IDE prompts moved behind an opt-in --interactive flag that also requires a TTY), pins WORKDIR to avoid parent-project walk-up, and shells nothing — the npm wrapper is a 3-file shim over platform binaries shipped as optionalDependencies, so neither the EBADDEVENGINES staging class nor bun's postinstall trust list applies. groot's shell ships @repo/backend with dev: supabase start / stop / typegen scripts, the CLI pinned as a devDependency, and a database.types.ts placeholder matching gen types output for an empty schema — apps deep-importing the Database type typecheck before Docker ever runs (the Convex vendored-stubs pattern). The stitch renames config.toml's cwd-derived project_id to the workspace name (it names Docker containers — two groot workspaces would collide as "backend"), and backend env plumbing is now per-backend: Supabase frontends get <prefix>SUPABASE_URL= + <prefix>SUPABASE_ANON_KEY= pairs named exactly like the Convex lines, bare React Native unprefixed. Docker, login/link, and real typegen stay deferred to next-steps output. Doctor gains config and types checks; the schema enum grows supabase; manifest stays version 1.

create-groot@1.8.0

Choose a tag to compare

@github-actions github-actions released this 13 Jul 14:20
fef06ab

Minor Changes

  • #71 2b91a3e Thanks @bloxy-studios! - The mobile slot doubles: bare React Native joins Expo, via the official @react-native-community/cli@20 init (community template, every flag verified in the published 20.2.0 bundle). With --pm bun --skip-install --install-pods false --skip-git-init the init is fully non-interactive — the template installs via bun into the CLI's own tempdir, HelloWorld placeholders become the app name, and _gitignore lands renamed. The generate runs staged: the CLI's registry lookup shells npm config get registry, which hard-fails on the workspace's bun devEngines guard in-tree (EBADDEVENGINES, reproduced) and only survives by a courtesy try/catch that forces the default registry — staging dodges the guard and honors the user's real registry config. The stitch stage rewrites the template's empty metro.config.js object into monorepo wiring (watchFolders: [workspaceRoot] + resolver.nodeModulesPaths for app and root — bare metro resolves nothing outside the app dir, unlike Expo ≥ SDK 52), marker-gated so hand-rolled configs are never clobbered, with a doctor check watching the wiring persistently. Convex-linked workspaces give bare RN the plain CONVEX_URL= placeholder (no public-env mechanism upstream). Port 8081 stays the Metro default, shared with Expo per the same-slot rule. Schema enum grows react-native; manifest stays version 1.

create-groot@1.7.0

Choose a tag to compare

@github-actions github-actions released this 13 Jul 12:53
b5d4541

Minor Changes

  • #69 9b4e6c6 Thanks @bloxy-studios! - The api slot gets its second generator-backed choice: Fastify, via the official fastify-cli@8 generate (ESM TypeScript template, every flag verified in the published 8.0.0 bundle). The generator is fully non-interactive but refuses existing directories and derives the package name through npm init -y — an npm call that trips the workspace's bun devEngines guard (EBADDEVENGINES) if run in-tree, so groot stages the generate in a disposable directory under the OS tempdir and moves the result into place (the trunk's temp-sibling pattern, generalized as stagedGeneration). groot then overlays a bun-native src/server.ts modeled on fastify-cli's own eject template (register the autoload app plugin, listen on :3001). The stitch stage swaps the template's Node-centric fastify start / npm run script chains for the bun set — dev: bun --watch src/server.ts, build: tsc (dist/ joins turbo's cached outputs), test: bun test — marker-gated so hand-rolled scripts are never clobbered. @fastify/autoload ≥ 6 detects bun and loads the .ts plugins/routes natively; bun's node:test shim runs the template's test suite as-is. Doctor gains port-drift and app-plugin checks; the schema's framework enum grows fastify; manifest stays version 1.

create-groot@1.6.0

Choose a tag to compare

@github-actions github-actions released this 13 Jul 12:01
e9b010b

Minor Changes

  • #66 b82035a Thanks @bloxy-studios! - The web wave completes: Nuxt and Vite join the web slot, bringing it to seven choices (Next.js, SvelteKit, TanStack Start, Astro, React Router, Nuxt, Vite). Nuxt rides the official create-nuxt@3 with every non-interactive-required arg passed explicitly (the CLI enforces dir + template + packageManager + gitInit in non-TTY shells — verified in source), template minimal, port 3000, NUXT_PUBLIC_CONVEX_URL env plumbing, and .output/ turbo-cached. Vite rides create-vite@9 with the react-ts template pinned, --no-interactive --no-immediate (9.x's immediate mode would install and start dev), port 5173, and VITE_CONVEX_URL. Both get doctor config checks. Schema framework enum grows nuxt and vite; manifest stays version 1.

create-groot@1.10.0

Choose a tag to compare

@github-actions github-actions released this 13 Jul 17:33
94d32b9

Minor Changes

  • #75 642165f Thanks @bloxy-studios! - Milestone v1.2 opens: groot init --github (+ --public) creates and pushes your repository the moment the workspace is planted — gh repo create <name> --private|--public --source=. --remote=origin --push after verify's initial commit, with every flag and failure mode verified against the published gh sources and the real 2.96.0 binary. The ordering fix makes the hard preconditions usage errors before anything generates: --github conflicts with --no-git, --public requires --github, and the git identity must exist up front (gh's --push hard-errors on a commit-less repo, so the identity downgrade plain init applies becomes a refusal here). Everything after generation degrades instead of failing: gh missing from PATH, gh unauthenticated (auth status exit 1, create exit 4), or a failed create each print the reason and the exact manual commands (gh auth login, the full gh repo create … invocation) as numbered next steps — the workspace is valid either way, so the run exits 0. The plan summary, dry-run output, and next-steps report all carry the GitHub line; publishing logic lives in a new engine module with hermetic fake-gh tests (PATH shims, no network).

create-groot@1.5.0

Choose a tag to compare

@github-actions github-actions released this 12 Jul 18:39
d23fe68

Minor Changes

  • #64 a1a7712 Thanks @bloxy-studios! - React Router (framework mode) joins the web slot — groot init --web react-router and groot add react-router grow the Remix successor from the official create-react-router@8 (--package-manager bun --no-git-init --no-install --no-agent-skills --yes, verified against the published source). The --no-agent-skills flag suppresses v8.2's new step that copies React Router's own SKILL.md into projects — same policy as TanStack's --no-intent and Astro's --no-ai. Port 5173 (Vite default, shared with SvelteKit per the same-slot precedent), VITE_CONVEX_URL env plumbing, react-router build's build/ output turbo-cached, and doctor checks the framework-mode config. Schema framework enum grows react-router; manifest stays version 1.

create-groot@1.4.0

Choose a tag to compare

@github-actions github-actions released this 12 Jul 18:23
3b336ab

Minor Changes

  • #62 05c3fe9 Thanks @bloxy-studios! - Astro joins the web slot — groot init --web astro and groot add astro grow an Astro app from the official create-astro@5 (--template minimal --no-install --no-git --no-ai --skip-houston --yes, all flags verified against the published source). Port 4321 (astro dev's built-in default) is the matrix's only unique web port. Convex env plumbing writes PUBLIC_CONVEX_URL (Astro's import.meta.env.PUBLIC_* client prefix), astro build's dist/ is turbo-cached, and doctor checks the astro config. Documented caveat: under --yes create-astro silently redirects non-empty targets to a random directory — unreachable behind groot's fresh-destination guarantee, and now written down. Schema framework enum grows astro; manifest stays version 1.

create-groot@1.3.0

Choose a tag to compare

@github-actions github-actions released this 12 Jul 17:53
edabbdc

Minor Changes

  • #60 9b75def Thanks @bloxy-studios! - TanStack Start joins the web slot — groot init --web tanstack-start and groot add tanstack-start grow a Start app from the official @tanstack/cli (tanstack create, pinned to the 0.69 minor), fully silenced: --framework React --package-manager bun --no-git --no-install --no-examples --no-toolchain --no-intent --yes (all flags verified against the published CLI source). Port 3000 rides the template's own dev script — same default as Next, with the standard collision warning covering add --path coexistence — and doctor gains vite-config and dev-script-port checks. The template's plain vite build output (dist/) is turbo-cached. Schema framework enum grows tanstack-start; manifest stays version 1.

create-groot@1.2.0

Choose a tag to compare

@github-actions github-actions released this 12 Jul 17:11
a30ba91

Minor Changes

  • #58 8d4e1da Thanks @bloxy-studios! - Electron joins the desktop slot — groot init --desktop electron and groot add electron grow apps/desktop from @quick-start/create-electron (electron-vite's scaffolder: react-ts template, --skip for full silence; Forge's generator force-installs and can't be silenced). No declared dev port: electron-vite's renderer server is non-strict and self-wiring, unlike Tauri's contractual 1420. Turbo caches electron-vite's out/ build. Bun lifecycle finding (verified empirically in E2E on bun 1.3.14): electron's runtime-download postinstall is NOT default-trusted — the stitch stage now writes trustedDependencies: ["electron"] into the workspace root so bun install produces a runnable app, and groot doctor detects a blocked runtime with a bun pm trust electron fix. Schema framework enum grows electron; manifest stays version 1.

create-groot@1.1.0

Choose a tag to compare

@github-actions github-actions released this 12 Jul 16:29
358b7b6

Minor Changes

  • #56 fa79194 Thanks @bloxy-studios! - New desktop slot with the Tauri v2 adapter — the first slot added since the original matrix, opening milestone v1.1. groot init --desktop tauri (or the new "Desktop app?" prompt) and groot add tauri grow apps/desktop from the official create-tauri-app (react-ts template, bun manager, workspace-derived bundle identifier), keeping the template's own coupled dev port 1420 (Vite strictPort + tauri.conf.json devUrl — unique in the matrix). Rust is only needed at dev time: scaffolding and bun install work without it, next-steps point at rustup, and groot doctor gains desktop checks (tauri config presence, devUrl/port consistency, a cargo warn, vite config tripwire). Additive manifest change: the schema's slot/framework enums grow desktop/tauri — existing manifests stay valid, version stays 1.