praxisjs
Changelog for praxisjs — maintenance CLI for existing projects.
praxisjs
1.0.2
The Claude Code and Codex skill instructions were refreshed against the current framework surface.
Two corrections matter most. StatefulComponent, StatelessComponent, and Composable are imported from @praxisjs/core, not @praxisjs/runtime — the skills previously taught the wrong path. And StatelessComponent receives its props as a generic type parameter read through this.props; @Prop, @State, @Watch, @Emit, and @Slot only work on StatefulComponent, where the old skill example used @Prop() on a stateless component. The import { signal, computed, effect, batch } from '@praxisjs/core' example was dropped entirely: those primitives are exported from @praxisjs/core/internal and are not application API — application code uses @State, @Computed, @Resource, and @Persisted instead.
Both skills gained a Check for a native path first rule. Before implementing anything it isn't certain about, the assistant now has to search the docs for an existing PraxisJS decorator, composable, or package export instead of hand-rolling it — and check for a first-party equivalent before reaching for a third-party dependency. The rule ships with a lookup table mapping roughly twenty-five commonly hand-written utilities to the API that already covers them: debounce timers to @Debounce, manual loading/error flags to @Resource, localStorage sync to @Persisted, undo stacks to @History, resize and intersection listeners to the DOM composables, requestAnimationFrame loops to @Tween/@Spring, singleton state objects to @Storable, retry loops to @Retry, list virtualization to VirtualList, and so on. When nothing native fits, the assistant records what it built and why in the project memory file. The same working agreement was added to the bundled CLAUDE.md and AGENTS.md templates.
Both skills now carry a per-package API map — decorators grouped by category, the public exports of router, store, DI, content, CSS, concurrent, composables, and the tooling entry points — plus the complete docs slug table (css/*, tooling/ssg, tooling/storybook, tooling/cli, tooling/devtools-plugins, ecosystem/ui, guide/*, internal/*), the blog scaffolding template, render() and lifecycle-hook basics, the reference-vs-mutation rule for signals, a warning about the Lazy name collision between @praxisjs/decorators and @praxisjs/router, and all four MCP tools including praxisjs_full_docs.
The bundled CLAUDE.md / AGENTS.md templates gained a content/blog variant covering @praxisjs/content and @praxisjs/ssg prerendering, and the project-config reference now explains Stylesheet vs. ReactiveStylesheet and shows a store-based i18n pattern.
1.0.1
praxisjs doctor now flags useDefineForClassFields: false instead of true in tsconfig.json, matching the Vite 8 / oxc requirement described in the @praxisjs/vite-plugin changelog. Projects still on the old Vite 7 setup with false will need to flip this once they upgrade.
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 typescript@6.0.3, so pnpm install reported an unmet peer dependency. No change to the published output.
1.0.0
Breaking: the add command is renamed to ai add — run praxisjs ai add instead of praxisjs add. This makes room for future praxisjs ai <subcommand> commands.
Three new commands:
praxisjs ai remove— removes an AI integration: deletes the skill directory and, for Claude Code,.claude/settings.json. LeavesCLAUDE.md/AGENTS.mdand.praxisjs-ai.jsonuntouched.praxisjs doctor— diagnoses common project issues: missing@praxisjs/*dependencies, tsconfig options required by PraxisJS (jsxImportSource,jsx,useDefineForClassFields), and whether an installed AI integration (Claude Code or Codex) is fully initialized — skill files, MCP config/AGENTS.md, the memory file (CLAUDE.md/AGENTS.md), and.praxisjs-ai.jsonall present.praxisjs upgrade— updates every@praxisjs/*dependency inpackage.jsonto its latest published version and reinstalls with the detected package manager.
The Claude Code and Codex skill instructions were also rewritten to match the current framework: the full docs slug list (@praxisjs/css, @praxisjs/head, @praxisjs/content, DevTools decorators, list composables), the renamed router/store APIs (@Router/@Route, @Storable/@Store), the praxisjs_get_install_command MCP tool for dependency installs, and pointers to praxisjs doctor / praxisjs upgrade for existing-project maintenance.
0.1.0
Initial release. Provides praxisjs add — installs an AI integration (Claude Code or Codex skill) into an existing project. This is the same add command previously shipped in create-praxisjs.