Skip to content

Commit daeec8b

Browse files
committed
fix merge conflict
2 parents 16e768c + efbbe18 commit daeec8b

File tree

107 files changed

+2293
-816
lines changed

Some content is hidden

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

107 files changed

+2293
-816
lines changed

.circleci/config.yml

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,17 @@ version: 2.1
22
orbs:
33
utils: ethereum-optimism/[email protected]
44

5+
parameters:
6+
run_job:
7+
type: enum
8+
default: "select_job"
9+
enum:
10+
[
11+
"select_job",
12+
"run-algolia"
13+
]
14+
15+
516
executors:
617
node20:
718
docker:
@@ -130,14 +141,17 @@ jobs:
130141
assignees: "sbvegan"
131142

132143
workflows:
133-
merge-workflow:
144+
run-algolia-workflow:
145+
when:
146+
equal: [<< pipeline.parameters.run_job >>, "run-algolia"]
134147
jobs:
135148
- algolia:
136149
name: Algolia Index Update
137150
context: algolia-search
138151
filters:
139152
branches:
140153
only: main
154+
141155
pr-workflow:
142156
jobs:
143157
- breadcrumbs

.husky/install.sh

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
#!/usr/bin/env sh
2+
. "$(dirname -- "$0")/_/husky.sh"
3+
4+
# Add hooks here
5+
npx husky add .husky/pre-push 'pnpm fix'

.husky/pre-push

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
#!/usr/bin/env sh
2+
. "$(dirname -- "$0")/_/husky.sh"
3+
4+
echo "🔍 Running automatic fixes before pushing..."
5+
pnpm fix
6+
7+
# Check if there are any changes after running fixes
8+
if [ -n "$(git status --porcelain)" ]; then
9+
echo "🔄 Changes detected after running fixes. Committing them automatically..."
10+
11+
# Stage all changes
12+
git add .
13+
14+
# Create a commit with a descriptive message
15+
git commit -m "Auto-fix: Update breadcrumbs, spelling dictionary and other automated fixes"
16+
17+
echo "✅ Changes committed automatically. Continuing with push..."
18+
else
19+
echo "✅ No changes needed. Continuing with push..."
20+
fi

CONTRIBUTING.md

Lines changed: 117 additions & 106 deletions
Original file line numberDiff line numberDiff line change
@@ -2,113 +2,124 @@
22

33
Thanks for taking the time to contribute! ❤️
44

5-
Optimism's documentation is open-source, hosted on GitHub in the `ethereum-optimism/docs` repository which renders on the corresponding official website hosted at [docs.optimism.io](https://docs.optimism.io). This guide will give you an overview of the contribution workflow from opening an issue, creating a PR, reviewing, and merging the PR. Please note that contributions, pull requests, and issues should be written in English at this time. We will be running a dedicated project in the future to add language support to the technical docs, so please reach out via our [developer support channel](https://github.com/ethereum-optimism/developers/) if you are interested in helping with that project.
6-
7-
The Optimism Documentation team reviews pull requests and either merges, requests changes, or comments and closes the pull request. You can open a documentation pull request by:
8-
9-
- forking the `docs` repository and working locally,
10-
- or, for smaller updates, clicking the `Edit this page` link on the right side of any documentation page to directly edit in GitHub.
11-
12-
Contributing to the Optimism documentation implies 2 steps:
13-
14-
1. Learn how to use [Nextra](#learn-how-to-use-nextra), the tool used to write and generate Optimism's documentation.
15-
16-
2. [Submit a pull request](#send-pull-request) for review.
17-
18-
## Learn How to Use Nextra
19-
20-
Optimism's documentation is built with the React and Markdown-based [Nextra](https://nextra.site/docs) framework. We are using the docs theme (as opposed to the blog theme), which has specialized features.
21-
22-
To start contributing to Optimism's documentation using Nextra, you need to understand the [files and branches architecture](#understand-file-architecture-and-branch-names) and use the proper [syntax to format content](#use-proper-formatting-and-syntax). Additionally, if you want to work locally from a repository fork, you should [set up the Nextra project](#set-up-the-project-and-test-locally) on your machine.
23-
24-
### Understand File Architecture and Branch Names
25-
26-
Optimism's documentation includes two major sections with each section living in a different folder.
27-
28-
| Section name | Target content | Folder |
29-
| ------------------| ----------------------------------------------------------------- | ----------------------------- |
30-
| Pages | Where all the pages of the technical docs live | `/docs/pages/` |
31-
| Public | Where all the images, icons, and illustrations for the tech docs live | `/docs/public/` |
32-
33-
**Warning**
34-
The `public` folder also stores the `robots.txt` and `sitemap.xml` files used for SEO. Please do not modify these pages.
35-
The Optimism Documentation team will modify these pages, when necessary, after your PR is merged.
36-
37-
### Use Proper Formatting and Syntax
38-
39-
Nextra is MDX-based, meaning the content you write is [Markdown](https://daringfireball.net/projects/markdown/syntax) that accepts [React](https://reactjs.org/) components.
40-
41-
The Optimism Documentation team has created a complete style guide for you to make the best out of the various options available:
42-
43-
[Optimism Documentation Style Guide](/pages/connect/contribute/style-guide.mdx)
44-
45-
### Set Up the Project and Test Locally
46-
47-
To set up the Nextra project on your machine, perform the following steps from a terminal instance:
48-
49-
1. Install pnpm [install pnpm](https://pnpm.io/installation).
50-
2. First, run `pnpm i` to install the dependencies.
51-
3. Then, run `pnpm dev` to start the development server and
52-
4. Visit [localhost:3000](http://localhost:3000) in your browser to view the website.
5+
## Table of Contents
6+
- [Overview](#overview)
7+
- [Getting Started](#getting-started)
8+
- [Prerequisites](#prerequisites)
9+
- [Development Setup](#development-setup)
10+
- [Contributing Process](#contributing-process)
11+
- [File Architecture](#file-architecture)
12+
- [Content Guidelines](#content-guidelines)
13+
- [Local Testing](#local-testing)
14+
- [Pull Request Process](#pull-request-process)
15+
- [Before Submitting](#before-submitting)
16+
- [Submission Guidelines](#submission-guidelines)
17+
- [Review Process](#review-process)
18+
- [Code of Conduct](#code-of-conduct)
19+
- [Additional Ways to Contribute](#additional-ways-to-contribute)
20+
21+
## Overview
22+
23+
Optimism's documentation is open-source and hosted on GitHub in the `ethereum-optimism/docs` repository. The documentation is rendered at [docs.optimism.io](https://docs.optimism.io). You can contribute either by:
24+
- Forking the `docs` repository and working locally
25+
- Using the "Edit this page" button on any documentation page for smaller updates
26+
27+
All contributions, pull requests, and issues should be in English at this time. We will be running a dedicated project in the future to add language support to the technical docs, so please reach out via our [developer support channel](https://github.com/ethereum-optimism/developers/) if you are interested in helping with that project.
28+
29+
## Getting Started
30+
31+
### Prerequisites
32+
- Basic knowledge of Git and GitHub
33+
- Familiarity with Markdown
34+
- Understanding of technical documentation principles
35+
- Node.js and npm installed
36+
37+
### Development Setup
38+
1. Install [pnpm](https://pnpm.io/installation)
39+
2. Run `pnpm i` to install dependencies
40+
3. Run `pnpm dev` to start development server
41+
4. Visit [localhost:3000](http://localhost:3000)
5342

5443
You can now start changing content and see the website updated live each time you save a new file. 🤓
5544

56-
## Send Pull Request
57-
58-
**Important prerequisite**
59-
60-
To prevent building issues upstream, you should build the content locally before submitting a pull request: stop or delete the terminal server if it's running, then run `pnpm dev`.
61-
62-
- Use the information reported by the terminal to fix any issues (e.g., broken links).
63-
- Run `pnpm fix` to automatically fix most linting issues (e.g., formatting and style guide).
64-
- Run `pnpm spellcheck:lint` to test your content against the dictionary. Add new words to the dictionary by appending them to `words.txt`.
65-
- Run `pnpm spellcheck:fix` to add new words to the dictionary automatically.
66-
- Try another `pnpm dev` and repeat until no issues are reported ("client" and "server compiled successfully").
67-
68-
69-
Your pull request should usually target the `main` branch, though the Optimism Documentation team might sometimes ask you to target another branch.
70-
71-
To submit your contribution for review:
72-
73-
1. Create a new [pull request on GitHub](https://github.com/ethereum-optimism/docs/issues/new/choose).
74-
2. Select a PR type from the list or choose **Open a blank issue** at the bottom of the page.
75-
3. Complete the form as requested. For blank PR issues, please provide a clear title and accurate description/context.
76-
4. Click the "Create pull request" button to create the pull request effectively.
77-
78-
>If your pull request is not ready for review yet, choose the "[Create draft pull request](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request)"in the dropdown. The Optimism documentation team will review your pull request only when you mark it as "[Ready for review](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/changing-the-stage-of-a-pull-request)".
45+
## Contributing Process
46+
47+
### File Architecture
48+
Our documentation is organized into two main sections:
49+
50+
| Section | Purpose | Location |
51+
|---------|----------|----------|
52+
| Pages | Technical documentation content | `/docs/pages/` |
53+
| Public | Images, icons, and illustrations | `/docs/public/` |
54+
55+
**Warning**: The `public` folder contains `robots.txt` and `sitemap.xml` for SEO purposes. These files are maintained by the Documentation team only.
56+
57+
### Content Guidelines
58+
We use [Nextra](https://nextra.site/docs), a React and MDX-based framework with the docs theme (as opposed to the blog theme). The content you write is [Markdown](https://daringfireball.net/projects/markdown/syntax) that accepts [React](https://reactjs.org/) components.
59+
60+
Please refer to our comprehensive [Style Guide](/pages/connect/contribute/style-guide.mdx) for detailed formatting instructions.
61+
62+
### Local Testing
63+
Before submitting your changes:
64+
1. Stop or delete the terminal server if it's running
65+
2. Run `pnpm dev` to test builds
66+
3. Execute `pnpm fix` for automatic linting
67+
4. Run `pnpm spellcheck:lint` for spell checking
68+
- Add new words to the dictionary by appending them to `words.txt`
69+
5. Use `pnpm spellcheck:fix` to update dictionary
70+
6. Try another `pnpm dev` and repeat until no issues are reported ("client" and "server compiled successfully")
71+
72+
If you encounter build issues:
73+
- Check terminal output for error messages
74+
- Verify all links are working
75+
- Ensure proper formatting according to the style guide
76+
- Test locally before pushing changes
77+
78+
## Pull Request Process
79+
80+
### Before Submitting
81+
- Ensure all local tests pass
82+
- Fix any reported issues
83+
- Verify content accuracy
84+
- Test all links and references
85+
- Target the `main` branch (unless otherwise specified)
86+
87+
### Submission Guidelines
88+
1. Create a [new pull request](https://github.com/ethereum-optimism/docs/issues/new/choose)
89+
2. Choose appropriate PR type or use blank template
90+
3. Provide clear title and accurate description
91+
4. Add required labels:
92+
- `documentation` (required for all PRs)
93+
- Content-specific: `tutorial`, `faq`, `troubleshooting`
94+
- Feature-specific: `oracle`, `rpc-provider`, `faucet`, `attestation`
95+
- Issue-specific: `user feedback`, `bug`
7996

80-
5. Add GitHub labels for the pull request. Add `documentation` to all pull requests in this repo **AND** additional labels based on the type of update or request.
81-
- `tutorial`, `faq`, or `troubleshooting` for specific content types,
82-
- `oracle`, `rpc-provider`, `faucet`, or `attestation` for ecosystem offerings,
83-
- `user feedback` for general feedback about one or more pages, or
84-
- `bug` if something isn't working as expected.
85-
>If label for type of update is not set, the Optimism Documentation team will set or update this for you<br/>
86-
87-
**Warning**
88-
Approved pull requests are usually merged immediately into the `main` branch, automatically triggering a deployment on docs.optimism.io. Please add the `flag:merge-pending-release` label if the pull request content should only be released publicly in sync with a product release.
89-
90-
That's it! 🥳 Once the pull request is [reviewed and approved](#review-and-management-of-pull-requests), the Optimism Documentation team will merge it, and the content will be live on [docs.optimism.io](http://docs.optimism.io) a few minutes later. 🚀
91-
92-
## Review and Management of Pull Requests
93-
94-
The pull request review process and timeline are based on the availability of the Optimism Documentation team to handle community contributions. The workflow is as follows:
95-
96-
1. The pull request is assigned to a member of the Documentation team.
97-
2. At least 1 member of the Documentation team will review the pull request for:
98-
99-
- accuracy,
100-
- quality,
101-
- alignment with the documentation scope.
102-
103-
3. Reviewers will either approve, ask for changes, or reject the pull request.
104-
4. Accepted pull requests will be merged and automatically deployed on [docs.optimism.io](https://docs.optimism.io) a few minutes later.
105-
106-
## Other Ways to Support the Project
107-
All types of contributions are encouraged and valued.
108-
And if you like the project, but just don't have time to contribute, that's fine too. There are other easy ways to support the project and show your appreciation, which we would also be very happy about:
109-
- Star the project
110-
- Tweet about it
111-
- Refer this project in your project's readme
112-
- Mention the project at local meetups and tell your friends/colleagues
113-
114-
The community looks forward to your contributions. 🎉
97+
> **Note**: If label type is not set, the Documentation team will set or update it for you.
98+
99+
> **Important**: Add `flag:merge-pending-release` label if the PR content should only be released publicly in sync with a product release.
100+
101+
> **Tip**: Use "[Create draft pull request](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request)" if your work is still in progress.
102+
103+
### Review Process
104+
1. Assignment to Documentation team member
105+
2. Technical review for accuracy
106+
3. Quality and scope alignment check
107+
4. Minimum 1 reviewer approval required
108+
5. Reviewers will either approve, request changes, or close the pull request with comments
109+
6. Automatic deployment after merge to [docs.optimism.io](https://docs.optimism.io)
110+
111+
## Code of Conduct
112+
- Be respectful and inclusive
113+
- Follow project guidelines
114+
- Provide constructive feedback
115+
- Maintain professional communication
116+
- Report inappropriate behavior
117+
118+
## Additional Ways to Contribute
119+
Even without direct code contributions, you can support us by:
120+
- ⭐ Starring the project
121+
- 🐦 Sharing on social media
122+
- 📝 Mentioning us in your projects
123+
- 🗣️ Spreading the word in your community
124+
125+
Thank you for contributing to Optimism Docs! 🎉

keywords.config.yaml

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,14 +89,18 @@ metadata_rules:
8989
- predeploys
9090
- preinstalls
9191
- custom-gas-token
92+
- gas
93+
- transactions
9294
- l2-contracts
95+
- account-abstraction
96+
- paymasters
9397
- dev-console # Tool: execution layer interaction
9498

9599
# Settlement Layer
96100
- l1-contracts
97101
- standard-bridge
102+
- superchain-erc20
98103
- teleportr
99-
- interop
100104
- interoperability
101105
- cross-chain-messaging
102106
- interoperable-assets
@@ -118,6 +122,7 @@ metadata_rules:
118122
- superchain-registry # Chain management across layers
119123
- l1-deployment-upgrade-tooling # Cross-layer deployment
120124
- l2-deployment-upgrade-tooling # Cross-layer deployment
125+
- testnet-tooling # testnet-specific tools like faucets, block explorers, etc
121126

122127
# Chain Management (Cross-layer)
123128
- protocol
@@ -155,6 +160,8 @@ metadata_rules:
155160
- zdd-service
156161
- snapman
157162
- op-beat
163+
- monitoring # General monitoring tools and services
164+
- analytics # Analytics platforms and data analysis
158165
- security-monitoring-response
159166
- stability-monitoring
160167
- security
@@ -172,6 +179,8 @@ metadata_rules:
172179
- viem
173180
- web3js
174181
- wagmi
182+
- cli # Command Line Interfaces
183+
- api # Application Programming Interfaces
175184

176185
# Development Environments
177186
- local-devnet
@@ -183,6 +192,12 @@ metadata_rules:
183192
- security-council
184193
- blockspace-charters
185194

195+
# Test Networks
196+
- sepolia # Ethereum L1 testnet
197+
- op-sepolia # OP Stack L2 testnet
198+
- base-sepolia # Base testnet
199+
- zora-sepolia # Zora testnet
200+
186201
# TIMEFRAME
187202
timeframe:
188203
required_for:

notes/metadata-update.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,28 +14,28 @@ Quick guide on using our metadata management system for the OP Stack documentati
1414

1515
1. Run a dry run to preview changes:
1616
```bash
17-
# Process all .mdx files in a directory
18-
pnpm metadata-batch-cli:dry "pages/superchain/*.mdx"
17+
# Process all .mdx files in a directory and its subdirectories
18+
pnpm metadata-batch-cli:dry "pages/superchain/**/*.mdx"
1919

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

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

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

3232
### Important Note About File Patterns
3333

3434
Use these patterns to match files:
3535

36-
* `directory/*.mdx` - matches all .mdx files in a specific directory
37-
* `directory/subdirectory/*.mdx` - matches all .mdx files in a specific subdirectory
38-
* `directory/*/*.mdx` - matches all .mdx files in all immediate subdirectories
36+
* `directory/**/*.mdx` - matches all .mdx files in a directory and all its subdirectories
37+
* `directory/*.mdx` - matches only .mdx files in the specific directory
38+
* `directory/subdirectory/**/*.mdx` - matches all .mdx files in a specific subdirectory tree
3939
* the quotes around the pattern are important to prevent shell expansion
4040

4141
### Configuration Files

0 commit comments

Comments
 (0)