@powerhousedao/academy 4.1.0-dev.5 → 4.1.0-dev.51

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 +386 -1
  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 +105 -456
  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 +98 -65
  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 +50 -30
  75. package/docs/academy/04-APIReferences/01-ReactHooks.md +649 -141
  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
@@ -0,0 +1,143 @@
1
+ # Spec-Driven AI
2
+
3
+ This chapter introduces you to one of the most powerfull features of the Powerhouse development framework.
4
+ In this *Get Started'* chapter we've been making use of strict schema definition principles to communicate the intended use case. This shared language is not only a language that bridges the gap between developer, designer and analyst but also the gap between builder and AI-agent.
5
+
6
+ ## Vision
7
+
8
+ At Powerhouse we are embracing the progress of AI assisted coding while unlocking the next level of AI control through specification driven AI control.
9
+
10
+ - Communicate your solution and intent through a structured specification framework designed for AI collaboration.
11
+ - Specifications enable precise, iterative edits, since all our specification documents are machine-readable and executable.
12
+ - Specifications offer the ability to update exact parameters and properties as your specs evolve in lock-step with your agent.
13
+ - Specs turn fragile sandcastles into solid, editable, and maintainable functionality with predictable results, so you can deliver AI driven projects to production environments with piece of mind.
14
+
15
+ This approach allows for the creation of editable specifications, enabling business analysts to modify details and instruct the AI to generate code based on updated specifications.
16
+ It results in composable, maintainable, and scalable functionality.
17
+
18
+ ## Introducing Vetra Studio
19
+
20
+ Vetra studio functions as the orchestration hub where you as a builder assemble all the necessary specifications for your intended use-case, software solution or package. For each of the different *modules* that together form a package a specification document can be created in *Vetra Studio*.
21
+
22
+ As Vetra Studio matures each of these specification documents will offer an interface by which you as a builder get more control over the modules that make up your package. These modules are divided in 3 categories.
23
+
24
+ ### 1. Document Models
25
+ - **Document model specification**: Defines the structure and operations of a document model using GraphQL SDL, ensuring consistent data management and processing.
26
+
27
+ ### 2. User Experiences
28
+ - **Editor specification**: Outlines the interface and functionalities of a document model editor, allowing users to interact with and modify document data.
29
+ - **Drive-app specification**: Specifies the UI and interactions for managing documents within a Drive, providing tailored views and functionalities.
30
+
31
+ ### 3 Data intagrations
32
+ - **Subgraph specification**: Details the connections and relationships within a subgraph, facilitating efficient data querying and manipulation.
33
+ - **Codegen Processor Specification**: Describes the process for automatically generating code from document model specifications, ensuring alignment with intended architecture.
34
+ - **RelationalDb Processor Specification**: Defines how relational databases are structured and queried, supporting efficient data management and retrieval.
35
+
36
+
37
+ ## Vetra Studio Workflow
38
+
39
+ ### 1. Launch Vetra Studio
40
+
41
+ You can launch Vetra Studio in two modes:
42
+
43
+ #### Interactive Mode (Recommended for Development)
44
+ ```bash
45
+ ph vetra --interactive
46
+ ```
47
+ In interactive mode:
48
+ - You'll receive confirmation prompts before any code generation
49
+ - Changes require explicit confirmation before being processed
50
+ - Provides better control and visibility over document changes
51
+
52
+ #### Standard Mode
53
+ ```bash
54
+ ph vetra
55
+ ```
56
+ In standard mode:
57
+ - Changes are processed automatically with 1-second debounce
58
+ - Multiple changes are batched and processed together
59
+ - Uses the latest document state for processing
60
+
61
+ ### 2. Launch Claude with MCP
62
+
63
+ Vetra Studio integrates deeply with Claude through MCP (Model Control Protocol):
64
+
65
+ 1. Start the MCP reactor:
66
+ ```bash
67
+ ph mcp
68
+ ```
69
+
70
+ 2. Verify MCP connection:
71
+ - Check that the reactor MCP is available
72
+ - Confirm Vetra Studio shows "Connected to reactor MCP"
73
+
74
+ Key MCP Features:
75
+ - Automatic document model creation from natural language descriptions
76
+ - Smart editor generation based on document models
77
+ - Uses reactor recipes for consistent code generation
78
+ - Automatically triggers code generation when documents reach valid state
79
+
80
+ The powerhouse config includes a vetra URL for consistent project configuration across different environments.
81
+
82
+ ### Integration with Custom Drives:
83
+ - Vetra supports integration with custom remote drives, allowing users to create and manage documents within these drives.
84
+ - The MCP server enables the agent to work with both existing and newly created document models.
85
+
86
+ ### 3. Document Creation Workflow
87
+
88
+ #### A. Set Package Description (Required)
89
+ 1. Provide a name for your package
90
+ 2. Add a meaningful description
91
+ 3. Confirm changes when prompted in interactive mode
92
+
93
+ #### B. Define Document Model (Required)
94
+ You can create document models in two ways:
95
+
96
+ 1. **Using MCP (AI-Assisted)**
97
+ - Describe your document needs in natural language
98
+ - Claude will:
99
+ - Generate appropriate schema
100
+ - Create necessary operations
101
+ - Implement required reducers
102
+ - Place the document in the Vetra drive
103
+
104
+ 2. **Manual Creation**
105
+ - Define document schema with fields and types
106
+ - Create necessary operations
107
+ - Add required modules
108
+ - Reference the document modeling material for detailed guidance
109
+
110
+ #### C. Add Document Editor (Required)
111
+ 1. **Using MCP (AI-Assisted)**
112
+ - Request Claude to create an editor for your document
113
+ - Claude will:
114
+ - Generate editor components
115
+ - Implement necessary hooks
116
+ - Create required UI elements
117
+
118
+ 2. **Manual Creation**
119
+ - Select your target document model
120
+ - Add editor specification to Vetra Studio drive
121
+ - Configure editor properties
122
+ - The system will generate scaffolding code
123
+
124
+ #### D. Data Integrations (Coming Soon)
125
+ Support for:
126
+ - Subgraph integration
127
+ - Code generation processors
128
+ - Relational database processors
129
+
130
+ ### Best Practices
131
+
132
+ 1. **Working with MCP**
133
+ - Provide clear, specific instructions
134
+ - Review generated schemas before confirmation
135
+ - Verify implementation details in generated code
136
+
137
+ 2. **General Tips**
138
+ - Use interactive mode during development
139
+ - Review changes before confirmation
140
+ - Double-check proposed next actions
141
+ - Ask clarifying questions when needed
142
+
143
+
@@ -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
+ }