@plures/praxis 0.2.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.
Files changed (263) hide show
  1. package/FRAMEWORK.md +420 -0
  2. package/LICENSE +21 -0
  3. package/README.md +1310 -0
  4. package/dist/adapters/cli.d.ts +43 -0
  5. package/dist/adapters/cli.d.ts.map +1 -0
  6. package/dist/adapters/cli.js +126 -0
  7. package/dist/adapters/cli.js.map +1 -0
  8. package/dist/cli/commands/auth.d.ts +26 -0
  9. package/dist/cli/commands/auth.d.ts.map +1 -0
  10. package/dist/cli/commands/auth.js +233 -0
  11. package/dist/cli/commands/auth.js.map +1 -0
  12. package/dist/cli/commands/cloud.d.ts +27 -0
  13. package/dist/cli/commands/cloud.d.ts.map +1 -0
  14. package/dist/cli/commands/cloud.js +232 -0
  15. package/dist/cli/commands/cloud.js.map +1 -0
  16. package/dist/cli/commands/generate.d.ts +25 -0
  17. package/dist/cli/commands/generate.d.ts.map +1 -0
  18. package/dist/cli/commands/generate.js +168 -0
  19. package/dist/cli/commands/generate.js.map +1 -0
  20. package/dist/cli/index.d.ts +8 -0
  21. package/dist/cli/index.d.ts.map +1 -0
  22. package/dist/cli/index.js +179 -0
  23. package/dist/cli/index.js.map +1 -0
  24. package/dist/cloud/auth.d.ts +51 -0
  25. package/dist/cloud/auth.d.ts.map +1 -0
  26. package/dist/cloud/auth.js +194 -0
  27. package/dist/cloud/auth.js.map +1 -0
  28. package/dist/cloud/billing.d.ts +184 -0
  29. package/dist/cloud/billing.d.ts.map +1 -0
  30. package/dist/cloud/billing.js +179 -0
  31. package/dist/cloud/billing.js.map +1 -0
  32. package/dist/cloud/client.d.ts +39 -0
  33. package/dist/cloud/client.d.ts.map +1 -0
  34. package/dist/cloud/client.js +176 -0
  35. package/dist/cloud/client.js.map +1 -0
  36. package/dist/cloud/index.d.ts +44 -0
  37. package/dist/cloud/index.d.ts.map +1 -0
  38. package/dist/cloud/index.js +44 -0
  39. package/dist/cloud/index.js.map +1 -0
  40. package/dist/cloud/marketplace.d.ts +166 -0
  41. package/dist/cloud/marketplace.d.ts.map +1 -0
  42. package/dist/cloud/marketplace.js +159 -0
  43. package/dist/cloud/marketplace.js.map +1 -0
  44. package/dist/cloud/provisioning.d.ts +110 -0
  45. package/dist/cloud/provisioning.d.ts.map +1 -0
  46. package/dist/cloud/provisioning.js +148 -0
  47. package/dist/cloud/provisioning.js.map +1 -0
  48. package/dist/cloud/relay/endpoints.d.ts +62 -0
  49. package/dist/cloud/relay/endpoints.d.ts.map +1 -0
  50. package/dist/cloud/relay/endpoints.js +217 -0
  51. package/dist/cloud/relay/endpoints.js.map +1 -0
  52. package/dist/cloud/relay/health/index.d.ts +5 -0
  53. package/dist/cloud/relay/health/index.d.ts.map +1 -0
  54. package/dist/cloud/relay/health/index.js +9 -0
  55. package/dist/cloud/relay/health/index.js.map +1 -0
  56. package/dist/cloud/relay/stats/index.d.ts +5 -0
  57. package/dist/cloud/relay/stats/index.d.ts.map +1 -0
  58. package/dist/cloud/relay/stats/index.js +9 -0
  59. package/dist/cloud/relay/stats/index.js.map +1 -0
  60. package/dist/cloud/relay/sync/index.d.ts +5 -0
  61. package/dist/cloud/relay/sync/index.d.ts.map +1 -0
  62. package/dist/cloud/relay/sync/index.js +9 -0
  63. package/dist/cloud/relay/sync/index.js.map +1 -0
  64. package/dist/cloud/relay/usage/index.d.ts +5 -0
  65. package/dist/cloud/relay/usage/index.d.ts.map +1 -0
  66. package/dist/cloud/relay/usage/index.js +9 -0
  67. package/dist/cloud/relay/usage/index.js.map +1 -0
  68. package/dist/cloud/sponsors.d.ts +81 -0
  69. package/dist/cloud/sponsors.d.ts.map +1 -0
  70. package/dist/cloud/sponsors.js +130 -0
  71. package/dist/cloud/sponsors.js.map +1 -0
  72. package/dist/cloud/types.d.ts +169 -0
  73. package/dist/cloud/types.d.ts.map +1 -0
  74. package/dist/cloud/types.js +7 -0
  75. package/dist/cloud/types.js.map +1 -0
  76. package/dist/components/index.d.ts +43 -0
  77. package/dist/components/index.d.ts.map +1 -0
  78. package/dist/components/index.js +17 -0
  79. package/dist/components/index.js.map +1 -0
  80. package/dist/core/actors.d.ts +95 -0
  81. package/dist/core/actors.d.ts.map +1 -0
  82. package/dist/core/actors.js +158 -0
  83. package/dist/core/actors.js.map +1 -0
  84. package/dist/core/component/generator.d.ts +122 -0
  85. package/dist/core/component/generator.d.ts.map +1 -0
  86. package/dist/core/component/generator.js +307 -0
  87. package/dist/core/component/generator.js.map +1 -0
  88. package/dist/core/engine.d.ts +92 -0
  89. package/dist/core/engine.d.ts.map +1 -0
  90. package/dist/core/engine.js +199 -0
  91. package/dist/core/engine.js.map +1 -0
  92. package/dist/core/introspection.d.ts +141 -0
  93. package/dist/core/introspection.d.ts.map +1 -0
  94. package/dist/core/introspection.js +208 -0
  95. package/dist/core/introspection.js.map +1 -0
  96. package/dist/core/logic/generator.d.ts +76 -0
  97. package/dist/core/logic/generator.d.ts.map +1 -0
  98. package/dist/core/logic/generator.js +339 -0
  99. package/dist/core/logic/generator.js.map +1 -0
  100. package/dist/core/pluresdb/generator.d.ts +58 -0
  101. package/dist/core/pluresdb/generator.d.ts.map +1 -0
  102. package/dist/core/pluresdb/generator.js +162 -0
  103. package/dist/core/pluresdb/generator.js.map +1 -0
  104. package/dist/core/protocol.d.ts +121 -0
  105. package/dist/core/protocol.d.ts.map +1 -0
  106. package/dist/core/protocol.js +46 -0
  107. package/dist/core/protocol.js.map +1 -0
  108. package/dist/core/rules.d.ts +120 -0
  109. package/dist/core/rules.d.ts.map +1 -0
  110. package/dist/core/rules.js +81 -0
  111. package/dist/core/rules.js.map +1 -0
  112. package/dist/core/schema/loader.d.ts +47 -0
  113. package/dist/core/schema/loader.d.ts.map +1 -0
  114. package/dist/core/schema/loader.js +189 -0
  115. package/dist/core/schema/loader.js.map +1 -0
  116. package/dist/core/schema/normalize.d.ts +72 -0
  117. package/dist/core/schema/normalize.d.ts.map +1 -0
  118. package/dist/core/schema/normalize.js +190 -0
  119. package/dist/core/schema/normalize.js.map +1 -0
  120. package/dist/core/schema/types.d.ts +370 -0
  121. package/dist/core/schema/types.d.ts.map +1 -0
  122. package/dist/core/schema/types.js +161 -0
  123. package/dist/core/schema/types.js.map +1 -0
  124. package/dist/dsl/index.d.ts +152 -0
  125. package/dist/dsl/index.d.ts.map +1 -0
  126. package/dist/dsl/index.js +132 -0
  127. package/dist/dsl/index.js.map +1 -0
  128. package/dist/dsl.d.ts +124 -0
  129. package/dist/dsl.d.ts.map +1 -0
  130. package/dist/dsl.js +130 -0
  131. package/dist/dsl.js.map +1 -0
  132. package/dist/examples/advanced-todo/index.d.ts +55 -0
  133. package/dist/examples/advanced-todo/index.d.ts.map +1 -0
  134. package/dist/examples/advanced-todo/index.js +222 -0
  135. package/dist/examples/advanced-todo/index.js.map +1 -0
  136. package/dist/examples/auth-basic/index.d.ts +17 -0
  137. package/dist/examples/auth-basic/index.d.ts.map +1 -0
  138. package/dist/examples/auth-basic/index.js +122 -0
  139. package/dist/examples/auth-basic/index.js.map +1 -0
  140. package/dist/examples/cart/index.d.ts +19 -0
  141. package/dist/examples/cart/index.d.ts.map +1 -0
  142. package/dist/examples/cart/index.js +202 -0
  143. package/dist/examples/cart/index.js.map +1 -0
  144. package/dist/examples/hero-ecommerce/index.d.ts +39 -0
  145. package/dist/examples/hero-ecommerce/index.d.ts.map +1 -0
  146. package/dist/examples/hero-ecommerce/index.js +506 -0
  147. package/dist/examples/hero-ecommerce/index.js.map +1 -0
  148. package/dist/examples/svelte-counter/index.d.ts +31 -0
  149. package/dist/examples/svelte-counter/index.d.ts.map +1 -0
  150. package/dist/examples/svelte-counter/index.js +123 -0
  151. package/dist/examples/svelte-counter/index.js.map +1 -0
  152. package/dist/flows.d.ts +125 -0
  153. package/dist/flows.d.ts.map +1 -0
  154. package/dist/flows.js +160 -0
  155. package/dist/flows.js.map +1 -0
  156. package/dist/index.d.ts +67 -0
  157. package/dist/index.d.ts.map +1 -0
  158. package/dist/index.js +59 -0
  159. package/dist/index.js.map +1 -0
  160. package/dist/integrations/pluresdb.d.ts +56 -0
  161. package/dist/integrations/pluresdb.d.ts.map +1 -0
  162. package/dist/integrations/pluresdb.js +46 -0
  163. package/dist/integrations/pluresdb.js.map +1 -0
  164. package/dist/integrations/svelte.d.ts +306 -0
  165. package/dist/integrations/svelte.d.ts.map +1 -0
  166. package/dist/integrations/svelte.js +447 -0
  167. package/dist/integrations/svelte.js.map +1 -0
  168. package/dist/registry.d.ts +94 -0
  169. package/dist/registry.d.ts.map +1 -0
  170. package/dist/registry.js +181 -0
  171. package/dist/registry.js.map +1 -0
  172. package/dist/runtime/terminal-adapter.d.ts +105 -0
  173. package/dist/runtime/terminal-adapter.d.ts.map +1 -0
  174. package/dist/runtime/terminal-adapter.js +113 -0
  175. package/dist/runtime/terminal-adapter.js.map +1 -0
  176. package/dist/step.d.ts +34 -0
  177. package/dist/step.d.ts.map +1 -0
  178. package/dist/step.js +111 -0
  179. package/dist/step.js.map +1 -0
  180. package/dist/types.d.ts +63 -0
  181. package/dist/types.d.ts.map +1 -0
  182. package/dist/types.js +6 -0
  183. package/dist/types.js.map +1 -0
  184. package/docs/MONETIZATION.md +394 -0
  185. package/docs/TERMINAL_NODE.md +588 -0
  186. package/docs/guides/canvas.md +389 -0
  187. package/docs/guides/getting-started.md +347 -0
  188. package/docs/guides/history-state-pattern.md +618 -0
  189. package/docs/guides/orchestration.md +617 -0
  190. package/docs/guides/parallel-state-pattern.md +767 -0
  191. package/docs/guides/svelte-integration.md +691 -0
  192. package/package.json +96 -0
  193. package/src/__tests__/actors.test.ts +270 -0
  194. package/src/__tests__/billing.test.ts +175 -0
  195. package/src/__tests__/cloud.test.ts +247 -0
  196. package/src/__tests__/dsl.test.ts +154 -0
  197. package/src/__tests__/edge-cases.test.ts +475 -0
  198. package/src/__tests__/engine.test.ts +137 -0
  199. package/src/__tests__/generators.test.ts +270 -0
  200. package/src/__tests__/introspection.test.ts +321 -0
  201. package/src/__tests__/protocol.test.ts +40 -0
  202. package/src/__tests__/provisioning.test.ts +162 -0
  203. package/src/__tests__/schema.test.ts +241 -0
  204. package/src/__tests__/svelte-integration.test.ts +431 -0
  205. package/src/__tests__/terminal-node.test.ts +352 -0
  206. package/src/adapters/cli.ts +175 -0
  207. package/src/cli/commands/auth.ts +271 -0
  208. package/src/cli/commands/cloud.ts +281 -0
  209. package/src/cli/commands/generate.ts +225 -0
  210. package/src/cli/index.ts +190 -0
  211. package/src/cloud/README.md +383 -0
  212. package/src/cloud/auth.ts +245 -0
  213. package/src/cloud/billing.ts +336 -0
  214. package/src/cloud/client.ts +221 -0
  215. package/src/cloud/index.ts +121 -0
  216. package/src/cloud/marketplace.ts +303 -0
  217. package/src/cloud/provisioning.ts +254 -0
  218. package/src/cloud/relay/endpoints.ts +307 -0
  219. package/src/cloud/relay/health/function.json +17 -0
  220. package/src/cloud/relay/health/index.ts +10 -0
  221. package/src/cloud/relay/host.json +15 -0
  222. package/src/cloud/relay/local.settings.json +8 -0
  223. package/src/cloud/relay/stats/function.json +17 -0
  224. package/src/cloud/relay/stats/index.ts +10 -0
  225. package/src/cloud/relay/sync/function.json +17 -0
  226. package/src/cloud/relay/sync/index.ts +10 -0
  227. package/src/cloud/relay/usage/function.json +17 -0
  228. package/src/cloud/relay/usage/index.ts +10 -0
  229. package/src/cloud/sponsors.ts +213 -0
  230. package/src/cloud/types.ts +198 -0
  231. package/src/components/README.md +125 -0
  232. package/src/components/TerminalNode.svelte +457 -0
  233. package/src/components/index.ts +46 -0
  234. package/src/core/actors.ts +205 -0
  235. package/src/core/component/generator.ts +432 -0
  236. package/src/core/engine.ts +243 -0
  237. package/src/core/introspection.ts +329 -0
  238. package/src/core/logic/generator.ts +420 -0
  239. package/src/core/pluresdb/generator.ts +229 -0
  240. package/src/core/protocol.ts +132 -0
  241. package/src/core/rules.ts +167 -0
  242. package/src/core/schema/loader.ts +247 -0
  243. package/src/core/schema/normalize.ts +322 -0
  244. package/src/core/schema/types.ts +557 -0
  245. package/src/dsl/index.ts +218 -0
  246. package/src/dsl.ts +214 -0
  247. package/src/examples/advanced-todo/App.svelte +506 -0
  248. package/src/examples/advanced-todo/README.md +371 -0
  249. package/src/examples/advanced-todo/index.ts +309 -0
  250. package/src/examples/auth-basic/index.ts +163 -0
  251. package/src/examples/cart/index.ts +259 -0
  252. package/src/examples/hero-ecommerce/index.ts +657 -0
  253. package/src/examples/svelte-counter/index.ts +168 -0
  254. package/src/flows.ts +268 -0
  255. package/src/index.ts +154 -0
  256. package/src/integrations/pluresdb.ts +93 -0
  257. package/src/integrations/svelte.ts +617 -0
  258. package/src/registry.ts +223 -0
  259. package/src/runtime/terminal-adapter.ts +175 -0
  260. package/src/step.ts +151 -0
  261. package/src/types.ts +70 -0
  262. package/templates/basic-app/README.md +147 -0
  263. package/templates/fullstack-app/README.md +279 -0
@@ -0,0 +1,147 @@
1
+ # Basic Praxis Application Template
2
+
3
+ This template provides a minimal Praxis application setup.
4
+
5
+ ## Structure
6
+
7
+ ```
8
+ basic-app/
9
+ ├── src/
10
+ │ ├── schemas/
11
+ │ │ └── app.schema.ts # Application schema definition
12
+ │ ├── components/ # Generated and custom components
13
+ │ ├── logic/ # Logic engine setup
14
+ │ │ ├── facts.ts # Fact definitions
15
+ │ │ ├── events.ts # Event definitions
16
+ │ │ ├── rules.ts # Rule definitions
17
+ │ │ └── engine.ts # Engine configuration
18
+ │ ├── store/ # Data store setup
19
+ │ │ └── index.ts # PluresDB configuration
20
+ │ ├── App.svelte # Root component
21
+ │ └── main.ts # Application entry point
22
+ ├── public/ # Static assets
23
+ ├── package.json
24
+ ├── tsconfig.json
25
+ ├── vite.config.ts
26
+ └── README.md
27
+ ```
28
+
29
+ ## Features
30
+
31
+ - ✅ Schema-driven development
32
+ - ✅ Praxis logic engine
33
+ - ✅ Svelte UI
34
+ - ✅ PluresDB integration
35
+ - ✅ TypeScript support
36
+ - ✅ Vite build system
37
+
38
+ ## Getting Started
39
+
40
+ ### 1. Create a new app
41
+
42
+ ```bash
43
+ praxis create app my-app --template basic
44
+ cd my-app
45
+ npm install
46
+ ```
47
+
48
+ ### 2. Define your schema
49
+
50
+ Edit `src/schemas/app.schema.ts`:
51
+
52
+ ```typescript
53
+ import type { PraxisSchema } from '@plures/praxis/schema';
54
+
55
+ export const appSchema: PraxisSchema = {
56
+ version: '1.0.0',
57
+ name: 'MyApp',
58
+ description: 'My Praxis application',
59
+
60
+ models: [
61
+ {
62
+ name: 'User',
63
+ fields: [
64
+ { name: 'id', type: 'string' },
65
+ { name: 'name', type: 'string' },
66
+ { name: 'email', type: 'string' },
67
+ ],
68
+ },
69
+ ],
70
+
71
+ components: [
72
+ {
73
+ name: 'UserForm',
74
+ type: 'form',
75
+ model: 'User',
76
+ },
77
+ ],
78
+
79
+ logic: [
80
+ {
81
+ id: 'user-logic',
82
+ description: 'User management logic',
83
+ events: [
84
+ { tag: 'USER_CREATE', payload: { name: 'string', email: 'string' } },
85
+ ],
86
+ facts: [
87
+ { tag: 'UserCreated', payload: { userId: 'string' } },
88
+ ],
89
+ },
90
+ ],
91
+ };
92
+ ```
93
+
94
+ ### 3. Generate code
95
+
96
+ ```bash
97
+ praxis generate --schema src/schemas/app.schema.ts
98
+ ```
99
+
100
+ This generates:
101
+ - Svelte components in `src/components/`
102
+ - Logic definitions in `src/logic/`
103
+ - Type definitions throughout
104
+
105
+ ### 4. Run development server
106
+
107
+ ```bash
108
+ npm run dev
109
+ ```
110
+
111
+ ### 5. Build for production
112
+
113
+ ```bash
114
+ npm run build
115
+ ```
116
+
117
+ ## Customization
118
+
119
+ ### Add custom components
120
+
121
+ Create Svelte components in `src/components/` alongside generated ones.
122
+
123
+ ### Extend logic
124
+
125
+ Add custom rules and constraints in `src/logic/rules.ts`.
126
+
127
+ ### Configure store
128
+
129
+ Customize PluresDB configuration in `src/store/index.ts`.
130
+
131
+ ## Next Steps
132
+
133
+ - Add authentication module
134
+ - Enable Canvas integration for visual editing
135
+ - Set up State-Docs for documentation
136
+ - Add orchestration for distributed features
137
+
138
+ ## Documentation
139
+
140
+ - [Praxis Framework Guide](../../docs/guides/getting-started.md)
141
+ - [Schema Reference](../../docs/api/schema.md)
142
+ - [Logic Engine](../../docs/api/logic.md)
143
+ - [Component Generation](../../docs/api/components.md)
144
+
145
+ ## License
146
+
147
+ MIT
@@ -0,0 +1,279 @@
1
+ # Fullstack Praxis Application Template
2
+
3
+ This template provides a complete Praxis application with all framework features enabled.
4
+
5
+ ## Structure
6
+
7
+ ```
8
+ fullstack-app/
9
+ ├── src/
10
+ │ ├── schemas/
11
+ │ │ ├── app.schema.ts # Main application schema
12
+ │ │ ├── auth.schema.ts # Authentication schema
13
+ │ │ └── data.schema.ts # Data models schema
14
+ │ ├── components/ # Generated and custom components
15
+ │ │ ├── auth/ # Authentication components
16
+ │ │ ├── layout/ # Layout components
17
+ │ │ └── widgets/ # Widget components
18
+ │ ├── logic/ # Logic engine
19
+ │ │ ├── auth/ # Auth logic module
20
+ │ │ ├── data/ # Data logic module
21
+ │ │ └── engine.ts # Main engine setup
22
+ │ ├── store/ # Data store
23
+ │ │ ├── pluresdb.ts # PluresDB setup
24
+ │ │ └── sync.ts # Sync configuration
25
+ │ ├── canvas/ # Canvas integration
26
+ │ │ └── config.ts # Canvas configuration
27
+ │ ├── orchestration/ # Orchestration setup
28
+ │ │ ├── dsc.config.ts # DSC configuration
29
+ │ │ └── nodes.ts # Node definitions
30
+ │ ├── docs/ # Generated documentation
31
+ │ ├── App.svelte # Root component
32
+ │ └── main.ts # Application entry
33
+ ├── public/ # Static assets
34
+ ├── tests/ # Test suite
35
+ ├── package.json
36
+ ├── tsconfig.json
37
+ ├── vite.config.ts
38
+ ├── vitest.config.ts
39
+ └── README.md
40
+ ```
41
+
42
+ ## Features
43
+
44
+ - ✅ Complete schema-driven development
45
+ - ✅ Full Praxis logic engine
46
+ - ✅ Authentication module
47
+ - ✅ PluresDB with sync
48
+ - ✅ Unum identity integration
49
+ - ✅ CodeCanvas visual editing
50
+ - ✅ State-Docs documentation
51
+ - ✅ DSC orchestration
52
+ - ✅ Comprehensive testing
53
+ - ✅ Production-ready build
54
+
55
+ ## Getting Started
56
+
57
+ ### 1. Create fullstack app
58
+
59
+ ```bash
60
+ praxis create app my-fullstack-app --template fullstack
61
+ cd my-fullstack-app
62
+ npm install
63
+ ```
64
+
65
+ ### 2. Configure features
66
+
67
+ Edit feature flags in `src/config/features.ts`:
68
+
69
+ ```typescript
70
+ export const features = {
71
+ auth: true,
72
+ canvas: true,
73
+ orchestration: false,
74
+ statedocs: true,
75
+ analytics: false,
76
+ };
77
+ ```
78
+
79
+ ### 3. Define schemas
80
+
81
+ The template includes example schemas:
82
+ - `auth.schema.ts` - User authentication and sessions
83
+ - `data.schema.ts` - Application data models
84
+ - `app.schema.ts` - Main application configuration
85
+
86
+ ### 4. Generate everything
87
+
88
+ ```bash
89
+ praxis generate --target all
90
+ ```
91
+
92
+ Generates:
93
+ - Components from all schemas
94
+ - Logic modules with facts, events, rules
95
+ - PluresDB models
96
+ - State-Docs documentation
97
+ - Type definitions
98
+ - Test scaffolds
99
+
100
+ ### 5. Run with Canvas
101
+
102
+ ```bash
103
+ praxis canvas src/schemas/app.schema.ts
104
+ ```
105
+
106
+ Opens visual editor at http://localhost:3000
107
+
108
+ ### 6. Development
109
+
110
+ ```bash
111
+ npm run dev
112
+ ```
113
+
114
+ ### 7. Run tests
115
+
116
+ ```bash
117
+ npm test
118
+ ```
119
+
120
+ ### 8. Build for production
121
+
122
+ ```bash
123
+ npm run build
124
+ ```
125
+
126
+ ## Modules Included
127
+
128
+ ### Authentication Module
129
+
130
+ Pre-configured authentication with:
131
+ - User registration and login
132
+ - Session management
133
+ - JWT tokens (optional)
134
+ - Role-based access control
135
+ - Password reset flows
136
+
137
+ ### Data Module
138
+
139
+ Example data models:
140
+ - Users
141
+ - Posts
142
+ - Comments
143
+ - Relationships and indexes
144
+
145
+ ### Canvas Integration
146
+
147
+ Visual editing for:
148
+ - Schema definitions
149
+ - Logic flows
150
+ - Component layouts
151
+ - Data relationships
152
+
153
+ ### Orchestration
154
+
155
+ Distributed coordination:
156
+ - Node configuration
157
+ - State synchronization
158
+ - Health monitoring
159
+ - Auto-scaling support
160
+
161
+ ## Advanced Configuration
162
+
163
+ ### PluresDB Sync
164
+
165
+ Configure sync in `src/store/sync.ts`:
166
+
167
+ ```typescript
168
+ export const syncConfig = {
169
+ enabled: true,
170
+ interval: 5000,
171
+ conflictResolution: 'last-write-wins',
172
+ endpoints: ['ws://localhost:8080'],
173
+ };
174
+ ```
175
+
176
+ ### Canvas Server
177
+
178
+ Configure Canvas in `src/canvas/config.ts`:
179
+
180
+ ```typescript
181
+ export const canvasConfig = {
182
+ port: 3000,
183
+ mode: 'edit',
184
+ collaboration: true,
185
+ autosave: true,
186
+ };
187
+ ```
188
+
189
+ ### Orchestration
190
+
191
+ Configure DSC in `src/orchestration/dsc.config.ts`:
192
+
193
+ ```typescript
194
+ export const dscConfig = {
195
+ nodes: 3,
196
+ healthCheck: {
197
+ interval: 30000,
198
+ timeout: 5000,
199
+ },
200
+ sync: {
201
+ interval: 10000,
202
+ strategy: 'merge',
203
+ },
204
+ };
205
+ ```
206
+
207
+ ## Production Deployment
208
+
209
+ ### Web Deployment
210
+
211
+ ```bash
212
+ npm run build
213
+ # Deploy dist/ to your web server
214
+ ```
215
+
216
+ ### Desktop Application
217
+
218
+ ```bash
219
+ npm run build:desktop
220
+ # Creates Tauri desktop app in dist-tauri/
221
+ ```
222
+
223
+ ### Mobile Application (Future)
224
+
225
+ ```bash
226
+ npm run build:mobile
227
+ # Creates mobile app package
228
+ ```
229
+
230
+ ## Documentation
231
+
232
+ All documentation is automatically generated in `src/docs/` using State-Docs.
233
+
234
+ To view:
235
+ ```bash
236
+ npm run docs
237
+ ```
238
+
239
+ ## Testing
240
+
241
+ The template includes:
242
+ - Unit tests for logic modules
243
+ - Component tests
244
+ - Integration tests
245
+ - E2E test scaffolds
246
+
247
+ Run all tests:
248
+ ```bash
249
+ npm test
250
+ ```
251
+
252
+ ## Monitoring
253
+
254
+ Built-in monitoring with:
255
+ - Performance metrics
256
+ - Error tracking
257
+ - User analytics (opt-in)
258
+ - Health endpoints
259
+
260
+ ## Next Steps
261
+
262
+ 1. Customize schemas for your domain
263
+ 2. Extend authentication with OAuth providers
264
+ 3. Add custom business logic rules
265
+ 4. Design UI in Canvas
266
+ 5. Configure distributed deployment
267
+ 6. Set up CI/CD pipeline
268
+
269
+ ## Documentation
270
+
271
+ - [Fullstack Guide](../../docs/guides/fullstack.md)
272
+ - [Authentication](../../docs/guides/authentication.md)
273
+ - [PluresDB Integration](../../docs/guides/pluresdb.md)
274
+ - [Canvas Usage](../../docs/guides/canvas.md)
275
+ - [Orchestration](../../docs/guides/orchestration.md)
276
+
277
+ ## License
278
+
279
+ MIT