@powerhousedao/academy 0.1.0-dev.3 → 0.1.0-dev.5
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/CHANGELOG.md +32 -0
- package/README.md +1 -1
- package/docs/academy/01-GetStarted/00-ExploreDemoPackage.md +78 -0
- package/docs/academy/01-GetStarted/{03-ToDoList/01-CreateNewPowerhouseProject.md → 01-CreateNewPowerhouseProject.md} +10 -8
- package/docs/academy/01-GetStarted/02-DefineToDoListDocumentModel.md +97 -0
- package/docs/academy/01-GetStarted/{03-ToDoList/03-ImplementOperationReducers.md → 03-ImplementOperationReducers.md} +20 -16
- package/docs/academy/01-GetStarted/{03-ToDoList/04-BuildToDoListEditor.md → 04-BuildToDoListEditor.md} +15 -15
- package/docs/academy/01-GetStarted/{00-GetStarted.mdx → home.mdx} +41 -52
- package/docs/academy/{02-AdvancedTutorial/01-Create/01-SetupBuilderEnvironment.md → 02-MasteryTrack/01-BuilderEnvironment/01-Prerequisites.md} +78 -43
- package/docs/academy/02-MasteryTrack/01-BuilderEnvironment/02-StandardDocumentModelWorkflow.md +253 -0
- package/docs/academy/{02-AdvancedTutorial/01-Create/00-BuilderTools.md → 02-MasteryTrack/01-BuilderEnvironment/03-BuilderTools.md} +1 -1
- package/docs/academy/02-MasteryTrack/01-BuilderEnvironment/_category_.json +7 -0
- package/docs/academy/02-MasteryTrack/02-DocumentModelCreation/01-WhatIsADocumentModel.md +188 -0
- package/docs/academy/02-MasteryTrack/02-DocumentModelCreation/02-SpecifyTheStateSchema.md +72 -0
- package/docs/academy/02-MasteryTrack/02-DocumentModelCreation/03-SpecifyDocumentOperations.md +119 -0
- package/docs/academy/02-MasteryTrack/02-DocumentModelCreation/04-UseTheDocumentModelGenerator.md +116 -0
- package/docs/academy/02-MasteryTrack/02-DocumentModelCreation/05-ImplementDocumentReducers.md +282 -0
- package/docs/academy/02-MasteryTrack/02-DocumentModelCreation/06-ImplementDocumentModelTests.md +277 -0
- package/docs/academy/02-MasteryTrack/02-DocumentModelCreation/07-ExampleToDoListRepository.md +1 -0
- package/docs/academy/02-MasteryTrack/02-DocumentModelCreation/_category_.json +7 -0
- package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/03-BuildingUserExperiences/02-ConfiguringDrives.md +2 -2
- package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/03-BuildingUserExperiences/03-BuildingADriveExplorer.md +1 -1
- package/docs/academy/02-MasteryTrack/03-BuildingUserExperiences/07-DocumentTools/00-DocumentToolbar.md +20 -0
- package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/03-BuildingUserExperiences/07-DocumentTools/01-OperationHistory.md +1 -1
- package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/01-ReadingAndWritingThroughTheAPI.mdx +2 -2
- package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/02-GraphQLAtPowerhouse.md +1 -1
- package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/06-Analytics Engine/graphql/index.md +1 -1
- package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/05-Launch/02-IntroductionToPackages.md +2 -2
- package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/05-Launch/03-RunOnACloudServer.md +3 -3
- package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/05-Launch/03-SetupEnvironment.md +1 -1
- package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/_category_.json +1 -1
- package/docs/academy/04-APIReferences/00-PowerhouseCLI.md +740 -0
- package/docs/academy/04-APIReferences/01-ReactHooks.md +16 -0
- package/docs/academy/04-APIReferences/02-ReactorAPI.md +1 -0
- package/docs/academy/04-APIReferences/03-Configuration.md +64 -0
- package/docs/academy/{04-ComponentLibrary/01-PowerhouseDesignSystem.md → 06-ComponentLibrary/00-DocumentEngineering.md} +8 -8
- package/docs/academy/{04-ComponentLibrary → 06-ComponentLibrary}/02-BuildingWithScalars.md +2 -2
- package/docs/academy/{04-ComponentLibrary → 06-ComponentLibrary}/03-Scalar-Components/01-phid-field.mdx +1 -1
- package/docs/academy/{06-Cookbook.md → 07-Cookbook.md} +24 -18
- package/docs/academy/08-Glossary.md +82 -0
- package/docusaurus.config.ts +7 -14
- package/package.json +11 -8
- package/scripts/generate-combined-cli-docs.ts +80 -0
- package/sidebars.ts +100 -14
- package/src/components/HomepageFeatures/index.tsx +10 -10
- package/src/css/custom.css +11 -0
- package/src/pages/{index.tsx → _archive-homepage.tsx} +1 -1
- package/src/theme/DocCardList/index.tsx +30 -0
- package/static/img/storybook-icon.svg +18 -0
- package/docs/academy/01-GetStarted/01-InstallDemoPackage.md +0 -38
- package/docs/academy/01-GetStarted/02-LoginWithRenown.md +0 -32
- package/docs/academy/01-GetStarted/03-ToDoList/02-DefineToDoListDocumentModel.md +0 -86
- package/docs/academy/01-GetStarted/03-ToDoList/_category_.json +0 -8
- package/docs/academy/01-GetStarted/_category_.json +0 -3
- package/docs/academy/02-AdvancedTutorial/01-Create/02-MoreTutorials/_category_.json +0 -8
- package/docs/academy/02-AdvancedTutorial/01-Create/02-StandardDocumentModelWorkflow.md +0 -229
- package/docs/academy/03-APIReferences/00-PowerhouseCLI.md +0 -40
- package/docs/academy/03-APIReferences/01-ReactHooks.md +0 -3
- package/docs/academy/03-APIReferences/02-ReactorUsage.md +0 -1
- package/docs/academy/07-Glossary.md +0 -53
- /package/docs/academy/01-GetStarted/{03-ToDoList/images → images}/DocumentModelHeader.png +0 -0
- /package/docs/academy/01-GetStarted/{03-ToDoList/images → images}/DocumentModelOperations.png +0 -0
- /package/docs/academy/01-GetStarted/{03-ToDoList/images → images}/OpenDocumentModelEditor.gif +0 -0
- /package/docs/academy/01-GetStarted/{03-ToDoList/images → images}/completeEditor.png +0 -0
- /package/docs/academy/01-GetStarted/{03-ToDoList/images → images}/connectApp.gif +0 -0
- /package/docs/academy/01-GetStarted/{03-ToDoList/images → images}/form.png +0 -0
- /package/docs/academy/01-GetStarted/{03-ToDoList/images → images}/mytodolist.gif +0 -0
- /package/docs/academy/01-GetStarted/{03-ToDoList/images → images}/reducers.png +0 -0
- /package/docs/academy/01-GetStarted/{03-ToDoList/images → images}/vscode.png +0 -0
- /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/03-BuildingUserExperiences/01-BuildingBeautifulDocumentEditors.md +0 -0
- /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/03-BuildingUserExperiences/07-DocumentTools/02-RevisionHistoryTimeline.md +0 -0
- /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/03-BuildingUserExperiences/07-DocumentTools/_category_.json +0 -0
- /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/03-BuildingUserExperiences/07-DocumentTools/images/committer-address-popup.png +0 -0
- /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/03-BuildingUserExperiences/07-DocumentTools/images/revision-hash-popup.png +0 -0
- /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/03-BuildingUserExperiences/07-DocumentTools/images/revision-history-list.png +0 -0
- /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/03-BuildingUserExperiences/07-DocumentTools/images/signature-details-popup.png +0 -0
- /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/03-BuildingUserExperiences/08-Authorization/01-RenownAuthenticationFlow.md +0 -0
- /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/03-BuildingUserExperiences/08-Authorization/02-Authorization.md +0 -0
- /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/03-BuildingUserExperiences/08-Authorization/_category_.json +0 -0
- /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/03-BuildingUserExperiences/08-Authorization/images/ConnectAddress.png +0 -0
- /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/03-BuildingUserExperiences/08-Authorization/images/LoginComplete.png +0 -0
- /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/03-BuildingUserExperiences/08-Authorization/images/OperationsHistory.png +0 -0
- /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/03-BuildingUserExperiences/08-Authorization/images/RenownLogin.png +0 -0
- /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/03-BuildingUserExperiences/08-Authorization/images/ReturnToConnect.png +0 -0
- /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/03-BuildingUserExperiences/_category_.json +0 -0
- /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/03-BuildingUserExperiences/images/CreateDrive.png +0 -0
- /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/03-BuildingUserExperiences/images/CreateNewDrive.png +0 -0
- /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/03-BuildingUserExperiences/images/mytodolist.gif +0 -0
- /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/03-WorkingWithSubgraphs/02-GraphQLAndSubgraphs.mdx +0 -0
- /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/03-WorkingWithSubgraphs/03-WorkingWithSubgraphs.md +0 -0
- /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/03-WorkingWithSubgraphs/_category_.json +0 -0
- /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/04-analytics-processor.md +0 -0
- /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/05-AnalyticsProcessorTutorial/01-SetupBuilderEnvironment.md +0 -0
- /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/05-AnalyticsProcessorTutorial/02-CreateNewPowerhouseProject.md +0 -0
- /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/05-AnalyticsProcessorTutorial/03-GenerateAnAnalyticsProcessor.md +0 -0
- /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/05-AnalyticsProcessorTutorial/04-UpdateAnalyticsProcessor.md +0 -0
- /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/05-AnalyticsProcessorTutorial/_category_.json +0 -0
- /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/05-AnalyticsProcessorTutorial/images/Create-SPV.gif +0 -0
- /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/05-AnalyticsProcessorTutorial/images/Create-a-new-asset.png +0 -0
- /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/05-AnalyticsProcessorTutorial/images/Create-a-transaction.gif +0 -0
- /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/05-AnalyticsProcessorTutorial/images/Transaction-table.png +0 -0
- /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/05-AnalyticsProcessorTutorial/images/create-a-new-RWA-document.gif +0 -0
- /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/05-AnalyticsProcessorTutorial/images/granularity.png +0 -0
- /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/06-Analytics Engine/GraphQL References/QueryingADocumentWithGraphQL.md +0 -0
- /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/06-Analytics Engine/GraphQL References/rwa-reports/listener-raw.png +0 -0
- /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/06-Analytics Engine/GraphQL References/rwa-reports/raw-reports1.png +0 -0
- /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/06-Analytics Engine/GraphQL References/rwa-reports/raw-reports2.png +0 -0
- /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/06-Analytics Engine/GraphQL References/rwa-reports/rwaRegister.png +0 -0
- /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/06-Analytics Engine/apse.png +0 -0
- /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/06-Analytics Engine/best-practices.md +0 -0
- /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/06-Analytics Engine/filter.png +0 -0
- /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/06-Analytics Engine/filteroptions.png +0 -0
- /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/06-Analytics Engine/graphql/integration.md +0 -0
- /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/06-Analytics Engine/images/dbs.png +0 -0
- /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/06-Analytics Engine/images/high-level.jpg +0 -0
- /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/06-Analytics Engine/images/indexeddb.png +0 -0
- /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/06-Analytics Engine/images/libs-core.jpg +0 -0
- /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/06-Analytics Engine/images/libs.jpg +0 -0
- /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/06-Analytics Engine/images/lod.jpg +0 -0
- /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/06-Analytics Engine/images/logo.png +0 -0
- /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/06-Analytics Engine/images/navbar.png +0 -0
- /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/06-Analytics Engine/images/overview-1.jpg +0 -0
- /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/06-Analytics Engine/images/overview-2.jpg +0 -0
- /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/06-Analytics Engine/images/overview-3.jpg +0 -0
- /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/06-Analytics Engine/images/overview-4.jpg +0 -0
- /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/06-Analytics Engine/images/overview-5.jpg +0 -0
- /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/06-Analytics Engine/images/overview-6.jpg +0 -0
- /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/06-Analytics Engine/images/paths-1.jpg +0 -0
- /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/06-Analytics Engine/images/paths-2.jpg +0 -0
- /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/06-Analytics Engine/intro.md +0 -0
- /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/06-Analytics Engine/typescript/benchmarks.md +0 -0
- /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/06-Analytics Engine/typescript/browser.md +0 -0
- /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/06-Analytics Engine/typescript/compatibility.md +0 -0
- /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/06-Analytics Engine/typescript/index.md +0 -0
- /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/06-Analytics Engine/typescript/memory.md +0 -0
- /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/06-Analytics Engine/typescript/pg.md +0 -0
- /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/06-Analytics Engine/typescript/schema.md +0 -0
- /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/06-Analytics Engine/typescript/utilities.md +0 -0
- /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/06-Analytics Engine/use-cases/index.md +0 -0
- /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/06-Analytics Engine/use-cases/maker.md +0 -0
- /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/06-Analytics Engine/use-cases/processors.md +0 -0
- /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/_category_.json +0 -0
- /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/images/OperationHistory.png +0 -0
- /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/images/OperationsQuery.png +0 -0
- /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/images/QueryDocumentID.png +0 -0
- /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/images/SwitchboardButton.png +0 -0
- /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/05-Launch/00-IntegrateInAFront-End +0 -0
- /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/05-Launch/01-IntroducingFusion +0 -0
- /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/05-Launch/02-PublishYourProject.md +0 -0
- /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/05-Launch/04-GraphQLNamespacing +0 -0
- /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/05-Launch/05-LaunchYourBackend.md +0 -0
- /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/05-Launch/06-LaunchYourFrontend.md +0 -0
- /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/05-Launch/_category_.json +0 -0
- /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/05-Launch/images/SSHConnection.png +0 -0
- /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/05-Launch/images/homedesign.png +0 -0
- /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/05-Launch/images/keyconcepts.png +0 -0
- /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/05-Launch/images/tutorialschema.png +0 -0
- /package/docs/academy/{02-AdvancedTutorial/01-Create/02-MoreTutorials → 03-ExampleUsecases}/Chatroom/01-SetupBuilderEnvironment.md +0 -0
- /package/docs/academy/{02-AdvancedTutorial/01-Create/02-MoreTutorials → 03-ExampleUsecases}/Chatroom/02-CreateNewPowerhouseProject.md +0 -0
- /package/docs/academy/{02-AdvancedTutorial/01-Create/02-MoreTutorials → 03-ExampleUsecases}/Chatroom/03-DefineChatroomDocumentModel.md +0 -0
- /package/docs/academy/{02-AdvancedTutorial/01-Create/02-MoreTutorials → 03-ExampleUsecases}/Chatroom/04-ImplementOperationReducers.md +0 -0
- /package/docs/academy/{02-AdvancedTutorial/01-Create/02-MoreTutorials → 03-ExampleUsecases}/Chatroom/05-ImplementChatroomEditor.md +0 -0
- /package/docs/academy/{02-AdvancedTutorial/01-Create/02-MoreTutorials → 03-ExampleUsecases}/Chatroom/06-LaunchALocalReactor.md +0 -0
- /package/docs/academy/{02-AdvancedTutorial/01-Create/02-MoreTutorials → 03-ExampleUsecases}/Chatroom/_category_.json +0 -0
- /package/docs/academy/{02-AdvancedTutorial/01-Create/02-MoreTutorials → 03-ExampleUsecases}/Chatroom/image-1.png +0 -0
- /package/docs/academy/{02-AdvancedTutorial/01-Create/02-MoreTutorials → 03-ExampleUsecases}/Chatroom/image-2.png +0 -0
- /package/docs/academy/{02-AdvancedTutorial/01-Create/02-MoreTutorials → 03-ExampleUsecases}/Chatroom/image-3.png +0 -0
- /package/docs/academy/{02-AdvancedTutorial/01-Create/02-MoreTutorials → 03-ExampleUsecases}/Chatroom/image-4.png +0 -0
- /package/docs/academy/{02-AdvancedTutorial/01-Create/02-MoreTutorials → 03-ExampleUsecases}/Chatroom/image-5.png +0 -0
- /package/docs/academy/{02-AdvancedTutorial/01-Create/02-MoreTutorials → 03-ExampleUsecases}/Chatroom/image.png +0 -0
- /package/docs/academy/{02-AdvancedTutorial/01-Create/02-MoreTutorials → 03-ExampleUsecases}/Chatroom/images/ChatRoomConnectApp.gif +0 -0
- /package/docs/academy/{02-AdvancedTutorial/01-Create/02-MoreTutorials → 03-ExampleUsecases}/Chatroom/images/ChatRoomTest.gif +0 -0
- /package/docs/academy/{02-AdvancedTutorial/01-Create/02-MoreTutorials → 03-ExampleUsecases}/Chatroom/images/completeEditor.png +0 -0
- /package/docs/academy/{02-AdvancedTutorial/01-Create/02-MoreTutorials → 03-ExampleUsecases}/Chatroom/images/form.png +0 -0
- /package/docs/academy/{02-AdvancedTutorial/01-Create/02-MoreTutorials → 03-ExampleUsecases}/Chatroom/images/reducers.png +0 -0
- /package/docs/academy/{02-AdvancedTutorial/01-Create/02-MoreTutorials → 03-ExampleUsecases}/Chatroom/images/vscode.png +0 -0
- /package/docs/academy/{03-APIReferences → 04-APIReferences}/_category_.json +0 -0
- /package/docs/academy/05-Architecture/05-DocumentModelTheory/{01-WhatIsADocumentModel.md → 01-WhatIsADocumentModel} +0 -0
- /package/docs/academy/05-Architecture/05-DocumentModelTheory/{02-DAOandDocumentsModelsQ+A.md → 02-DAOandDocumentsModelsQ+A} +0 -0
- /package/docs/academy/05-Architecture/05-DocumentModelTheory/{02-domain-modeling.md → 02-domain-modeling} +0 -0
- /package/docs/academy/05-Architecture/05-DocumentModelTheory/{03-BenefitsOfDocumentModels.md → 03-BenefitsOfDocumentModels} +0 -0
- /package/docs/academy/{02-AdvancedTutorial/01-Create/02-MoreTutorials/04-UtilitiesAndTips.md → 05-Architecture/05-DocumentModelTheory/04-UtilitiesAndTips} +0 -0
- /package/docs/academy/05-Architecture/05-DocumentModelTheory/{05-best-practices.md → 05-best-practices} +0 -0
- /package/docs/academy/{04-ComponentLibrary/00-StorybookLink → 06-ComponentLibrary/01-StorybookLink} +0 -0
- /package/docs/academy/{04-ComponentLibrary → 06-ComponentLibrary}/03-Scalar-Components/02-input-field.mdx +0 -0
- /package/docs/academy/{04-ComponentLibrary → 06-ComponentLibrary}/04-Complex-Components/01-sidebar.mdx +0 -0
- /package/docs/academy/{04-ComponentLibrary → 06-ComponentLibrary}/05-Layout-Components/01-test-toupdate.mdx +0 -0
- /package/docs/academy/{04-ComponentLibrary → 06-ComponentLibrary}/06-Fragments/01-test-toupdate.mdx +0 -0
- /package/docs/academy/{04-ComponentLibrary → 06-ComponentLibrary}/_category_.json +0 -0
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# React Hooks (WIP)
|
|
2
|
+
|
|
3
|
+
### Hook Name and Signature
|
|
4
|
+
The name of the hook and its TypeScript (or JavaScript) signature.
|
|
5
|
+
### Description
|
|
6
|
+
A brief explanation of what the hook does and when to use it.
|
|
7
|
+
### Usage Example
|
|
8
|
+
A code snippet showing how to use the hook in a real-world scenario.
|
|
9
|
+
### Parameters
|
|
10
|
+
A table or list describing each parameter, its type, and its purpose.
|
|
11
|
+
### Return Value
|
|
12
|
+
A description (and sometimes a table) of what the hook returns.
|
|
13
|
+
### Notes / Caveats
|
|
14
|
+
Any important details, gotchas, or best practices.
|
|
15
|
+
### Related Hooks
|
|
16
|
+
Links to other relevant hooks or documentation.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# Reactor API (WIP)
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# Configuration (WIP)
|
|
2
|
+
|
|
3
|
+
This section describes the configuration options and feature flags available in the application. These settings allow you to customize the behavior of the app for your environment.
|
|
4
|
+
|
|
5
|
+
## Table of Contents
|
|
6
|
+
|
|
7
|
+
1. [Introduction](#introduction)
|
|
8
|
+
2. [How to Configure](#how-to-configure)
|
|
9
|
+
3. [Configuration Options](#configuration-options)
|
|
10
|
+
4. [Feature Flags](#feature-flags)
|
|
11
|
+
5. [Best Practices](#best-practices)
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## Introduction
|
|
16
|
+
|
|
17
|
+
Configuration options and feature flags allow administrators and developers to enable, disable, or customize features in the application. They can be set via environment variables, configuration files, or the admin dashboard.
|
|
18
|
+
|
|
19
|
+
## How to Configure
|
|
20
|
+
|
|
21
|
+
- **Environment Variables:** Set in your `.env` file or deployment environment.
|
|
22
|
+
- **Config File:** Edit `config.json` in the root directory.
|
|
23
|
+
- **Admin UI:** Navigate to Settings > Advanced.
|
|
24
|
+
|
|
25
|
+
Changes may require a server restart to take effect.
|
|
26
|
+
|
|
27
|
+
## Configuration Options
|
|
28
|
+
|
|
29
|
+
| Name | Description | Default | Possible Values | Example |
|
|
30
|
+
|---------------------|------------------------------------|---------|---------------------|------------------------|
|
|
31
|
+
| `APP_PORT` | Port the server listens on | `3000` | Any valid port | `APP_PORT=8080` |
|
|
32
|
+
| `LOG_LEVEL` | Logging verbosity | `info` | `debug`, `info`, `warn`, `error` | `LOG_LEVEL=debug` |
|
|
33
|
+
| `ENABLE_SIGNUP` | Allow new user registrations | `true` | `true`, `false` | `ENABLE_SIGNUP=false` |
|
|
34
|
+
|
|
35
|
+
## Feature Flags
|
|
36
|
+
|
|
37
|
+
| Flag Name | Description | Default | Example |
|
|
38
|
+
|---------------------|------------------------------------|---------|---------------------|
|
|
39
|
+
| `FEATURE_BETA_UI` | Enable the new beta user interface | `false` | `FEATURE_BETA_UI=true` |
|
|
40
|
+
| `FEATURE_XYZ` | Enable experimental XYZ feature | `false` | `FEATURE_XYZ=true` |
|
|
41
|
+
|
|
42
|
+
## Best Practices
|
|
43
|
+
|
|
44
|
+
- Only enable experimental features in staging environments.
|
|
45
|
+
- Document any changes to configuration for your team.
|
|
46
|
+
- Review security implications before enabling/disabling features.
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
###Introduction
|
|
51
|
+
What are configuration options/toggles/flags?
|
|
52
|
+
How are they set (e.g., environment variables, config files, admin UI)?
|
|
53
|
+
###List of Options
|
|
54
|
+
Name
|
|
55
|
+
Description
|
|
56
|
+
Default value
|
|
57
|
+
Possible values
|
|
58
|
+
Example usage
|
|
59
|
+
(Optional) Who should use it (admin, developer, etc.)
|
|
60
|
+
###How to Change
|
|
61
|
+
Where/how to set them (UI, .env, config file, etc.)
|
|
62
|
+
When changes take effect (immediately, after restart, etc.)
|
|
63
|
+
###Best Practices / Warnings
|
|
64
|
+
Security, performance, or stability notes
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
# Document-Engineering
|
|
1
|
+
# Document-Engineering
|
|
2
2
|
|
|
3
|
-
The reusable components are a set of of front-end components based on graphQL scalars.
|
|
3
|
+
The reusable components in the Document-Engineering design system are a set of of front-end components based on graphQL scalars.
|
|
4
4
|
Powerhouse also has a set of custom scalars that are not part of the graphQL standard but are specific to the web3 ecosystem.
|
|
5
|
-
These components are offered through the **Powerhouse
|
|
5
|
+
These components are offered through the **Powerhouse Document-Engineering design system** with the help of storybook & the Academy documentation.
|
|
6
6
|
|
|
7
7
|
It provides a collection of pre-built, reusable UI components designed for consistency and efficiency across Powerhouse applications and editors. Think of it as a toolkit of standard UI elements like buttons, inputs, and checkboxes with many of these components based on graphql scalars.
|
|
8
8
|
|
|
@@ -51,7 +51,7 @@ We use Storybook as an interactive catalog for our design system components. It
|
|
|
51
51
|
|
|
52
52
|
## Implementing a Component
|
|
53
53
|
|
|
54
|
-
Let's walk through the typical workflow for using a component from the document-engineering system, using the `Checkbox` from the [To-do List editor](/
|
|
54
|
+
Let's walk through the typical workflow for using a component from the document-engineering system, using the `Checkbox` from the [To-do List editor](/academy/GetStarted/BuildToDoListEditor).
|
|
55
55
|
|
|
56
56
|
1. **Identify the Need:** While building your feature (e.g., the To-do List editor in `editor.tsx`), you determine the need for a standard UI element, like a checkbox.
|
|
57
57
|
2. **Consult the Resuable Components in Academy or in Storybook:**
|
|
@@ -61,11 +61,11 @@ Let's walk through the typical workflow for using a component from the document-
|
|
|
61
61
|
* Examine the "Usage" snippet and the **Props table** to understand the basic implementation and available configuration options (`label`, `value`, `onChange`, etc.).
|
|
62
62
|
3. **Import the Component:** In your code editor, open the relevant file (e.g., `editors/to-do-list/editor.tsx`). Add an import statement at the top to bring the component into your file's scope:
|
|
63
63
|
```typescript
|
|
64
|
-
import { Checkbox } from '@powerhousedao/
|
|
64
|
+
import { Checkbox } from '@powerhousedao/document-engineering/scalars';
|
|
65
65
|
// Or import other components as needed:
|
|
66
|
-
// import { Checkbox, InputField, Button } from '@powerhousedao/
|
|
66
|
+
// import { Checkbox, InputField, Button } from '@powerhousedao/document-engineering/scalars';
|
|
67
67
|
```
|
|
68
|
-
This line instructs the build process to locate the `Checkbox` component within the installed `@powerhousedao/
|
|
68
|
+
This line instructs the build process to locate the `Checkbox` component within the installed `@powerhousedao/document-engineering/scalars` package and make it available for use.
|
|
69
69
|
4. **Use and Configure the Component:** Place the component tag in your JSX where needed. Use the information from Storybook (usage snippet and props table) as a guide, but adapt the props to your specific requirements within `editor.tsx`:
|
|
70
70
|
```typescript
|
|
71
71
|
// Example from the To-do List Editor:
|
|
@@ -87,7 +87,7 @@ Let's walk through the typical workflow for using a component from the document-
|
|
|
87
87
|
|
|
88
88
|
**Storybook vs. Source Code:**
|
|
89
89
|
|
|
90
|
-
Storybook serves as essential documentation and a usage guide. Our developers write Storybook "stories" to demonstrate components and document their common props. However, the **ultimate source of truth** for a component's capabilities is its actual source code (e.g., the `.tsx` file within the `@powerhousedao/
|
|
90
|
+
Storybook serves as essential documentation and a usage guide. Our developers write Storybook "stories" to demonstrate components and document their common props. However, the **ultimate source of truth** for a component's capabilities is its actual source code (e.g., the `.tsx` file within the `@powerhousedao/document-engineering/scalars` package).
|
|
91
91
|
While Storybook aims for accuracy, there might occasionally be discrepancies or undocumented props.
|
|
92
92
|
|
|
93
93
|
Please don't hesitate to reach out in our discord channels with any questions.
|
|
@@ -23,10 +23,10 @@ type MyType {
|
|
|
23
23
|
|
|
24
24
|
## React Component Implementation in the Frontend
|
|
25
25
|
|
|
26
|
-
All of our reusable components are available in the design system library or package.
|
|
26
|
+
All of our reusable components are available in the Document-Engineering design system library or package.
|
|
27
27
|
This package comes as a dependency in your project when creating a new document model project.
|
|
28
28
|
````
|
|
29
|
-
import PHIDField from '
|
|
29
|
+
import PHIDField from 'document-engineering'
|
|
30
30
|
const reactComponent = () => {
|
|
31
31
|
|
|
32
32
|
return (
|
|
@@ -61,7 +61,7 @@ Additionally, you'll find various **stories of the components in different state
|
|
|
61
61
|
marginBottom: '20px',
|
|
62
62
|
}}>
|
|
63
63
|
<iframe
|
|
64
|
-
src="https://storybook.powerhouse.academy/iframe.html?id=
|
|
64
|
+
src="https://storybook.powerhouse.academy/iframe.html?id=scalars-phid-field--readme&viewMode=story"
|
|
65
65
|
style={{
|
|
66
66
|
width: '100%',
|
|
67
67
|
height: '4500px',
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
# Cookbook
|
|
2
2
|
|
|
3
3
|
## Powerhouse CLI Recipes
|
|
4
|
+
This section covers recipes related to the `ph-cmd`, the command-line tool for Powerhouse project initialization, code generation, package management, and running local development environments.
|
|
4
5
|
|
|
5
6
|
<details id="installing-ph-cmd">
|
|
6
7
|
<summary>Installing 'ph-cmd'</summary>
|
|
@@ -53,7 +54,7 @@ pnpm install -g ph-cmd@<version>
|
|
|
53
54
|
- [Setting up or Resetting the Global Powerhouse Configuration](#setting-up-or-resetting-the-global-powerhouse-configuration)
|
|
54
55
|
|
|
55
56
|
## Further Reading
|
|
56
|
-
- [Powerhouse Builder Tools](/
|
|
57
|
+
- [Powerhouse Builder Tools](/academy/MasteryTrack/BuilderEnvironment/BuilderTools)
|
|
57
58
|
</details>
|
|
58
59
|
|
|
59
60
|
<details id="uninstalling-ph-cmd">
|
|
@@ -94,8 +95,8 @@ rm -rf ~/.ph
|
|
|
94
95
|
- [Setting up or Resetting the Global Powerhouse Configuration](#setting-up-or-resetting-the-global-powerhouse-configuration)
|
|
95
96
|
|
|
96
97
|
## Further Reading
|
|
97
|
-
- [Powerhouse Builder Tools](/
|
|
98
|
-
- [Create A New Powerhouse Project](/
|
|
98
|
+
- [Powerhouse Builder Tools](/academy/MasteryTrack/BuilderEnvironment/BuilderTools)
|
|
99
|
+
- [Create A New Powerhouse Project](/academy/GetStarted/CreateNewPowerhouseProject)
|
|
99
100
|
</details>
|
|
100
101
|
|
|
101
102
|
<details id="setting-up-or-resetting-the-global-powerhouse-configuration">
|
|
@@ -153,8 +154,8 @@ ph use staging
|
|
|
153
154
|
- [Using Different Branches in Powerhouse](#using-different-branches-in-powerhouse)
|
|
154
155
|
|
|
155
156
|
## Further Reading
|
|
156
|
-
- [Powerhouse Builder Tools](/
|
|
157
|
-
- [GraphQL Schema Best Practices](/
|
|
157
|
+
- [Powerhouse Builder Tools](/academy/MasteryTrack/BuilderEnvironment/BuilderTools)
|
|
158
|
+
- [GraphQL Schema Best Practices](/academy/MasteryTrack/WorkWithData/GraphQLAtPowerhouse)
|
|
158
159
|
</details>
|
|
159
160
|
|
|
160
161
|
<details id="using-different-branches-in-powerhouse">
|
|
@@ -232,7 +233,7 @@ ph use prod
|
|
|
232
233
|
- [Setting up or Resetting the Global Powerhouse Configuration](#setting-up-or-resetting-the-global-powerhouse-configuration)
|
|
233
234
|
|
|
234
235
|
## Further Reading
|
|
235
|
-
- [Powerhouse Builder Tools](/
|
|
236
|
+
- [Powerhouse Builder Tools](/academy/MasteryTrack/BuilderEnvironment/BuilderTools)
|
|
236
237
|
</details>
|
|
237
238
|
|
|
238
239
|
<details id="using-different-package-managers-with-powerhouse">
|
|
@@ -331,12 +332,13 @@ ph init --package-manager pnpm
|
|
|
331
332
|
- [Setting up or Resetting the Global Powerhouse Configuration](#setting-up-or-resetting-the-global-powerhouse-configuration)
|
|
332
333
|
|
|
333
334
|
## Further Reading
|
|
334
|
-
- [Powerhouse Builder Tools](/
|
|
335
|
+
- [Powerhouse Builder Tools](/academy/MasteryTrack/BuilderEnvironment/BuilderTools)
|
|
335
336
|
- [Yarn Global Installation Guide](https://classic.yarnpkg.com/lang/en/docs/cli/global/)
|
|
336
337
|
- [Bun Installation Guide](https://bun.sh/docs/installation#how-to-add-your-path)
|
|
337
338
|
</details>
|
|
338
339
|
|
|
339
340
|
## Powerhouse Project Recipes
|
|
341
|
+
This section focuses on creating, configuring, and managing Powerhouse projects, which are collections of document models, editors, and other resources.
|
|
340
342
|
|
|
341
343
|
<details id="initializing-a-new-project-and-document-model">
|
|
342
344
|
<summary>Initializing a New Project & Document Model</summary>
|
|
@@ -402,8 +404,8 @@ In the "New Document" section at the bottom of the page, click the `DocumentMode
|
|
|
402
404
|
- Implementing Document Model Reducers (Details to be added)
|
|
403
405
|
|
|
404
406
|
## Further Reading
|
|
405
|
-
- [Domain Modeling Guide](/
|
|
406
|
-
- [GraphQL Schema Best Practices](/
|
|
407
|
+
- [Domain Modeling Guide](/domain-modeling)
|
|
408
|
+
- [GraphQL Schema Best Practices](/academy/MasteryTrack/WorkWithData/GraphQLAtPowerhouse)
|
|
407
409
|
</details>
|
|
408
410
|
|
|
409
411
|
<details id="generating-reducers-from-a-document-model-file">
|
|
@@ -450,7 +452,7 @@ The command will output the generated reducer scaffolding code in the designated
|
|
|
450
452
|
- Generating a Document Editor
|
|
451
453
|
|
|
452
454
|
## Further Reading
|
|
453
|
-
- [Domain Modeling Guide](/
|
|
455
|
+
- [Domain Modeling Guide](/domain-modeling)
|
|
454
456
|
|
|
455
457
|
</details>
|
|
456
458
|
|
|
@@ -543,12 +545,13 @@ You might encounter a browser warning about the self-signed certificate; you may
|
|
|
543
545
|
- [Initializing a New Project & Document Model](#initializing-a-new-project-and-document-model)
|
|
544
546
|
|
|
545
547
|
## Further Reading
|
|
546
|
-
- [Powerhouse Builder Tools](/
|
|
547
|
-
- [GraphQL Schema Best Practices](/
|
|
548
|
+
- [Powerhouse Builder Tools](/academy/MasteryTrack/BuilderEnvironment/BuilderTools)
|
|
549
|
+
- [GraphQL Schema Best Practices](/academy/MasteryTrack/WorkWithData/GraphQLAtPowerhouse)
|
|
548
550
|
</details>
|
|
549
551
|
|
|
550
552
|
|
|
551
553
|
## Document & Drive Editor recipes
|
|
554
|
+
This section provides guidance on generating and customizing editors for Document Models and custom interfaces for Drives.
|
|
552
555
|
|
|
553
556
|
<details id="generating-a-document-editor">
|
|
554
557
|
<summary>Generating a Document Editor</summary>
|
|
@@ -591,7 +594,7 @@ ph generate --editor <ModelName> --document-types <docType>
|
|
|
591
594
|
- [Generating a Custom Drive Explorer](#generating-a-custom-drive-explorer)
|
|
592
595
|
|
|
593
596
|
## Further Reading
|
|
594
|
-
- [Build a Todo-list Editor](/
|
|
597
|
+
- [Build a Todo-list Editor](/academy/GetStarted/BuildToDoListEditor)
|
|
595
598
|
</details>
|
|
596
599
|
|
|
597
600
|
<details id="generating-a-custom-drive-explorer">
|
|
@@ -633,7 +636,7 @@ ph generate --drive-editor <drive-app-name>
|
|
|
633
636
|
- [Generating a Document Editor](#generating-a-document-editor)
|
|
634
637
|
|
|
635
638
|
## Further Reading
|
|
636
|
-
- [Build a Drive-Explorer](/
|
|
639
|
+
- [Build a Drive-Explorer](/academy/MasteryTrack/BuildingUserExperiences/BuildingADriveExplorer)
|
|
637
640
|
</details>
|
|
638
641
|
|
|
639
642
|
<details id="adding-a-new-drive-via-graphql-mutation">
|
|
@@ -709,17 +712,18 @@ Use the constructed URL to add or access the drive in your Connect environment.
|
|
|
709
712
|
- The drive can be managed or accessed using the generated URL.
|
|
710
713
|
|
|
711
714
|
## Related Recipes
|
|
712
|
-
- [Configuring Drives](/
|
|
715
|
+
- [Configuring Drives](/academy/MasteryTrack/BuildingUserExperiences/ConfiguringDrives)
|
|
713
716
|
- [Initializing a New Project & Document Model](#initializing-a-new-project-and-document-model)
|
|
714
717
|
|
|
715
718
|
## Further Reading
|
|
716
719
|
- [GraphQL Playground](https://www.apollographql.com/docs/apollo-server/testing/graphql-playground/)
|
|
717
|
-
- [Powerhouse Builder Tools](/
|
|
720
|
+
- [Powerhouse Builder Tools](/academy/MasteryTrack/BuilderEnvironment/BuilderTools)
|
|
718
721
|
|
|
719
722
|
</details>
|
|
720
723
|
|
|
721
724
|
|
|
722
725
|
## Reactor Recipes
|
|
726
|
+
Learn how to manage the Powerhouse Reactor, the local service for processing document model operations and state.
|
|
723
727
|
|
|
724
728
|
<details id="starting-the-reactor">
|
|
725
729
|
<summary>Starting the Reactor</summary>
|
|
@@ -767,6 +771,7 @@ ph reactor
|
|
|
767
771
|
</details>
|
|
768
772
|
|
|
769
773
|
## Package Development Recipes
|
|
774
|
+
These recipes guide you through creating, installing, and managing Powerhouse Packages, which are reusable collections of document models and editors.
|
|
770
775
|
|
|
771
776
|
<details id="installing-a-custom-powerhouse-package">
|
|
772
777
|
<summary>Installing a Custom Powerhouse Package</summary>
|
|
@@ -917,12 +922,13 @@ You need to understand and manage different types of dependencies in your Powerh
|
|
|
917
922
|
- [Setting up or Resetting the Global Powerhouse Configuration](#setting-up-or-resetting-the-global-powerhouse-configuration)
|
|
918
923
|
|
|
919
924
|
## Further Reading
|
|
920
|
-
- [Powerhouse Builder Tools](/
|
|
921
|
-
- [GraphQL Schema Best Practices](/
|
|
925
|
+
- [Powerhouse Builder Tools](/academy/MasteryTrack/BuilderEnvironment/BuilderTools)
|
|
926
|
+
- [GraphQL Schema Best Practices](/academy/MasteryTrack/WorkWithData/GraphQLAtPowerhouse)
|
|
922
927
|
|
|
923
928
|
</details>
|
|
924
929
|
|
|
925
930
|
## Data Synchronisation Recipes
|
|
931
|
+
This section helps troubleshoot and understand data synchronization within the Powerhouse ecosystem, including interactions between different services and components.
|
|
926
932
|
|
|
927
933
|
<details id="troubleshooting-document-syncing">
|
|
928
934
|
<summary>Troubleshooting Document Syncing: Supergraph vs. Drive Endpoints</summary>
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
# Glossary
|
|
2
|
+
|
|
3
|
+
## General Terms
|
|
4
|
+
- **Powerhouse** – A network organization that provides open-source software and services to support decentralized operations for other network organizations.
|
|
5
|
+
- **Scalable Network Organization (SNO)** – A network organization structured according to the Powerhouse framework, designed for sustainable and scalable growth.
|
|
6
|
+
- **Powerhouse Ecosystem** – The overall environment of Powerhouse tools, applications (like Connect), concepts (document models, packages), and services.
|
|
7
|
+
|
|
8
|
+
## Technology & Framework
|
|
9
|
+
- **CQRS (Command Query Responsibility Segregation)** – A pattern that separates read and write operations to improve scalability.
|
|
10
|
+
- **Event Sourcing** – A method of storing system state as a sequence of immutable events rather than modifying a single record.
|
|
11
|
+
|
|
12
|
+
## Software Components
|
|
13
|
+
- **Reactor** – A storage node for Powerhouse documents and files with multiple storage adapters (local, cloud, decentralized).
|
|
14
|
+
- **Powerhouse Switchboard** – A scalable API service that aggregates and processes document data.
|
|
15
|
+
- **Powerhouse Fusion** – A platform front-end that hosts the public marketplace for SNO interactions.
|
|
16
|
+
- **Powerhouse Renown** – A decentralized authentication system managing contributor reputation.
|
|
17
|
+
- **Powerhouse Academy** – A training platform for onboarding and upskilling SNO contributors.
|
|
18
|
+
- **Connect** – The contributor's public or private workspace, serving as the entry point for individual contributors to install apps and packages for specific business solutions.
|
|
19
|
+
- **Powergrid** – A decentralized network of reactors that sync with each other.
|
|
20
|
+
- **ph-cmd (Powerhouse CLI)** – The command-line tool for Powerhouse project initialization, code generation, package management, and running local development environments (Connect Studio).
|
|
21
|
+
- **Connect App (Connect Studio)** – The primary Powerhouse application for defining document models, building/testing editors (in Studio mode), and collaborating on documents.
|
|
22
|
+
- **Document Tools** – Built-in features within Powerhouse applications (e.g., Connect) that assist with document management, inspection, and interaction, such as Operations History.
|
|
23
|
+
- **Operations History** – A Document Tool in Connect providing a chronological, immutable log of all operations on a document for traceability.
|
|
24
|
+
- **Studio mode** – The local development mode of the Connect App (`ph connect`), for real-time document model definition, editor building, and testing.
|
|
25
|
+
- **Renown (Login Flow)** – The Powerhouse decentralized login process using an Ethereum wallet signature to generate/retrieve a user's DID for secure, pseudonymous actions.
|
|
26
|
+
- **Powerhouse Switchboard (Verifier Role)** – A function of Powerhouse Switchboard that validates DIDs and credentials for operations submitted via Connect, ensuring they are authorized.
|
|
27
|
+
|
|
28
|
+
## Development & Data Modeling
|
|
29
|
+
- **Action Creators (for Document Operations)** – Auto-generated helper functions creating structured "action" objects for dispatching operations to a document model's reducer.
|
|
30
|
+
- **Actions (Document Actions)** – Typed objects representing an intent to change a document's state, dispatched to reducers, containing an operation type and input data.
|
|
31
|
+
- **API Integration (for Document Models)** – The capability of Document Models to connect with Switchboard API or external APIs, facilitating data exchange between Powerhouse applications and other systems.
|
|
32
|
+
- **Boilerplate (Powerhouse Project)** – The `ph init` command's initial project structure, providing a standard starting point for new Powerhouse packages.
|
|
33
|
+
- **Data Analysis (with Document Models)** – Leveraging the structured data within Document Models, often via read models, to extract insights, generate reports, and perform analytics on operational and historical data.
|
|
34
|
+
- **Dispatch (in Document Models)** – The act of sending an action (representing an operation) to a document model's reducer to trigger a state update.
|
|
35
|
+
- **Document Model Editors** – An interface or UI to a document model that allows users to create and modify the data captured by the document models.
|
|
36
|
+
- **Document Model Specification** – The formal definition of a document model (state, operations), created in Connect Studio (using GraphQL SDL) and exported (e.g., `.phdm.zip`) for code generation.
|
|
37
|
+
- **Document Models** – Structured data models that define how Powerhouse documents store and process information.
|
|
38
|
+
- **Document State** – The current data held by a document instance, structured according to its Document Model.
|
|
39
|
+
- **Document Type** – A unique string identifier (e.g., `powerhouse/todolist`) for a Document Model, used by host apps to select the correct editor/logic.
|
|
40
|
+
- **Drive** – A logical container in Powerhouse for storing, organizing, and managing collections of documents.
|
|
41
|
+
- **Drive App (Custom Drive Explorer)** – A UI application, often custom, providing tailored views and interactions with documents in a Drive.
|
|
42
|
+
- **Event History (Append-Only Log)** – An immutable, append-only log where every operation applied to a Powerhouse document is stored as an event. It provides a transparent audit trail and enables features like time travel debugging and state reconstruction.
|
|
43
|
+
- **GraphQL Scalars** – Data types used in Powerhouse document modeling (e.g., `String`, `Int`, `Currency`, `OID` for unique object IDs).
|
|
44
|
+
- **GraphQL Schema Definition Language (SDL) (for Document Models)** – Language used in Connect Studio to define a Document Model's data structure (state) and operations.
|
|
45
|
+
- **Host Applications** – Applications that use the Powerhouse framework to create and manage documents and data.
|
|
46
|
+
- **Input Types (GraphQL for Document Operations)** – Custom data structures in SDL detailing parameters for document operations (e.g., `AddTodoItemInput`).
|
|
47
|
+
- **Model-Driven Development (MDD)** – A software approach that uses high-level models to generate system logic and configurations.
|
|
48
|
+
- **Modules (in Document Model Editor)** – An organizational feature in Connect Studio's model editor for grouping related operations.
|
|
49
|
+
- **Operations (Document Operations)** – Named commands (e.g., `ADD_TODO_ITEM`) in a Document Model representing all ways to change its state, forming its event log.
|
|
50
|
+
- **Powerhouse Document (`.phd` file)** – Standard file extension for an exported Powerhouse document instance, containing its data and history.
|
|
51
|
+
- **Powerhouse Package** – A collection of document models, document model editors, and other resources that are published as a package and can be used in any of the host applications.
|
|
52
|
+
- **Powerhouse Project** – A collection of document models, document model editors, and other resources being build in Connect Studio.
|
|
53
|
+
- **Pure Functions (for Reducers)** – Principle that document model reducers must be pure (output depends only on input, no side effects) for predictable state transitions.
|
|
54
|
+
- **Reducers (Document Model Reducers)** – Functions implementing a Document Model's logic; for each operation, a reducer takes current state and an action, returning new state.
|
|
55
|
+
- **Replay Events** – The process of re-applying recorded events from a document's Event History to reconstruct or restore its state, a core capability of Event Sourcing.
|
|
56
|
+
- **Scalars (Design System Components)** – Reusable UI building blocks (e.g., `Checkbox`, `InputField`) from `@powerhousedao/document-engineering/scalars`, used in editors (distinct from GraphQL scalars).
|
|
57
|
+
- **State (Global State in Document Model)** – The primary, persisted, shared data of a document instance, managed by its reducers.
|
|
58
|
+
- **State (Local State in Editor)** – Temporary, UI-specific data within an editor (e.g., form inputs), not persisted in the global document state.
|
|
59
|
+
- **State Schema** – The component of a Document Model that defines the structure of the document, including its fields, data types, and validation rules, typically using a GraphQL-like syntax. It serves as a blueprint for how data is stored and validated.
|
|
60
|
+
- **Storybook (for Powerhouse Design System)** – Interactive environment for browsing and testing Powerhouse Design System UI components.
|
|
61
|
+
- **Strands** – A single synchronization channel that connects exactly one unit of synchronization to another, with all four parameters (drive_url, doc_id, scope, branch) set to fixed values. This allows synchronization between two distinct points of instances of a document or document drive.
|
|
62
|
+
- **Tailwind CSS (in Connect Studio)** – Utility CSS framework integrated into Connect Studio for styling document editors.
|
|
63
|
+
- **Time Travel Debugging** – A debugging technique, enabled by a document's Event History, that allows developers to reconstruct and inspect past states of the document by replaying events up to a specific point in time.
|
|
64
|
+
- **Type Safety (in Document Modeling)** – Powerhouse's use of auto-generated TypeScript definitions from a model's schema (SDL) to prevent data type errors in development.
|
|
65
|
+
- **Version Control (for Document Models)** – A planned feature for Document Models in Connect that will allow tracking of changes, comparison of different versions, and maintenance of data integrity over time, similar to version control systems for source code.
|
|
66
|
+
|
|
67
|
+
## AI & Automation
|
|
68
|
+
- **AI Assistants** – AI-powered contributors paired with human contributors to automate tasks and improve productivity.
|
|
69
|
+
- **AI Contributor Modes** – Configurable states that determine the AI assistant's behavior, permissions, and task focus.
|
|
70
|
+
- **Task Automation & Scaling** – The use of AI to streamline repetitive tasks, improve communications, and enhance decision-making.
|
|
71
|
+
- **Decentralized Identifier (DID)** – A user-controlled, globally unique ID, used in Renown to link a user's blockchain key to actions pseudonymously.
|
|
72
|
+
- **Immutable Updates** – A principle where data is never altered in place; operations create new data versions, vital for Powerhouse's event sourcing.
|
|
73
|
+
- **Type Safety (in Document Modeling)** – Powerhouse's use of auto-generated TypeScript definitions from a model's schema (SDL) to prevent data type errors in development.
|
|
74
|
+
|
|
75
|
+
## Organizational Concepts
|
|
76
|
+
- **Ceramic** – A decentralized network for storing verifiable data, used by Powerhouse Renown for secure credential management.
|
|
77
|
+
- **Decentralized Identifier (DID)** – A user-controlled, globally unique ID, used in Renown to link a user's blockchain key to actions pseudonymously.
|
|
78
|
+
- **Event History (Append-Only Log)** – An immutable, append-only log where every operation applied to a Powerhouse document is stored as an event. It provides a transparent audit trail and enables features like time travel debugging and state reconstruction.
|
|
79
|
+
- **Event-Driven Architecture (EDA)** – A software design approach where system flows are determined by events that trigger actions asynchronously.
|
|
80
|
+
- **Immutable Updates** – A principle where data is never altered in place; operations create new data versions, vital for Powerhouse's event sourcing.
|
|
81
|
+
- **Network Organization** – A group of independent contributors and teams working together towards a common purpose, relying on decentralization and resource sharing.
|
|
82
|
+
|
package/docusaurus.config.ts
CHANGED
|
@@ -37,9 +37,8 @@ const config: Config = {
|
|
|
37
37
|
'classic',
|
|
38
38
|
{
|
|
39
39
|
docs: {
|
|
40
|
+
routeBasePath: '/',
|
|
40
41
|
sidebarPath: './sidebars.ts',
|
|
41
|
-
// Please change this to your repo.
|
|
42
|
-
// Remove this to remove the "edit this page" links.
|
|
43
42
|
editUrl:
|
|
44
43
|
'https://github.com/powerhouse-inc/powerhouse-docs/tree/dev',
|
|
45
44
|
showLastUpdateTime: false,
|
|
@@ -81,6 +80,7 @@ const config: Config = {
|
|
|
81
80
|
alt: 'My Site Logo',
|
|
82
81
|
src: 'img/Powerhouse-main.svg',
|
|
83
82
|
srcDark: 'img/Powerhouse-main-light.svg',
|
|
83
|
+
href: '/',
|
|
84
84
|
},
|
|
85
85
|
items: [
|
|
86
86
|
{
|
|
@@ -89,13 +89,6 @@ const config: Config = {
|
|
|
89
89
|
position: 'left',
|
|
90
90
|
label: 'Academy',
|
|
91
91
|
},
|
|
92
|
-
{
|
|
93
|
-
type: 'docSidebar',
|
|
94
|
-
sidebarId: 'bookofpowerhouseSidebar',
|
|
95
|
-
position: 'left',
|
|
96
|
-
label: 'Book of Powerhouse',
|
|
97
|
-
},
|
|
98
|
-
{to: '/blog', label: 'Blog', position: 'left'},
|
|
99
92
|
{
|
|
100
93
|
href: 'https://github.com/powerhouse-inc/powerhouse-docs',
|
|
101
94
|
label: 'GitHub',
|
|
@@ -111,23 +104,23 @@ const config: Config = {
|
|
|
111
104
|
items: [
|
|
112
105
|
{
|
|
113
106
|
label: 'Connect',
|
|
114
|
-
to: '
|
|
107
|
+
to: 'academy/Architecture/PowerhouseArchitecture',
|
|
115
108
|
},
|
|
116
109
|
{
|
|
117
110
|
label: 'Reactor',
|
|
118
|
-
to: '
|
|
111
|
+
to: 'academy/Architecture/PowerhouseArchitecture',
|
|
119
112
|
},
|
|
120
113
|
{
|
|
121
114
|
label: 'Switchboard',
|
|
122
|
-
to: '
|
|
115
|
+
to: 'academy/Architecture/PowerhouseArchitecture',
|
|
123
116
|
},
|
|
124
117
|
{
|
|
125
118
|
label: 'Renown',
|
|
126
|
-
to: '
|
|
119
|
+
to: 'academy/Architecture/PowerhouseArchitecture',
|
|
127
120
|
},
|
|
128
121
|
{
|
|
129
122
|
label: 'FAQ',
|
|
130
|
-
to: '
|
|
123
|
+
to: 'academy/Architecture/PowerhouseArchitecture',
|
|
131
124
|
},
|
|
132
125
|
{
|
|
133
126
|
label: "Blog",
|
package/package.json
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@powerhousedao/academy",
|
|
3
|
-
"version": "0.1.0-dev.
|
|
3
|
+
"version": "0.1.0-dev.5",
|
|
4
4
|
"homepage": "https://powerhouse.academy",
|
|
5
5
|
"dependencies": {
|
|
6
6
|
"@codesandbox/sandpack-react": "^2.14.4",
|
|
7
|
-
"@docusaurus/core": "^3.
|
|
8
|
-
"@docusaurus/
|
|
9
|
-
"@docusaurus/
|
|
7
|
+
"@docusaurus/core": "^3.8.0",
|
|
8
|
+
"@docusaurus/plugin-content-docs": "^3.8.0",
|
|
9
|
+
"@docusaurus/preset-classic": "^3.8.0",
|
|
10
|
+
"@docusaurus/theme-search-algolia": "^3.8.0",
|
|
10
11
|
"@mdx-js/react": "^3.0.0",
|
|
11
12
|
"@powerhousedao/design-system": "^1.6.0",
|
|
12
13
|
"clsx": "^2.0.0",
|
|
@@ -15,9 +16,10 @@
|
|
|
15
16
|
"react-dom": "^18.0.0"
|
|
16
17
|
},
|
|
17
18
|
"devDependencies": {
|
|
18
|
-
"@docusaurus/module-type-aliases": "^3.
|
|
19
|
-
"@docusaurus/tsconfig": "^3.
|
|
20
|
-
"@docusaurus/types": "^3.
|
|
19
|
+
"@docusaurus/module-type-aliases": "^3.8.0",
|
|
20
|
+
"@docusaurus/tsconfig": "^3.8.0",
|
|
21
|
+
"@docusaurus/types": "^3.8.0",
|
|
22
|
+
"tsx": "^4.19.4",
|
|
21
23
|
"typescript": "^5.7.3"
|
|
22
24
|
},
|
|
23
25
|
"browserslist": {
|
|
@@ -35,7 +37,7 @@
|
|
|
35
37
|
"scripts": {
|
|
36
38
|
"docusaurus": "docusaurus",
|
|
37
39
|
"start": "docusaurus serve",
|
|
38
|
-
"dev": "docusaurus start",
|
|
40
|
+
"dev": "docusaurus start --no-open",
|
|
39
41
|
"build": "NODE_OPTIONS=--max_old_space_size=2048 docusaurus build",
|
|
40
42
|
"swizzle": "docusaurus swizzle",
|
|
41
43
|
"deploy": "docusaurus deploy",
|
|
@@ -44,6 +46,7 @@
|
|
|
44
46
|
"write-translations": "docusaurus write-translations",
|
|
45
47
|
"write-heading-ids": "docusaurus write-heading-ids",
|
|
46
48
|
"typecheck": "tsc",
|
|
49
|
+
"generate:cli-docs": "tsx ./scripts/generate-combined-cli-docs.ts",
|
|
47
50
|
"heroku-postbuild": "npm run build"
|
|
48
51
|
}
|
|
49
52
|
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import * as fs from "fs";
|
|
2
|
+
import * as path from "path";
|
|
3
|
+
import { fileURLToPath } from "url";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Generates combined CLI documentation from ph-cli and ph-cmd COMMANDS.md files
|
|
7
|
+
* and injects it into the main 00-PowerhouseCLI.md documentation file.
|
|
8
|
+
*/
|
|
9
|
+
async function generateCombinedCliDocs() {
|
|
10
|
+
try {
|
|
11
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
12
|
+
const __dirname = path.dirname(__filename);
|
|
13
|
+
|
|
14
|
+
// Define paths
|
|
15
|
+
const academyDocsDir = path.resolve(__dirname, "..", "docs", "academy", "04-APIReferences");
|
|
16
|
+
const targetDocFile = path.join(academyDocsDir, "00-PowerhouseCLI.md");
|
|
17
|
+
|
|
18
|
+
const phCliCommandsPath = path.resolve(__dirname, "..", "..", "..", "clis", "ph-cli", "COMMANDS.md");
|
|
19
|
+
const phCmdCommandsPath = path.resolve(__dirname, "..", "..", "..", "clis", "ph-cmd", "COMMANDS.md");
|
|
20
|
+
|
|
21
|
+
// Read COMMANDS.md files
|
|
22
|
+
const phCliCommandsContent = fs.readFileSync(phCliCommandsPath, "utf8");
|
|
23
|
+
const phCmdCommandsContent = fs.readFileSync(phCmdCommandsPath, "utf8");
|
|
24
|
+
|
|
25
|
+
// Extract content after "## Table of Contents"
|
|
26
|
+
const extractCommands = (content: string, cliName: string): string => {
|
|
27
|
+
const tocHeader = "## Table of Contents";
|
|
28
|
+
const tocIndex = content.indexOf(tocHeader);
|
|
29
|
+
if (tocIndex === -1) {
|
|
30
|
+
console.warn(`Warning: "## Table of Contents" not found in ${cliName} COMMANDS.md. Including entire file.`);
|
|
31
|
+
return content;
|
|
32
|
+
}
|
|
33
|
+
let commandsSection = content.substring(tocIndex + tocHeader.length).trim();
|
|
34
|
+
|
|
35
|
+
// Remove the auto-generation footer
|
|
36
|
+
const footerRegex = /---\\n\\n\\\*This document was automatically generated from the help text in the codebase\\\.\\\*\\n?$/m;
|
|
37
|
+
commandsSection = commandsSection.replace(footerRegex, "").trim();
|
|
38
|
+
return commandsSection;
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
const phCliDocs = extractCommands(phCliCommandsContent, "ph-cli");
|
|
42
|
+
const phCmdDocs = extractCommands(phCmdCommandsContent, "ph-cmd");
|
|
43
|
+
|
|
44
|
+
// Prepare the combined markdown
|
|
45
|
+
let combinedDocs = `### ph-cmd Commands\\n\\n${phCmdDocs}\\n\\n### ph-cli Commands\\n\\n${phCliDocs}`;
|
|
46
|
+
|
|
47
|
+
// Read the target documentation file
|
|
48
|
+
let targetDocContent = fs.readFileSync(targetDocFile, "utf8");
|
|
49
|
+
|
|
50
|
+
// Replace the placeholder with the combined docs
|
|
51
|
+
const startPlaceholder = "<!-- AUTO-GENERATED-CLI-COMMANDS-START -->";
|
|
52
|
+
const endPlaceholder = "<!-- AUTO-GENERATED-CLI-COMMANDS-END -->";
|
|
53
|
+
const startIndex = targetDocContent.indexOf(startPlaceholder);
|
|
54
|
+
const endIndex = targetDocContent.indexOf(endPlaceholder);
|
|
55
|
+
|
|
56
|
+
if (startIndex === -1 || endIndex === -1) {
|
|
57
|
+
console.error(`Error: Placeholders not found in ${targetDocFile}. Please ensure the file contains:\\n${startPlaceholder}\\n...\\n${endPlaceholder}`);
|
|
58
|
+
process.exit(1);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
targetDocContent =
|
|
62
|
+
targetDocContent.substring(0, startIndex + startPlaceholder.length) +
|
|
63
|
+
"\\n<!-- This content is automatically generated. Do not edit directly. -->\\n" +
|
|
64
|
+
combinedDocs +
|
|
65
|
+
"\\n" +
|
|
66
|
+
targetDocContent.substring(endIndex);
|
|
67
|
+
|
|
68
|
+
// Write the updated content back to the target file
|
|
69
|
+
fs.writeFileSync(targetDocFile, targetDocContent);
|
|
70
|
+
|
|
71
|
+
console.log(`✅ Combined CLI documentation has been generated at ${targetDocFile}`);
|
|
72
|
+
|
|
73
|
+
} catch (error) {
|
|
74
|
+
console.error("Failed to generate combined CLI documentation:", error);
|
|
75
|
+
process.exit(1);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
// Run the script
|
|
80
|
+
generateCombinedCliDocs();
|