@powerhousedao/academy 4.1.0-dev.1 → 4.1.0-dev.100
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/.vscode/settings.json +1 -1
- package/CHANGELOG.md +817 -0
- package/README.md +3 -3
- package/babel.config.js +1 -1
- package/blog/BeyondCommunication-ABlueprintForDevelopment.md +25 -24
- package/blog/TheChallengeOfChange.md +21 -21
- package/docs/academy/01-GetStarted/00-ExploreDemoPackage.mdx +67 -30
- package/docs/academy/01-GetStarted/01-CreateNewPowerhouseProject.md +38 -21
- package/docs/academy/01-GetStarted/02-DefineToDoListDocumentModel.md +24 -19
- package/docs/academy/01-GetStarted/03-ImplementOperationReducers.md +44 -41
- package/docs/academy/01-GetStarted/04-BuildToDoListEditor.md +10 -10
- package/docs/academy/01-GetStarted/05-VetraStudio.md +164 -0
- package/docs/academy/01-GetStarted/06-ReactorMCP.md +58 -0
- package/docs/academy/01-GetStarted/home.mdx +185 -90
- package/docs/academy/01-GetStarted/images/Modules.png +0 -0
- package/docs/academy/01-GetStarted/images/VetraStudioDrive.png +0 -0
- package/docs/academy/01-GetStarted/styles.module.css +5 -5
- package/docs/academy/02-MasteryTrack/01-BuilderEnvironment/01-Prerequisites.md +46 -18
- package/docs/academy/02-MasteryTrack/01-BuilderEnvironment/02-StandardDocumentModelWorkflow.md +118 -68
- package/docs/academy/02-MasteryTrack/01-BuilderEnvironment/03-BuilderTools.md +75 -33
- package/docs/academy/02-MasteryTrack/01-BuilderEnvironment/_category_.json +6 -6
- package/docs/academy/02-MasteryTrack/02-DocumentModelCreation/01-WhatIsADocumentModel.md +30 -21
- package/docs/academy/02-MasteryTrack/02-DocumentModelCreation/02-SpecifyTheStateSchema.md +41 -37
- package/docs/academy/02-MasteryTrack/02-DocumentModelCreation/03-SpecifyDocumentOperations.md +29 -25
- package/docs/academy/02-MasteryTrack/02-DocumentModelCreation/04-UseTheDocumentModelGenerator.md +36 -37
- package/docs/academy/02-MasteryTrack/02-DocumentModelCreation/05-ImplementDocumentReducers.md +128 -109
- package/docs/academy/02-MasteryTrack/02-DocumentModelCreation/06-ImplementDocumentModelTests.md +95 -86
- package/docs/academy/02-MasteryTrack/02-DocumentModelCreation/07-ExampleToDoListRepository.md +7 -9
- package/docs/academy/02-MasteryTrack/02-DocumentModelCreation/_category_.json +6 -6
- package/docs/academy/02-MasteryTrack/03-BuildingUserExperiences/01-BuildingDocumentEditors.md +83 -42
- package/docs/academy/02-MasteryTrack/03-BuildingUserExperiences/02-ConfiguringDrives.md +77 -62
- package/docs/academy/02-MasteryTrack/03-BuildingUserExperiences/03-BuildingADriveExplorer.md +360 -349
- package/docs/academy/02-MasteryTrack/03-BuildingUserExperiences/06-DocumentTools/00-DocumentToolbar.mdx +16 -10
- package/docs/academy/02-MasteryTrack/03-BuildingUserExperiences/06-DocumentTools/01-OperationHistory.md +10 -7
- package/docs/academy/02-MasteryTrack/03-BuildingUserExperiences/06-DocumentTools/02-RevisionHistoryTimeline.md +25 -17
- package/docs/academy/02-MasteryTrack/03-BuildingUserExperiences/06-DocumentTools/_category_.json +6 -6
- package/docs/academy/02-MasteryTrack/03-BuildingUserExperiences/07-Authorization/01-RenownAuthenticationFlow.md +14 -7
- package/docs/academy/02-MasteryTrack/03-BuildingUserExperiences/07-Authorization/02-Authorization.md +0 -1
- package/docs/academy/02-MasteryTrack/03-BuildingUserExperiences/07-Authorization/_category_.json +5 -5
- package/docs/academy/02-MasteryTrack/03-BuildingUserExperiences/_category_.json +1 -1
- package/docs/academy/02-MasteryTrack/04-WorkWithData/01-GraphQLAtPowerhouse.md +45 -33
- package/docs/academy/02-MasteryTrack/04-WorkWithData/02-UsingTheAPI.mdx +61 -18
- package/docs/academy/02-MasteryTrack/04-WorkWithData/03-UsingSubgraphs.md +105 -456
- package/docs/academy/02-MasteryTrack/04-WorkWithData/04-analytics-processor.md +126 -110
- package/docs/academy/02-MasteryTrack/04-WorkWithData/05-RelationalDbProcessor.md +98 -65
- package/docs/academy/02-MasteryTrack/04-WorkWithData/06-Analytics Engine/GraphQL References/QueryingADocumentWithGraphQL.md +23 -21
- package/docs/academy/02-MasteryTrack/04-WorkWithData/06-Analytics Engine/best-practices.md +9 -9
- package/docs/academy/02-MasteryTrack/04-WorkWithData/06-Analytics Engine/graphql/index.md +11 -23
- package/docs/academy/02-MasteryTrack/04-WorkWithData/06-Analytics Engine/graphql/integration.md +25 -9
- package/docs/academy/02-MasteryTrack/04-WorkWithData/06-Analytics Engine/intro.md +10 -10
- package/docs/academy/02-MasteryTrack/04-WorkWithData/06-Analytics Engine/typescript/benchmarks.md +1 -1
- package/docs/academy/02-MasteryTrack/04-WorkWithData/06-Analytics Engine/typescript/index.md +16 -11
- package/docs/academy/02-MasteryTrack/04-WorkWithData/06-Analytics Engine/typescript/memory.md +6 -5
- package/docs/academy/02-MasteryTrack/04-WorkWithData/06-Analytics Engine/typescript/schema.md +2 -2
- package/docs/academy/02-MasteryTrack/04-WorkWithData/06-Analytics Engine/typescript/utilities.md +7 -5
- package/docs/academy/02-MasteryTrack/04-WorkWithData/06-Analytics Engine/use-cases/maker.md +32 -58
- package/docs/academy/02-MasteryTrack/04-WorkWithData/06-Analytics Engine/use-cases/processors.md +1 -1
- package/docs/academy/02-MasteryTrack/04-WorkWithData/07-drive-analytics.md +105 -71
- package/docs/academy/02-MasteryTrack/04-WorkWithData/_ARCHIVE-AnalyticsProcessorTutorial/_01-SetupBuilderEnvironment.md +22 -0
- package/docs/academy/02-MasteryTrack/04-WorkWithData/_ARCHIVE-AnalyticsProcessorTutorial/_02-CreateNewPowerhouseProject.md +9 -8
- package/docs/academy/02-MasteryTrack/04-WorkWithData/_ARCHIVE-AnalyticsProcessorTutorial/_03-GenerateAnAnalyticsProcessor.md +28 -32
- package/docs/academy/02-MasteryTrack/04-WorkWithData/_ARCHIVE-AnalyticsProcessorTutorial/_04-UpdateAnalyticsProcessor.md +25 -26
- package/docs/academy/02-MasteryTrack/04-WorkWithData/_ARCHIVE-AnalyticsProcessorTutorial/_category_.json +1 -1
- package/docs/academy/02-MasteryTrack/04-WorkWithData/_category_.json +7 -7
- package/docs/academy/02-MasteryTrack/05-Launch/01-IntroductionToPackages.md +3 -4
- package/docs/academy/02-MasteryTrack/05-Launch/02-PublishYourProject.md +69 -45
- package/docs/academy/02-MasteryTrack/05-Launch/03-SetupEnvironment.md +70 -40
- package/docs/academy/02-MasteryTrack/05-Launch/04-ConfigureEnvironment.md +1 -0
- package/docs/academy/02-MasteryTrack/05-Launch/_category_.json +7 -7
- package/docs/academy/02-MasteryTrack/_category_.json +6 -6
- package/docs/academy/03-ExampleUsecases/Chatroom/02-CreateNewPowerhouseProject.md +5 -3
- package/docs/academy/03-ExampleUsecases/Chatroom/03-DefineChatroomDocumentModel.md +38 -37
- package/docs/academy/03-ExampleUsecases/Chatroom/04-ImplementOperationReducers.md +45 -41
- package/docs/academy/03-ExampleUsecases/Chatroom/05-ImplementChatroomEditor.md +14 -14
- package/docs/academy/03-ExampleUsecases/Chatroom/06-LaunchALocalReactor.md +6 -6
- package/docs/academy/03-ExampleUsecases/Chatroom/_category_.json +1 -1
- package/docs/academy/04-APIReferences/00-PowerhouseCLI.md +181 -68
- package/docs/academy/04-APIReferences/01-ReactHooks.md +649 -141
- package/docs/academy/04-APIReferences/04-RelationalDatabase.md +121 -113
- package/docs/academy/04-APIReferences/05-PHDocumentMigrationGuide.md +48 -41
- package/docs/academy/04-APIReferences/_category_.json +6 -6
- package/docs/academy/05-Architecture/00-PowerhouseArchitecture.md +1 -2
- package/docs/academy/05-Architecture/01-WorkingWithTheReactor.md +11 -8
- package/docs/academy/05-Architecture/05-DocumentModelTheory/_category_.json +1 -1
- package/docs/academy/05-Architecture/_category_.json +6 -6
- package/docs/academy/06-ComponentLibrary/00-DocumentEngineering.md +25 -23
- package/docs/academy/06-ComponentLibrary/02-CreateCustomScalars.md +105 -93
- package/docs/academy/06-ComponentLibrary/03-IntegrateIntoAReactComponent.md +1 -0
- package/docs/academy/06-ComponentLibrary/_category_.json +7 -7
- package/docs/academy/07-Cookbook.md +268 -35
- package/docs/academy/08-Glossary.md +7 -1
- package/docs/academy/TUTORIAL_VERIFICATION_ARCHITECTURE +325 -0
- package/docs/bookofpowerhouse/01-Overview.md +2 -2
- package/docs/bookofpowerhouse/02-GeneralFrameworkAndPhilosophy.md +1 -7
- package/docs/bookofpowerhouse/03-PowerhouseSoftwareArchitecture.md +10 -7
- package/docs/bookofpowerhouse/04-DevelopmentApproaches.md +10 -4
- package/docs/bookofpowerhouse/05-SNOsandANewModelForOSSandPublicGoods.md +23 -30
- package/docs/bookofpowerhouse/06-SNOsInActionAndPlatformEconomies.md +0 -7
- package/docusaurus.config.ts +64 -66
- package/package.json +9 -7
- package/scripts/generate-combined-cli-docs.ts +43 -13
- package/sidebars.ts +2 -0
- package/src/components/HomepageFeatures/index.tsx +171 -78
- package/src/components/HomepageFeatures/styles.module.css +1 -2
- package/src/css/custom.css +89 -89
- package/src/pages/_archive-homepage.tsx +17 -16
- package/src/theme/DocCardList/index.tsx +9 -8
- package/static.json +6 -6
- package/tsconfig.tsbuildinfo +1 -0
|
@@ -1,16 +1,13 @@
|
|
|
1
1
|
# **Part 5: Powerhouse Platforms – Decentralized Operations and Builder**
|
|
2
2
|
|
|
3
|
-
|
|
4
3
|
## **Introduction**
|
|
5
4
|
|
|
6
5
|
The Powerhouse architecture is not only organizational but also deeply technological. To enable scalable network organizations (SNOs) to operate effectively, Powerhouse has developed two core platforms that provide the infrastructure for decentralized coordination and execution: the **Decentralized Operations Platform** and the **Builder Platform**. These platforms are complementary: one structures and stabilizes daily operations; the other opens up participation and innovation.
|
|
7
6
|
|
|
8
7
|
Together, they form the digital substrate of the Powerhouse model, encoding its governance logic, collaboration structures, and incentive mechanisms directly into software.
|
|
9
8
|
|
|
10
|
-
|
|
11
9
|
---
|
|
12
10
|
|
|
13
|
-
|
|
14
11
|
## **Decentralized Operations Platform**
|
|
15
12
|
|
|
16
13
|
The Decentralized Operations Platform serves as the operational engine of a SNO. It provides the workflows, rules, and execution logic required for contributors to collaborate without a central management layer. This includes systems for compensation, budgeting, IP management, and contributor reputation.
|
|
@@ -21,10 +18,8 @@ The Decentralized Operations Platform also embeds accountability. Actions taken
|
|
|
21
18
|
|
|
22
19
|
Strategically, the platform supports multiple service categories, including governance operations, legal and financial services, and compliance. Each of these is modular, and the marketplace of service providers enables networks to plug in what they need, when they need it. Revenue is structured around project-based transactions and reinforced by policies that encourage on-platform fulfillment, ensuring alignment across stakeholders.
|
|
23
20
|
|
|
24
|
-
|
|
25
21
|
---
|
|
26
22
|
|
|
27
|
-
|
|
28
23
|
## **Builder Platform**
|
|
29
24
|
|
|
30
25
|
While the Decentralized Operations Platform governs execution, the Builder Platform governs creation. It is designed for extending the Powerhouse architecture—enabling developers and contributors to build new tools, workflows, and modules that others in the ecosystem can use.
|
|
@@ -37,10 +32,8 @@ Technically, the Builder Platform is integrated with the rest of the Powerhouse
|
|
|
37
32
|
|
|
38
33
|
Strategically, the platform ensures that innovation remains decentralized. No single team or organization controls what can or cannot be built. Any contributor with sufficient context and intent can extend the system—and be rewarded for doing so. This model transforms Powerhouse from a static platform into a living ecosystem.
|
|
39
34
|
|
|
40
|
-
|
|
41
35
|
---
|
|
42
36
|
|
|
43
|
-
|
|
44
37
|
## **A Unified Infrastructure Layer**
|
|
45
38
|
|
|
46
39
|
Together, these platforms operationalize the vision of scalable, decentralized networks. The Operations Platform provides the scaffolding for work: roles, rules, payments, and projects. The Builder Platform enables the ecosystem to evolve: by building, sharing, and monetizing new capabilities. They are not products to be sold—they are foundational infrastructure for a new kind of organization.
|
package/docusaurus.config.ts
CHANGED
|
@@ -1,65 +1,63 @@
|
|
|
1
|
-
import { themes as prismThemes } from
|
|
2
|
-
import type { Config } from
|
|
3
|
-
import type * as Preset from
|
|
1
|
+
import { themes as prismThemes } from "prism-react-renderer";
|
|
2
|
+
import type { Config } from "@docusaurus/types";
|
|
3
|
+
import type * as Preset from "@docusaurus/preset-classic";
|
|
4
4
|
|
|
5
5
|
const config: Config = {
|
|
6
|
-
title:
|
|
7
|
-
tagline:
|
|
8
|
-
favicon:
|
|
6
|
+
title: "Powerhouse Academy",
|
|
7
|
+
tagline: "Get started with the Powerhouse ecosystem",
|
|
8
|
+
favicon: "img/ph-icon-light.svg",
|
|
9
9
|
|
|
10
10
|
// Set the production url of your site here
|
|
11
|
-
url:
|
|
11
|
+
url: "https://powerhouse.academy",
|
|
12
12
|
// Set the /<baseUrl>/ pathname under which your site is served
|
|
13
13
|
// For GitHub pages deployment, it is often '/<projectName>/'
|
|
14
|
-
baseUrl:
|
|
14
|
+
baseUrl: "/",
|
|
15
15
|
|
|
16
16
|
// GitHub pages deployment config.
|
|
17
17
|
// If you aren't using GitHub pages, you don't need these.
|
|
18
|
-
organizationName:
|
|
19
|
-
projectName:
|
|
18
|
+
organizationName: "", // Usually your GitHub org/user name.
|
|
19
|
+
projectName: "", // Usually your repo name.
|
|
20
20
|
|
|
21
|
-
onBrokenLinks:
|
|
22
|
-
onBrokenMarkdownLinks:
|
|
23
|
-
deploymentBranch:
|
|
21
|
+
onBrokenLinks: "warn",
|
|
22
|
+
onBrokenMarkdownLinks: "warn",
|
|
23
|
+
deploymentBranch: "gh-pages",
|
|
24
24
|
trailingSlash: false,
|
|
25
|
-
onBrokenAnchors:
|
|
25
|
+
onBrokenAnchors: "ignore",
|
|
26
26
|
|
|
27
27
|
// Even if you don't use internationalization, you can use this field to set
|
|
28
28
|
// useful metadata like html lang. For example, if your site is Chinese, you
|
|
29
29
|
// may want to replace "en" with "zh-Hans".
|
|
30
30
|
i18n: {
|
|
31
|
-
defaultLocale:
|
|
32
|
-
locales: [
|
|
31
|
+
defaultLocale: "en",
|
|
32
|
+
locales: ["en"],
|
|
33
33
|
},
|
|
34
34
|
|
|
35
35
|
presets: [
|
|
36
36
|
[
|
|
37
|
-
|
|
37
|
+
"classic",
|
|
38
38
|
{
|
|
39
39
|
docs: {
|
|
40
|
-
routeBasePath:
|
|
41
|
-
sidebarPath:
|
|
42
|
-
editUrl:
|
|
43
|
-
'https://github.com/powerhouse-inc/powerhouse-docs/tree/dev',
|
|
40
|
+
routeBasePath: "/",
|
|
41
|
+
sidebarPath: "./sidebars.ts",
|
|
42
|
+
editUrl: "https://github.com/powerhouse-inc/powerhouse-docs/tree/dev",
|
|
44
43
|
showLastUpdateTime: false,
|
|
45
44
|
showLastUpdateAuthor: false,
|
|
46
45
|
},
|
|
47
46
|
theme: {
|
|
48
|
-
customCss:
|
|
47
|
+
customCss: "./src/css/custom.css",
|
|
49
48
|
},
|
|
50
49
|
blog: {
|
|
51
50
|
showReadingTime: false,
|
|
52
|
-
editUrl:
|
|
53
|
-
|
|
54
|
-
onInlineAuthors: 'ignore',
|
|
51
|
+
editUrl: "https://github.com/powerhouse-inc/powerhouse-docs/tree/dev",
|
|
52
|
+
onInlineAuthors: "ignore",
|
|
55
53
|
showLastUpdateTime: false,
|
|
56
54
|
showLastUpdateAuthor: false,
|
|
57
55
|
},
|
|
58
56
|
sitemap: {
|
|
59
|
-
changefreq:
|
|
57
|
+
changefreq: "weekly",
|
|
60
58
|
priority: 0.5,
|
|
61
|
-
ignorePatterns: [
|
|
62
|
-
filename:
|
|
59
|
+
ignorePatterns: ["/tags/**"],
|
|
60
|
+
filename: "sitemap.xml",
|
|
63
61
|
},
|
|
64
62
|
} satisfies Preset.Options,
|
|
65
63
|
],
|
|
@@ -67,86 +65,86 @@ const config: Config = {
|
|
|
67
65
|
|
|
68
66
|
themeConfig: {
|
|
69
67
|
// Replace with your project's social card
|
|
70
|
-
image:
|
|
68
|
+
image: "img/docusaurus-social-card.jpg",
|
|
71
69
|
algolia: {
|
|
72
|
-
appId:
|
|
73
|
-
apiKey:
|
|
74
|
-
indexName:
|
|
70
|
+
appId: "2P4JJIQAAV",
|
|
71
|
+
apiKey: "b5d796c3c48626f107dabdcb1cd77f29",
|
|
72
|
+
indexName: "staging-powerhouse",
|
|
75
73
|
contextualSearch: true,
|
|
76
74
|
},
|
|
77
75
|
navbar: {
|
|
78
|
-
title:
|
|
76
|
+
title: "",
|
|
79
77
|
logo: {
|
|
80
|
-
alt:
|
|
81
|
-
src:
|
|
82
|
-
srcDark:
|
|
83
|
-
href:
|
|
78
|
+
alt: "My Site Logo",
|
|
79
|
+
src: "img/Powerhouse-main.svg",
|
|
80
|
+
srcDark: "img/Powerhouse-main-light.svg",
|
|
81
|
+
href: "/",
|
|
84
82
|
},
|
|
85
83
|
items: [
|
|
86
84
|
{
|
|
87
|
-
type:
|
|
88
|
-
sidebarId:
|
|
89
|
-
position:
|
|
90
|
-
label:
|
|
85
|
+
type: "docSidebar",
|
|
86
|
+
sidebarId: "academySidebar",
|
|
87
|
+
position: "left",
|
|
88
|
+
label: "Academy",
|
|
91
89
|
},
|
|
92
90
|
{
|
|
93
|
-
href:
|
|
94
|
-
label:
|
|
95
|
-
position:
|
|
91
|
+
href: "https://github.com/powerhouse-inc/powerhouse-docs",
|
|
92
|
+
label: "GitHub",
|
|
93
|
+
position: "right",
|
|
96
94
|
},
|
|
97
95
|
],
|
|
98
96
|
},
|
|
99
97
|
footer: {
|
|
100
|
-
style:
|
|
98
|
+
style: "dark",
|
|
101
99
|
links: [
|
|
102
100
|
{
|
|
103
|
-
title:
|
|
101
|
+
title: "Docs",
|
|
104
102
|
items: [
|
|
105
103
|
{
|
|
106
|
-
label:
|
|
107
|
-
to:
|
|
104
|
+
label: "Connect",
|
|
105
|
+
to: "academy/Architecture/PowerhouseArchitecture",
|
|
108
106
|
},
|
|
109
107
|
{
|
|
110
|
-
label:
|
|
111
|
-
to:
|
|
108
|
+
label: "Reactor",
|
|
109
|
+
to: "academy/Architecture/PowerhouseArchitecture",
|
|
112
110
|
},
|
|
113
111
|
{
|
|
114
|
-
label:
|
|
115
|
-
to:
|
|
112
|
+
label: "Switchboard",
|
|
113
|
+
to: "academy/Architecture/PowerhouseArchitecture",
|
|
116
114
|
},
|
|
117
115
|
{
|
|
118
|
-
label:
|
|
119
|
-
to:
|
|
116
|
+
label: "Renown",
|
|
117
|
+
to: "academy/Architecture/PowerhouseArchitecture",
|
|
120
118
|
},
|
|
121
119
|
{
|
|
122
|
-
label:
|
|
123
|
-
to:
|
|
120
|
+
label: "FAQ",
|
|
121
|
+
to: "academy/Architecture/PowerhouseArchitecture",
|
|
124
122
|
},
|
|
125
123
|
{
|
|
126
124
|
label: "Blog",
|
|
127
|
-
to:
|
|
128
|
-
}
|
|
125
|
+
to: "/blog",
|
|
126
|
+
},
|
|
129
127
|
],
|
|
130
128
|
},
|
|
131
129
|
{
|
|
132
|
-
title:
|
|
130
|
+
title: "Community",
|
|
133
131
|
items: [
|
|
134
132
|
{
|
|
135
|
-
label:
|
|
136
|
-
href:
|
|
133
|
+
label: "Discord",
|
|
134
|
+
href: "https://discord.gg/h7GKvqDyDP",
|
|
137
135
|
},
|
|
138
136
|
{
|
|
139
|
-
label:
|
|
140
|
-
href:
|
|
137
|
+
label: "X",
|
|
138
|
+
href: "https://x.com/PowerhouseDAO",
|
|
141
139
|
},
|
|
142
140
|
],
|
|
143
141
|
},
|
|
144
142
|
{
|
|
145
|
-
title:
|
|
143
|
+
title: "More",
|
|
146
144
|
items: [
|
|
147
145
|
{
|
|
148
|
-
label:
|
|
149
|
-
href:
|
|
146
|
+
label: "GitHub",
|
|
147
|
+
href: "https://github.com/powerhouse-inc",
|
|
150
148
|
},
|
|
151
149
|
],
|
|
152
150
|
},
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@powerhousedao/academy",
|
|
3
|
-
"version": "4.1.0-dev.
|
|
3
|
+
"version": "4.1.0-dev.100",
|
|
4
4
|
"homepage": "https://powerhouse.academy",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -16,15 +16,17 @@
|
|
|
16
16
|
"@powerhousedao/design-system": "^1.6.0",
|
|
17
17
|
"clsx": "^2.0.0",
|
|
18
18
|
"prism-react-renderer": "^2.3.0",
|
|
19
|
-
"react": "^
|
|
20
|
-
"react-dom": "^
|
|
19
|
+
"react": "^19.2.0",
|
|
20
|
+
"react-dom": "^19.2.0"
|
|
21
21
|
},
|
|
22
22
|
"devDependencies": {
|
|
23
|
-
"@docusaurus/module-type-aliases": "^3.
|
|
24
|
-
"@docusaurus/tsconfig": "^3.
|
|
25
|
-
"@docusaurus/types": "^3.
|
|
23
|
+
"@docusaurus/module-type-aliases": "^3.9.1",
|
|
24
|
+
"@docusaurus/tsconfig": "^3.9.1",
|
|
25
|
+
"@docusaurus/types": "^3.9.1",
|
|
26
|
+
"@types/react": "^19.2.0",
|
|
27
|
+
"@types/react-dom": "^19.2.0",
|
|
26
28
|
"tsx": "^4.20.3",
|
|
27
|
-
"typescript": "^5.
|
|
29
|
+
"typescript": "^5.9.3"
|
|
28
30
|
},
|
|
29
31
|
"browserslist": {
|
|
30
32
|
"production": [
|
|
@@ -12,11 +12,33 @@ async function generateCombinedCliDocs() {
|
|
|
12
12
|
const __dirname = path.dirname(__filename);
|
|
13
13
|
|
|
14
14
|
// Define paths
|
|
15
|
-
const academyDocsDir = path.resolve(
|
|
15
|
+
const academyDocsDir = path.resolve(
|
|
16
|
+
__dirname,
|
|
17
|
+
"..",
|
|
18
|
+
"docs",
|
|
19
|
+
"academy",
|
|
20
|
+
"04-APIReferences",
|
|
21
|
+
);
|
|
16
22
|
const targetDocFile = path.join(academyDocsDir, "00-PowerhouseCLI.md");
|
|
17
23
|
|
|
18
|
-
const phCliCommandsPath = path.resolve(
|
|
19
|
-
|
|
24
|
+
const phCliCommandsPath = path.resolve(
|
|
25
|
+
__dirname,
|
|
26
|
+
"..",
|
|
27
|
+
"..",
|
|
28
|
+
"..",
|
|
29
|
+
"clis",
|
|
30
|
+
"ph-cli",
|
|
31
|
+
"COMMANDS.md",
|
|
32
|
+
);
|
|
33
|
+
const phCmdCommandsPath = path.resolve(
|
|
34
|
+
__dirname,
|
|
35
|
+
"..",
|
|
36
|
+
"..",
|
|
37
|
+
"..",
|
|
38
|
+
"clis",
|
|
39
|
+
"ph-cmd",
|
|
40
|
+
"COMMANDS.md",
|
|
41
|
+
);
|
|
20
42
|
|
|
21
43
|
// Read COMMANDS.md files
|
|
22
44
|
const phCliCommandsContent = fs.readFileSync(phCliCommandsPath, "utf8");
|
|
@@ -27,13 +49,18 @@ async function generateCombinedCliDocs() {
|
|
|
27
49
|
const tocHeader = "## Table of Contents";
|
|
28
50
|
const tocIndex = content.indexOf(tocHeader);
|
|
29
51
|
if (tocIndex === -1) {
|
|
30
|
-
console.warn(
|
|
52
|
+
console.warn(
|
|
53
|
+
`Warning: "## Table of Contents" not found in ${cliName} COMMANDS.md. Including entire file.`,
|
|
54
|
+
);
|
|
31
55
|
return content;
|
|
32
56
|
}
|
|
33
|
-
let commandsSection = content
|
|
34
|
-
|
|
57
|
+
let commandsSection = content
|
|
58
|
+
.substring(tocIndex + tocHeader.length)
|
|
59
|
+
.trim();
|
|
60
|
+
|
|
35
61
|
// Remove the auto-generation footer
|
|
36
|
-
const footerRegex =
|
|
62
|
+
const footerRegex =
|
|
63
|
+
/---\\n\\n\\\*This document was automatically generated from the help text in the codebase\\\.\\\*\\n?$/m;
|
|
37
64
|
commandsSection = commandsSection.replace(footerRegex, "").trim();
|
|
38
65
|
return commandsSection;
|
|
39
66
|
};
|
|
@@ -42,7 +69,7 @@ async function generateCombinedCliDocs() {
|
|
|
42
69
|
const phCmdDocs = extractCommands(phCmdCommandsContent, "ph-cmd");
|
|
43
70
|
|
|
44
71
|
// Prepare the combined markdown
|
|
45
|
-
|
|
72
|
+
const combinedDocs = `### ph-cmd Commands\\n\\n${phCmdDocs}\\n\\n### ph-cli Commands\\n\\n${phCliDocs}`;
|
|
46
73
|
|
|
47
74
|
// Read the target documentation file
|
|
48
75
|
let targetDocContent = fs.readFileSync(targetDocFile, "utf8");
|
|
@@ -54,11 +81,13 @@ async function generateCombinedCliDocs() {
|
|
|
54
81
|
const endIndex = targetDocContent.indexOf(endPlaceholder);
|
|
55
82
|
|
|
56
83
|
if (startIndex === -1 || endIndex === -1) {
|
|
57
|
-
console.error(
|
|
84
|
+
console.error(
|
|
85
|
+
`Error: Placeholders not found in ${targetDocFile}. Please ensure the file contains:\\n${startPlaceholder}\\n...\\n${endPlaceholder}`,
|
|
86
|
+
);
|
|
58
87
|
process.exit(1);
|
|
59
88
|
}
|
|
60
89
|
|
|
61
|
-
targetDocContent =
|
|
90
|
+
targetDocContent =
|
|
62
91
|
targetDocContent.substring(0, startIndex + startPlaceholder.length) +
|
|
63
92
|
"\\n<!-- This content is automatically generated. Do not edit directly. -->\\n" +
|
|
64
93
|
combinedDocs +
|
|
@@ -68,8 +97,9 @@ async function generateCombinedCliDocs() {
|
|
|
68
97
|
// Write the updated content back to the target file
|
|
69
98
|
fs.writeFileSync(targetDocFile, targetDocContent);
|
|
70
99
|
|
|
71
|
-
console.log(
|
|
72
|
-
|
|
100
|
+
console.log(
|
|
101
|
+
`✅ Combined CLI documentation has been generated at ${targetDocFile}`,
|
|
102
|
+
);
|
|
73
103
|
} catch (error) {
|
|
74
104
|
console.error("Failed to generate combined CLI documentation:", error);
|
|
75
105
|
process.exit(1);
|
|
@@ -77,4 +107,4 @@ async function generateCombinedCliDocs() {
|
|
|
77
107
|
}
|
|
78
108
|
|
|
79
109
|
// Run the script
|
|
80
|
-
generateCombinedCliDocs();
|
|
110
|
+
generateCombinedCliDocs();
|
package/sidebars.ts
CHANGED