Commit 320465e
authored
Docs: AEO Tier 2 — canonical answer pages (what-is, comparisons, FAQ, no-code guide) (#96)
* Docs: AEO Tier 2 canonical answer pages (what-is, comparisons, FAQ, etc.)
Adds the eight canonical answer pages from AEO_PLAN.md Tier 2 so the docs
own the high-intent queries an evaluator asks an AI assistant about Squadron.
Every page has a query-shaped H1 and a definition-first opening paragraph so
answer engines can extract a clean response.
New pages:
- /what-is-squadron — definition-first, with a competitor table
- /compare/{langgraph,crewai,autogen,n8n} — honest head-to-head with
side-by-side code, "when to pick X" sections, and migration notes
- /no-code-multi-agent-workflow — full walkthrough building a scheduled
daily-brief mission, HCL-vs-Python angle throughout
- /declarative-ai-agent-framework — category-defining page with the
imperative-vs-declarative analysis and nine evaluation properties
- /faq — 20 questions covering price, license, providers, on-prem,
MCP, resume, plugins, comparisons. FAQPage JSON-LD inlined with all
20 entries for answer-engine consumption.
Nav: docs/content/_meta.js gets the new top-level entries and a "Compare"
section. compare/_meta.js orders the four comparisons.
Generator improvements (docs/scripts/generate-llms.mjs):
- Strips MDX-only syntax ({/* */} comments and inline <script> /
self-closing <script ... /> blocks) before parsing summaries and writing
raw .md mirrors. This keeps llms.txt summaries clean even on pages that
inline JSON-LD payloads.
AEO_PLAN.md: Tier 2 boxes checked.
* Docs/compare: expand plugin treatment — Go/Python plugins are the primary extension primitive, MCP is complementary
Each comparison page now has a dedicated "Extension model" section that
treats Squadron plugins as the first-class extension primitive they
actually are: standalone Go or Python programs that the runtime spawns
as subprocesses over gRPC (hashicorp/go-plugin), auto-built from local
source with content-hash caching, stateful across tasks, and
distributable via GitHub releases. MCP is positioned as complementary
— good for integrations someone else already built, while plugins
cover the integrations you build yourself.
Updates:
- compare/langgraph.mdx — contrasts plugin subprocess isolation with
LangGraph tools as Python functions in the same process
- compare/crewai.mdx — contrasts language choice and auto-build vs
CrewAI's Python BaseTool class model
- compare/autogen.mdx — contrasts cross-task plugin state and process
isolation with AutoGen's in-process Python function tools
- compare/n8n.mdx — contrasts plugin authoring effort (single Go or
Python file, auto-built) with n8n's TypeScript community-node SDK,
while acknowledging n8n's strength in pre-built SaaS coverage
Also updates each TL;DR table's tool-ecosystem row to be more accurate.
* Docs: reorganize nav with Learn/Build/Reference/Evaluate separators
The Tier 2 AEO pages were grafted onto the existing nav and the seams
showed: Introduction and "What is Squadron?" duplicated, "Advanced" was
a one-page section, and the new evaluator pages (Compare, FAQ, No-Code
Guide, Declarative Framework) sat in a grab-bag at the bottom.
This commit reorganizes the nav into four funnel-stage groups using
Nextra v4 separator entries, without changing any AEO-critical URL.
Changes:
- Top-level docs/content/_meta.js now uses { type: 'separator', title }
entries to group sidebar items as Learn / Build / Reference / Evaluate.
- index.mdx is now a short docs home (~50 lines): one-paragraph
definition, one code example, three labeled CTA blocks routing new
visitors / builders / evaluators to the right next page. Long-form
definitional content stays at /what-is-squadron where it belongs.
- docs/content/advanced/distributing-plugins.mdx →
docs/content/guides/distributing-plugins.mdx
- docs/content/no-code-multi-agent-workflow.mdx →
docs/content/guides/no-code-multi-agent-workflow.mdx
- docs/content/advanced/ removed (no other pages there).
- docs/content/guides/_meta.js created with two entries.
- Internal link in config/plugins.mdx updated to the new guides/ path.
Generator improvements (docs/scripts/generate-llms.mjs):
- Treat { type: 'separator', title } _meta.js entries as section
headers in llms.txt, so the new Learn/Build/Reference/Evaluate
groupings show up there too.
- Prune stale .md mirrors from public/ when a content file is moved or
removed. Without this, renaming a page leaves a ghost mirror that
ships to production until someone notices.
URL preservation: every page from PR #95 (Tier 1 AEO plumbing) keeps
its current URL. The only moved URLs are /no-code-multi-agent-workflow
and /advanced/distributing-plugins, both of which were added in the
still-open Tier 2 PR and never deployed.
DOCS_NAV_PLAN.md captures the design and execution.
* Docs: merge What is Squadron? into Introduction
The two pages had too much crossover — same definition, same code
example, same "that's the whole workflow" line. Maintaining both was
duplicate effort and confusing in the nav.
This commit consolidates everything onto the docs root (/). The
merged page is substantially what /what-is-squadron was: definition,
problem framing, two-tier execution model, what's included, when to
use it / when not, comparison table, and three labeled CTA blocks at
the end (new visitors, builders, evaluators).
Changes:
- docs/content/index.mdx absorbs the long-form content of
what-is-squadron.mdx and keeps the CTA structure.
- docs/content/what-is-squadron.mdx deleted.
- docs/content/_meta.js drops the what-is-squadron entry.
- All internal references to /what-is-squadron updated to / across:
faq.mdx, declarative-ai-agent-framework.mdx, compare/*.mdx, and
guides/no-code-multi-agent-workflow.mdx.
The /what-is-squadron URL was added in this unmerged PR and never
deployed, so no external link breaks. The home page now serves the
same content the URL was promising.
AEO impact: minimal. The "what is squadron" query is now answered by
the docs root, which carries the entire site's authority and is the
URL most likely to be linked externally. The page's H1 "Squadron" plus
the prominent "What problem does Squadron solve?" H2 give answer
engines a strong signal that this is the canonical definition page.
* Docs: rename "Declarative AI Agent Framework" → "Declarative Agent Framework"
Tightens the category name. "AI agent framework" is redundant — agent
frameworks in this category are AI agent frameworks by definition.
Changes:
- File: declarative-ai-agent-framework.mdx → declarative-agent-framework.mdx
- URL : /declarative-ai-agent-framework → /declarative-agent-framework
- Title and H1 in the page itself
- Body text using the phrase as a category name
- Generic phrase "Most AI agent frameworks today are imperative" →
"Most agent frameworks today are imperative" for consistency
- Internal links updated in _meta.js, index.mdx, and
guides/no-code-multi-agent-workflow.mdx
Unchanged: literal example values like topic = "AI agent frameworks"
inside HCL code blocks (those are placeholder topic strings, not
category names).1 parent 9d4cf33 commit 320465e
16 files changed
Lines changed: 1324 additions & 57 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
21 | | - | |
22 | | - | |
23 | | - | |
24 | | - | |
25 | | - | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
26 | 26 | | |
27 | 27 | | |
28 | 28 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
| 2 | + | |
2 | 3 | | |
| 4 | + | |
3 | 5 | | |
4 | | - | |
5 | | - | |
| 6 | + | |
| 7 | + | |
6 | 8 | | |
7 | | - | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
8 | 18 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
0 commit comments