Skip to content

docs: update BUGBOT#39322

Merged
rvelaz merged 3 commits into
mainfrom
docs/update-bugbot
Jan 19, 2026
Merged

docs: update BUGBOT#39322
rvelaz merged 3 commits into
mainfrom
docs/update-bugbot

Conversation

@rvelaz

@rvelaz rvelaz commented Jan 16, 2026

Copy link
Copy Markdown
Contributor

Updated:

  • Core mission statement: Clear definition of BUGBOT's purpose
  • Execution protocol sections for each guideline domain:
    • General coding guidelines (always applied)
    • Unit testing (pattern: *.test.*)
    • E2E testing (pattern: test/e2e/**/*.spec.{ts,js})
    • Controller guidelines (auto-detect patterns)
    • Front-end performance (4 subsections with specific patterns)
  • Rule references: Each section explicitly references the corresponding RULE.md file
  • Auto-detection patterns: Specifies when each rule set should be applied based on file naming conventions

BUGBOT tests

This was tested in https://github.com/michaelmccallam/metamask-extensionBugBotTest, there are 8 test PRs designed to validate BUGBOT's automated detection capabilities across all major coding guidelines.


Note

Modernizes BUGBOT documentation and rule configuration.

  • Replaces BUGBOT.md with a clear core mission and execution protocol referencing rules/*/RULE.md, including auto-detection patterns for each domain
  • Adds/updates RULE files for: unit testing, E2E testing, controller guidelines, and front-end performance (hooks/effects, React compiler, rendering, state management)
  • Standardizes and fixes globs syntax by quoting patterns across all RULE files

Written by Cursor Bugbot for commit 745a1e9. This will update automatically on new commits. Configure here.

@github-actions

Copy link
Copy Markdown
Contributor

CLA Signature Action: All authors have signed the CLA. You may need to manually re-run the blocking PR check if it doesn't pass in a few minutes.

@metamaskbot metamaskbot added the team-extension-platform Extension Platform team label Jan 16, 2026
@michaelmccallam

Copy link
Copy Markdown

Looks like a good structure for the BugBot.md and the rules. and the PRs are well tested

@metamaskbotv2

metamaskbotv2 Bot commented Jan 16, 2026

Copy link
Copy Markdown
Contributor
Builds ready [b15b1ca]
UI Startup Metrics (1305 ± 113 ms)
PlatformBuildTypePageMetricTest Title (ms)Persona (ms)Mean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--13051062178311313761492
load--1087882149410511441268
domContentLoaded--1080877149010511381261
domInteractive--2815102202487
firstPaint--185621172181199334
backgroundConnect--21619725311221241
firstReactRender--17113661933
getState--3720101144364
initialActions--104112
loadScripts--87167912771049271046
setupStore--1386071425
numNetworkReqs--181176171168
19--------
BrowserifyPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--18701620246518319422279
load--1021884159412310441341
domContentLoaded--1009877158712310291312
domInteractive--33171962830108
firstPaint--191711378216215395
backgroundConnect--258202714103241557
firstReactRender--21163442229
getState--17213026830189232
initialActions--102111
loadScripts--79967813691208141102
setupStore--18762101845
numNetworkReqs--57181282260118
19--------
WebpackStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--772625101479825922
load--62254882966681735
domContentLoaded--61654382065676729
domInteractive--2414102191978
firstPaint--1055626447140202
backgroundConnect--3951844272125
firstReactRender--15104551627
getState--3013144223582
initialActions--104112
loadScripts--61354181664674725
setupStore--1164561227
numNetworkReqs--181187191177
19--------
WebpackPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--13891026207326816211906
load--693596100585712919
domContentLoaded--683590100086697913
domInteractive--35171302733115
firstPaint--1436439074205279
backgroundConnect--96664118531576
firstReactRender--24175652531
getState--15212620015162181
initialActions--104112
loadScripts--68058799085695904
setupStore--17104681842
numNetworkReqs--933829449133213
19--------
FirefoxBrowserifyStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--13721066207120414871718
load--1092896166413411591362
domContentLoaded--1092896166413411591362
domInteractive--67302034093146
firstPaint--------
backgroundConnect--58191964771172
firstReactRender--1392931320
getState--145128201234
initialActions--102012
loadScripts--1055882163911511081238
setupStore--1145091137
numNetworkReqs--19979191375
19--------
BrowserifyPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--25301970584962925134225
load--12581033280731712492103
domContentLoaded--12581033280631712492103
domInteractive--130351068136119429
firstPaint--------
backgroundConnect--106321132123109238
firstReactRender--23157482531
getState--31563880245514760
initialActions--207123
loadScripts--12171009277928612231948
setupStore--1297805180113679
numNetworkReqs--59291633582159
19--------
WebpackStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--15441283209017316431901
load--13011099158711013951517
domContentLoaded--13011099158711013941517
domInteractive--852817242128150
firstPaint--------
backgroundConnect--61202554968184
firstReactRender--14103031523
getState--187271291434
initialActions--103122
loadScripts--1265108415629713191446
setupStore--205221331480
numNetworkReqs--19984191374
19--------
WebpackPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--28782191492667129254310
load--16441156304049917932852
domContentLoaded--16431156304049917932852
domInteractive--147321035191108572
firstPaint--------
backgroundConnect--1702513242491411112
firstReactRender--2716172172836
getState--28569903240458836
initialActions--218123
loadScripts--15531137283040017342634
setupStore--14081195208122664
numNetworkReqs--60301653881157
19--------
📊 Page Load Benchmark Results

Current Commit: b15b1ca | Date: 1/16/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 996ms (±38ms) 🟢 | historical mean value: 1.04s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 688ms (±34ms) 🟢 | historical mean value: 727ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 76ms (±8ms) 🟢 | historical mean value: 77ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 996ms 38ms 960ms 1.25s 1.05s 1.25s
domContentLoaded 688ms 34ms 662ms 929ms 719ms 929ms
firstPaint 76ms 8ms 64ms 136ms 84ms 136ms
firstContentfulPaint 76ms 8ms 64ms 136ms 84ms 136ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 58 Bytes (0%)
  • ui: 0 Bytes (0%)
  • common: 20 Bytes (0%)

@jvbriones jvbriones added the no-changelog no-changelog Indicates no external facing user changes, therefore no changelog documentation needed label Jan 16, 2026
@metamaskbot metamaskbot added the INVALID-PR-TEMPLATE PR's body doesn't match template label Jan 16, 2026
@rvelaz rvelaz requested review from a team and michaelmccallam January 16, 2026 11:41
jvbriones
jvbriones previously approved these changes Jan 16, 2026
Comment thread .cursor/BUGBOT.md
@metamaskbotv2

metamaskbotv2 Bot commented Jan 16, 2026

Copy link
Copy Markdown
Contributor
Builds ready [75d5413]
UI Startup Metrics (1306 ± 105 ms)
PlatformBuildTypePageMetricTest Title (ms)Persona (ms)Mean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--13061095158510513671512
load--108889613559611541249
domContentLoaded--108189113479711491246
domInteractive--2716134222392
firstPaint--183641210202193364
backgroundConnect--22319231718229263
firstReactRender--179159151725
getState--361986124258
initialActions--106113
loadScripts--8656751143969351041
setupStore--1283341318
numNetworkReqs--171176151165
19--------
BrowserifyPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--18891531242518219952285
load--1036915137011310551318
domContentLoaded--1022905136011310371307
domInteractive--37182353133106
firstPaint--203751379185233409
backgroundConnect--263210650105241567
firstReactRender--22164342430
getState--17313427731189245
initialActions--103111
loadScripts--80969211451108311087
setupStore--16104051828
numNetworkReqs--59362042663122
19--------
WebpackStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--795654110385840984
load--63757484766647813
domContentLoaded--63256984266643808
domInteractive--2515100202088
firstPaint--1035937157120230
backgroundConnect--3351633546113
firstReactRender--15104551724
getState--301477133860
initialActions--104111
loadScripts--62956784065639804
setupStore--1263561328
numNetworkReqs--181180171170
19--------
WebpackPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--1325981196824715141816
load--67959395585694905
domContentLoaded--67058893685686901
domInteractive--35172003233112
firstPaint--1346542380172290
backgroundConnect--87766517221543
firstReactRender--22155352428
getState--14912423618157184
initialActions--102011
loadScripts--66758592783684892
setupStore--15104051723
numNetworkReqs--1044023647137224
19--------
FirefoxBrowserifyStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--13771111199218114841759
load--1103924168412811711336
domContentLoaded--1103924168412811701336
domInteractive--693123645100138
firstPaint--------
backgroundConnect--53172314666168
firstReactRender--1394761322
getState--146237251223
initialActions--103012
loadScripts--1070909150410511361266
setupStore--184225341142
numNetworkReqs--20985201477
19--------
BrowserifyPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--25472009713877924914807
load--1280986581255312402226
domContentLoaded--1280986581255312402225
domInteractive--173334150427117431
firstPaint--------
backgroundConnect--9726882102105214
firstReactRender--22146182431
getState--27255926224443740
initialActions--218123
loadScripts--1241959579454012171944
setupStore--1525807191173672
numNetworkReqs--59301643282128
19--------
WebpackStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--17501467247521018602216
load--14301216211714315111686
domContentLoaded--14291216211614315111686
domInteractive--953249858133159
firstPaint--------
backgroundConnect--742320550110188
firstReactRender--17133441926
getState--25102383819114
initialActions--203122
loadScripts--13821194197711814261613
setupStore--208159251593
numNetworkReqs--20985201479
19--------
WebpackPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--28842013802394627414617
load--16361170660574615893013
domContentLoaded--16351169660574615883013
domInteractive--176294538474107577
firstPaint--------
backgroundConnect--2012611862941471097
firstReactRender--23166172630
getState--29759888229430805
initialActions--203123
loadScripts--15271153658368015192853
setupStore--12010721177102668
numNetworkReqs--59281653878160
19--------
📊 Page Load Benchmark Results

Current Commit: 75d5413 | Date: 1/16/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.03s (±37ms) 🟡 | historical mean value: 1.04s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 715ms (±35ms) 🟢 | historical mean value: 723ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 75ms (±11ms) 🟢 | historical mean value: 76ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.03s 37ms 1.01s 1.31s 1.04s 1.31s
domContentLoaded 715ms 35ms 700ms 986ms 725ms 986ms
firstPaint 75ms 11ms 56ms 164ms 84ms 164ms
firstContentfulPaint 75ms 11ms 56ms 164ms 84ms 164ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: -5.75 KiB (-0.11%)
  • ui: 265 Bytes (0%)
  • common: 87.95 KiB (0.98%)

@metamaskbotv2

metamaskbotv2 Bot commented Jan 19, 2026

Copy link
Copy Markdown
Contributor
Builds ready [745a1e9]
UI Startup Metrics (1261 ± 101 ms)
PlatformBuildTypePageMetricTest Title (ms)Persona (ms)Mean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--12611046158510113211414
load--105284913699411161188
domContentLoaded--104584513579411121183
domInteractive--251592182180
firstPaint--154621145147188283
backgroundConnect--21219525110215237
firstReactRender--1693251830
getState--371878124263
initialActions--109112
loadScripts--840644116094904976
setupStore--1253141320
numNetworkReqs--181178181174
19--------
BrowserifyPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--18651434257520319592317
load--1025905152612410351297
domContentLoaded--1013896151212410211287
domInteractive--3418164253199
firstPaint--180721431147216347
backgroundConnect--268203754126235637
firstReactRender--22163942329
getState--16711021722183211
initialActions--101011
loadScripts--79968512791178051064
setupStore--1795481736
numNetworkReqs--61342163160138
19--------
WebpackStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--774632107283810935
load--62155984166656754
domContentLoaded--61655683666651748
domInteractive--2515150231983
firstPaint--1125762172151205
backgroundConnect--3751373763114
firstReactRender--15103141623
getState--281362123851
initialActions--107112
loadScripts--61355383064648741
setupStore--1163961124
numNetworkReqs--181184181172
19--------
WebpackPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--1340971214926614711894
load--683585118495688901
domContentLoaded--674579117896673896
domInteractive--36171723432143
firstPaint--1416339877180329
backgroundConnect--85765517920561
firstReactRender--22154452432
getState--15212825023157221
initialActions--102011
loadScripts--670577116994671887
setupStore--1664571737
numNetworkReqs--993723247134211
19--------
FirefoxBrowserifyStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--14161114203218915531728
load--1136935177015412401395
domContentLoaded--1135929177015512401389
domInteractive--753219042109152
firstPaint--------
backgroundConnect--60201934973171
firstReactRender--1393841323
getState--146119171125
initialActions--103112
loadScripts--1098916174313511561351
setupStore--134124141233
numNetworkReqs--19982191474
19--------
BrowserifyPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--25021795501371924324466
load--1259951293541911752555
domContentLoaded--1259951293541911752555
domInteractive--1143352495111392
firstPaint--------
backgroundConnect--127181631212115396
firstReactRender--21145452328
getState--27173863215408747
initialActions--203123
loadScripts--1211929267838111382444
setupStore--1217673169119617
numNetworkReqs--513099217395
19--------
WebpackStandard Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--16391355250722717792023
load--13581143186513814451595
domContentLoaded--13571143186413814441595
domInteractive--882928952126173
firstPaint--------
backgroundConnect--69192545499191
firstReactRender--15112831624
getState--2581783619140
initialActions--107123
loadScripts--13171126181611813901498
setupStore--2542453918109
numNetworkReqs--19987191576
19--------
WebpackPower User Home0--------
1--------
2--------
3--------
4--------
5--------
6--------
7--------
8--------
9--------
10--------
11--------
12--------
13--------
14--------
15--------
16--------
17--------
18--------
uiStartup--28602018500282628234879
load--16071123352659915853076
domContentLoaded--16071123352659915853075
domInteractive--133311860214109411
firstPaint--------
backgroundConnect--153251163207159429
firstReactRender--251597132836
getState--326571825287512812
initialActions--213123
loadScripts--15331107331653115672912
setupStore--7056478574226
numNetworkReqs--5129103217491
19--------
📊 Page Load Benchmark Results

Current Commit: 745a1e9 | Date: 1/19/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.04s (±41ms) 🟡 | historical mean value: 1.03s ⬆️ (historical data)
  • domContentLoaded-> current mean value: 726ms (±62ms) 🟢 | historical mean value: 717ms ⬆️ (historical data)
  • firstContentfulPaint-> current mean value: 88ms (±128ms) 🟢 | historical mean value: 78ms ⬆️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.04s 41ms 1.01s 1.37s 1.05s 1.37s
domContentLoaded 726ms 62ms 700ms 1.29s 737ms 1.29s
firstPaint 88ms 128ms 60ms 1.36s 84ms 1.36s
firstContentfulPaint 88ms 128ms 60ms 1.36s 84ms 1.36s
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 58 Bytes (0%)
  • ui: 0 Bytes (0%)
  • common: 20 Bytes (0%)

@rvelaz rvelaz added this pull request to the merge queue Jan 19, 2026
Merged via the queue into main with commit 23bac73 Jan 19, 2026
84 checks passed
@rvelaz rvelaz deleted the docs/update-bugbot branch January 19, 2026 14:58
@github-actions github-actions Bot locked and limited conversation to collaborators Jan 19, 2026
@metamaskbot metamaskbot added the release-13.16.0 Issue or pull request that will be included in release 13.16.0 label Jan 19, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

INVALID-PR-TEMPLATE PR's body doesn't match template no-changelog no-changelog Indicates no external facing user changes, therefore no changelog documentation needed release-13.16.0 Issue or pull request that will be included in release 13.16.0 size-M team-extension-platform Extension Platform team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants