Morphos & Kosmesis are here.Explore
PraxisJS

Packages

All PraxisJS packages, their stability, current versions, and install commands.

Packages

All public packages published to npm. Versions follow semantic versioning — breaking changes only happen in major bumps.

PraxisJS itself is stable and production-ready: no surprise API changes (breaking changes require a major version bump), deprecations before removal, and test coverage across every package. Docs are updated alongside releases, not after. A handful of newer packages are still settling — those are marked Beta or Experimental below.

Foundation

Core packages that every PraxisJS project depends on. All stable.

PackageVersionDescription
@praxisjs/core2.3.1Reactivity engine — signal, computed, effect, batch, peek, untrack, selector, resource
@praxisjs/decorators2.0.1Class component decorators — @State, @Prop, @FunctionProp, @Watch, @Emit, @Compose, @Resource, @Ref, @Command, @Selector
@praxisjs/runtime0.8.2DOM renderer — mounts components, manages scopes, handles reactive children, keyed lists (For, Index), Portal, SSG hydration
@praxisjs/jsx0.8.2JSX runtime (jsx-runtime, jsx-dev-runtime)
@praxisjs/shared0.3.2Shared types and internal utilities (not installed directly)
npm install @praxisjs/core @praxisjs/decorators @praxisjs/runtime @praxisjs/jsx
pnpm add @praxisjs/core @praxisjs/decorators @praxisjs/runtime @praxisjs/jsx
yarn add @praxisjs/core @praxisjs/decorators @praxisjs/runtime @praxisjs/jsx
bun add @praxisjs/core @praxisjs/decorators @praxisjs/runtime @praxisjs/jsx

Packages

First-party plugins — install only what your project needs. All stable.

PackageVersionDescription
@praxisjs/head0.3.3Reactive document head — @Head decorator for title, meta, og:, twitter:
@praxisjs/content0.2.3Markdown content collections with @Collection, @PagedCollection, frontmatter validation, and Vite plugin
@praxisjs/router2.3.2Client-side router with @Router, @Route, named routes, route meta, and scroll restoration
@praxisjs/store2.0.6Class-based singleton state with @Storable, @Store, and plugin system
@praxisjs/di1.3.15Decorator-based dependency injection with scoped containers
@praxisjs/motion1.2.1@Tween and @Spring animated field decorators, createTransition
@praxisjs/fsm2.2.2@StateMachine and @Transition finite state machines
@praxisjs/concurrent1.3.10@Task, @Queue, @Pool async concurrency control with opt-in AbortSignal

Head

npm install @praxisjs/head
pnpm add @praxisjs/head
yarn add @praxisjs/head
bun add @praxisjs/head

Content

npm install @praxisjs/content
pnpm add @praxisjs/content
yarn add @praxisjs/content
bun add @praxisjs/content

Router

npm install @praxisjs/router
pnpm add @praxisjs/router
yarn add @praxisjs/router
bun add @praxisjs/router

Store

npm install @praxisjs/store
pnpm add @praxisjs/store
yarn add @praxisjs/store
bun add @praxisjs/store

DI

npm install @praxisjs/di
pnpm add @praxisjs/di
yarn add @praxisjs/di
bun add @praxisjs/di

Motion

npm install @praxisjs/motion
pnpm add @praxisjs/motion
yarn add @praxisjs/motion
bun add @praxisjs/motion

FSM

npm install @praxisjs/fsm
pnpm add @praxisjs/fsm
yarn add @praxisjs/fsm
bun add @praxisjs/fsm

Concurrency

npm install @praxisjs/concurrent
pnpm add @praxisjs/concurrent
yarn add @praxisjs/concurrent
bun add @praxisjs/concurrent

Utilities

All stable.

PackageVersionDescription
@praxisjs/composables1.2.3DOM, browser, list, and file upload composable classes via @Compose
@praxisjs/css0.3.6Scoped CSS with typed class names (@Styled), reactive CSS properties (@Style), design tokens, and static build-time extraction via the Vite plugin
npm install @praxisjs/composables
pnpm add @praxisjs/composables
yarn add @praxisjs/composables
bun add @praxisjs/composables

CSS

npm install @praxisjs/css
pnpm add @praxisjs/css
yarn add @praxisjs/css
bun add @praxisjs/css

Tooling

PackageVersionStatusDescription
@praxisjs/vite-plugin4.2.2StableVite integration — decorators, JSX transform, compiled templates, keyed list rewrite, HMR, library compilation, and CSS static extraction
@praxisjs/ssg0.1.5ExperimentalStatic site generation — prerenders routes to HTML and hydrates them client-side
@praxisjs/devtools0.3.2BetaIn-app signal inspector and component profiler
@praxisjs/storybook0.3.3StableStorybook framework adapter
@praxisjs/mcp0.4.0BetaMCP server — docs, API reference, project inspection, validation and project memory for AI assistants

Vite Plugin

npm install -D @praxisjs/vite-plugin
pnpm add -D @praxisjs/vite-plugin
yarn add -D @praxisjs/vite-plugin
bun add -d @praxisjs/vite-plugin

SSG

npm install -D @praxisjs/ssg
pnpm add -D @praxisjs/ssg
yarn add -D @praxisjs/ssg
bun add -d @praxisjs/ssg

DevTools

npm install -D @praxisjs/devtools
pnpm add -D @praxisjs/devtools
yarn add -D @praxisjs/devtools
bun add -d @praxisjs/devtools

Storybook

npm install -D @praxisjs/storybook
pnpm add -D @praxisjs/storybook
yarn add -D @praxisjs/storybook
bun add -d @praxisjs/storybook

MCP

npm install -D @praxisjs/mcp
pnpm add -D @praxisjs/mcp
yarn add -D @praxisjs/mcp
bun add -d @praxisjs/mcp

CLI

Both stable.

PackageVersionDescription
create-praxisjs1.2.1Project scaffolding CLI
praxisjs1.2.4Maintenance CLI for existing projects — add kosmesis, ai add/ai remove/ai sync, doctor, upgrade

Scaffold a new project

npm create praxisjs@latest

Maintain an existing project

npx praxisjs ai add
npx praxisjs ai remove
npx praxisjs doctor
npx praxisjs upgrade

See the praxisjs CLI reference for what each command checks, installs, or updates.


Why it was built

PraxisJS started as a personal exploration of what a more explicit, traceable frontend architecture could look like — one where reactivity is a first-class, visible contract rather than an implementation detail.

It also became an experiment in AI-assisted development: not to automate thinking, but to pressure-test ideas, surface blind spots, and accelerate iteration on the design.

Contributing

Found a bug? Have an idea? Contributions are welcome at any level.

On this page