Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 8 additions & 1 deletion keywords.config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,10 @@ metadata_rules:
- app-developer
- node-operator
- chain-operator
- protocol-developer
- partner
- protocol-developer
- auditor
- governance-participant
description: "Must select at least one valid persona"

# CONTENT TYPE
Expand Down Expand Up @@ -176,6 +178,11 @@ metadata_rules:
- testnet
- mainnet

# Superchain Categories
- superchain-registry
- security-council
- blockspace-charters

# TIMEFRAME
timeframe:
required_for:
Expand Down
47 changes: 24 additions & 23 deletions notes/metadata-update.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,29 +13,30 @@ Quick guide on using our metadata management system for the OP Stack documentati
## Using the Scripts

1. Run a dry run to preview changes:
* Process all .mdx files in a directory
```bash
pnpm metadata-batch-cli:dry "pages/app-developers/**/*.mdx"
```
* Process a specific file with verbose output
```bash
pnpm metadata-batch-cli:verbose "pages/app-developers/example.mdx"
```
* Process multiple directories
```bash
pnpm metadata-batch-cli:dry "pages/app-developers/**/*.mdx" "pages/node-operators/**/*.mdx"
```
```bash
# Process all .mdx files in a directory
pnpm metadata-batch-cli:dry "pages/superchain/*.mdx"

# Process a specific file with verbose output
pnpm metadata-batch-cli:verbose "pages/app-developers/example.mdx"

# Process multiple directories
pnpm metadata-batch-cli:dry "pages/app-developers/*.mdx" "pages/node-operators/*.mdx"
```

2. Apply the changes (remove :dry):
```bash
pnpm metadata-batch-cli "pages/app-developers/**/*.mdx"
```
```bash
pnpm metadata-batch-cli "pages/app-developers/*.mdx"
```

### Important Note About File Patterns

* Use `**/*.mdx` to match all .mdx files in a directory and its subdirectories
* The double asterisk `**` is required for recursive directory matching
* Single `/` patterns will not work correctly
Use these patterns to match files:

* `directory/*.mdx` - matches all .mdx files in a specific directory
* `directory/subdirectory/*.mdx` - matches all .mdx files in a specific subdirectory
* `directory/*/*.mdx` - matches all .mdx files in all immediate subdirectories
* the quotes around the pattern are important to prevent shell expansion

### Configuration Files

Expand Down Expand Up @@ -100,13 +101,13 @@ metadata_rules:
* Commit your current changes
* Ensure you're in the docs root directory
* Check that keywords.config.yaml exists and is properly configured
* **Important**: All valid metadata values must be defined in keywords.config.yaml
* **Important**: All metadata values must be defined in keywords.config.yaml

2. **After Running**
* Review the manifest file
* Check validation messages in console output
* Verify metadata changes in files
* Review any files flagged for category review
* Review the categories assigned to each file
* Check that topics and personas are correct
* Verify any files marked for review
* Make sure network types (mainnet/testnet) are correct for registry files

## Content Analysis

Expand Down
16 changes: 8 additions & 8 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,16 +8,16 @@
"fix": "eslint . --ext mdx --fix && pnpm spellcheck:fix && pnpm breadcrumbs && pnpm fix-redirects && pnpm metadata-batch-cli",
"spellcheck:lint": "cspell lint \"**/*.mdx\"",
"spellcheck:fix": "cspell --words-only --unique \"**/*.mdx\" | sort --ignore-case | uniq > words.txt",
"breadcrumbs": "npx ts-node-esm --skip-project utils/create-breadcrumbs.ts",
"check-breadcrumbs": "node --loader ts-node/esm utils/breadcrumbs.ts",
"check-redirects": "node --loader ts-node/esm utils/redirects.ts",
"fix-redirects": "node --loader ts-node/esm utils/fix-redirects.ts",
"link-checker": "node --loader ts-node/esm utils/link-checker.ts",
"metadata-batch-cli": "node --loader ts-node/esm utils/metadata-batch-cli.ts",
"breadcrumbs": "NODE_NO_WARNINGS=1 npx ts-node-esm --skip-project utils/create-breadcrumbs.ts",
"check-breadcrumbs": "NODE_NO_WARNINGS=1 node --loader ts-node/esm utils/breadcrumbs.ts",
"check-redirects": "NODE_NO_WARNINGS=1 node --loader ts-node/esm utils/redirects.ts",
"fix-redirects": "NODE_NO_WARNINGS=1 node --loader ts-node/esm utils/fix-redirects.ts",
"link-checker": "NODE_NO_WARNINGS=1 node --loader ts-node/esm utils/link-checker.ts",
"metadata-batch-cli": "NODE_NO_WARNINGS=1 node --loader ts-node/esm utils/metadata-batch-cli.ts",
"metadata-batch-cli:dry": "pnpm metadata-batch-cli --dry-run",
"metadata-batch-cli:verbose": "pnpm metadata-batch-cli --verbose",
"validate-metadata": "CHANGED_FILES=$(git diff --name-only HEAD) node --loader ts-node/esm utils/metadata-manager.ts",
"validate-pr-metadata": "node --loader ts-node/esm utils/metadata-manager.ts --pr",
"validate-metadata": "CHANGED_FILES=$(git diff --name-only HEAD) NODE_NO_WARNINGS=1 node --loader ts-node/esm utils/metadata-manager.ts",
"validate-pr-metadata": "NODE_NO_WARNINGS=1 node --loader ts-node/esm utils/metadata-manager.ts --pr",
"dev": "next dev",
"build": "next build",
"start": "next start",
Expand Down
14 changes: 12 additions & 2 deletions pages/superchain/addresses.mdx
Original file line number Diff line number Diff line change
@@ -1,7 +1,17 @@
---
title: Contract addresses
lang: en-US
title: Contract Addresses
description: This reference guide lists all the contract addresses for Mainnet and Testnet.
lang: en-US
content_type: guide
topic: contract-addresses
personas:
- chain-operator
- protocol-developer
categories:
- superchain-registry
- mainnet
- testnet
is_imported_content: 'false'
---

import { Callout } from 'nextra/components'
Expand Down
16 changes: 14 additions & 2 deletions pages/superchain/blockspace-charter.mdx
Original file line number Diff line number Diff line change
@@ -1,7 +1,19 @@
---
title: Blockspace and Standard Rollup Charters
title: The Blockspace and Standard Rollup charters
description: >-
Learn about Blockspace Charters, the Standard Rollup Charter, and the
Superchain Registry.
lang: en-US
description: Learn about Blockspace Charters, the Standard Rollup Charter, and the Superchain Registry.
content_type: guide
topic: the-blockspace-and-standard-rollup-charters
personas:
- chain-operator
- protocol-developer
- governance-participant
categories:
- blockspace-charters
- mainnet
is_imported_content: 'false'
---

# The Blockspace and Standard Rollup charters
Expand Down
13 changes: 12 additions & 1 deletion pages/superchain/networks.mdx
Original file line number Diff line number Diff line change
@@ -1,7 +1,18 @@
---
title: OP Stack networks and public RPC endpoints
lang: en-US
description: Learn about the different OP Stack networks and public RPC endpoints.
lang: en-US
content_type: guide
topic: op-stack-networks-and-public-rpc-endpoints
personas:
- chain-operator
- app-developer
- protocol-developer
categories:
- superchain-registry
- mainnet
- testnet
is_imported_content: 'false'
---

import { Callout } from 'nextra/components'
Expand Down
13 changes: 12 additions & 1 deletion pages/superchain/privileged-roles.mdx
Original file line number Diff line number Diff line change
@@ -1,7 +1,18 @@
---
title: Privileged Roles in OP Stack Chains
lang: en-US
description: Learn about the privileged roles in OP Stack chains.
lang: en-US
content_type: guide
topic: privileged-roles-in-op-stack-chains
personas:
- chain-operator
- protocol-developer
- auditor
categories:
- protocol
- security
- testnet
is_imported_content: 'false'
---

import { Callout } from 'nextra/components'
Expand Down
14 changes: 13 additions & 1 deletion pages/superchain/standard-configuration.mdx
Original file line number Diff line number Diff line change
@@ -1,7 +1,19 @@
---
title: What makes a chain standard?
description: >-
Learn what makes a chain standard, how op-deployer helps with standardization,
and why being standard matters.
lang: en-US
description: Learn what makes a chain standard, how op-deployer helps with standardization, and why being standard matters.
content_type: guide
topic: what-makes-a-chain-standard
personas:
- chain-operator
- protocol-developer
- auditor
categories:
- protocol
- security
is_imported_content: 'false'
---

import { Callout } from 'nextra/components'
Expand Down
16 changes: 15 additions & 1 deletion pages/superchain/superchain-explainer.mdx
Original file line number Diff line number Diff line change
@@ -1,7 +1,21 @@
---
title: Superchain explainer
description: 'Learn about Optimism Superchain components, features, and roadmap.'
lang: en-US
description: Learn about Optimism Superchain components, features, and roadmap.
content_type: guide
topic: superchain-explainer
personas:
- app-developer
- chain-operator
- node-operator
- protocol-developer
- auditor
categories:
- mainnet
- protocol
- security
- architecture
is_imported_content: 'false'
---

import { Callout } from 'nextra/components'
Expand Down
14 changes: 13 additions & 1 deletion pages/superchain/superchain-registry.mdx
Original file line number Diff line number Diff line change
@@ -1,7 +1,19 @@
---
title: The Superchain Registry
lang: en-US
description: Learn about the members of the Optimism Superchain ecosystem.
lang: en-US
content_type: guide
topic: the-superchain-registry
personas:
- chain-operator
- protocol-developer
- auditor
categories:
- superchain-registry
- protocol
- security
- configuration
is_imported_content: 'false'
---

import { Callout } from 'nextra/components'
Expand Down
13 changes: 12 additions & 1 deletion pages/superchain/tokenlist.mdx
Original file line number Diff line number Diff line change
@@ -1,7 +1,18 @@
---
title: Bridged token addresses
lang: en-US
description: This reference guide lists the correct bridged token addresses for each token.
lang: en-US
content_type: guide
topic: bridged-token-addresses
personas:
- chain-operator
- app-developer
- protocol-developer
categories:
- superchain-registry
- mainnet
- testnet
is_imported_content: 'false'
---

import { Callout } from 'nextra/components'
Expand Down
Loading