Skip to content

Commit b20e8bc

Browse files
authored
feat(docs): Add docusaurus plugin to autogerate llms.txt (#16362)
Adds a plugin to the docs to autogenerate an llms.txt file and an llms-full.txt file to be published with the docs site according to the standards defined at https://llmstxt.org/. Also adds page descriptions to pages that are missing them, since this helps with generating the llms.txt. Note that this is set up to generate the file for the first versioned defined in the versions.json file, which should be the default version for the docs site. Also removes an outdated sandbox features page. closes: AztecProtocol/dev-rel#597
2 parents 9579fcc + 8d9810d commit b20e8bc

File tree

273 files changed

+397
-155
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

273 files changed

+397
-155
lines changed

docs/CLAUDE.md

Lines changed: 28 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -152,18 +152,39 @@ Use these terms consistently throughout:
152152

153153
Every guide should include:
154154

155-
1. **Title** - Clear, descriptive, and action-oriented
156-
2. **Overview** - Brief description of what the guide covers
157-
3. **Prerequisites** - Required knowledge, tools, or access
158-
4. **Steps/Content** - Main body with clear headings
159-
5. **Verification** - How to confirm successful completion
160-
6. **Troubleshooting** - Common issues and solutions (where applicable)
161-
7. **Next Steps** - Related guides or advanced topics
155+
1. **Front-matter** - YAML metadata block with required `description` field
156+
2. **Title** - Clear, descriptive, and action-oriented
157+
3. **Overview** - Brief description of what the guide covers
158+
4. **Prerequisites** - Required knowledge, tools, or access
159+
5. **Steps/Content** - Main body with clear headings
160+
6. **Verification** - How to confirm successful completion
161+
7. **Troubleshooting** - Common issues and solutions (where applicable)
162+
8. **Next Steps** - Related guides or advanced topics
163+
164+
### Front-matter Requirements
165+
166+
Every markdown file MUST include front-matter with a `description` field:
167+
168+
```yaml
169+
---
170+
title: "Page Title"
171+
description: "Brief, SEO-friendly description of the page content (50-160 characters recommended)"
172+
---
173+
```
174+
175+
The description should:
176+
177+
- Clearly summarize the page's purpose and content
178+
- Be between 50-160 characters for optimal SEO
179+
- Use active voice and be user-focused
180+
- Avoid redundancy with the page title
181+
- Help users understand what they'll learn or accomplish
162182

163183
## Special Instructions
164184

165185
### Do Review For:
166186

187+
- ✅ Missing front-matter or missing `description` field in front-matter
167188
- ✅ Ambiguous instructions that could confuse users
168189
- ✅ Missing context or assumptions about user knowledge
169190
- ✅ Outdated screenshots or version references

docs/docs/aztec/concepts/accounts/index.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
title: Accounts
33
sidebar_position: 1
44
tags: [accounts]
5+
description: Learn about Aztec's native account abstraction, where every account is a smart contract, and how wallets interact with account contracts for authentication and transaction execution.
56
---
67

78
Aztec has native account abstraction. Every account in Aztec is a smart contract.

docs/docs/aztec/concepts/accounts/keys.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
---
22
title: Keys
33
tags: [accounts, keys]
4+
description: Understand the key pairs used in Aztec accounts - nullifier keys, address keys, incoming viewing keys, and signing keys - and how they enable privacy and authentication.
45
---
56

67
import Image from "@theme/IdealImage";

docs/docs/aztec/concepts/advanced/authwit.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ title: Authentication Witness (Authwit)
33
tags: [accounts, authwit]
44
sidebar_position: 2
55
keywords: [authwit, authentication witness, accounts]
6+
description: Learn about Aztec's Authentication Witness scheme that enables secure third-party actions on behalf of users, providing a privacy-preserving alternative to traditional token approvals.
67
---
78

89
import Image from "@theme/IdealImage";

docs/docs/aztec/concepts/advanced/circuits/index.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
title: Circuits
33
sidebar_position: 2
44
tags: [protocol, circuits]
5+
description: Explore Aztec's core protocol circuits that enforce privacy rules and transaction validity through zero-knowledge proofs, enabling private state and function execution.
56
---
67

78
Central to Aztec's operations are 'circuits' derived both from the core protocol and the developer-written Aztec.nr contracts.

docs/docs/aztec/concepts/advanced/circuits/kernels/private_kernel.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
---
22
title: Private Kernel Circuit
33
tags: [protocol, circuits]
4+
description: Learn about the Private Kernel Circuit, the only zero-knowledge circuit in Aztec that handles private data and ensures transaction privacy by executing on user devices.
45
---
56

67
This circuit is executed by the user, on their own device. This is to ensure private inputs to the circuit remain private!
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
---
22
title: Public Kernel Circuit
33
tags: [protocol, circuits]
4+
description: Understand the Public Kernel Circuit executed by sequencers that manages public state transitions in Aztec.
45
---
56

67
This circuit is executed by a Sequencer, since only a Sequencer knows the current state of the [public data tree](../../../storage/state_model.md#public-state) at any time. A Sequencer might choose to delegate proof generation to the Prover pool.

docs/docs/aztec/concepts/advanced/circuits/rollup_circuits/index.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
---
22
title: Rollup Circuits
33
tags: [protocol, circuits]
4+
description: Learn how Rollup Circuits compress thousands of transactions into a single SNARK proof using a binary tree topology for efficient verification on Ethereum.
45
---
56

67
The primary purpose of the Rollup Circuits is to 'squish' all of the many thousands of transactions in a rollup into a single SNARK, which can then be efficiently and verified on Ethereum.

docs/docs/aztec/concepts/advanced/index.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
title: Advanced Concepts
33
sidebar_position: 9
44
tags: [protocol]
5+
description: Explore advanced concepts of the Aztec Network including authentication witnesses and other protocol-level details for experienced developers.
56
---
67

78
In this section, you'll learn about the more advanced concepts of the Aztec Network. It is not required to understand these in order to start building on Aztec.

docs/docs/aztec/concepts/advanced/storage/indexed_merkle_tree.mdx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
title: Indexed Merkle Tree (Nullifier Tree)
33
tags: [storage, concepts, advanced]
44
sidebar_position: 2
5+
description: Learn about indexed merkle trees, an efficient data structure for nullifier trees that enables fast non-membership proofs and batch insertions in Aztec.
56
---
67

78
import Image from "@theme/IdealImage";
@@ -183,7 +184,7 @@ Suppose we want to show that the value `20` doesn't exist in the tree. We just r
183184
- Prove the low leaf exists in the tree: `n` hashes.
184185
- Check the new value 'would have' belonged in the range given by the low leaf: `2` range checks.
185186
- If ($low\_nullifier_{\textsf{next\_index}} == 0$):
186-
- Special case, the low leaf is at the very end, so the new\_value must be higher than all values in the tree:
187+
- Special case, the low leaf is at the very end, so the new_value must be higher than all values in the tree:
187188
- $assert(low\_nullifier_{\textsf{value}} < new\_value_{\textsf{value}})$
188189
- Else:
189190
- $assert(low\_nullifier_{\textsf{value}} < new\_value_{\textsf{value}})$

0 commit comments

Comments
 (0)