@powerhousedao/academy 5.0.0-staging.1 → 5.0.0-staging.11

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 (104) hide show
  1. package/.vscode/settings.json +1 -1
  2. package/CHANGELOG.md +64 -0
  3. package/README.md +3 -3
  4. package/babel.config.js +1 -1
  5. package/blog/BeyondCommunication-ABlueprintForDevelopment.md +25 -24
  6. package/blog/TheChallengeOfChange.md +21 -21
  7. package/docs/academy/01-GetStarted/00-ExploreDemoPackage.mdx +61 -24
  8. package/docs/academy/01-GetStarted/01-CreateNewPowerhouseProject.md +21 -12
  9. package/docs/academy/01-GetStarted/02-DefineToDoListDocumentModel.md +24 -19
  10. package/docs/academy/01-GetStarted/03-ImplementOperationReducers.md +44 -41
  11. package/docs/academy/01-GetStarted/04-BuildToDoListEditor.md +10 -10
  12. package/docs/academy/01-GetStarted/05-SpecDrivenAI.md +143 -0
  13. package/docs/academy/01-GetStarted/home.mdx +185 -90
  14. package/docs/academy/01-GetStarted/styles.module.css +5 -5
  15. package/docs/academy/02-MasteryTrack/01-BuilderEnvironment/01-Prerequisites.md +46 -18
  16. package/docs/academy/02-MasteryTrack/01-BuilderEnvironment/02-StandardDocumentModelWorkflow.md +118 -68
  17. package/docs/academy/02-MasteryTrack/01-BuilderEnvironment/03-BuilderTools.md +75 -33
  18. package/docs/academy/02-MasteryTrack/01-BuilderEnvironment/_category_.json +6 -6
  19. package/docs/academy/02-MasteryTrack/02-DocumentModelCreation/01-WhatIsADocumentModel.md +30 -21
  20. package/docs/academy/02-MasteryTrack/02-DocumentModelCreation/02-SpecifyTheStateSchema.md +41 -37
  21. package/docs/academy/02-MasteryTrack/02-DocumentModelCreation/03-SpecifyDocumentOperations.md +29 -25
  22. package/docs/academy/02-MasteryTrack/02-DocumentModelCreation/04-UseTheDocumentModelGenerator.md +36 -37
  23. package/docs/academy/02-MasteryTrack/02-DocumentModelCreation/05-ImplementDocumentReducers.md +128 -109
  24. package/docs/academy/02-MasteryTrack/02-DocumentModelCreation/06-ImplementDocumentModelTests.md +95 -86
  25. package/docs/academy/02-MasteryTrack/02-DocumentModelCreation/07-ExampleToDoListRepository.md +7 -9
  26. package/docs/academy/02-MasteryTrack/02-DocumentModelCreation/_category_.json +6 -6
  27. package/docs/academy/02-MasteryTrack/03-BuildingUserExperiences/01-BuildingDocumentEditors.md +65 -47
  28. package/docs/academy/02-MasteryTrack/03-BuildingUserExperiences/02-ConfiguringDrives.md +77 -62
  29. package/docs/academy/02-MasteryTrack/03-BuildingUserExperiences/03-BuildingADriveExplorer.md +360 -349
  30. package/docs/academy/02-MasteryTrack/03-BuildingUserExperiences/06-DocumentTools/00-DocumentToolbar.mdx +16 -10
  31. package/docs/academy/02-MasteryTrack/03-BuildingUserExperiences/06-DocumentTools/01-OperationHistory.md +10 -7
  32. package/docs/academy/02-MasteryTrack/03-BuildingUserExperiences/06-DocumentTools/02-RevisionHistoryTimeline.md +26 -11
  33. package/docs/academy/02-MasteryTrack/03-BuildingUserExperiences/06-DocumentTools/_category_.json +6 -6
  34. package/docs/academy/02-MasteryTrack/03-BuildingUserExperiences/07-Authorization/01-RenownAuthenticationFlow.md +14 -7
  35. package/docs/academy/02-MasteryTrack/03-BuildingUserExperiences/07-Authorization/02-Authorization.md +0 -1
  36. package/docs/academy/02-MasteryTrack/03-BuildingUserExperiences/07-Authorization/_category_.json +5 -5
  37. package/docs/academy/02-MasteryTrack/03-BuildingUserExperiences/_category_.json +1 -1
  38. package/docs/academy/02-MasteryTrack/04-WorkWithData/01-GraphQLAtPowerhouse.md +45 -33
  39. package/docs/academy/02-MasteryTrack/04-WorkWithData/02-UsingTheAPI.mdx +61 -18
  40. package/docs/academy/02-MasteryTrack/04-WorkWithData/03-UsingSubgraphs.md +50 -54
  41. package/docs/academy/02-MasteryTrack/04-WorkWithData/04-analytics-processor.md +126 -110
  42. package/docs/academy/02-MasteryTrack/04-WorkWithData/05-RelationalDbProcessor.md +75 -45
  43. package/docs/academy/02-MasteryTrack/04-WorkWithData/06-Analytics Engine/GraphQL References/QueryingADocumentWithGraphQL.md +23 -21
  44. package/docs/academy/02-MasteryTrack/04-WorkWithData/06-Analytics Engine/best-practices.md +9 -9
  45. package/docs/academy/02-MasteryTrack/04-WorkWithData/06-Analytics Engine/graphql/index.md +11 -23
  46. package/docs/academy/02-MasteryTrack/04-WorkWithData/06-Analytics Engine/graphql/integration.md +25 -9
  47. package/docs/academy/02-MasteryTrack/04-WorkWithData/06-Analytics Engine/intro.md +10 -10
  48. package/docs/academy/02-MasteryTrack/04-WorkWithData/06-Analytics Engine/typescript/benchmarks.md +1 -1
  49. package/docs/academy/02-MasteryTrack/04-WorkWithData/06-Analytics Engine/typescript/index.md +16 -11
  50. package/docs/academy/02-MasteryTrack/04-WorkWithData/06-Analytics Engine/typescript/memory.md +6 -5
  51. package/docs/academy/02-MasteryTrack/04-WorkWithData/06-Analytics Engine/typescript/schema.md +2 -2
  52. package/docs/academy/02-MasteryTrack/04-WorkWithData/06-Analytics Engine/typescript/utilities.md +7 -5
  53. package/docs/academy/02-MasteryTrack/04-WorkWithData/06-Analytics Engine/use-cases/maker.md +32 -58
  54. package/docs/academy/02-MasteryTrack/04-WorkWithData/06-Analytics Engine/use-cases/processors.md +1 -1
  55. package/docs/academy/02-MasteryTrack/04-WorkWithData/07-drive-analytics.md +105 -71
  56. package/docs/academy/02-MasteryTrack/04-WorkWithData/_ARCHIVE-AnalyticsProcessorTutorial/_01-SetupBuilderEnvironment.md +22 -0
  57. package/docs/academy/02-MasteryTrack/04-WorkWithData/_ARCHIVE-AnalyticsProcessorTutorial/_02-CreateNewPowerhouseProject.md +9 -8
  58. package/docs/academy/02-MasteryTrack/04-WorkWithData/_ARCHIVE-AnalyticsProcessorTutorial/_03-GenerateAnAnalyticsProcessor.md +28 -32
  59. package/docs/academy/02-MasteryTrack/04-WorkWithData/_ARCHIVE-AnalyticsProcessorTutorial/_04-UpdateAnalyticsProcessor.md +25 -26
  60. package/docs/academy/02-MasteryTrack/04-WorkWithData/_ARCHIVE-AnalyticsProcessorTutorial/_category_.json +1 -1
  61. package/docs/academy/02-MasteryTrack/04-WorkWithData/_category_.json +7 -7
  62. package/docs/academy/02-MasteryTrack/05-Launch/01-IntroductionToPackages.md +3 -4
  63. package/docs/academy/02-MasteryTrack/05-Launch/02-PublishYourProject.md +69 -45
  64. package/docs/academy/02-MasteryTrack/05-Launch/03-SetupEnvironment.md +70 -40
  65. package/docs/academy/02-MasteryTrack/05-Launch/04-ConfigureEnvironment.md +1 -0
  66. package/docs/academy/02-MasteryTrack/05-Launch/_category_.json +7 -7
  67. package/docs/academy/02-MasteryTrack/_category_.json +6 -6
  68. package/docs/academy/03-ExampleUsecases/Chatroom/02-CreateNewPowerhouseProject.md +5 -3
  69. package/docs/academy/03-ExampleUsecases/Chatroom/03-DefineChatroomDocumentModel.md +38 -37
  70. package/docs/academy/03-ExampleUsecases/Chatroom/04-ImplementOperationReducers.md +45 -41
  71. package/docs/academy/03-ExampleUsecases/Chatroom/05-ImplementChatroomEditor.md +14 -14
  72. package/docs/academy/03-ExampleUsecases/Chatroom/06-LaunchALocalReactor.md +6 -6
  73. package/docs/academy/03-ExampleUsecases/Chatroom/_category_.json +1 -1
  74. package/docs/academy/04-APIReferences/00-PowerhouseCLI.md +9 -7
  75. package/docs/academy/04-APIReferences/01-ReactHooks.md +177 -129
  76. package/docs/academy/04-APIReferences/04-RelationalDatabase.md +121 -113
  77. package/docs/academy/04-APIReferences/05-PHDocumentMigrationGuide.md +48 -41
  78. package/docs/academy/04-APIReferences/_category_.json +6 -6
  79. package/docs/academy/05-Architecture/00-PowerhouseArchitecture.md +1 -2
  80. package/docs/academy/05-Architecture/01-WorkingWithTheReactor.md +11 -8
  81. package/docs/academy/05-Architecture/05-DocumentModelTheory/_category_.json +1 -1
  82. package/docs/academy/05-Architecture/_category_.json +6 -6
  83. package/docs/academy/06-ComponentLibrary/00-DocumentEngineering.md +25 -23
  84. package/docs/academy/06-ComponentLibrary/02-CreateCustomScalars.md +105 -93
  85. package/docs/academy/06-ComponentLibrary/03-IntegrateIntoAReactComponent.md +1 -0
  86. package/docs/academy/06-ComponentLibrary/_category_.json +7 -7
  87. package/docs/academy/07-Cookbook.md +267 -34
  88. package/docs/academy/08-Glossary.md +7 -1
  89. package/docs/bookofpowerhouse/01-Overview.md +2 -2
  90. package/docs/bookofpowerhouse/02-GeneralFrameworkAndPhilosophy.md +1 -7
  91. package/docs/bookofpowerhouse/03-PowerhouseSoftwareArchitecture.md +10 -7
  92. package/docs/bookofpowerhouse/04-DevelopmentApproaches.md +10 -4
  93. package/docs/bookofpowerhouse/05-SNOsandANewModelForOSSandPublicGoods.md +23 -30
  94. package/docs/bookofpowerhouse/06-SNOsInActionAndPlatformEconomies.md +0 -7
  95. package/docusaurus.config.ts +64 -66
  96. package/package.json +1 -1
  97. package/scripts/generate-combined-cli-docs.ts +43 -13
  98. package/sidebars.ts +1 -0
  99. package/src/components/HomepageFeatures/index.tsx +171 -78
  100. package/src/components/HomepageFeatures/styles.module.css +1 -2
  101. package/src/css/custom.css +89 -89
  102. package/src/pages/_archive-homepage.tsx +17 -16
  103. package/src/theme/DocCardList/index.tsx +9 -8
  104. package/static.json +6 -6
@@ -4,9 +4,9 @@ slug: /
4
4
  sidebar_class_name: category-index-page
5
5
  ---
6
6
 
7
- import React from 'react';
8
- import styles from './styles.module.css';
9
- import BrowserOnly from '@docusaurus/BrowserOnly';
7
+ import React from "react";
8
+ import styles from "./styles.module.css";
9
+ import BrowserOnly from "@docusaurus/BrowserOnly";
10
10
 
11
11
  <div className={styles.learningPath}>
12
12
  {/* Get Started Card - Full Width */}
@@ -44,108 +44,203 @@ import BrowserOnly from '@docusaurus/BrowserOnly';
44
44
  </div>
45
45
  </div>
46
46
 
47
- {/* Row 1: [Empty Placeholder], Create, [Empty Placeholder] */}
48
- <div></div> {/* Placeholder for the deleted "New Link" card */}
47
+ {/* Row 1: [Empty Placeholder], Create, [Empty Placeholder] */}
49
48
 
50
- <div className={styles.pathCard} style={{ border: '1px solid #4FC86F' }}>
51
- <div className={styles.cardHeader}>
52
- <h3 className="card-title">
53
- <img src="/img/academy/icons/Flash.svg" alt="" className={styles.titleIcon} />
54
- Get started
55
- </h3>
56
- </div>
57
- <div className={styles.cardContent}>
58
- <a href="/academy/GetStarted/CreateNewPowerhouseProject" className="path-button">Build a todo-list document model</a>
59
- </div>
49
+ <div></div> {/* Placeholder for the deleted "New Link" card */}
50
+
51
+ <div className={styles.pathCard} style={{ border: "1px solid #4FC86F" }}>
52
+ <div className={styles.cardHeader}>
53
+ <h3 className="card-title">
54
+ <img
55
+ src="/img/academy/icons/Flash.svg"
56
+ alt=""
57
+ className={styles.titleIcon}
58
+ />
59
+ Get started
60
+ </h3>
61
+ </div>
62
+ <div className={styles.cardContent}>
63
+ <a
64
+ href="/academy/GetStarted/CreateNewPowerhouseProject"
65
+ className="path-button"
66
+ >
67
+ Build a todo-list document model
68
+ </a>
60
69
  </div>
70
+ </div>
61
71
 
62
- <div></div> {/* Placeholder for the deleted "Document Model Theory" card */}
72
+ <div></div> {/* Placeholder for the deleted "Document Model Theory" card */}
63
73
 
64
- {/* Row 2: Build User Experiences, Builder Track Image, Work with Data */}
65
- <div className={styles.pathCard} style={{ border: '1px solid #4FC86F' }}>
66
- <div className={styles.cardHeader}>
67
- <h3 className="card-title">
68
- <img src="/img/academy/icons/Editor.svg" alt="" className={styles.titleIcon} />
69
- Build user experiences
70
- </h3>
71
- </div>
72
- <div className={styles.cardContent}>
73
- <a href="/academy/GetStarted/BuildToDoListEditor" className="path-button">Build a todo-list editor</a>
74
- <a href="/academy/MasteryTrack/BuildingUserExperiences/BuildingDocumentEditors" className="path-button">Build document editors</a>
75
- <a href="/academy/MasteryTrack/BuildingUserExperiences/BuildingADriveExplorer" className="path-button">Build custom drive explorers</a>
76
- <a href="/academy/ComponentLibrary/DocumentEngineering" className="path-button">Component library</a>
77
- </div>
74
+ {/* Row 2: Build User Experiences, Builder Track Image, Work with Data */}
75
+
76
+ <div className={styles.pathCard} style={{ border: "1px solid #4FC86F" }}>
77
+ <div className={styles.cardHeader}>
78
+ <h3 className="card-title">
79
+ <img
80
+ src="/img/academy/icons/Editor.svg"
81
+ alt=""
82
+ className={styles.titleIcon}
83
+ />
84
+ Build user experiences
85
+ </h3>
78
86
  </div>
87
+ <div className={styles.cardContent}>
88
+ <a href="/academy/GetStarted/BuildToDoListEditor" className="path-button">
89
+ Build a todo-list editor
90
+ </a>
91
+ <a
92
+ href="/academy/MasteryTrack/BuildingUserExperiences/BuildingDocumentEditors"
93
+ className="path-button"
94
+ >
95
+ Build document editors
96
+ </a>
97
+ <a
98
+ href="/academy/MasteryTrack/BuildingUserExperiences/BuildingADriveExplorer"
99
+ className="path-button"
100
+ >
101
+ Build custom drive explorers
102
+ </a>
103
+ <a
104
+ href="/academy/ComponentLibrary/DocumentEngineering"
105
+ className="path-button"
106
+ >
107
+ Component library
108
+ </a>
109
+ </div>
110
+ </div>
79
111
 
80
- <div className={styles.middleColumn} style={{
81
- display: 'flex',
82
- justifyContent: 'center',
83
- alignItems: 'flex-start',
84
- paddingTop: '-20px',
85
- position: 'relative'
86
- }}>
87
- <img src="/img/Union.svg" alt="Powerhouse Union" width="250" />
88
- <div className={styles.masteryTrackTitle}>
89
- <h3 className="card-title" style={{ margin: 0 }}>Mastery track</h3>
90
- </div>
112
+ <div
113
+ className={styles.middleColumn}
114
+ style={{
115
+ display: "flex",
116
+ justifyContent: "center",
117
+ alignItems: "flex-start",
118
+ paddingTop: "-20px",
119
+ position: "relative",
120
+ }}
121
+ >
122
+ <img src="/img/Union.svg" alt="Powerhouse Union" width="250" />
123
+ <div className={styles.masteryTrackTitle}>
124
+ <h3 className="card-title" style={{ margin: 0 }}>
125
+ Mastery track
126
+ </h3>
91
127
  </div>
128
+ </div>
92
129
 
93
- <div className={styles.pathCard} style={{ border: '1px solid #4FC86F' }}>
94
- <div className={styles.cardHeader}>
95
- <h3 className="card-title">
96
- <img src="/img/academy/icons/Data.svg" alt="" className={styles.titleIcon} />
97
- Work with data
98
- </h3>
99
- </div>
100
- <div className={styles.cardContent}>
101
- <a href="/academy/MasteryTrack/WorkWithData/UsingTheAPI" className="path-button">Read & write through the API</a>
102
- <a href="/academy/MasteryTrack/WorkWithData/WorkingWithSubgraphs" className="path-button">Create your own subgraph</a>
103
- <a href="/academy/MasteryTrack/WorkWithData/Analytics-Engine/intro" className="path-button">Use the analytics engine</a>
104
- </div>
130
+ <div className={styles.pathCard} style={{ border: "1px solid #4FC86F" }}>
131
+ <div className={styles.cardHeader}>
132
+ <h3 className="card-title">
133
+ <img
134
+ src="/img/academy/icons/Data.svg"
135
+ alt=""
136
+ className={styles.titleIcon}
137
+ />
138
+ Work with data
139
+ </h3>
140
+ </div>
141
+ <div className={styles.cardContent}>
142
+ <a
143
+ href="/academy/MasteryTrack/WorkWithData/UsingTheAPI"
144
+ className="path-button"
145
+ >
146
+ Read & write through the API
147
+ </a>
148
+ <a
149
+ href="/academy/MasteryTrack/WorkWithData/WorkingWithSubgraphs"
150
+ className="path-button"
151
+ >
152
+ Create your own subgraph
153
+ </a>
154
+ <a
155
+ href="/academy/MasteryTrack/WorkWithData/Analytics-Engine/intro"
156
+ className="path-button"
157
+ >
158
+ Use the analytics engine
159
+ </a>
105
160
  </div>
161
+ </div>
106
162
 
107
- {/* Launch Card - Full Width with 3 column buttons - RE-INSERTED */}
108
- <div className={`${styles.pathCard} ${styles.fullWidth}`}>
109
- <div className={styles.cardHeader}>
110
- <h3 className="card-title">
111
- <img src="/img/academy/icons/Launch.svg" alt="" className={styles.titleIcon} />
112
- Launch
113
- </h3>
114
- </div>
115
- <div className={styles.cardContent}>
116
- <div className={styles.buttonContainer}>
117
- <a href="/academy/MasteryTrack/Launch/IntroductionToPackages" className="path-button">Intro to packages</a>
118
- <a href="/academy/MasteryTrack/Launch/PublishYourProject" className="path-button">Publish your project</a>
119
- <a href="/academy/MasteryTrack/Launch/SetupEnvironment" className="path-button">Set-up a cloud environment</a>
120
- </div>
163
+ {/* Launch Card - Full Width with 3 column buttons - RE-INSERTED */}
164
+
165
+ <div className={`${styles.pathCard} ${styles.fullWidth}`}>
166
+ <div className={styles.cardHeader}>
167
+ <h3 className="card-title">
168
+ <img
169
+ src="/img/academy/icons/Launch.svg"
170
+ alt=""
171
+ className={styles.titleIcon}
172
+ />
173
+ Launch
174
+ </h3>
175
+ </div>
176
+ <div className={styles.cardContent}>
177
+ <div className={styles.buttonContainer}>
178
+ <a
179
+ href="/academy/MasteryTrack/Launch/IntroductionToPackages"
180
+ className="path-button"
181
+ >
182
+ Intro to packages
183
+ </a>
184
+ <a
185
+ href="/academy/MasteryTrack/Launch/PublishYourProject"
186
+ className="path-button"
187
+ >
188
+ Publish your project
189
+ </a>
190
+ <a
191
+ href="/academy/MasteryTrack/Launch/SetupEnvironment"
192
+ className="path-button"
193
+ >
194
+ Set-up a cloud environment
195
+ </a>
121
196
  </div>
122
197
  </div>
198
+ </div>
123
199
 
124
- {/* Row 3: Cookbook, Use-cases, Advanced Topics */}
125
- <div className={styles.pathCard}>
126
- <div className={styles.cardHeader}>
127
- <h3 className="card-title">
128
- <img src="/img/academy/icons/Cookbook.svg" alt="" className={styles.titleIcon} />
129
- Cookbook
130
- </h3>
131
- </div>
132
- <div className={styles.cardContent}>
133
- <a href="/academy/Cookbook" className="path-button">Powerhouse recipes</a>
134
- </div>
200
+ {/* Row 3: Cookbook, Use-cases, Advanced Topics */}
201
+
202
+ <div className={styles.pathCard}>
203
+ <div className={styles.cardHeader}>
204
+ <h3 className="card-title">
205
+ <img
206
+ src="/img/academy/icons/Cookbook.svg"
207
+ alt=""
208
+ className={styles.titleIcon}
209
+ />
210
+ Cookbook
211
+ </h3>
135
212
  </div>
213
+ <div className={styles.cardContent}>
214
+ <a href="/academy/Cookbook" className="path-button">
215
+ Powerhouse recipes
216
+ </a>
217
+ </div>
218
+ </div>
136
219
 
137
- {/* Ensure this Use-cases Card block is clean */}
138
- <div className={styles.pathCard}> {/* New Use-cases Card */}
139
- <div className={styles.cardHeader}>
140
- <h3 className="card-title">
141
- <img src="/img/academy/icons/Cookbook.svg" alt="Use-cases Icon" className={styles.titleIcon} />
142
- Use-cases
143
- </h3>
144
- </div>
145
- <div className={styles.cardContent}>
146
- <a href="/academy/ExampleUsecases/Chatroom/SetupBuilderEnvironment" className="path-button">Explore use-cases</a>
147
- </div>
220
+ {/* Ensure this Use-cases Card block is clean */}
221
+
222
+ <div className={styles.pathCard}>
223
+ {" "}
224
+ {/* New Use-cases Card */}
225
+ <div className={styles.cardHeader}>
226
+ <h3 className="card-title">
227
+ <img
228
+ src="/img/academy/icons/Cookbook.svg"
229
+ alt="Use-cases Icon"
230
+ className={styles.titleIcon}
231
+ />
232
+ Use-cases
233
+ </h3>
234
+ </div>
235
+ <div className={styles.cardContent}>
236
+ <a
237
+ href="/academy/ExampleUsecases/Chatroom/SetupBuilderEnvironment"
238
+ className="path-button"
239
+ >
240
+ Explore use-cases
241
+ </a>
148
242
  </div>
243
+ </div>
149
244
 
150
245
  <div className={styles.pathCard}>
151
246
  <div className={styles.cardHeader}>
@@ -158,4 +253,4 @@ import BrowserOnly from '@docusaurus/BrowserOnly';
158
253
  <a href="/academy/Architecture/PowerhouseArchitecture" className="path-button">Learn more</a>
159
254
  </div>
160
255
  </div>
161
- </div>
256
+ </div>
@@ -101,23 +101,23 @@
101
101
  top: 18px;
102
102
  }
103
103
 
104
- :global([data-theme='dark']) .masteryTrackTitle {
104
+ :global([data-theme="dark"]) .masteryTrackTitle {
105
105
  background-color: var(--ifm-card-background-color);
106
106
  border: 1px solid var(--ifm-color-emphasis-200);
107
107
  }
108
108
 
109
- :global([data-theme='dark']) .pathCard {
109
+ :global([data-theme="dark"]) .pathCard {
110
110
  background: var(--ifm-card-background-color);
111
111
  border: 1px solid var(--ifm-color-emphasis-200);
112
112
  }
113
113
 
114
- :global([data-theme='dark']) :global(.path-button) {
114
+ :global([data-theme="dark"]) :global(.path-button) {
115
115
  background: var(--ifm-color-emphasis-100);
116
116
  border-color: var(--ifm-color-emphasis-200);
117
117
  color: var(--ifm-font-color-primary);
118
118
  }
119
119
 
120
- :global([data-theme='dark']) :global(.path-button:hover) {
120
+ :global([data-theme="dark"]) :global(.path-button:hover) {
121
121
  background: var(--ifm-color-emphasis-200);
122
122
  border-color: var(--ifm-color-emphasis-300);
123
- }
123
+ }
@@ -1,18 +1,20 @@
1
- # Prerequisites
1
+ # Prerequisites
2
2
 
3
3
  Let's set up your machine to start building your first Document Model. Don't worry if this is your first time setting up a development environment - we'll guide you through each step!
4
4
 
5
5
  :::info
6
6
  If you've already set up **Git, Node, and pnpm**, your most important step is to install the **Powerhouse CLI** with the command: `pnpm install ph-cmd`. A global install is recommended if you want to use the command from any directory as a power user. In this case use `pnpm install -g ph-cmd`. The Powerhouse CLI is used to create, build, and run your Document Models and gives you direct access to a series of Powerhouse Builder Tools. Move to the end of this page to [verify your installation.](#verify-installation)
7
7
  :::
8
- ___
8
+
9
+ ---
9
10
 
10
11
  ## Overview
11
12
 
12
- Before we begin building our Document Model, we need to install some software on your machine. We'll need three main tools:
13
+ Before we begin building our Document Model, we need to install some software on your machine. We'll need three main tools:
14
+
13
15
  - Node.js 22, which helps us run our code.
14
16
  - Visual Studio Code (VS Code), which is where we'll write our code
15
- - Git, which helps us manage our code.
17
+ - Git, which helps us manage our code.
16
18
 
17
19
  Follow the steps below based on your computer's operating system.
18
20
 
@@ -21,14 +23,17 @@ Follow the steps below based on your computer's operating system.
21
23
  node.js 22 is a tool that lets us run our application. Let's install it step by step.
22
24
 
23
25
  #### For Windows:
26
+
24
27
  1. **Set up PowerShell for running commands:**
25
28
  - Press the Windows key
26
29
  - Type "PowerShell"
27
30
  - Right-click on "Windows PowerShell" and select "Run as administrator"
28
31
  - In the PowerShell window, type this command and press Enter:
32
+
29
33
  ```powershell
30
34
  Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
31
35
  ```
36
+
32
37
  - Type 'A' when prompted to confirm
33
38
  - You can now close this window and open PowerShell normally for the remaining steps
34
39
 
@@ -41,6 +46,7 @@ node.js 22 is a tool that lets us run our application. Let's install it step by
41
46
  3. **Install pnpm:**
42
47
  - Open PowerShell (no need for admin mode)
43
48
  - Type this command and press Enter:
49
+
44
50
  ```powershell
45
51
  npm install -g pnpm
46
52
  ```
@@ -52,25 +58,32 @@ node.js 22 is a tool that lets us run our application. Let's install it step by
52
58
  node --version
53
59
  pnpm --version
54
60
  ```
61
+
55
62
  - You should see version numbers appear after each command (e.g., v18.17.0). If you do, congratulations - Node.js and pnpm are installed!
56
63
 
57
64
  > **Note**: If node.js 22 commands don't work in VS Code, restart VS Code to refresh environment variables.
58
65
 
59
66
  #### For macOS:
67
+
60
68
  1. **Install Homebrew:**
61
69
  - Open Terminal (press Command + Space and type "Terminal")
62
70
  - Copy and paste this command into Terminal and press Enter:
71
+
63
72
  ```bash
64
73
  /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
65
74
  ```
75
+
66
76
  - Follow any additional instructions that appear
67
77
 
68
78
  2. **Install node.js 22:**
69
79
  - In the same Terminal window, type this command and press Enter:
80
+
70
81
  ```bash
71
82
  brew install node@22
72
83
  ```
84
+
73
85
  - Then, install pnpm:
86
+
74
87
  ```bash
75
88
  brew install pnpm
76
89
  ```
@@ -81,19 +94,23 @@ node.js 22 is a tool that lets us run our application. Let's install it step by
81
94
  node --version
82
95
  pnpm --version
83
96
  ```
97
+
84
98
  - If you see version numbers, you've successfully installed Node.js and pnpm!
85
99
 
86
100
  #### For Linux (Ubuntu/Debian):
101
+
87
102
  1. **Open Terminal:**
88
103
  - Press Ctrl + Alt + T on your keyboard, or
89
104
  - Click the Activities button and type "Terminal"
90
105
 
91
106
  2. **Update Package List:**
107
+
92
108
  ```bash
93
109
  sudo apt update
94
110
  ```
95
111
 
96
112
  3. **Install node.js 22 and pnpm:**
113
+
97
114
  ```bash
98
115
  sudo apt install nodejs pnpm
99
116
  ```
@@ -104,6 +121,7 @@ node.js 22 is a tool that lets us run our application. Let's install it step by
104
121
  node --version
105
122
  pnpm --version
106
123
  ```
124
+
107
125
  - If you see version numbers, you're all set!
108
126
 
109
127
  ### Installing Visual Studio Code
@@ -111,6 +129,7 @@ node.js 22 is a tool that lets us run our application. Let's install it step by
111
129
  VS Code is the editor we'll use to write our code. Here's how to install it:
112
130
 
113
131
  #### For Windows:
132
+
114
133
  1. Visit the [Visual Studio Code website](https://code.visualstudio.com/)
115
134
  2. Click the blue "Download for Windows" button
116
135
  3. Once the installer downloads, double-click it
@@ -121,6 +140,7 @@ VS Code is the editor we'll use to write our code. Here's how to install it:
121
140
  8. When installation is complete, click "Finish"
122
141
 
123
142
  #### For macOS:
143
+
124
144
  1. Visit the [Visual Studio Code website](https://code.visualstudio.com/)
125
145
  2. Click the blue "Download for Mac" button
126
146
  3. Once the .zip file downloads, double-click it to extract
@@ -132,6 +152,7 @@ VS Code is the editor we'll use to write our code. Here's how to install it:
132
152
  - Type "shell command" and select "Shell Command: Install 'code' command in PATH"
133
153
 
134
154
  #### For Linux (Ubuntu/Debian):
155
+
135
156
  1. Open Terminal (Ctrl + Alt + T)
136
157
  2. First, update the packages list:
137
158
  ```bash
@@ -160,6 +181,7 @@ VS Code is the editor we'll use to write our code. Here's how to install it:
160
181
  ### Install Git
161
182
 
162
183
  #### For Windows
184
+
163
185
  1. Open PowerShell (press Windows key, type "PowerShell", and press Enter)
164
186
  2. Visit the [Git website](https://git-scm.com/)
165
187
  3. Download the latest version for Windows
@@ -170,6 +192,7 @@ VS Code is the editor we'll use to write our code. Here's how to install it:
170
192
  ```
171
193
 
172
194
  #### For macOS
195
+
173
196
  1. Install using Homebrew:
174
197
  ```bash
175
198
  brew install git
@@ -180,6 +203,7 @@ VS Code is the editor we'll use to write our code. Here's how to install it:
180
203
  ```
181
204
 
182
205
  #### For Linux (Ubuntu/Debian)
206
+
183
207
  1. Update package list:
184
208
  ```bash
185
209
  sudo apt update
@@ -196,6 +220,7 @@ VS Code is the editor we'll use to write our code. Here's how to install it:
196
220
  ### Configure Git (All Systems)
197
221
 
198
222
  After installation, set up your identity:
223
+
199
224
  ```bash
200
225
  git config --global user.name "Your Name"
201
226
  git config --global user.email "your.email@example.com"
@@ -204,11 +229,13 @@ git config --global user.email "your.email@example.com"
204
229
  ### Install the Powerhouse CLI
205
230
 
206
231
  The Powerhouse CLI (installed via the `ph-cmd` package) is a command-line interface tool. It provides the `ph` command, which is essential for managing Powerhouse projects. You can get access to the Powerhouse Ecosystem tools by installing them globally using:
232
+
207
233
  ```bash
208
234
  pnpm install -g ph-cmd
209
- ```
235
+ ```
210
236
 
211
237
  Key commands include:
238
+
212
239
  - `ph connect` for running the Connect application locally
213
240
  - `ph switchboard` or `ph reactor` for starting the API service
214
241
  - `ph init` to start a new project and build a document model
@@ -221,24 +248,26 @@ This tool will be fundamental on your journey when creating, building, and runni
221
248
 
222
249
  When installing or using the Powerhouse CLI commands you can use the dev & staging branches. These branches contain more experimental features than the latest stable release the PH CLI uses by default. They can be used to get access to a bug fix or features under development.
223
250
 
224
- | Command | Description |
225
- |---------|-------------|
226
- | **pnpm install -g ph-cmd** | Install latest stable version |
227
- | **pnpm install -g ph-cmd@dev** | Install development version |
228
- | **pnpm install -g ph-cmd@staging** | Install staging version |
229
- | **ph init** | Use latest stable version of the boilerplate |
230
- | **ph init --dev** | Use development version of the boilerplate |
231
- | **ph init --staging** | Use staging version of the boilerplate |
232
- | **ph use** | Switch all dependencies to latest production versions |
233
- | **ph use dev** | Switch all dependencies to development versions |
234
- | **ph use prod** | Switch all dependencies to production versions |
251
+ | Command | Description |
252
+ | ---------------------------------- | ----------------------------------------------------- |
253
+ | **pnpm install -g ph-cmd** | Install latest stable version |
254
+ | **pnpm install -g ph-cmd@dev** | Install development version |
255
+ | **pnpm install -g ph-cmd@staging** | Install staging version |
256
+ | **ph init** | Use latest stable version of the boilerplate |
257
+ | **ph init --dev** | Use development version of the boilerplate |
258
+ | **ph init --staging** | Use staging version of the boilerplate |
259
+ | **ph use** | Switch all dependencies to latest production versions |
260
+ | **ph use dev** | Switch all dependencies to development versions |
261
+ | **ph use prod** | Switch all dependencies to production versions |
235
262
 
236
263
  Please be aware that these versions can contain bugs and experimental features that aren't fully tested.
264
+
237
265
  </details>
238
266
 
239
267
  ### Verify Installation
240
268
 
241
269
  Open your terminal (command prompt) and run the following commands to verify your setup:
270
+
242
271
  ```bash
243
272
  node --version
244
273
  pnpm --version
@@ -255,10 +284,9 @@ v22.16.0
255
284
  % pnpm --version
256
285
  10.10.0
257
286
  % git --version
258
- git version 2.39.3
287
+ git version 2.39.3
259
288
  % ph --version
260
289
  PH CMD version: 0.43.18
261
290
  -------------------------------------
262
291
  PH CLI is not available, please run `ph setup-globals` to generate the default global project
263
292
  ```
264
-