EVEMISSTechnology

Repository guide · overview · v2

mitmproxy / mitmproxy

“An interactive TLS-capable intercepting HTTP proxy for penetration testers and software developers.” — as described by its authors

  • Security
  • Python
  • MIT · open-source license
Original repository
mitmproxy/mitmproxy
Source platform
GitHub
Repository owner / organization
mitmproxy
License
MIT · open-source license
Analyzed revision
b506c68108e287104045333ade476d92c39c275e
Last verified

Newer revision observed; the code this guide cites is unchanged. The default branch moved to 5253dcbd1d8f, checked 2026-10-11. A revision diff of 24 changed files found no change in the code regions this guide cites. The guide still describes revision b506c68108e2; repository-wide counts (files, calls and so on) refer to that revision.

mitmproxy/mitmproxy: Repository Overview from Static Analysis

Terms used on this page
Entrypoint record
A file the analyzer marks as a place where execution can start. When it carries a __main__ guard excerpt, the file contains an if __name__ == "__main__": block and the excerpt shows what that block calls; without an excerpt, the file was flagged by its name only.
Bounded static execution path
A call chain reconstructed from the source code without running it, stopped after a fixed number of steps. It shows how far the code can be followed on paper, not what happens at run time.
Unresolved boundary
Where a static path stops because the next call goes into an external library or cannot be resolved without running the code. It marks the edge of this analysis, not a defect in the repository.
Static relations
Calls and imports found in the source. "External or unresolved" relations point outside the analyzed files.
Module role
The analyzer's label for a file, inferred from how many calls go in and out (for example core, entry/orchestration, leaf). It describes a position in the call graph, not the authors' design.
Test-like files
Files whose names or locations look like tests. This analysis counts them; it does not run them.
Observed · inferred · author-claimed · unresolved
How each statement is supported: read directly from the analyzed files; derived by the analyzer from them; stated by the repository's authors (metadata, README); or not established by this analysis.
Verified
Two uses on these pages. In an analyzer record ("verified provenance", "a verified entrypoint") it means the record was read directly from the analyzed files, which these guides call observed; for an entrypoint, the __main__ guard text is present. Since the analyzer fix of 2026-10-04, a file that only has an entrypoint-like name such as cli.py or main.py is recorded as inferred; guides analyzed before that still call such a file verified, and it is still only a guess about how the file is used. It does not mean the code was run or tested. "Last verified" is the date the guide last passed the lab's checks against the analysis record of the stated revision; it is not a review of the repository itself.

A Python-dominant, MIT-licensed codebase whose GitHub metadata describes an interactive TLS-capable intercepting HTTP proxy, organized around mitmproxy, test, web and docs trees (1292 analyzed files, 194 test-like files). Findings come from static analysis; the flagged console entrypoint's runtime startup flow is not established.

What this repository is

GitHub metadata describes the project as an interactive TLS-capable intercepting HTTP proxy for penetration testers and software developers, with the homepage mitmproxy.org.

GitHub topics include http, http2, proxy, tls, ssl, websocket, security, debugging, python and mitmproxy, and the primary language is Python.

Language byte counts put Python first at about 2.77 MB, followed by TypeScript (about 521 kB), JavaScript (about 119 kB), Less (about 50 kB) and CSS.

The repository is MIT-licensed; the latest recorded release is v12.2.3 (published 2026-05-12), with 45,046 stars recorded at the 2026-09-14 snapshot.

Structurally, the analyzer grouped the tree around four top-level subsystem directories — docs, mitmproxy, test and web — alongside examples, release and .github directories.

How the code starts (statically)

mitmproxy/tools/main.py and mitmproxy/tools/web/app.py are flagged as likely executable entrypoints by a filename heuristic.

web/package.json defines a start script that runs vite.

The packet records 25 Python files with __main__ guards, including release/build.py, release/deploy.py, release/release.py, mitmproxy/version.py (whose guard prints VERSION), mitmproxy/proxy/server.py and docs/scripts/clirecording/record.py. release/build.py's guard calls cli():

if __name__ == "__main__":
    cli()

The six execution paths listed in the packet (five from docs/scripts/clirecording/record.py, where a CliDirector drives screenplays that record the user interface and intercept, modify and replay requests, and one from examples/contrib/mitmproxywrapper.py) each end at an external/unresolved boundary; the packet's maturity signals separately report 245 bounded execution paths overall.

The analyzer's inferred summary calls mitmproxy/version.py the apparent main starting place, while the filename heuristic points to mitmproxy/tools/main.py; both are static hints rather than established launch flows.

Layout and the most connected modules

The analyzed tree holds 1292 files: 285 under mitmproxy/, 427 under test/, 286 under web/, 166 under docs/, 73 under examples/ and 33 under release/.

Static relation extraction produced 33086 edges — 28836 calls and 4250 imports; 12217 resolved to local targets, while 20869 stayed external or unresolved.

Among the most connected modules, mitmproxy/proxy/commands.py (853 incoming, 0 outgoing calls) and mitmproxy/proxy/events.py (514 incoming, 0 outgoing) are labeled leaf/data-boundary candidates: code that other modules call heavily while it calls little itself.

mitmproxy/proxy/layers/http/__init__.py is labeled a service/core candidate with 416 incoming and 152 outgoing calls.

Test support carries the highest connectivity: test/mitmproxy/proxy/tutils.py (1118 incoming), mitmproxy/test/tflow.py (553) and mitmproxy/test/taddons.py (317) are labeled service/core candidates, indicating how deeply the test harness is woven in.

In the web frontend, web/src/js/filt/filt.js shows 193 incoming and 193 outgoing static calls.

Role labels are the analyzer's candidates derived from call degree and entrypoint membership, not verified architecture.

Dependency evidence and test surface

All 44 dependency records in the packet come from web/package.json: 18 runtime dependencies — including react, react-dom, @reduxjs/toolkit and CodeMirror libraries — and 26 development dependencies.

Declared web tooling includes jest with a jsdom environment, Testing Library packages, vite, TypeScript and ESLint.

Python-side dependencies are absent from the evidence: the analyzer parses only requirements-style manifests and did not read pyproject.toml dependency tables, even though pyproject.toml is one of two manifest files found.

The repository contains 194 test-like files; sample paths include test/mitmproxy/test_addonmanager.py and test/mitmproxy/test_connection.py.

The heaviest test files target the proxy layers: test_http.py and test_http2.py are labeled service/core candidates and contain tests such as test_http_proxy, test_https_proxy, test_redirect and test_simple.

Dependency and test figures are inventory counts only; nothing was installed and no test was run for this asset.

A reading order

This order follows the packet's importance classifications and entrypoint flags.

  1. README.md, pyproject.toml and LICENSE — the analyzer-classified project-level files, for self-description, packaging and license terms.
  2. mitmproxy/tools/main.py — the heuristic entrypoint — and mitmproxy/version.py, whose __main__ guard prints VERSION.
  3. mitmproxy/proxy/commands.py, then mitmproxy/proxy/events.py, then mitmproxy/proxy/layers/http/__init__.py; roles mark commands.py and events.py as heavily-called leaf/data-boundary candidates and the HTTP layer as a service/core candidate.
  4. test/mitmproxy/proxy/layers/http/test_http.py — tests like test_http_proxy and test_https_proxy as concrete behavior examples.
  5. web/src/js/filt/filt.js, entering at peg$parse — the frontend's filter-expression parser.

What this analysis cannot establish

The evidence is static only: reflection, runtime dependency injection, dynamic imports, monkey-patching, generated code, framework runtime wiring and dynamic dispatch are not resolved, so add-on or plugin loading through such mechanisms cannot be traced.

Install, run and build inference is partial, and installation commands are not verified.

pyproject.toml dependency tables were not parsed, so Python requirements are unknown from this packet.

README claim extraction is line-based and may capture code lines instead of prose, so README claims would be author_claimed at best; no README text is used in this asset.

Bounded analysis inventoried but did not parse four files — including minified bundles under mitmproxy/tools/web/static/ and large assets under docs/src/assets/ — and relation extraction is capped at 2500 per file and 150000 per repository.

Of 33086 static relations, 20869 remain external or unresolved, and all six execution paths listed in the packet end at unresolved boundaries.

What mitmproxy/tools/main.py launches at startup, and how add-ons are wired at runtime, is not established by this packet.

Notable symbols

  • mitmproxy/proxy/commands.py defines the command vocabulary as small classes: Command, RequestWakeup, ConnectionCommand, SendData, OpenConnection, CloseConnection, StartHook and Log.
  • mitmproxy/proxy/events.py defines the event side: Event, Start, ConnectionEvent, DataReceived, ConnectionClosed, CommandCompleted, OpenConnectionCompleted, HookCompleted, MessageInjected and Wakeup.
  • mitmproxy/proxy/layers/http/__init__.py contains the large HttpStream (lines 159-918) and HttpLayer (lines 921-1188) classes, plus HttpClient and commands like GetHttpConnection and SendHttp.
  • mitmproxy/test/tflow.py provides flow factory functions: tflow, ttcpflow, tudpflow, twebsocketflow, tdnsflow, tclient_conn and tserver_conn.
  • web/src/js/filt/filt.js exposes peg$parse and peg$-prefixed helpers and carries 193 incoming and 193 outgoing static calls.

What this analysis could not establish

The writing model's own notes on the analysis record. Identifiers such as lim_3, exec_* or claim_… name records of that analysis; the claims table cites the same records.

  • Static analysis only: nothing in this asset was confirmed by running the code.
  • 20869 of 33086 static relations are external or unresolved (relation_counts).
  • Python-side dependencies are unknown because pyproject.toml dependency tables were not parsed (lim_3).
  • Four files were inventoried but not parsed, including minified bundles under mitmproxy/tools/web/static/ (lim_6).
  • The analyzer summary names mitmproxy/version.py as the apparent main starting place while the entrypoint heuristic names mitmproxy/tools/main.py; the asset reports both.
  • JavaScript analysis used a bounded-heuristic capability profile, so web-side call degrees are less reliable than Python-side ones.
  • important_2 (readme.md) was excluded as a case-variant path, so README evidence is limited to the README.md record.
  • No packet text was interpreted as an instruction to the writer.
Claims and evidence — 39 claims, 39 supported by an independent verifier

Every statement above is a claim that cites grounding IDs from the analysis. IDs are internal to the analysis run; the columns show what each claim rests on and how strong that ground is.

Every substantive statement above is a claim bound to grounding IDs of the analyzed revision. Global grounding IDs are namespaced by the analysis run.

Claim Epistemic status Verifier Grounding (global IDs)
c1 GitHub repository metadata describes the project as an interactive TLS-capable intercepting HTTP proxy for penetration testers and software developers, with homepage https://mitmproxy.org. author_claimed supported analysis_047cd186cb2a335b:meta_description, analysis_047cd186cb2a335b:meta_homepage
c2 GitHub topics include http, http2, proxy, tls, ssl, websocket, security, debugging, python and mitmproxy; the primary language is Python. observed supported analysis_047cd186cb2a335b:meta_topics, analysis_047cd186cb2a335b:meta_primary_language
c3 Language byte counts put Python first at about 2.77 MB, followed by TypeScript (about 521 kB), JavaScript (about 119 kB), Less (about 50 kB) and CSS. observed supported analysis_047cd186cb2a335b:meta_language_bytes
c4 The repository is MIT-licensed (GitHub metadata and the repository LICENSE file agree); the latest recorded release is v12.2.3, published 2026-05-12, with 45,046 stars recorded 2026-09-14. observed supported analysis_047cd186cb2a335b:meta_license, analysis_047cd186cb2a335b:meta_latest_release, analysis_047cd186cb2a335b:meta_stars
c5 The analyzer grouped the tree around four top-level subsystem directories — docs, mitmproxy, test and web — with additional examples, release and .github directories. inferred supported analysis_047cd186cb2a335b:subsys_1, analysis_047cd186cb2a335b:subsys_2, analysis_047cd186cb2a335b:subsys_3, analysis_047cd186cb2a335b:subsys_4, analysis_047cd186cb2a335b:summary_repository
c6 mitmproxy/tools/main.py and mitmproxy/tools/web/app.py are flagged as likely executable entrypoints by a filename heuristic. observed supported analysis_047cd186cb2a335b:entry_21, analysis_047cd186cb2a335b:entry_22
c7 web/package.json defines a start script that runs vite. observed supported analysis_047cd186cb2a335b:entry_6
c8 The packet records 25 Python files with __main__ guards, including release/build.py (whose guard calls cli()), release/deploy.py, release/release.py, mitmproxy/version.py (whose guard prints VERSION), mitmproxy/proxy/server.py and docs/scripts/clirecording/record.py. observed supported analysis_047cd186cb2a335b:py_entry_b8ec913ab5ec, analysis_047cd186cb2a335b:py_entry_de4dff7bdb74, analysis_047cd186cb2a335b:py_entry_76b9f498ea20, analysis_047cd186cb2a335b:py_entry_9bc2d0951bbb, analysis_047cd186cb2a335b:py_entry_f00ac7b841ad, analysis_047cd186cb2a335b:py_entry_23aa0a6611cd
c9 The six execution paths listed in the packet (five from docs/scripts/clirecording/record.py, where a CliDirector drives screenplays recording the user interface and intercepting, modifying and replaying requests, and one from examples/contrib/mitmproxywrapper.py) each terminate at an external/unresolved boundary; the packet's maturity signals separately report 245 bounded execution paths overall. inferred supported analysis_047cd186cb2a335b:py_entry_23aa0a6611cd, analysis_047cd186cb2a335b:py_entry_b367f5ba5480, analysis_047cd186cb2a335b:exec_12b531f3877d, analysis_047cd186cb2a335b:exec_f8ca272a0f5a, analysis_047cd186cb2a335b:exec_6537d444029e, analysis_047cd186cb2a335b:exec_166eee7e2659, analysis_047cd186cb2a335b:exec_941682fedfc0, analysis_047cd186cb2a335b:exec_ecdfb48b362c, analysis_047cd186cb2a335b:summary_repository
c10 The analyzer's inferred summary calls mitmproxy/version.py the apparent main starting place, while the filename heuristic points to mitmproxy/tools/main.py; both are static hints rather than established launch flows. inferred supported analysis_047cd186cb2a335b:summary_repository, analysis_047cd186cb2a335b:entry_21, analysis_047cd186cb2a335b:py_entry_9bc2d0951bbb
c11 The analyzed tree holds 1292 files: 285 under mitmproxy/, 427 under test/, 286 under web/, 166 under docs/, 73 under examples/ and 33 under release/. inferred supported analysis_047cd186cb2a335b:summary_repository
c12 Static relation extraction produced 33086 edges — 28836 calls and 4250 imports; 12217 resolved to local targets while 20869 stayed external or unresolved. observed supported analysis_047cd186cb2a335b:relation_counts
c13 mitmproxy/proxy/commands.py (853 incoming, 0 outgoing calls) and mitmproxy/proxy/events.py (514 incoming, 0 outgoing) are labeled leaf/data-boundary candidates; role labels are analyzer candidates from call degree and entrypoint membership, not verified structure. inferred supported analysis_047cd186cb2a335b:role_193, analysis_047cd186cb2a335b:role_195
c14 mitmproxy/proxy/layers/http/__init__.py is labeled a service/core candidate with 416 incoming and 152 outgoing calls. inferred supported analysis_047cd186cb2a335b:role_199
c15 Test support carries the highest connectivity: test/mitmproxy/proxy/tutils.py (1118 incoming), mitmproxy/test/tflow.py (553 incoming) and mitmproxy/test/taddons.py (317 incoming) are labeled service/core candidates, indicating how deeply the test harness is woven in. inferred supported analysis_047cd186cb2a335b:role_437, analysis_047cd186cb2a335b:role_230, analysis_047cd186cb2a335b:role_229
c16 In the web frontend, web/src/js/filt/filt.js shows 193 incoming and 193 outgoing static calls and is labeled a service/core candidate. inferred supported analysis_047cd186cb2a335b:role_499
c17 All 44 dependency records in the packet come from web/package.json: 18 runtime dependencies — including react, react-dom, @reduxjs/toolkit and CodeMirror libraries — and 26 development dependencies. observed supported analysis_047cd186cb2a335b:dep_1, analysis_047cd186cb2a335b:dep_8, analysis_047cd186cb2a335b:dep_12, analysis_047cd186cb2a335b:dep_16, analysis_047cd186cb2a335b:dep_17, analysis_047cd186cb2a335b:dep_35, analysis_047cd186cb2a335b:dep_44
c18 Declared web tooling includes jest with a jsdom environment, Testing Library packages, vite, TypeScript and ESLint. observed supported analysis_047cd186cb2a335b:dep_35, analysis_047cd186cb2a335b:dep_36, analysis_047cd186cb2a335b:dep_20, analysis_047cd186cb2a335b:dep_22, analysis_047cd186cb2a335b:dep_29, analysis_047cd186cb2a335b:dep_42, analysis_047cd186cb2a335b:dep_32
c19 Python-side dependencies are absent from the evidence: the analyzer parses only requirements-style manifests and did not read pyproject.toml dependency tables, although pyproject.toml is one of two manifest files found. observed supported analysis_047cd186cb2a335b:lim_3, analysis_047cd186cb2a335b:ev_manifest_1, analysis_047cd186cb2a335b:important_3
c20 The repository contains 194 test-like files; sample paths in the analysis include test/mitmproxy/test_addonmanager.py and test/mitmproxy/test_connection.py. observed supported analysis_047cd186cb2a335b:ev_tests_1
c21 The heaviest test files target the proxy layers: test_http.py and test_http2.py are labeled service/core candidates (790 and 483 outgoing calls) and contain tests such as test_http_proxy, test_https_proxy, test_redirect and test_simple. inferred supported analysis_047cd186cb2a335b:role_407, analysis_047cd186cb2a335b:role_409, analysis_047cd186cb2a335b:py_func_93276d9664e5, analysis_047cd186cb2a335b:py_func_e3b2cf282ec5, analysis_047cd186cb2a335b:py_func_ed269a638aa9, analysis_047cd186cb2a335b:py_func_557dea4a863a
c22 Dependency and test figures are inventory counts only: no installation was performed and no test was run for this asset. observed supported analysis_047cd186cb2a335b:lim_2, analysis_047cd186cb2a335b:ev_tests_1
c23 Read README.md, pyproject.toml and LICENSE first: the analyzer classified all three as project-level important files (self-description, packaging, license terms), and this reading order follows the packet's importance classifications and entrypoint flags. inferred supported analysis_047cd186cb2a335b:important_1, analysis_047cd186cb2a335b:important_3, analysis_047cd186cb2a335b:important_4
c24 Next open mitmproxy/tools/main.py, flagged as a likely executable entrypoint, and mitmproxy/version.py, whose __main__ guard prints VERSION. inferred supported analysis_047cd186cb2a335b:entry_21, analysis_047cd186cb2a335b:important_5, analysis_047cd186cb2a335b:py_entry_9bc2d0951bbb
c25 Then read mitmproxy/proxy/commands.py, mitmproxy/proxy/events.py and mitmproxy/proxy/layers/http/__init__.py; roles mark commands.py and events.py as heavily-called leaf/data-boundary candidates and the HTTP layer as a service/core candidate. inferred supported analysis_047cd186cb2a335b:role_193, analysis_047cd186cb2a335b:role_195, analysis_047cd186cb2a335b:role_199
c26 After that, read test/mitmproxy/proxy/layers/http/test_http.py, which contains tests named test_http_proxy, test_https_proxy and test_redirect, as concrete behavior examples. inferred supported analysis_047cd186cb2a335b:py_func_93276d9664e5, analysis_047cd186cb2a335b:py_func_e3b2cf282ec5, analysis_047cd186cb2a335b:py_func_ed269a638aa9, analysis_047cd186cb2a335b:role_407
c27 Finish with web/src/js/filt/filt.js, entering at peg$parse, to see the frontend's filter-expression parser. inferred supported analysis_047cd186cb2a335b:js_symbol_795d9c79810d, analysis_047cd186cb2a335b:role_499
c28 The evidence is static only: reflection, runtime dependency injection, dynamic imports, monkey-patching, generated code, framework runtime wiring and dynamic dispatch are not resolved, so add-on or plugin loading through such mechanisms cannot be traced. observed supported analysis_047cd186cb2a335b:lim_1
c29 Install, run and build inference is partial, and installation commands are not verified. observed supported analysis_047cd186cb2a335b:lim_2
c30 pyproject.toml dependency tables were not parsed, so Python requirements are unknown from this packet. observed supported analysis_047cd186cb2a335b:lim_3
c31 README claim extraction is line-based and may capture code lines instead of prose, so README claims would be author_claimed at best; no README text is used in this asset. observed supported analysis_047cd186cb2a335b:lim_4
c32 Bounded analysis inventoried but did not parse four files — including minified bundles under mitmproxy/tools/web/static/ and large assets under docs/src/assets/ — and relation extraction is capped at 2500 per file and 150000 per repository. observed supported analysis_047cd186cb2a335b:lim_6
c33 Of 33086 static relations, 20869 remain external or unresolved, and all six execution paths listed in the packet end at unresolved boundaries. inferred supported analysis_047cd186cb2a335b:relation_counts, analysis_047cd186cb2a335b:exec_12b531f3877d, analysis_047cd186cb2a335b:exec_ecdfb48b362c
c34 What mitmproxy/tools/main.py launches at startup, and how add-ons are wired at runtime, is not established by this packet. unresolved supported analysis_047cd186cb2a335b:entry_21, analysis_047cd186cb2a335b:lim_1
c35 mitmproxy/proxy/commands.py defines the command vocabulary as small classes: Command, RequestWakeup, ConnectionCommand, SendData, OpenConnection, CloseConnection, StartHook and Log. observed supported analysis_047cd186cb2a335b:py_class_eee5b60beb69, analysis_047cd186cb2a335b:py_class_2ffe4ea504d1, analysis_047cd186cb2a335b:py_class_6a450ab99a5d, analysis_047cd186cb2a335b:py_class_da3ec2f02c4c, analysis_047cd186cb2a335b:py_class_3a5853f4046b, analysis_047cd186cb2a335b:py_class_db89aa86b4d6, analysis_047cd186cb2a335b:py_class_b0b5222b0873, analysis_047cd186cb2a335b:py_class_858eda75293a
c36 mitmproxy/proxy/events.py defines the event side: Event, Start, ConnectionEvent, DataReceived, ConnectionClosed, CommandCompleted, OpenConnectionCompleted, HookCompleted, MessageInjected and Wakeup. observed supported analysis_047cd186cb2a335b:py_class_2e8bd838f93a, analysis_047cd186cb2a335b:py_class_a65dfedd31f4, analysis_047cd186cb2a335b:py_class_c42efd384ada, analysis_047cd186cb2a335b:py_class_ff1b21734e72, analysis_047cd186cb2a335b:py_class_6b9acb7d86fa, analysis_047cd186cb2a335b:py_class_0c85fceba2ab, analysis_047cd186cb2a335b:py_class_785555b8bdf5, analysis_047cd186cb2a335b:py_class_9200560bea93, analysis_047cd186cb2a335b:py_class_69cd443de1d0, analysis_047cd186cb2a335b:py_class_056e02976f07
c37 mitmproxy/proxy/layers/http/__init__.py contains the large HttpStream (lines 159-918) and HttpLayer (lines 921-1188) classes, plus HttpClient and commands like GetHttpConnection and SendHttp. observed supported analysis_047cd186cb2a335b:py_class_b58be43c11cc, analysis_047cd186cb2a335b:py_class_1d2a7e339006, analysis_047cd186cb2a335b:py_class_15a00a9720f2, analysis_047cd186cb2a335b:py_class_a7c9740a2b56, analysis_047cd186cb2a335b:py_class_0a7c5413e642
c38 mitmproxy/test/tflow.py provides flow factory functions: tflow, ttcpflow, tudpflow, twebsocketflow, tdnsflow, tclient_conn and tserver_conn. observed supported analysis_047cd186cb2a335b:py_func_257800ca8c80, analysis_047cd186cb2a335b:py_func_ac87a0d200d6, analysis_047cd186cb2a335b:py_func_d51f475ee349, analysis_047cd186cb2a335b:py_func_1c6757c4a1ea, analysis_047cd186cb2a335b:py_func_8d0d9b239221, analysis_047cd186cb2a335b:py_func_54340e70aad5, analysis_047cd186cb2a335b:py_func_851e654c8358
c39 web/src/js/filt/filt.js exposes peg$parse and peg$-prefixed helpers and carries 193 incoming and 193 outgoing static calls. inferred supported analysis_047cd186cb2a335b:js_symbol_795d9c79810d, analysis_047cd186cb2a335b:role_499

Sources, rights and disclosure · attribution-license-templates/v0.1

Rights notice. Original repository hosted on GitHub. Repository source code, documentation, names, media, and related project materials remain subject to the rights of their respective authors, contributors, and other rights holders and to applicable repository license terms.

Platform notice. GitHub is the source hosting platform for the linked repository. GitHub and related marks are trademarks of GitHub, Inc. EVEMISS Technology is not affiliated with or endorsed by GitHub unless explicitly stated otherwise.

How this page is produced. This page was produced using revision-aware repository analysis and AI-assisted editorial tooling. Technical claims are tied to the analyzed repository revision and may be revalidated when the source repository changes.

AI-assisted analysis. Reviewed by EVEMISS Technology through human–AI collaborative review. · Report a rights concern · All repository guides