create-praxisjs
Changelog for create-praxisjs — project scaffolding CLI.
create-praxisjs
1.0.7
Updated dependency — [email protected]. Projects scaffolded with an AI integration now receive the refreshed Claude Code and Codex skills: corrected import paths (StatefulComponent and StatelessComponent come from @praxisjs/core), the StatelessComponent<Props> / this.props convention, a per-package API map, the full docs slug table, and a new Check for a native path first rule that makes the assistant look for an existing PraxisJS decorator or composable before hand-rolling one. See the praxisjs changelog for the full list.
No change to the templates themselves — scaffolded application code is unaffected.
1.0.6
Fixed the blog template's vite.config.ts plugin order — contentPlugin() now runs before praxisjs(). With praxisjs() first, its decorator lowering stripped @Collection('./path/*.md') down to a plain call before contentPlugin()'s regex transform ever saw the @, so the glob string reached @praxisjs/content unexpanded and getCollection() produced one broken entry per character of that string instead of the real posts.
1.0.5
Scaffolded projects now resolve @praxisjs/* dependency versions from the npm registry at scaffold time instead of shipping them pinned in the published package — create-praxisjs no longer needs a new release just because a @praxisjs/* package published a new version.
Templates moved from a hand-maintained folder to real, tested workspace apps (templates/minimal, templates/router, templates/full, templates/blog), generated into the published package at build time. This is an internal change with no effect on scaffolded output.
Scaffolded tsconfig.json now sets useDefineForClassFields: true (was false), matching the Vite 8 / oxc requirement described in the @praxisjs/vite-plugin changelog. The old default silently broke every decorator (@State, @Prop, etc.) once the scaffolded app's @praxisjs/vite-plugin was upgraded to the Vite 8 line.
Bumped the tsdown build dependency from 0.20.3 to 0.22.4 — the older version's typescript peer range (^5.0.0) didn't include this repo's [email protected], so pnpm install reported an unmet peer dependency. No change to the published output.
1.0.1
Updated dependency — [email protected]. The AI integration command referenced after scaffolding (previously praxisjs add) is now praxisjs ai add; see the praxisjs CLI docs for the full command reference, including the new ai remove, doctor, and upgrade commands.
1.0.0
Breaking: the add command has moved to a new praxisjs CLI package — run npx praxisjs ai add instead of npx create-praxisjs add. create-praxisjs now only scaffolds new projects; it depends on praxisjs to share the AI-integration plugin logic used during the "Add an AI integration?" scaffolding step.
0.4.8
Fix npx create-praxisjs add throwing ENOENT when installing the Claude or Codex skill integration — the published package was missing the plugins/ directory (files in package.json only listed dist and templates).
0.4.4
Updated template dependency — @praxisjs/[email protected].
0.4.3
Updated blog template to use the new @praxisjs/router typed signal fields API — @Params() params!: RouteParams instead of Computed<RouteParams>.
0.4.2
Template dependencies bumped to latest versions: @praxisjs/[email protected], @praxisjs/[email protected], @praxisjs/[email protected], @praxisjs/[email protected], @praxisjs/[email protected].
0.4.1
- Templates updated for renamed APIs —
@RouterConfig→@Router,@Store()→@Storable(),@UseStore()→@Store(). - Add blog template — router +
@praxisjs/contentwith sample posts, schema class, list page, and single post page.contentPlugin()is pre-configured invite.config.ts.
0.4.0
Add AI integrations to the scaffolder and a new add subcommand for existing projects.
New project — after choosing a template, a second select asks "Add an AI integration?" with two options:
- Claude Code — copies the PraxisJS skill to
.claude/skills/praxisjs/and creates.claude/settings.jsonpre-configured with the@praxisjs/mcpserver. - Codex — copies the PraxisJS skill to
.agents/skills/praxisjs/and createsAGENTS.mdat the project root.
Existing projects — run npx create-praxisjs add (or pnpm dlx / yarn dlx / bunx) to add an integration interactively to the current directory.
Bug fix — corrected plugin and template path resolution in the bundled binary.
0.3.22
Updated package dependencies.
0.3.21
@Compose string literal fix — the CLI template now uses @Compose(KeyCombo, 'ctrl+s') directly without an intermediate instance property. Updated scaffold templates to use the new getter(propName) helper for reactive composable sources.
0.3.20
Store template updated — store classes now extend ReactiveStore to satisfy the ReactiveHost constraint required by @State and @DeepState.
0.3.0 — Major template overhaul
Templates updated to reflect the decorator-first API (@RouterConfig, @Store, @UseStore, @Compose, class-based composables). experimentalDecorators removed from generated tsconfig.json.
0.1.0
Initial release — scaffolds Minimal, With Router, and Full templates with TypeScript, Vite, JSX, and HMR preconfigured.