@plures/praxis 0.2.0 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +282 -76
- package/core/codegen/docs-generator.ts +808 -0
- package/core/codegen/index.ts +27 -0
- package/core/codegen/ts-generator.ts +15 -0
- package/core/db-adapter/index.ts +52 -0
- package/core/db-adapter/sync-engine.ts +450 -0
- package/core/logic-engine/engine.ts +12 -0
- package/core/logic-engine/index.ts +16 -0
- package/core/logic-engine/protocol.ts +16 -0
- package/core/logic-engine/psf-adapter.ts +269 -0
- package/core/logic-engine/rules.ts +16 -0
- package/core/schema-engine/compiler.ts +431 -0
- package/core/schema-engine/generator.ts +635 -0
- package/core/schema-engine/index.ts +18 -0
- package/core/schema-engine/psf.ts +664 -0
- package/core/schema-engine/types.ts +63 -0
- package/core/schema-engine/validator.ts +541 -0
- package/dist/core/codegen/docs-generator.d.ts +123 -0
- package/dist/core/codegen/docs-generator.d.ts.map +1 -0
- package/dist/core/codegen/docs-generator.js +674 -0
- package/dist/core/codegen/docs-generator.js.map +1 -0
- package/dist/core/codegen/index.d.ts +11 -0
- package/dist/core/codegen/index.d.ts.map +1 -0
- package/dist/core/codegen/index.js +13 -0
- package/dist/core/codegen/index.js.map +1 -0
- package/dist/core/codegen/ts-generator.d.ts +8 -0
- package/dist/core/codegen/ts-generator.d.ts.map +1 -0
- package/dist/core/codegen/ts-generator.js +8 -0
- package/dist/core/codegen/ts-generator.js.map +1 -0
- package/dist/core/db-adapter/index.d.ts +18 -0
- package/dist/core/db-adapter/index.d.ts.map +1 -0
- package/dist/core/db-adapter/index.js +23 -0
- package/dist/core/db-adapter/index.js.map +1 -0
- package/dist/core/db-adapter/sync-engine.d.ts +180 -0
- package/dist/core/db-adapter/sync-engine.d.ts.map +1 -0
- package/dist/core/db-adapter/sync-engine.js +342 -0
- package/dist/core/db-adapter/sync-engine.js.map +1 -0
- package/dist/core/logic-engine/engine.d.ts +8 -0
- package/dist/core/logic-engine/engine.d.ts.map +1 -0
- package/dist/core/logic-engine/engine.js +8 -0
- package/dist/core/logic-engine/engine.js.map +1 -0
- package/dist/core/logic-engine/index.d.ts +16 -0
- package/dist/core/logic-engine/index.d.ts.map +1 -0
- package/dist/core/logic-engine/index.js +16 -0
- package/dist/core/logic-engine/index.js.map +1 -0
- package/dist/core/logic-engine/protocol.d.ts +7 -0
- package/dist/core/logic-engine/protocol.d.ts.map +1 -0
- package/dist/core/logic-engine/protocol.js +7 -0
- package/dist/core/logic-engine/protocol.js.map +1 -0
- package/dist/core/logic-engine/psf-adapter.d.ts +88 -0
- package/dist/core/logic-engine/psf-adapter.d.ts.map +1 -0
- package/dist/core/logic-engine/psf-adapter.js +207 -0
- package/dist/core/logic-engine/psf-adapter.js.map +1 -0
- package/dist/core/logic-engine/rules.d.ts +7 -0
- package/dist/core/logic-engine/rules.d.ts.map +1 -0
- package/dist/core/logic-engine/rules.js +7 -0
- package/dist/core/logic-engine/rules.js.map +1 -0
- package/dist/core/schema-engine/compiler.d.ts +198 -0
- package/dist/core/schema-engine/compiler.d.ts.map +1 -0
- package/dist/core/schema-engine/compiler.js +262 -0
- package/dist/core/schema-engine/compiler.js.map +1 -0
- package/dist/core/schema-engine/generator.d.ts +115 -0
- package/dist/core/schema-engine/generator.d.ts.map +1 -0
- package/dist/core/schema-engine/generator.js +506 -0
- package/dist/core/schema-engine/generator.js.map +1 -0
- package/dist/core/schema-engine/index.d.ts +18 -0
- package/dist/core/schema-engine/index.d.ts.map +1 -0
- package/dist/core/schema-engine/index.js +18 -0
- package/dist/core/schema-engine/index.js.map +1 -0
- package/dist/core/schema-engine/psf.d.ts +612 -0
- package/dist/core/schema-engine/psf.d.ts.map +1 -0
- package/dist/core/schema-engine/psf.js +45 -0
- package/dist/core/schema-engine/psf.js.map +1 -0
- package/dist/core/schema-engine/types.d.ts +10 -0
- package/dist/core/schema-engine/types.d.ts.map +1 -0
- package/dist/core/schema-engine/types.js +7 -0
- package/dist/core/schema-engine/types.js.map +1 -0
- package/dist/core/schema-engine/validator.d.ts +140 -0
- package/dist/core/schema-engine/validator.d.ts.map +1 -0
- package/dist/core/schema-engine/validator.js +407 -0
- package/dist/core/schema-engine/validator.js.map +1 -0
- package/dist/src/adapters/cli.d.ts.map +1 -0
- package/dist/src/adapters/cli.js.map +1 -0
- package/dist/src/cli/commands/auth.d.ts.map +1 -0
- package/dist/src/cli/commands/auth.js.map +1 -0
- package/dist/src/cli/commands/build.d.ts +23 -0
- package/dist/src/cli/commands/build.d.ts.map +1 -0
- package/dist/src/cli/commands/build.js +162 -0
- package/dist/src/cli/commands/build.js.map +1 -0
- package/dist/src/cli/commands/canvas.d.ts +23 -0
- package/dist/src/cli/commands/canvas.d.ts.map +1 -0
- package/dist/src/cli/commands/canvas.js +215 -0
- package/dist/src/cli/commands/canvas.js.map +1 -0
- package/dist/src/cli/commands/cloud.d.ts.map +1 -0
- package/dist/src/cli/commands/cloud.js.map +1 -0
- package/dist/src/cli/commands/create.d.ts +21 -0
- package/dist/src/cli/commands/create.d.ts.map +1 -0
- package/dist/src/cli/commands/create.js +621 -0
- package/dist/src/cli/commands/create.js.map +1 -0
- package/dist/src/cli/commands/dev.d.ts +21 -0
- package/dist/src/cli/commands/dev.d.ts.map +1 -0
- package/dist/src/cli/commands/dev.js +71 -0
- package/dist/src/cli/commands/dev.js.map +1 -0
- package/dist/src/cli/commands/generate.d.ts.map +1 -0
- package/dist/src/cli/commands/generate.js.map +1 -0
- package/dist/src/cli/commands/orchestrate.d.ts +44 -0
- package/dist/src/cli/commands/orchestrate.d.ts.map +1 -0
- package/dist/src/cli/commands/orchestrate.js +150 -0
- package/dist/src/cli/commands/orchestrate.js.map +1 -0
- package/dist/{cli → src/cli}/index.d.ts.map +1 -1
- package/dist/{cli → src/cli}/index.js +53 -21
- package/dist/src/cli/index.js.map +1 -0
- package/dist/src/cloud/auth.d.ts.map +1 -0
- package/dist/src/cloud/auth.js.map +1 -0
- package/dist/src/cloud/billing.d.ts.map +1 -0
- package/dist/src/cloud/billing.js.map +1 -0
- package/dist/src/cloud/client.d.ts.map +1 -0
- package/dist/src/cloud/client.js.map +1 -0
- package/dist/src/cloud/index.d.ts.map +1 -0
- package/dist/src/cloud/index.js.map +1 -0
- package/dist/src/cloud/marketplace.d.ts.map +1 -0
- package/dist/src/cloud/marketplace.js.map +1 -0
- package/dist/src/cloud/provisioning.d.ts.map +1 -0
- package/dist/src/cloud/provisioning.js.map +1 -0
- package/dist/src/cloud/relay/endpoints.d.ts.map +1 -0
- package/dist/src/cloud/relay/endpoints.js.map +1 -0
- package/dist/src/cloud/relay/health/index.d.ts.map +1 -0
- package/dist/src/cloud/relay/health/index.js.map +1 -0
- package/dist/src/cloud/relay/stats/index.d.ts.map +1 -0
- package/dist/src/cloud/relay/stats/index.js.map +1 -0
- package/dist/src/cloud/relay/sync/index.d.ts.map +1 -0
- package/dist/src/cloud/relay/sync/index.js.map +1 -0
- package/dist/src/cloud/relay/usage/index.d.ts.map +1 -0
- package/dist/src/cloud/relay/usage/index.js.map +1 -0
- package/dist/src/cloud/sponsors.d.ts.map +1 -0
- package/dist/src/cloud/sponsors.js.map +1 -0
- package/dist/src/cloud/types.d.ts.map +1 -0
- package/dist/src/cloud/types.js.map +1 -0
- package/dist/src/components/index.d.ts.map +1 -0
- package/dist/src/components/index.js.map +1 -0
- package/dist/src/core/actors.d.ts.map +1 -0
- package/dist/src/core/actors.js.map +1 -0
- package/dist/src/core/component/generator.d.ts.map +1 -0
- package/dist/{core → src/core}/component/generator.js +45 -3
- package/dist/src/core/component/generator.js.map +1 -0
- package/dist/src/core/engine.d.ts.map +1 -0
- package/dist/src/core/engine.js.map +1 -0
- package/dist/src/core/introspection.d.ts.map +1 -0
- package/dist/src/core/introspection.js.map +1 -0
- package/dist/src/core/logic/generator.d.ts.map +1 -0
- package/dist/{core → src/core}/logic/generator.js +35 -4
- package/dist/src/core/logic/generator.js.map +1 -0
- package/dist/src/core/pluresdb/adapter.d.ts +72 -0
- package/dist/src/core/pluresdb/adapter.d.ts.map +1 -0
- package/dist/src/core/pluresdb/adapter.js +73 -0
- package/dist/src/core/pluresdb/adapter.js.map +1 -0
- package/dist/src/core/pluresdb/generator.d.ts.map +1 -0
- package/dist/{core → src/core}/pluresdb/generator.js +33 -4
- package/dist/src/core/pluresdb/generator.js.map +1 -0
- package/dist/src/core/pluresdb/index.d.ts +15 -0
- package/dist/src/core/pluresdb/index.d.ts.map +1 -0
- package/dist/src/core/pluresdb/index.js +11 -0
- package/dist/src/core/pluresdb/index.js.map +1 -0
- package/dist/src/core/pluresdb/schema-registry.d.ts +104 -0
- package/dist/src/core/pluresdb/schema-registry.d.ts.map +1 -0
- package/dist/src/core/pluresdb/schema-registry.js +130 -0
- package/dist/src/core/pluresdb/schema-registry.js.map +1 -0
- package/dist/src/core/pluresdb/store.d.ts +199 -0
- package/dist/src/core/pluresdb/store.d.ts.map +1 -0
- package/dist/src/core/pluresdb/store.js +344 -0
- package/dist/src/core/pluresdb/store.js.map +1 -0
- package/dist/src/core/protocol.d.ts.map +1 -0
- package/dist/src/core/protocol.js.map +1 -0
- package/dist/src/core/rules.d.ts.map +1 -0
- package/dist/src/core/rules.js.map +1 -0
- package/dist/src/core/schema/loader.d.ts.map +1 -0
- package/dist/{core → src/core}/schema/loader.js +2 -2
- package/dist/src/core/schema/loader.js.map +1 -0
- package/dist/src/core/schema/normalize.d.ts.map +1 -0
- package/dist/src/core/schema/normalize.js.map +1 -0
- package/dist/src/core/schema/types.d.ts.map +1 -0
- package/dist/src/core/schema/types.js.map +1 -0
- package/dist/src/dsl/index.d.ts.map +1 -0
- package/dist/src/dsl/index.js.map +1 -0
- package/dist/src/dsl.d.ts.map +1 -0
- package/dist/src/dsl.js.map +1 -0
- package/dist/src/examples/advanced-todo/index.d.ts.map +1 -0
- package/dist/src/examples/advanced-todo/index.js.map +1 -0
- package/dist/src/examples/auth-basic/index.d.ts.map +1 -0
- package/dist/src/examples/auth-basic/index.js.map +1 -0
- package/dist/src/examples/cart/index.d.ts.map +1 -0
- package/dist/src/examples/cart/index.js.map +1 -0
- package/dist/src/examples/hero-ecommerce/index.d.ts.map +1 -0
- package/dist/src/examples/hero-ecommerce/index.js.map +1 -0
- package/dist/src/examples/svelte-counter/index.d.ts.map +1 -0
- package/dist/src/examples/svelte-counter/index.js.map +1 -0
- package/dist/src/flows.d.ts.map +1 -0
- package/dist/src/flows.js.map +1 -0
- package/dist/{index.d.ts → src/index.d.ts} +12 -2
- package/dist/src/index.d.ts.map +1 -0
- package/dist/{index.js → src/index.js} +6 -1
- package/dist/src/index.js.map +1 -0
- package/dist/src/integrations/code-canvas.d.ts +265 -0
- package/dist/src/integrations/code-canvas.d.ts.map +1 -0
- package/dist/src/integrations/code-canvas.js +451 -0
- package/dist/src/integrations/code-canvas.js.map +1 -0
- package/dist/src/integrations/pluresdb.d.ts +117 -0
- package/dist/src/integrations/pluresdb.d.ts.map +1 -0
- package/dist/src/integrations/pluresdb.js +117 -0
- package/dist/src/integrations/pluresdb.js.map +1 -0
- package/dist/src/integrations/state-docs.d.ts +191 -0
- package/dist/src/integrations/state-docs.d.ts.map +1 -0
- package/dist/src/integrations/state-docs.js +515 -0
- package/dist/src/integrations/state-docs.js.map +1 -0
- package/dist/src/integrations/svelte.d.ts.map +1 -0
- package/dist/src/integrations/svelte.js.map +1 -0
- package/dist/src/integrations/tauri.d.ts +360 -0
- package/dist/src/integrations/tauri.d.ts.map +1 -0
- package/dist/src/integrations/tauri.js +278 -0
- package/dist/src/integrations/tauri.js.map +1 -0
- package/dist/src/integrations/unum.d.ts +159 -0
- package/dist/src/integrations/unum.d.ts.map +1 -0
- package/dist/src/integrations/unum.js +240 -0
- package/dist/src/integrations/unum.js.map +1 -0
- package/dist/src/registry.d.ts.map +1 -0
- package/dist/src/registry.js.map +1 -0
- package/dist/{runtime → src/runtime}/terminal-adapter.d.ts +58 -7
- package/dist/src/runtime/terminal-adapter.d.ts.map +1 -0
- package/dist/src/runtime/terminal-adapter.js +237 -0
- package/dist/src/runtime/terminal-adapter.js.map +1 -0
- package/dist/src/step.d.ts.map +1 -0
- package/dist/src/step.js.map +1 -0
- package/dist/src/types.d.ts.map +1 -0
- package/dist/{cloud → src}/types.js.map +1 -1
- package/dist/tools/cli/commands/index.d.ts +7 -0
- package/dist/tools/cli/commands/index.d.ts.map +1 -0
- package/dist/tools/cli/commands/index.js +7 -0
- package/dist/tools/cli/commands/index.js.map +1 -0
- package/dist/tools/cli/index.d.ts +8 -0
- package/dist/tools/cli/index.d.ts.map +1 -0
- package/dist/tools/cli/index.js +9 -0
- package/dist/tools/cli/index.js.map +1 -0
- package/dist/tools/watcher/index.d.ts +105 -0
- package/dist/tools/watcher/index.d.ts.map +1 -0
- package/dist/tools/watcher/index.js +213 -0
- package/dist/tools/watcher/index.js.map +1 -0
- package/dist/ui/canvas/canvas-projection.d.ts +78 -0
- package/dist/ui/canvas/canvas-projection.d.ts.map +1 -0
- package/dist/ui/canvas/canvas-projection.js +416 -0
- package/dist/ui/canvas/canvas-projection.js.map +1 -0
- package/dist/ui/canvas/canvas-state.d.ts +200 -0
- package/dist/ui/canvas/canvas-state.d.ts.map +1 -0
- package/dist/ui/canvas/canvas-state.js +464 -0
- package/dist/ui/canvas/canvas-state.js.map +1 -0
- package/dist/ui/canvas/components/index.d.ts +95 -0
- package/dist/ui/canvas/components/index.d.ts.map +1 -0
- package/dist/ui/canvas/components/index.js +19 -0
- package/dist/ui/canvas/components/index.js.map +1 -0
- package/dist/ui/canvas/index.d.ts +32 -0
- package/dist/ui/canvas/index.d.ts.map +1 -0
- package/dist/ui/canvas/index.js +32 -0
- package/dist/ui/canvas/index.js.map +1 -0
- package/dist/ui/svelte-generator/index.d.ts +9 -0
- package/dist/ui/svelte-generator/index.d.ts.map +1 -0
- package/dist/ui/svelte-generator/index.js +11 -0
- package/dist/ui/svelte-generator/index.js.map +1 -0
- package/dist/ui/svelte-generator/psf-generator.d.ts +128 -0
- package/dist/ui/svelte-generator/psf-generator.d.ts.map +1 -0
- package/dist/ui/svelte-generator/psf-generator.js +506 -0
- package/dist/ui/svelte-generator/psf-generator.js.map +1 -0
- package/docs/README.md +155 -0
- package/docs/core/building-extensions.md +553 -0
- package/docs/core/cli-usage.md +498 -0
- package/docs/core/code-canvas-sync.md +468 -0
- package/docs/core/logic-engine.md +566 -0
- package/docs/core/pluresdb-integration.md +646 -0
- package/docs/core/schema-model.md +414 -0
- package/docs/core/ui-generation.md +580 -0
- package/docs/core/what-is-praxis.md +240 -0
- package/docs/tutorials/README.md +84 -0
- package/docs/tutorials/ecommerce-cart.md +631 -0
- package/docs/tutorials/first-app.md +529 -0
- package/docs/tutorials/form-builder.md +620 -0
- package/docs/tutorials/todo-pluresdb.md +589 -0
- package/package.json +1 -1
- package/src/__tests__/canvas-components.test.ts +450 -0
- package/src/__tests__/cli-create.test.ts +178 -0
- package/src/__tests__/code-canvas-integration.test.ts +277 -0
- package/src/__tests__/docs-generator.test.ts +181 -0
- package/src/__tests__/generators.test.ts +3 -2
- package/src/__tests__/pluresdb.test.ts +457 -0
- package/src/__tests__/psf-schema-engine.test.ts +450 -0
- package/src/__tests__/state-docs-integration.test.ts +297 -0
- package/src/__tests__/tauri-integration.test.ts +298 -0
- package/src/__tests__/terminal-node.test.ts +1 -1
- package/src/__tests__/unum-integration.test.ts +142 -0
- package/src/cli/commands/build.ts +203 -0
- package/src/cli/commands/canvas.ts +246 -0
- package/src/cli/commands/create.ts +666 -0
- package/src/cli/commands/dev.ts +95 -0
- package/src/cli/commands/orchestrate.ts +212 -0
- package/src/cli/index.ts +48 -21
- package/src/core/actors.ts +1 -1
- package/src/core/component/generator.ts +45 -3
- package/src/core/logic/generator.ts +39 -4
- package/src/core/pluresdb/adapter.ts +117 -0
- package/src/core/pluresdb/generator.ts +33 -4
- package/src/core/pluresdb/index.ts +37 -0
- package/src/core/pluresdb/schema-registry.ts +162 -0
- package/src/core/pluresdb/store.ts +443 -0
- package/src/core/schema/loader.ts +2 -2
- package/src/index.ts +109 -0
- package/src/integrations/code-canvas.ts +717 -0
- package/src/integrations/pluresdb.ts +140 -29
- package/src/integrations/state-docs.ts +710 -0
- package/src/integrations/tauri.ts +638 -0
- package/src/integrations/unum.ts +395 -0
- package/src/runtime/terminal-adapter.ts +178 -23
- package/dist/adapters/cli.d.ts.map +0 -1
- package/dist/adapters/cli.js.map +0 -1
- package/dist/cli/commands/auth.d.ts.map +0 -1
- package/dist/cli/commands/auth.js.map +0 -1
- package/dist/cli/commands/cloud.d.ts.map +0 -1
- package/dist/cli/commands/cloud.js.map +0 -1
- package/dist/cli/commands/generate.d.ts.map +0 -1
- package/dist/cli/commands/generate.js.map +0 -1
- package/dist/cli/index.js.map +0 -1
- package/dist/cloud/auth.d.ts.map +0 -1
- package/dist/cloud/auth.js.map +0 -1
- package/dist/cloud/billing.d.ts.map +0 -1
- package/dist/cloud/billing.js.map +0 -1
- package/dist/cloud/client.d.ts.map +0 -1
- package/dist/cloud/client.js.map +0 -1
- package/dist/cloud/index.d.ts.map +0 -1
- package/dist/cloud/index.js.map +0 -1
- package/dist/cloud/marketplace.d.ts.map +0 -1
- package/dist/cloud/marketplace.js.map +0 -1
- package/dist/cloud/provisioning.d.ts.map +0 -1
- package/dist/cloud/provisioning.js.map +0 -1
- package/dist/cloud/relay/endpoints.d.ts.map +0 -1
- package/dist/cloud/relay/endpoints.js.map +0 -1
- package/dist/cloud/relay/health/index.d.ts.map +0 -1
- package/dist/cloud/relay/health/index.js.map +0 -1
- package/dist/cloud/relay/stats/index.d.ts.map +0 -1
- package/dist/cloud/relay/stats/index.js.map +0 -1
- package/dist/cloud/relay/sync/index.d.ts.map +0 -1
- package/dist/cloud/relay/sync/index.js.map +0 -1
- package/dist/cloud/relay/usage/index.d.ts.map +0 -1
- package/dist/cloud/relay/usage/index.js.map +0 -1
- package/dist/cloud/sponsors.d.ts.map +0 -1
- package/dist/cloud/sponsors.js.map +0 -1
- package/dist/cloud/types.d.ts.map +0 -1
- package/dist/components/index.d.ts.map +0 -1
- package/dist/components/index.js.map +0 -1
- package/dist/core/actors.d.ts.map +0 -1
- package/dist/core/actors.js.map +0 -1
- package/dist/core/component/generator.d.ts.map +0 -1
- package/dist/core/component/generator.js.map +0 -1
- package/dist/core/engine.d.ts.map +0 -1
- package/dist/core/engine.js.map +0 -1
- package/dist/core/introspection.d.ts.map +0 -1
- package/dist/core/introspection.js.map +0 -1
- package/dist/core/logic/generator.d.ts.map +0 -1
- package/dist/core/logic/generator.js.map +0 -1
- package/dist/core/pluresdb/generator.d.ts.map +0 -1
- package/dist/core/pluresdb/generator.js.map +0 -1
- package/dist/core/protocol.d.ts.map +0 -1
- package/dist/core/protocol.js.map +0 -1
- package/dist/core/rules.d.ts.map +0 -1
- package/dist/core/rules.js.map +0 -1
- package/dist/core/schema/loader.d.ts.map +0 -1
- package/dist/core/schema/loader.js.map +0 -1
- package/dist/core/schema/normalize.d.ts.map +0 -1
- package/dist/core/schema/normalize.js.map +0 -1
- package/dist/core/schema/types.d.ts.map +0 -1
- package/dist/core/schema/types.js.map +0 -1
- package/dist/dsl/index.d.ts.map +0 -1
- package/dist/dsl/index.js.map +0 -1
- package/dist/dsl.d.ts.map +0 -1
- package/dist/dsl.js.map +0 -1
- package/dist/examples/advanced-todo/index.d.ts.map +0 -1
- package/dist/examples/advanced-todo/index.js.map +0 -1
- package/dist/examples/auth-basic/index.d.ts.map +0 -1
- package/dist/examples/auth-basic/index.js.map +0 -1
- package/dist/examples/cart/index.d.ts.map +0 -1
- package/dist/examples/cart/index.js.map +0 -1
- package/dist/examples/hero-ecommerce/index.d.ts.map +0 -1
- package/dist/examples/hero-ecommerce/index.js.map +0 -1
- package/dist/examples/svelte-counter/index.d.ts.map +0 -1
- package/dist/examples/svelte-counter/index.js.map +0 -1
- package/dist/flows.d.ts.map +0 -1
- package/dist/flows.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/integrations/pluresdb.d.ts +0 -56
- package/dist/integrations/pluresdb.d.ts.map +0 -1
- package/dist/integrations/pluresdb.js +0 -46
- package/dist/integrations/pluresdb.js.map +0 -1
- package/dist/integrations/svelte.d.ts.map +0 -1
- package/dist/integrations/svelte.js.map +0 -1
- package/dist/registry.d.ts.map +0 -1
- package/dist/registry.js.map +0 -1
- package/dist/runtime/terminal-adapter.d.ts.map +0 -1
- package/dist/runtime/terminal-adapter.js +0 -113
- package/dist/runtime/terminal-adapter.js.map +0 -1
- package/dist/step.d.ts.map +0 -1
- package/dist/step.js.map +0 -1
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js.map +0 -1
- /package/dist/{adapters → src/adapters}/cli.d.ts +0 -0
- /package/dist/{adapters → src/adapters}/cli.js +0 -0
- /package/dist/{cli → src/cli}/commands/auth.d.ts +0 -0
- /package/dist/{cli → src/cli}/commands/auth.js +0 -0
- /package/dist/{cli → src/cli}/commands/cloud.d.ts +0 -0
- /package/dist/{cli → src/cli}/commands/cloud.js +0 -0
- /package/dist/{cli → src/cli}/commands/generate.d.ts +0 -0
- /package/dist/{cli → src/cli}/commands/generate.js +0 -0
- /package/dist/{cli → src/cli}/index.d.ts +0 -0
- /package/dist/{cloud → src/cloud}/auth.d.ts +0 -0
- /package/dist/{cloud → src/cloud}/auth.js +0 -0
- /package/dist/{cloud → src/cloud}/billing.d.ts +0 -0
- /package/dist/{cloud → src/cloud}/billing.js +0 -0
- /package/dist/{cloud → src/cloud}/client.d.ts +0 -0
- /package/dist/{cloud → src/cloud}/client.js +0 -0
- /package/dist/{cloud → src/cloud}/index.d.ts +0 -0
- /package/dist/{cloud → src/cloud}/index.js +0 -0
- /package/dist/{cloud → src/cloud}/marketplace.d.ts +0 -0
- /package/dist/{cloud → src/cloud}/marketplace.js +0 -0
- /package/dist/{cloud → src/cloud}/provisioning.d.ts +0 -0
- /package/dist/{cloud → src/cloud}/provisioning.js +0 -0
- /package/dist/{cloud → src/cloud}/relay/endpoints.d.ts +0 -0
- /package/dist/{cloud → src/cloud}/relay/endpoints.js +0 -0
- /package/dist/{cloud → src/cloud}/relay/health/index.d.ts +0 -0
- /package/dist/{cloud → src/cloud}/relay/health/index.js +0 -0
- /package/dist/{cloud → src/cloud}/relay/stats/index.d.ts +0 -0
- /package/dist/{cloud → src/cloud}/relay/stats/index.js +0 -0
- /package/dist/{cloud → src/cloud}/relay/sync/index.d.ts +0 -0
- /package/dist/{cloud → src/cloud}/relay/sync/index.js +0 -0
- /package/dist/{cloud → src/cloud}/relay/usage/index.d.ts +0 -0
- /package/dist/{cloud → src/cloud}/relay/usage/index.js +0 -0
- /package/dist/{cloud → src/cloud}/sponsors.d.ts +0 -0
- /package/dist/{cloud → src/cloud}/sponsors.js +0 -0
- /package/dist/{cloud → src/cloud}/types.d.ts +0 -0
- /package/dist/{cloud → src/cloud}/types.js +0 -0
- /package/dist/{components → src/components}/index.d.ts +0 -0
- /package/dist/{components → src/components}/index.js +0 -0
- /package/dist/{core → src/core}/actors.d.ts +0 -0
- /package/dist/{core → src/core}/actors.js +0 -0
- /package/dist/{core → src/core}/component/generator.d.ts +0 -0
- /package/dist/{core → src/core}/engine.d.ts +0 -0
- /package/dist/{core → src/core}/engine.js +0 -0
- /package/dist/{core → src/core}/introspection.d.ts +0 -0
- /package/dist/{core → src/core}/introspection.js +0 -0
- /package/dist/{core → src/core}/logic/generator.d.ts +0 -0
- /package/dist/{core → src/core}/pluresdb/generator.d.ts +0 -0
- /package/dist/{core → src/core}/protocol.d.ts +0 -0
- /package/dist/{core → src/core}/protocol.js +0 -0
- /package/dist/{core → src/core}/rules.d.ts +0 -0
- /package/dist/{core → src/core}/rules.js +0 -0
- /package/dist/{core → src/core}/schema/loader.d.ts +0 -0
- /package/dist/{core → src/core}/schema/normalize.d.ts +0 -0
- /package/dist/{core → src/core}/schema/normalize.js +0 -0
- /package/dist/{core → src/core}/schema/types.d.ts +0 -0
- /package/dist/{core → src/core}/schema/types.js +0 -0
- /package/dist/{dsl → src/dsl}/index.d.ts +0 -0
- /package/dist/{dsl → src/dsl}/index.js +0 -0
- /package/dist/{dsl.d.ts → src/dsl.d.ts} +0 -0
- /package/dist/{dsl.js → src/dsl.js} +0 -0
- /package/dist/{examples → src/examples}/advanced-todo/index.d.ts +0 -0
- /package/dist/{examples → src/examples}/advanced-todo/index.js +0 -0
- /package/dist/{examples → src/examples}/auth-basic/index.d.ts +0 -0
- /package/dist/{examples → src/examples}/auth-basic/index.js +0 -0
- /package/dist/{examples → src/examples}/cart/index.d.ts +0 -0
- /package/dist/{examples → src/examples}/cart/index.js +0 -0
- /package/dist/{examples → src/examples}/hero-ecommerce/index.d.ts +0 -0
- /package/dist/{examples → src/examples}/hero-ecommerce/index.js +0 -0
- /package/dist/{examples → src/examples}/svelte-counter/index.d.ts +0 -0
- /package/dist/{examples → src/examples}/svelte-counter/index.js +0 -0
- /package/dist/{flows.d.ts → src/flows.d.ts} +0 -0
- /package/dist/{flows.js → src/flows.js} +0 -0
- /package/dist/{integrations → src/integrations}/svelte.d.ts +0 -0
- /package/dist/{integrations → src/integrations}/svelte.js +0 -0
- /package/dist/{registry.d.ts → src/registry.d.ts} +0 -0
- /package/dist/{registry.js → src/registry.js} +0 -0
- /package/dist/{step.d.ts → src/step.d.ts} +0 -0
- /package/dist/{step.js → src/step.js} +0 -0
- /package/dist/{types.d.ts → src/types.d.ts} +0 -0
- /package/dist/{types.js → src/types.js} +0 -0
|
@@ -0,0 +1,498 @@
|
|
|
1
|
+
# Praxis CLI Usage
|
|
2
|
+
|
|
3
|
+
The Praxis CLI provides commands for creating apps, generating code, running development servers, and managing your Praxis projects.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
### Global Installation
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npm install -g @plures/praxis
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
Verify installation:
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
praxis --version
|
|
17
|
+
# @plures/praxis v0.2.1
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
### Local Installation
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
npm install @plures/praxis
|
|
24
|
+
npx praxis --version
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## Commands
|
|
28
|
+
|
|
29
|
+
### `praxis create`
|
|
30
|
+
|
|
31
|
+
Create a new Praxis application or component.
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
# Create a new app
|
|
35
|
+
praxis create app my-app
|
|
36
|
+
|
|
37
|
+
# Create with specific template
|
|
38
|
+
praxis create app my-app --template fullstack
|
|
39
|
+
|
|
40
|
+
# Create a component
|
|
41
|
+
praxis create component MyComponent
|
|
42
|
+
|
|
43
|
+
# Create in specific directory
|
|
44
|
+
praxis create app my-app --directory ./projects
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
**Options:**
|
|
48
|
+
|
|
49
|
+
| Option | Description |
|
|
50
|
+
|--------|-------------|
|
|
51
|
+
| `--template` | Template to use: `basic`, `fullstack`, `minimal` |
|
|
52
|
+
| `--directory` | Output directory |
|
|
53
|
+
| `--no-git` | Skip git initialization |
|
|
54
|
+
| `--no-install` | Skip npm install |
|
|
55
|
+
|
|
56
|
+
**Available Templates:**
|
|
57
|
+
|
|
58
|
+
| Template | Description |
|
|
59
|
+
|----------|-------------|
|
|
60
|
+
| `basic` | Simple app with logic engine and Svelte |
|
|
61
|
+
| `fullstack` | Complete app with PluresDB, auth, and sync |
|
|
62
|
+
| `minimal` | Bare minimum Praxis setup |
|
|
63
|
+
| `component` | Reusable component library |
|
|
64
|
+
| `orchestrator` | Distributed node orchestration |
|
|
65
|
+
|
|
66
|
+
### `praxis generate`
|
|
67
|
+
|
|
68
|
+
Generate code from a PSF schema.
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
# Generate all outputs
|
|
72
|
+
praxis generate --schema ./schema.psf.json
|
|
73
|
+
|
|
74
|
+
# Generate with custom output directory
|
|
75
|
+
praxis generate --schema ./schema.psf.json --output ./src/generated
|
|
76
|
+
|
|
77
|
+
# Generate specific targets only
|
|
78
|
+
praxis generate --schema ./schema.psf.json --only types,components
|
|
79
|
+
|
|
80
|
+
# Watch mode (regenerate on changes)
|
|
81
|
+
praxis generate --schema ./schema.psf.json --watch
|
|
82
|
+
|
|
83
|
+
# Force regeneration (overwrite existing)
|
|
84
|
+
praxis generate --schema ./schema.psf.json --force
|
|
85
|
+
|
|
86
|
+
# Check mode (verify generated files are current)
|
|
87
|
+
praxis generate --schema ./schema.psf.json --check
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
**Options:**
|
|
91
|
+
|
|
92
|
+
| Option | Description |
|
|
93
|
+
|--------|-------------|
|
|
94
|
+
| `--schema` | Path to PSF schema file |
|
|
95
|
+
| `--output` | Output directory (default: `./generated`) |
|
|
96
|
+
| `--only` | Comma-separated targets: `types`, `components`, `docs`, `rules`, `pluresdb` |
|
|
97
|
+
| `--watch` | Watch for changes and regenerate |
|
|
98
|
+
| `--force` | Overwrite existing files |
|
|
99
|
+
| `--check` | Verify files are up-to-date (exit code 1 if not) |
|
|
100
|
+
| `--format` | Output format: `typescript`, `javascript` |
|
|
101
|
+
|
|
102
|
+
### `praxis canvas`
|
|
103
|
+
|
|
104
|
+
Launch CodeCanvas visual editor.
|
|
105
|
+
|
|
106
|
+
```bash
|
|
107
|
+
# Open Canvas with a schema
|
|
108
|
+
praxis canvas ./schema.psf.json
|
|
109
|
+
|
|
110
|
+
# Create new schema in Canvas
|
|
111
|
+
praxis canvas --new
|
|
112
|
+
|
|
113
|
+
# Custom port
|
|
114
|
+
praxis canvas ./schema.psf.json --port 4000
|
|
115
|
+
|
|
116
|
+
# With custom config
|
|
117
|
+
praxis canvas ./schema.psf.json --config canvas.config.ts
|
|
118
|
+
|
|
119
|
+
# View-only mode
|
|
120
|
+
praxis canvas ./schema.psf.json --mode view
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
**Options:**
|
|
124
|
+
|
|
125
|
+
| Option | Description |
|
|
126
|
+
|--------|-------------|
|
|
127
|
+
| `--port` | Server port (default: 3000) |
|
|
128
|
+
| `--host` | Server host (default: localhost) |
|
|
129
|
+
| `--config` | Path to canvas config file |
|
|
130
|
+
| `--mode` | Mode: `edit`, `view`, `present` |
|
|
131
|
+
| `--new` | Create new schema |
|
|
132
|
+
| `--watch` | Enable file watching |
|
|
133
|
+
|
|
134
|
+
### `praxis dev`
|
|
135
|
+
|
|
136
|
+
Start development server.
|
|
137
|
+
|
|
138
|
+
```bash
|
|
139
|
+
# Start dev server
|
|
140
|
+
praxis dev
|
|
141
|
+
|
|
142
|
+
# With specific port
|
|
143
|
+
praxis dev --port 5173
|
|
144
|
+
|
|
145
|
+
# Open browser automatically
|
|
146
|
+
praxis dev --open
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
**Options:**
|
|
150
|
+
|
|
151
|
+
| Option | Description |
|
|
152
|
+
|--------|-------------|
|
|
153
|
+
| `--port` | Server port (default: 5173) |
|
|
154
|
+
| `--host` | Server host (default: localhost) |
|
|
155
|
+
| `--open` | Open browser automatically |
|
|
156
|
+
| `--config` | Path to vite config |
|
|
157
|
+
|
|
158
|
+
### `praxis build`
|
|
159
|
+
|
|
160
|
+
Build for production.
|
|
161
|
+
|
|
162
|
+
```bash
|
|
163
|
+
# Build app
|
|
164
|
+
praxis build
|
|
165
|
+
|
|
166
|
+
# Build with specific output
|
|
167
|
+
praxis build --output ./dist
|
|
168
|
+
|
|
169
|
+
# Build for specific target
|
|
170
|
+
praxis build --target node
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
**Options:**
|
|
174
|
+
|
|
175
|
+
| Option | Description |
|
|
176
|
+
|--------|-------------|
|
|
177
|
+
| `--output` | Output directory |
|
|
178
|
+
| `--target` | Build target: `browser`, `node`, `tauri` |
|
|
179
|
+
| `--minify` | Minify output (default: true for production) |
|
|
180
|
+
|
|
181
|
+
### `praxis validate`
|
|
182
|
+
|
|
183
|
+
Validate a PSF schema.
|
|
184
|
+
|
|
185
|
+
```bash
|
|
186
|
+
# Validate schema
|
|
187
|
+
praxis validate --schema ./schema.psf.json
|
|
188
|
+
|
|
189
|
+
# Verbose output
|
|
190
|
+
praxis validate --schema ./schema.psf.json --verbose
|
|
191
|
+
|
|
192
|
+
# Strict mode (warnings as errors)
|
|
193
|
+
praxis validate --schema ./schema.psf.json --strict
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
**Options:**
|
|
197
|
+
|
|
198
|
+
| Option | Description |
|
|
199
|
+
|--------|-------------|
|
|
200
|
+
| `--schema` | Path to PSF schema file |
|
|
201
|
+
| `--verbose` | Show detailed validation info |
|
|
202
|
+
| `--strict` | Treat warnings as errors |
|
|
203
|
+
|
|
204
|
+
### `praxis docs`
|
|
205
|
+
|
|
206
|
+
Generate documentation.
|
|
207
|
+
|
|
208
|
+
```bash
|
|
209
|
+
# Generate docs from schema
|
|
210
|
+
praxis docs --schema ./schema.psf.json
|
|
211
|
+
|
|
212
|
+
# With custom output
|
|
213
|
+
praxis docs --schema ./schema.psf.json --output ./docs
|
|
214
|
+
|
|
215
|
+
# Serve documentation
|
|
216
|
+
praxis docs --serve
|
|
217
|
+
|
|
218
|
+
# Watch and regenerate
|
|
219
|
+
praxis docs --schema ./schema.psf.json --watch
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
**Options:**
|
|
223
|
+
|
|
224
|
+
| Option | Description |
|
|
225
|
+
|--------|-------------|
|
|
226
|
+
| `--schema` | Path to PSF schema file |
|
|
227
|
+
| `--output` | Output directory (default: `./docs`) |
|
|
228
|
+
| `--format` | Output format: `markdown`, `html` |
|
|
229
|
+
| `--serve` | Serve docs on local server |
|
|
230
|
+
| `--watch` | Watch for changes |
|
|
231
|
+
|
|
232
|
+
### Cloud Commands
|
|
233
|
+
|
|
234
|
+
#### `praxis login`
|
|
235
|
+
|
|
236
|
+
Authenticate with GitHub.
|
|
237
|
+
|
|
238
|
+
```bash
|
|
239
|
+
praxis login
|
|
240
|
+
# Opens browser for GitHub OAuth
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
#### `praxis logout`
|
|
244
|
+
|
|
245
|
+
Log out from Praxis Cloud.
|
|
246
|
+
|
|
247
|
+
```bash
|
|
248
|
+
praxis logout
|
|
249
|
+
```
|
|
250
|
+
|
|
251
|
+
#### `praxis whoami`
|
|
252
|
+
|
|
253
|
+
Show current authenticated user.
|
|
254
|
+
|
|
255
|
+
```bash
|
|
256
|
+
praxis whoami
|
|
257
|
+
# Logged in as: alice (github:alice)
|
|
258
|
+
# Tier: Solo
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
#### `praxis cloud init`
|
|
262
|
+
|
|
263
|
+
Initialize cloud connection.
|
|
264
|
+
|
|
265
|
+
```bash
|
|
266
|
+
praxis cloud init
|
|
267
|
+
# Configures cloud sync for current project
|
|
268
|
+
```
|
|
269
|
+
|
|
270
|
+
#### `praxis cloud status`
|
|
271
|
+
|
|
272
|
+
Check cloud sync status.
|
|
273
|
+
|
|
274
|
+
```bash
|
|
275
|
+
praxis cloud status
|
|
276
|
+
# Status: Connected
|
|
277
|
+
# Last sync: 2 minutes ago
|
|
278
|
+
# Pending: 0 changes
|
|
279
|
+
```
|
|
280
|
+
|
|
281
|
+
#### `praxis cloud usage`
|
|
282
|
+
|
|
283
|
+
View usage metrics.
|
|
284
|
+
|
|
285
|
+
```bash
|
|
286
|
+
praxis cloud usage
|
|
287
|
+
# Syncs this month: 1,234 / 50,000
|
|
288
|
+
# Storage: 45 MB / 1 GB
|
|
289
|
+
# Apps: 3 / 10
|
|
290
|
+
```
|
|
291
|
+
|
|
292
|
+
## Configuration
|
|
293
|
+
|
|
294
|
+
### praxis.config.ts
|
|
295
|
+
|
|
296
|
+
Create a configuration file in your project root:
|
|
297
|
+
|
|
298
|
+
```typescript
|
|
299
|
+
import type { PraxisConfig } from '@plures/praxis';
|
|
300
|
+
|
|
301
|
+
export default {
|
|
302
|
+
// Schema settings
|
|
303
|
+
schema: {
|
|
304
|
+
path: './src/schema.psf.json',
|
|
305
|
+
validate: true,
|
|
306
|
+
},
|
|
307
|
+
|
|
308
|
+
// Generation settings
|
|
309
|
+
generate: {
|
|
310
|
+
output: './src/generated',
|
|
311
|
+
targets: ['types', 'components', 'docs'],
|
|
312
|
+
format: 'typescript',
|
|
313
|
+
formatting: 'prettier',
|
|
314
|
+
},
|
|
315
|
+
|
|
316
|
+
// Development settings
|
|
317
|
+
dev: {
|
|
318
|
+
port: 5173,
|
|
319
|
+
open: true,
|
|
320
|
+
},
|
|
321
|
+
|
|
322
|
+
// Canvas settings
|
|
323
|
+
canvas: {
|
|
324
|
+
port: 3000,
|
|
325
|
+
sync: true,
|
|
326
|
+
},
|
|
327
|
+
|
|
328
|
+
// Cloud settings
|
|
329
|
+
cloud: {
|
|
330
|
+
enabled: true,
|
|
331
|
+
autoSync: true,
|
|
332
|
+
},
|
|
333
|
+
} satisfies PraxisConfig;
|
|
334
|
+
```
|
|
335
|
+
|
|
336
|
+
### Environment Variables
|
|
337
|
+
|
|
338
|
+
```bash
|
|
339
|
+
# Cloud authentication
|
|
340
|
+
PRAXIS_AUTH_TOKEN=ghp_xxxxx
|
|
341
|
+
|
|
342
|
+
# Development
|
|
343
|
+
PRAXIS_DEV_PORT=5173
|
|
344
|
+
PRAXIS_CANVAS_PORT=3000
|
|
345
|
+
|
|
346
|
+
# Debugging
|
|
347
|
+
PRAXIS_DEBUG=true
|
|
348
|
+
PRAXIS_LOG_LEVEL=verbose
|
|
349
|
+
```
|
|
350
|
+
|
|
351
|
+
## Common Workflows
|
|
352
|
+
|
|
353
|
+
### Starting a New Project
|
|
354
|
+
|
|
355
|
+
```bash
|
|
356
|
+
# 1. Create app
|
|
357
|
+
praxis create app my-app
|
|
358
|
+
cd my-app
|
|
359
|
+
|
|
360
|
+
# 2. Design in Canvas (optional)
|
|
361
|
+
praxis canvas ./src/schema.psf.json
|
|
362
|
+
|
|
363
|
+
# 3. Generate code
|
|
364
|
+
praxis generate --schema ./src/schema.psf.json
|
|
365
|
+
|
|
366
|
+
# 4. Start development
|
|
367
|
+
praxis dev
|
|
368
|
+
```
|
|
369
|
+
|
|
370
|
+
### Development Cycle
|
|
371
|
+
|
|
372
|
+
```bash
|
|
373
|
+
# Terminal 1: Code generation (watch mode)
|
|
374
|
+
praxis generate --schema ./src/schema.psf.json --watch
|
|
375
|
+
|
|
376
|
+
# Terminal 2: Development server
|
|
377
|
+
praxis dev
|
|
378
|
+
|
|
379
|
+
# Terminal 3: Canvas (optional)
|
|
380
|
+
praxis canvas ./src/schema.psf.json
|
|
381
|
+
```
|
|
382
|
+
|
|
383
|
+
### Building for Production
|
|
384
|
+
|
|
385
|
+
```bash
|
|
386
|
+
# 1. Validate schema
|
|
387
|
+
praxis validate --schema ./src/schema.psf.json --strict
|
|
388
|
+
|
|
389
|
+
# 2. Generate production code
|
|
390
|
+
praxis generate --schema ./src/schema.psf.json --force
|
|
391
|
+
|
|
392
|
+
# 3. Build app
|
|
393
|
+
praxis build
|
|
394
|
+
|
|
395
|
+
# 4. Output is in ./dist
|
|
396
|
+
```
|
|
397
|
+
|
|
398
|
+
### CI/CD Pipeline
|
|
399
|
+
|
|
400
|
+
```yaml
|
|
401
|
+
# .github/workflows/ci.yml
|
|
402
|
+
name: CI
|
|
403
|
+
|
|
404
|
+
on: [push, pull_request]
|
|
405
|
+
|
|
406
|
+
jobs:
|
|
407
|
+
build:
|
|
408
|
+
runs-on: ubuntu-latest
|
|
409
|
+
steps:
|
|
410
|
+
- uses: actions/checkout@v3
|
|
411
|
+
- uses: actions/setup-node@v3
|
|
412
|
+
with:
|
|
413
|
+
node-version: 18
|
|
414
|
+
|
|
415
|
+
- run: npm install
|
|
416
|
+
|
|
417
|
+
# Validate schema
|
|
418
|
+
- run: npx praxis validate --schema ./src/schema.psf.json --strict
|
|
419
|
+
|
|
420
|
+
# Check generated files are current
|
|
421
|
+
- run: npx praxis generate --schema ./src/schema.psf.json --check
|
|
422
|
+
|
|
423
|
+
# Build
|
|
424
|
+
- run: npx praxis build
|
|
425
|
+
|
|
426
|
+
# Test
|
|
427
|
+
- run: npm test
|
|
428
|
+
```
|
|
429
|
+
|
|
430
|
+
## Troubleshooting
|
|
431
|
+
|
|
432
|
+
### Command Not Found
|
|
433
|
+
|
|
434
|
+
```bash
|
|
435
|
+
# If globally installed
|
|
436
|
+
npm install -g @plures/praxis
|
|
437
|
+
|
|
438
|
+
# If using npx
|
|
439
|
+
npx praxis --version
|
|
440
|
+
|
|
441
|
+
# Check installation
|
|
442
|
+
which praxis
|
|
443
|
+
```
|
|
444
|
+
|
|
445
|
+
### Schema Validation Errors
|
|
446
|
+
|
|
447
|
+
```bash
|
|
448
|
+
# Get detailed errors
|
|
449
|
+
praxis validate --schema ./schema.psf.json --verbose
|
|
450
|
+
|
|
451
|
+
# Common issues:
|
|
452
|
+
# - Missing required fields (id, tag, name)
|
|
453
|
+
# - Invalid type definitions
|
|
454
|
+
# - Duplicate IDs
|
|
455
|
+
# - Invalid JSON syntax
|
|
456
|
+
```
|
|
457
|
+
|
|
458
|
+
### Generation Failures
|
|
459
|
+
|
|
460
|
+
```bash
|
|
461
|
+
# Check for write permissions
|
|
462
|
+
ls -la ./src/generated
|
|
463
|
+
|
|
464
|
+
# Force regeneration
|
|
465
|
+
praxis generate --schema ./schema.psf.json --force
|
|
466
|
+
|
|
467
|
+
# Debug mode
|
|
468
|
+
PRAXIS_DEBUG=true praxis generate --schema ./schema.psf.json
|
|
469
|
+
```
|
|
470
|
+
|
|
471
|
+
### Canvas Won't Start
|
|
472
|
+
|
|
473
|
+
```bash
|
|
474
|
+
# Check port availability
|
|
475
|
+
lsof -i :3000
|
|
476
|
+
|
|
477
|
+
# Use different port
|
|
478
|
+
praxis canvas ./schema.psf.json --port 4000
|
|
479
|
+
|
|
480
|
+
# Clear cache
|
|
481
|
+
praxis canvas --clear-cache
|
|
482
|
+
```
|
|
483
|
+
|
|
484
|
+
## Getting Help
|
|
485
|
+
|
|
486
|
+
```bash
|
|
487
|
+
# General help
|
|
488
|
+
praxis --help
|
|
489
|
+
|
|
490
|
+
# Command-specific help
|
|
491
|
+
praxis create --help
|
|
492
|
+
praxis generate --help
|
|
493
|
+
praxis canvas --help
|
|
494
|
+
```
|
|
495
|
+
|
|
496
|
+
---
|
|
497
|
+
|
|
498
|
+
**Next:** [Building Extensions](./building-extensions.md)
|