Document high-level MetaMask architecture (from a package/controller perspective)

Open
#27 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
28/100
Issue type
Documentation
Clarity
Mostly clear
Activity status
Stale
Tech stack
javascript
Domain
documentation

Research direction

Start by mapping the extension, mobile app, core controllers, and packages mentioned in the issue, including eth-sig-util, from the package/controller perspective. Decide how those pieces should appear in an architecture graph and companion package list. Done means a new document contains both views and gives each package a short role summary.

Written by the indexing model from the issue text.

Description

Epic team-wallet-framework

Someone new to MetaMask might look at all of the repos that we have and (after they get over their initial shock) ask, how do all of these pieces fit together?

There are a few ways we could answer that question, but to start, we could create an architecture graph that includes the extension, mobile app, and packages that are used along the way (including core controllers, but also libraries like eth-sig-util). To provide another view, we could have a list below the graph which summarizes all of the packages with a short summary of the role that they play. Then we put both of these things in a new document.

Dominant language
JavaScript
Stars
86
Forks
42
PR merge metrics
No merged PRs in 30d

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from MetaMask/contributor-docs

All issues in MetaMask/contributor-docs

Similar issues

More JavaScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.