You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: apps/web/src/app/(marketing)/docs/cli/page.tsx
+32Lines changed: 32 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -187,6 +187,38 @@ export default function CLIReferencePage() {
187
187
}`}
188
188
/>
189
189
190
+
<CommandSection
191
+
name="graspful create academy"
192
+
synopsis={`graspful create academy \\
193
+
--topic <topic> \\
194
+
[--course <name>] \\
195
+
[--version <version>] \\
196
+
[-o, --output <file>]`}
197
+
description="Generate an academy manifest scaffold with the academy planning layers, course file references, and authoring gates for source material, learner promise, landing-page proof, graph checks, and review before publishing."
198
+
options={[
199
+
{flag: "--topic <topic>",description: "Academy topic name (required)"},
200
+
{flag: "--course <name>",description: "Course name to include in dependency order. Repeatable. Defaults to the four academy planning layers."},
201
+
{flag: "--version <version>",description: "Academy version string (default: 2026.1)"},
202
+
{flag: "-o, --output <file>",description: "Output file path (defaults to stdout)"},
203
+
]}
204
+
examples={[
205
+
{
206
+
label: "Scaffold a default academy plan",
207
+
code: `graspful create academy \\
208
+
--topic "AWS Solutions Architect" \\
209
+
-o aws-academy.yaml`,
210
+
},
211
+
{
212
+
label: "Scaffold with named courses",
213
+
code: `graspful create academy \\
214
+
--topic "PostHog TAM" \\
215
+
--course "Data Models" \\
216
+
--course "Pipeline Reading and Solution Design" \\
| \`graspful init\` | No | Initialize project, browser-auth, and auto-configure MCP | \`--email\`, \`--no-browser\` |
68
70
| \`graspful register\` | No | Create account + API key via browser auth | \`--email <email>\`, \`--no-browser\` |
71
+
| \`graspful create academy\` | No | Scaffold an academy plan with source, landing-page, graph, and review gates | \`--topic <topic>\`, \`--course <name>\`, \`--version <version>\` |
69
72
| \`graspful create course\` | No | Scaffold a new course YAML | \`--topic <topic>\`, \`--hours <n>\`, \`--source <file>\` |
70
73
| \`graspful fill concept <yaml> <conceptId>\` | No | Generate knowledge points and problems for a concept | \`--force\` overwrite existing |
71
74
| \`graspful validate <yaml>\` | No | Validate course YAML against schema | — |
72
75
| \`graspful review <yaml>\` | No | Run all 10 quality checks | \`--fix\` auto-fix issues |
- \`publish\` (boolean, optional) — Publish immediately after import
112
121
122
+
### graspful_import_academy (AUTH REQUIRED)
123
+
Import an academy manifest and referenced course YAMLs. Set \`GRASPFUL_API_KEY\` first if not authenticated.
124
+
- \`manifestYaml\` (string, required) — Full academy manifest YAML
125
+
- \`courseYamls\` (object, required) — Map of course file paths to course YAML strings
126
+
- \`org\` (string, required) — Organization slug
127
+
- \`publish\` (boolean, optional) — Publish imported courses after import
128
+
113
129
### graspful_publish_course (AUTH REQUIRED)
114
130
Publish an already-imported course. Set \`GRASPFUL_API_KEY\` first if not authenticated.
115
131
- \`courseId\` (string, required) — ID of the course to publish
@@ -358,12 +374,14 @@ Each check returns pass/fail with details. Fix failures before importing.
358
374
## Typical Agent Workflow
359
375
360
376
1. **Register** — Run \`graspful register\` in a terminal to complete browser auth and get an API key. This is required before importing or publishing. Skip if you already have GRASPFUL_API_KEY set.
361
-
2. **Scaffold** — Use \`graspful_scaffold_course(topic: "Your Topic", hours: 10)\` to generate the course skeleton.
362
-
3. **Fill concepts** — For each concept, call \`graspful_fill_concept(yaml, conceptId)\` to generate knowledge points and problems.
363
-
4. **Review** — Call \`graspful_review_course(yaml)\` to run quality checks. Fix any failures.
364
-
5. **Import** — Call \`graspful_import_course(yaml, orgSlug, publish: true)\` to push to platform.
365
-
6. **Create brand** (optional) — Use \`graspful_create_brand(niche: "Your Niche")\` to generate a white-label site config.
366
-
7. **Import brand** (optional) — Use \`graspful_import_brand(yaml, orgSlug)\` to deploy the site.
377
+
2. **Plan the academy** — Use \`graspful_create_academy(topic: "Your Topic")\` to generate the academy manifest, planning layers, and authoring gates.
378
+
3. **Resolve the plan** — Fill in source material, learner promise, landing-page proof, and course dependencies before writing knowledge points.
379
+
4. **Scaffold course graphs** — Use \`graspful_scaffold_course(topic: "Your Course", estimatedHours: 10)\` for each course referenced by the academy.
380
+
5. **Fill concepts** — For each concept, call \`graspful_fill_concept(yaml, conceptId)\` to generate knowledge points and problems.
381
+
6. **Review** — Call \`graspful_review_course(yaml)\` to run quality checks. Fix any failures.
382
+
7. **Import academy** — Call \`graspful_import_academy(manifestYaml, courseYamls, org, publish: true)\` to push the connected product to platform.
383
+
8. **Create brand** — Use \`graspful_create_brand(niche: "Your Niche", topic: "Your Topic")\` to generate the landing page config.
384
+
9. **Import brand** — Use \`graspful_import_brand(yaml, orgSlug)\` to deploy the site.
Copy file name to clipboardExpand all lines: docs/adding-a-course.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,8 +1,8 @@
1
-
# Adding a New Course
1
+
# Adding a New Academy or Course
2
2
3
-
End-to-end guide for creating a course YAML and importing it into the platform.
3
+
End-to-end guide for planning an academy, creating course YAML, and importing it into the platform.
4
4
5
-
This document also serves as the agent runbook for new course creation. If an agent is asked to "add a course", "draft a course graph", or "author a course YAML", this is the document it should follow.
5
+
This document also serves as the agent runbook for academy and course creation. If an agent is asked to "create an academy", "add a course", "draft a course graph", or "author a course YAML", this is the document it should follow.
@@ -55,6 +57,35 @@ When `--format json` is set, all commands emit structured JSON to stdout and str
55
57
56
58
---
57
59
60
+
### `graspful create academy`
61
+
62
+
Generate an academy plan and manifest scaffold with planning layers and authoring gates.
63
+
64
+
If no `--course` flags are passed, the scaffold starts with the four default planning layers: foundations, core structures, operational flows, and applied judgment. It also includes an `authoringPlan` block for source material, learner promise, landing-page proof, graph checks, and review before publishing.
65
+
66
+
**Syntax:**
67
+
68
+
```
69
+
graspful create academy --topic <topic> [options]
70
+
```
71
+
72
+
**Parameters:**
73
+
74
+
| Flag | Type | Required | Default | Description |
The Graspful MCP server exposes 10 tools over the Model Context Protocol (stdio transport). Server name: `graspful`, version `0.1.0`.
664
+
The Graspful MCP server exposes 12 tools over the Model Context Protocol (stdio transport). Server name: `graspful`, version `0.1.0`.
634
665
635
666
All tools return `{ content: [{ type: "text", text: "..." }], isError?: boolean }`. The `text` field contains either raw YAML or a JSON string depending on the tool.
636
667
637
668
---
638
669
670
+
### `graspful_create_academy`
671
+
672
+
Generate an academy plan and manifest scaffold with planning layers and authoring gates.
673
+
674
+
If `courseNames` is omitted, the scaffold starts with foundations, core structures, operational flows, and applied judgment. It also returns an `authoringPlan` block for source material, learner promise, landing-page proof, graph checks, and review before publishing.
675
+
676
+
**Parameters:**
677
+
678
+
| Name | Type | Required | Default | Description |
Used to define a multi-course academy with optional grouping into "parts."
1235
1284
1285
+
`graspful create academy` also emits an `authoringPlan` block. That block is for agents and humans while drafting: source material, learner promise, landing-page proof, graph checks, and review gates. The import API treats it as authoring metadata and does not persist it.
0 commit comments