Skip to content
Open
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
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 2 additions & 2 deletions .cursor/rules/content-types.mdc
Original file line number Diff line number Diff line change
Expand Up @@ -68,15 +68,15 @@ Examples:
- Describe and only describe. Be austere, neutral, and factual.
- Match the parameter format used in surrounding reference pages. Some areas use tables (name,
type, required/optional, description); others use nested bulleted lists (for example, JSON-RPC
method docs in Services). Be consistent with the existing convention in the same product section.
method docs in Snaps). Be consistent with the existing convention in the same product section.
- Adopt standard patterns. Consistent structure lets readers find information quickly.
- Mirror the structure of the API or code itself (for example, one section per method or endpoint).
- Include short usage examples to illustrate parameters and return values.
- Keep explanatory prose to the minimum needed to use the API correctly.
- Do not include tutorials or extended how-to steps.
- Examples: `snaps/reference/config-options.md`,
`smart-accounts-kit/reference/delegation/delegation-scopes.md`,
`services/reference/solana/json-rpc-methods`
`snaps/reference/snaps-api/wallet_snap`

### `tutorials/` - Tutorial

Expand Down
20 changes: 10 additions & 10 deletions .cursor/rules/contributor-workflow.mdc
Original file line number Diff line number Diff line change
Expand Up @@ -12,15 +12,16 @@ the requirements that are most often missed.

Every new documentation page must be added to the appropriate sidebar file:

| Product | Sidebar file |
| ------------------- | ------------------------- |
| MetaMask Connect | `mm-connect-sidebar.js` |
| Embedded Wallets | `ew-sidebar.js` |
| Smart Accounts Kit | `gator-sidebar.js` |
| Agent Wallet | `agent-wallet-sidebar.js` |
| Services | `services-sidebar.js` |
| Developer dashboard | `dashboard-sidebar.js` |
| Snaps | `snaps-sidebar.js` |
| Product | Sidebar file |
| ------------------ | ------------------------- |
| MetaMask Connect | `mm-connect-sidebar.js` |
| Embedded Wallets | `ew-sidebar.js` |
| Smart Accounts Kit | `gator-sidebar.js` |
| Agent Wallet | `agent-wallet-sidebar.js` |
| Agent Wallet | `agent-wallet-sidebar.js` |
| Snaps | `snaps-sidebar.js` |

Infura API and dashboard documentation is maintained in [docs.infura](https://github.com/INFURA/docs.infura), not in this repository. Link to `https://docs.infura.io/` from MetaMask docs when referencing Infura APIs or the Infura dashboard.

## Redirects

Expand All @@ -43,7 +44,6 @@ Place images in the product's designated asset folder:
- `metamask-connect/*/_assets/`
- `static/img/embedded-wallets/` (Embedded Wallets product images)
- `smart-accounts-kit/assets/`
- `services/images/`
- `snaps/assets/`
- `static/img/` (for site-wide assets)

Expand Down
19 changes: 19 additions & 0 deletions .cursor/rules/product-infura.mdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
description: Infura documentation has moved to docs.infura.io. Do not add Infura API or dashboard content to metamask-docs.
alwaysApply: true
---

# Infura documentation

Infura API reference, guides, and dashboard documentation are published at [docs.infura.io](https://docs.infura.io/).

- **Repository:** [INFURA/docs.infura](https://github.com/INFURA/docs.infura)
- **Dashboard:** [app.infura.io](https://app.infura.io/)

When MetaMask product docs need to reference Infura:

- Use absolute links to `https://docs.infura.io/` (for example, `https://docs.infura.io/dashboard/get-started/create-api/`).
- Do not recreate Infura content under `services/` or `developer-tools/dashboard/` in this repository.
- The faucet remains on MetaMask docs at `/developer-tools/faucet/`.

Cross-domain redirects in `vercel.json` send legacy `/services/*` and `/developer-tools/dashboard/*` URLs to docs.infura.io.
61 changes: 0 additions & 61 deletions .cursor/rules/product-services.mdc

This file was deleted.

13 changes: 7 additions & 6 deletions .cursor/skills/author-page/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,8 @@ Help create a new documentation page that follows MetaMask editorial standards f
Ask the user for any information they have not already provided:

1. **Product area** - which product is this for? (MetaMask Connect, Embedded Wallets,
Smart Accounts Kit, Services, Snaps, Developer Tools)
Smart Accounts Kit, Agent Wallet, Snaps). Infura API and dashboard docs live at
[Infura documentation](https://docs.infura.io/) and are not authored in this repository.
2. **Content type** - what kind of page? (concept/explanation, how-to guide, quickstart,
reference, tutorial, troubleshooting)
3. **Topic** - what is the page about?
Expand All @@ -43,9 +44,9 @@ front-matter fields, intro style, and parameter formats.

Create the file with the correct structure for its content type.

### Frontmatter
### Page metadata

Follow **Frontmatter** in `.cursor/rules/markdown-formatting.mdc` (required `description`,
Follow page metadata rules in `.cursor/rules/markdown-formatting.mdc` (required `description`,
recommended `keywords`, optional `sidebar_label` only when the nav label would otherwise be too
long or wordy, and the `title` vs duplicate H1 rule). Do not repeat or contradict that rule here.

Expand Down Expand Up @@ -217,11 +218,11 @@ description: <one sentence>

Fill in the scaffold with content based on what the user provides. Follow these rules:

- **Voice**: active, present tense, second person ("you"). Use contractions naturally.
- **Voice**: active, present tense, second person ("you"). Use contractions where appropriate.
- **First sentence**: get to the point. Answer "what" or "why" immediately.
- **No em/en dashes**: use commas, parentheses, or semicolons.
- **Sentence case** for all headings.
- **One sentence per line**, wrapped at roughly 100 columns.
- **One sentence per line**, wrapped at about 100 columns.
- **Code blocks**: always include a language tag. Use `bash npm2yarn` for install commands.
- **Terminology**: use the required forms from `terminology.mdc`.
- **No marketing language**: no "powerful," "seamless," "best-in-class."
Expand All @@ -232,7 +233,7 @@ Fill in the scaffold with content based on what the user provides. Follow these

Before finishing, check:

- [ ] Frontmatter has `description`; add `sidebar_label` only when the default nav label would be
- [ ] Page metadata includes `description`; add `sidebar_label` only when the default nav label would be
too long or wordy (see `markdown-formatting.mdc`).
- [ ] Opening paragraph answers "what" and "why" in the first 1-2 sentences.
- [ ] Structure matches the content type.
Expand Down
21 changes: 11 additions & 10 deletions .cursor/skills/style-review/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,9 @@ The user provides a file path or directory to review. If not provided, ask what
Read the file path to determine:

1. **Product area** - which product folder the file lives in (for example, `metamask-connect/`,
`services/`, `snaps/`). Load the corresponding product rule from `.cursor/rules/product-*.mdc`.
2. **Content type** - which subfolder determines the expected structure (for example, `concepts/`,
`snaps/`, `agent-wallet/`). Load the corresponding product rule from `.cursor/rules/product-*.mdc`.
For Infura content, use `.cursor/rules/product-infura.mdc` and link to Infura documentation.
2. **Content type** - which folder determines the expected structure (for example, `concepts/`,
`how-to/`, `reference/`). Use `.cursor/rules/content-types.mdc` for the mapping.

## Step 2: Run Vale (if available)
Expand All @@ -44,7 +45,7 @@ source of truth for full criteria, examples, and edge cases.

- Active voice and present tense used throughout.
- Second person ("you"), not "the developer" or "users."
- Contractions used naturally.
- Contractions used where appropriate.
- No marketing language, superlatives, or promotional tone.
- No em dashes or en dashes; use commas, parentheses, or semicolons.
- First sentence of each section gets to the point.
Expand All @@ -57,16 +58,16 @@ source of truth for full criteria, examples, and edge cases.
"Chain Agnostic Improvement Proposal 25 (CAIP-25)"), short form on subsequent references.
- Product-specific terminology matches the corresponding `product-*.mdc` rule file.

### Markdown formatting (markdown-formatting.mdc)
### Markdown formatting (`markdown-formatting.mdc`)

- Lines wrapped at roughly 100 columns.
- Lines wrapped at about 100 columns.
- Each sentence on its own line.
- Code blocks have a language tag.
- Links use relative paths within the product, absolute paths across products.
- Descriptive link text; no "click here" or bare URLs.
- Admonitions use Docusaurus syntax and are not nested.
- Tables are aligned in source Markdown.
- No duplicate H1 if frontmatter contains a `title` field.
- No duplicate H1 if page metadata contains a `title` field.

### Content type compliance (content-types.mdc)

Expand All @@ -77,11 +78,11 @@ source of truth for full criteria, examples, and edge cases.
- Quickstart pages: complete, copy-paste-and-run code.
- Troubleshooting pages: symptom/error first, then fix.

### Frontmatter
### Page metadata

- `description` field present (one sentence for SEO).
- `sidebar_label` only when needed (default nav label would be too long or wordy); otherwise omit.
- No duplicate H1 if `title` is set in frontmatter.
- No duplicate H1 if `title` is set in page metadata.

### Contributor workflow (contributor-workflow.mdc)

Expand All @@ -94,7 +95,7 @@ source of truth for full criteria, examples, and edge cases.
Present findings as a structured report grouped by category. For each issue:

1. **Line number** - approximate location in the file.
2. **Category** - Voice/Tone, Terminology, Formatting, Content Type, Frontmatter, or Workflow.
2. **Category** - Voice/Tone, Terminology, Formatting, Content Type, Page metadata, or Workflow.
3. **Issue** - what is wrong.
4. **Suggestion** - how to fix it.

Expand Down Expand Up @@ -123,7 +124,7 @@ Present findings as a structured report grouped by category. For each issue:
- Page is in `concepts/` but contains numbered step-by-step instructions. Move steps to a
how-to page and link to it.

### Frontmatter
### Page metadata
- Missing `description` field.
```

Expand Down
3 changes: 0 additions & 3 deletions .linkspector.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
dirs:
- ./smart-accounts-kit
- ./developer-tools
- ./embedded-wallets
- ./metamask-connect
- ./services
- ./snaps
excludedDirs:
- ./build
Expand All @@ -29,7 +27,6 @@ ignorePatterns:
- pattern: '^/developer-tools/'
- pattern: '^/embedded-wallets/'
- pattern: '^/metamask-connect/'
- pattern: '^/services/'
- pattern: '^/snaps/'
- pattern: '^/wallet/'
- pattern: '^/tutorials/'
Expand Down
19 changes: 10 additions & 9 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,16 @@ dapp developers and wallet extension builders.

## Products

| Product | Path | Sidebar file | Description |
| ------------------- | --------------------------- | ------------------------- | ----------------------------------------------------------------------------------- |
| MetaMask Connect | `metamask-connect/` | `mm-connect-sidebar.js` | Connect dapps to MetaMask extension and mobile, across EVM, Solana, and multichain. |
| Embedded Wallets | `embedded-wallets/` | `ew-sidebar.js` | Embed wallet functionality directly into applications. |
| Smart Accounts Kit | `smart-accounts-kit/` | `gator-sidebar.js` | Create smart accounts with delegated permissions, and request advanced permissions. |
| Agent Wallet | `agent-wallet/` | `agent-wallet-sidebar.js` | Give AI agents programmatic wallet access via the `mm` CLI with mandatory security. |
| Services | `services/` | `services-sidebar.js` | Ease dapp development using Infura and related infrastructure APIs. |
| Snaps | `snaps/` | `snaps-sidebar.js` | Extend MetaMask by creating custom mini-apps. |
| Developer dashboard | `developer-tools/dashboard` | `dashboard-sidebar.js` | Manage Infura API keys, monitor usage, and access account info. |
| Product | Path | Sidebar file | Description |
| ------------------ | --------------------- | ------------------------- | ----------------------------------------------------------------------------------- |
| MetaMask Connect | `metamask-connect/` | `mm-connect-sidebar.js` | Connect dapps to MetaMask extension and mobile, across EVM, Solana, and multichain. |
| Embedded Wallets | `embedded-wallets/` | `ew-sidebar.js` | Embed wallet functionality directly into applications. |
| Smart Accounts Kit | `smart-accounts-kit/` | `gator-sidebar.js` | Create smart accounts with delegated permissions, and request advanced permissions. |
| Agent Wallet | `agent-wallet/` | `agent-wallet-sidebar.js` | Give AI agents programmatic wallet access via the `mm` CLI with mandatory security. |
| Agent Wallet | `agent-wallet/` | `agent-wallet-sidebar.js` | Give AI agents programmatic wallet access via the `mm` CLI with mandatory security. |
| Snaps | `snaps/` | `snaps-sidebar.js` | Extend MetaMask by creating custom mini-apps. |

Infura API and dashboard documentation lives at [Infura documentation](https://docs.infura.io/) in the [Infura docs repository](https://github.com/INFURA/docs.infura).

## Editorial standards

Expand Down
15 changes: 8 additions & 7 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Contribute to the documentation

Thank you for your interest in contributing to the MetaMask developer documentation!
These docs generally follow the [Consensys docs guide](https://docs-template.consensys.net/).
These docs follow the [Consensys docs guide](https://docs-template.consensys.net/).
This page describes contribution guidelines specific to MetaMask, and refers to the Consensys docs
guide in some places.

Expand Down Expand Up @@ -69,10 +69,11 @@ To contribute changes:

> **Notes:**
>
> - All documentation content is located in the `sdk`, `wallet`, `embedded-wallets`, `smart-accounts-kit`, `services`,
> `developer-tools`, `snaps`, and `src/pages` directories.
> - All documentation content is located in the `metamask-connect`, `embedded-wallets`, `smart-accounts-kit`,
> `agent-wallet`, `snaps`, and `src/pages` directories.
> - Infura API and dashboard documentation is maintained at [Infura documentation](https://docs.infura.io/), not in this repository.
> - If you add a new documentation page, edit `mm-connect-sidebar.js`, `ew-sidebar.js`, `gator-sidebar.js`,
> `services-sidebar.js`, `dashboard-sidebar.js`, or `snaps-sidebar.js` to add the page to the
> `agent-wallet-sidebar.js`, `snaps-sidebar.js`, or other product sidebar files to add the page to the
> [sidebar](https://docs-template.consensys.io/create/configure-docusaurus#sidebar).
> - If you delete, rename, or move a documentation file, add a
> [redirect](https://vercel.com/docs/edge-network/redirects#configuration-redirects).
Expand All @@ -81,7 +82,7 @@ To contribute changes:
5. [Preview your changes locally](https://docs-template.consensys.net/contribute/preview) to check
that the changes render correctly.

6. Add and commit your changes, briefly describing your changes in the commit message.
6. Add and commit your changes, describing your changes in the commit message.
Push your changes to the remote origin.

```bash
Expand Down Expand Up @@ -144,8 +145,8 @@ description: 'See a high-level, technical overview of the Snaps system.',

## Add images

All images are located in the `sdk/_assets`, `wallet/assets`, `smart-accounts-kit/assets`, `services/images`,
`developer-tools/images`, `snaps/assets`, and `static/img` directories.
All images are located in the `metamask-connect/*/_assets`, `smart-accounts-kit/assets`,
`snaps/assets`, `static/img/embedded-wallets`, and `static/img` directories.
When adding a new image, such as a screenshot or diagram, make sure the image has a white or
`#1b1b1d` color background in order for it to be compatible with the site's light and dark modes.

Expand Down
2 changes: 0 additions & 2 deletions crowdin.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,5 @@ files:
translation: /i18n/%two_letters_code%/docusaurus-plugin-content-docs/**/%original_file_name%
- source: /snaps/**/*
translation: /i18n/%two_letters_code%/docusaurus-plugin-content-docs/**/%original_file_name%
- source: /services/**/*
translation: /i18n/%two_letters_code%/docusaurus-plugin-content-docs/**/%original_file_name%
- source: /docs/**/*
translation: /i18n/%two_letters_code%/docusaurus-plugin-content-docs/**/%original_file_name%
19 changes: 0 additions & 19 deletions dashboard-sidebar.js

This file was deleted.

Loading
Loading