CINXE.COM
Codacy · GitHub Marketplace · GitHub
<!DOCTYPE html> <html lang="en"> <head><script type="text/javascript" src="/_static/js/bundle-playback.js?v=HxkREWBo" charset="utf-8"></script> <script type="text/javascript" src="/_static/js/wombat.js?v=txqj7nKC" charset="utf-8"></script> <script>window.RufflePlayer=window.RufflePlayer||{};window.RufflePlayer.config={"autoplay":"on","unmuteOverlay":"hidden"};</script> <script type="text/javascript" src="/_static/js/ruffle/ruffle.js"></script> <script type="text/javascript"> __wm.init("https://web.archive.org/web"); __wm.wombat("https://github.com/marketplace/codacy","20211121184648","https://web.archive.org/","web","/_static/", "1637520408"); </script> <link rel="stylesheet" type="text/css" href="/_static/css/banner-styles.css?v=S1zqJCYt" /> <link rel="stylesheet" type="text/css" href="/_static/css/iconochive.css?v=3PDvdIFv" /> <!-- End Wayback Rewrite JS Include --> <meta charset="utf-8"> <link rel="dns-prefetch" href="https://web.archive.org/web/20211121184648/https://github.githubassets.com/"> <link rel="dns-prefetch" href="https://web.archive.org/web/20211121184648/https://avatars.githubusercontent.com/"> <link rel="dns-prefetch" href="https://web.archive.org/web/20211121184648/https://github-cloud.s3.amazonaws.com/"> <link rel="dns-prefetch" href="https://web.archive.org/web/20211121184648/https://user-images.githubusercontent.com/"> <link rel="preconnect" href="https://web.archive.org/web/20211121184648/https://github.githubassets.com/" crossorigin> <link rel="preconnect" href="https://web.archive.org/web/20211121184648/https://avatars.githubusercontent.com/"> <link crossorigin="anonymous" media="all" integrity="" rel="stylesheet" href="https://web.archive.org/web/20211121184648cs_/https://github.githubassets.com/assets/light-d46e2b60992dc114d02a7edf55f254c4.css"/><link crossorigin="anonymous" media="all" integrity="" rel="stylesheet" href="https://web.archive.org/web/20211121184648cs_/https://github.githubassets.com/assets/dark-848e5bda8a9313d9e37e362b7eecd7a8.css"/><link data-color-theme="light" crossorigin="anonymous" media="all" integrity="" rel="stylesheet" data-href="https://github.githubassets.com/assets/light-d46e2b60992dc114d02a7edf55f254c4.css"/><link data-color-theme="dark" crossorigin="anonymous" media="all" integrity="" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark-848e5bda8a9313d9e37e362b7eecd7a8.css"/><link data-color-theme="dark_dimmed" crossorigin="anonymous" media="all" integrity="" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_dimmed-92541d6f7b75e0061a44c901d2ff5bb9.css"/><link data-color-theme="dark_high_contrast" crossorigin="anonymous" media="all" integrity="" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_high_contrast-081b1fa41be0d43fc7be7f05158e09c1.css"/><link data-color-theme="dark_colorblind" crossorigin="anonymous" media="all" integrity="" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_colorblind-d3d8a99329c0b730aa6ac9760f6fff37.css"/><link data-color-theme="light_colorblind" crossorigin="anonymous" media="all" integrity="" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_colorblind-389c270bfa4674e57740ca16b9df2fa7.css"/> <link crossorigin="anonymous" media="all" integrity="" rel="stylesheet" href="https://web.archive.org/web/20211121184648cs_/https://github.githubassets.com/assets/frameworks-4f7378e77856098b0bf3229fbb7cb27b.css"/> <link crossorigin="anonymous" media="all" integrity="" rel="stylesheet" href="https://web.archive.org/web/20211121184648cs_/https://github.githubassets.com/assets/behaviors-f3a9d72bb1bfd685a5472d6f3ce39093.css"/> <link crossorigin="anonymous" media="all" integrity="" rel="stylesheet" href="https://web.archive.org/web/20211121184648cs_/https://github.githubassets.com/assets/tab-size-fix-30224561f6d0a13e045c2e9a5b1e5682.css"/> <link crossorigin="anonymous" media="all" integrity="" rel="stylesheet" href="https://web.archive.org/web/20211121184648cs_/https://github.githubassets.com/assets/github-a916573738a9c6fb608ef2f768e82e27.css"/> <script crossorigin="anonymous" defer="defer" integrity="" type="application/javascript" src="https://web.archive.org/web/20211121184648js_/https://github.githubassets.com/assets/environment-2bf92300.js"></script> <script crossorigin="anonymous" defer="defer" integrity="" type="application/javascript" src="https://web.archive.org/web/20211121184648js_/https://github.githubassets.com/assets/chunk-frameworks-a010e3b0.js"></script> <script crossorigin="anonymous" defer="defer" integrity="" type="application/javascript" src="https://web.archive.org/web/20211121184648js_/https://github.githubassets.com/assets/chunk-vendor-d15f4577.js"></script> <script crossorigin="anonymous" defer="defer" integrity="" type="application/javascript" src="https://web.archive.org/web/20211121184648js_/https://github.githubassets.com/assets/behaviors-0fe4eee2.js"></script> <script crossorigin="anonymous" defer="defer" integrity="" type="application/javascript" data-module-id="./chunk-unveil.js" data-src="https://github.githubassets.com/assets/chunk-unveil-383649cc.js"></script> <script crossorigin="anonymous" defer="defer" integrity="" type="application/javascript" data-module-id="./chunk-animate-on-scroll.js" data-src="https://github.githubassets.com/assets/chunk-animate-on-scroll-7a63e051.js"></script> <script crossorigin="anonymous" defer="defer" integrity="" type="application/javascript" data-module-id="./chunk-input-demux.js" data-src="https://github.githubassets.com/assets/chunk-input-demux-c7a2fde2.js"></script> <script crossorigin="anonymous" defer="defer" integrity="" type="application/javascript" data-module-id="./chunk-ref-selector.js" data-src="https://github.githubassets.com/assets/chunk-ref-selector-77dccb93.js"></script> <script crossorigin="anonymous" defer="defer" integrity="" type="application/javascript" data-module-id="./chunk-filter-input.js" data-src="https://github.githubassets.com/assets/chunk-filter-input-a83ff9b7.js"></script> <script crossorigin="anonymous" defer="defer" integrity="" type="application/javascript" data-module-id="./chunk-edit.js" data-src="https://github.githubassets.com/assets/chunk-edit-ca75799c.js"></script> <script crossorigin="anonymous" defer="defer" integrity="" type="application/javascript" data-module-id="./chunk-responsive-underlinenav.js" data-src="https://github.githubassets.com/assets/chunk-responsive-underlinenav-1a1a870c.js"></script> <script crossorigin="anonymous" defer="defer" integrity="" type="application/javascript" data-module-id="./chunk-tag-input.js" data-src="https://github.githubassets.com/assets/chunk-tag-input-826c3ba1.js"></script> <script crossorigin="anonymous" defer="defer" integrity="" type="application/javascript" data-module-id="./chunk-notification-list-focus.js" data-src="https://github.githubassets.com/assets/chunk-notification-list-focus-028f6594.js"></script> <script crossorigin="anonymous" defer="defer" integrity="" type="application/javascript" data-module-id="./chunk-cookies.js" data-src="https://github.githubassets.com/assets/chunk-cookies-48f59dde.js"></script> <script crossorigin="anonymous" defer="defer" integrity="" type="application/javascript" data-module-id="./chunk-slug.js" data-src="https://github.githubassets.com/assets/chunk-slug-e2f551a6.js"></script> <script crossorigin="anonymous" defer="defer" integrity="" type="application/javascript" data-module-id="./chunk-async-export.js" data-src="https://github.githubassets.com/assets/chunk-async-export-30ae7719.js"></script> <script crossorigin="anonymous" defer="defer" integrity="" type="application/javascript" data-module-id="./chunk-premium-runners.js" data-src="https://github.githubassets.com/assets/chunk-premium-runners-b70f5202.js"></script> <script crossorigin="anonymous" defer="defer" integrity="" type="application/javascript" data-module-id="./chunk-get-repo-element.js" data-src="https://github.githubassets.com/assets/chunk-get-repo-element-0f9efa0a.js"></script> <script crossorigin="anonymous" defer="defer" integrity="" type="application/javascript" data-module-id="./chunk-color-modes.js" data-src="https://github.githubassets.com/assets/chunk-color-modes-c614803b.js"></script> <script crossorigin="anonymous" defer="defer" integrity="" type="application/javascript" data-module-id="./chunk-copy.js" data-src="https://github.githubassets.com/assets/chunk-copy-8e2b71a2.js"></script> <script crossorigin="anonymous" defer="defer" integrity="" type="application/javascript" data-module-id="./chunk-voting.js" data-src="https://github.githubassets.com/assets/chunk-voting-b0078bef.js"></script> <script crossorigin="anonymous" defer="defer" integrity="" type="application/javascript" data-module-id="./chunk-confetti.js" data-src="https://github.githubassets.com/assets/chunk-confetti-1c3b0b25.js"></script> <script crossorigin="anonymous" defer="defer" integrity="" type="application/javascript" data-module-id="./chunk-codemirror.js" data-src="https://github.githubassets.com/assets/chunk-codemirror-266f7585.js"></script> <script crossorigin="anonymous" defer="defer" integrity="" type="application/javascript" data-module-id="./chunk-tip.js" data-src="https://github.githubassets.com/assets/chunk-tip-1abdd970.js"></script> <script crossorigin="anonymous" defer="defer" integrity="" type="application/javascript" data-module-id="./chunk-line.js" data-src="https://github.githubassets.com/assets/chunk-line-11d42f96.js"></script> <script crossorigin="anonymous" defer="defer" integrity="" type="application/javascript" data-module-id="./chunk-array.js" data-src="https://github.githubassets.com/assets/chunk-array-e334873f.js"></script> <script crossorigin="anonymous" defer="defer" integrity="" type="application/javascript" data-module-id="./chunk-band.js" data-src="https://github.githubassets.com/assets/chunk-band-83c7dbe9.js"></script> <script crossorigin="anonymous" defer="defer" integrity="" type="application/javascript" data-module-id="./chunk-toast.js" data-src="https://github.githubassets.com/assets/chunk-toast-ea8582bb.js"></script> <script crossorigin="anonymous" defer="defer" integrity="" type="application/javascript" data-module-id="./chunk-delayed-loading-element.js" data-src="https://github.githubassets.com/assets/chunk-delayed-loading-element-9a26a267.js"></script> <script crossorigin="anonymous" defer="defer" integrity="" type="application/javascript" data-module-id="./chunk-three.module.js" data-src="https://github.githubassets.com/assets/chunk-three.module-183db908.js"></script> <script crossorigin="anonymous" defer="defer" integrity="" type="application/javascript" data-module-id="./chunk-invitations.js" data-src="https://github.githubassets.com/assets/chunk-invitations-39f93b75.js"></script> <script crossorigin="anonymous" defer="defer" integrity="" type="application/javascript" data-module-id="./chunk-profile.js" data-src="https://github.githubassets.com/assets/chunk-profile-bc547e22.js"></script> <script crossorigin="anonymous" defer="defer" integrity="" type="application/javascript" data-module-id="./chunk-overview.js" data-src="https://github.githubassets.com/assets/chunk-overview-15e46e8d.js"></script> <script crossorigin="anonymous" defer="defer" integrity="" type="application/javascript" data-module-id="./chunk-advanced.js" data-src="https://github.githubassets.com/assets/chunk-advanced-c6ac36df.js"></script> <script crossorigin="anonymous" defer="defer" integrity="" type="application/javascript" data-module-id="./chunk-runner-groups.js" data-src="https://github.githubassets.com/assets/chunk-runner-groups-e9199dd0.js"></script> <script crossorigin="anonymous" defer="defer" integrity="" type="application/javascript" data-module-id="./chunk-profile-pins-element.js" data-src="https://github.githubassets.com/assets/chunk-profile-pins-element-e47e4dff.js"></script> <script crossorigin="anonymous" defer="defer" integrity="" type="application/javascript" data-module-id="./chunk-emoji-picker-element.js" data-src="https://github.githubassets.com/assets/chunk-emoji-picker-element-2eb0f690.js"></script> <script crossorigin="anonymous" defer="defer" integrity="" type="application/javascript" data-module-id="./chunk-edit-hook-secret-element.js" data-src="https://github.githubassets.com/assets/chunk-edit-hook-secret-element-12f27616.js"></script> <script crossorigin="anonymous" defer="defer" integrity="" type="application/javascript" data-module-id="./chunk-insights-query.js" data-src="https://github.githubassets.com/assets/chunk-insights-query-5b412284.js"></script> <script crossorigin="anonymous" defer="defer" integrity="" type="application/javascript" data-module-id="./chunk-remote-clipboard-copy.js" data-src="https://github.githubassets.com/assets/chunk-remote-clipboard-copy-0ffe4077.js"></script> <script crossorigin="anonymous" defer="defer" integrity="" type="application/javascript" data-module-id="./chunk-series-table.js" data-src="https://github.githubassets.com/assets/chunk-series-table-4948c5e6.js"></script> <script crossorigin="anonymous" defer="defer" integrity="" type="application/javascript" data-module-id="./chunk-line-chart.js" data-src="https://github.githubassets.com/assets/chunk-line-chart-9eb7e4b6.js"></script> <script crossorigin="anonymous" defer="defer" integrity="" type="application/javascript" data-module-id="./chunk-stacked-area-chart.js" data-src="https://github.githubassets.com/assets/chunk-stacked-area-chart-20e3066a.js"></script> <script crossorigin="anonymous" defer="defer" integrity="" type="application/javascript" data-module-id="./chunk-presence-avatars.js" data-src="https://github.githubassets.com/assets/chunk-presence-avatars-1a8843a5.js"></script> <script crossorigin="anonymous" defer="defer" integrity="" type="application/javascript" data-module-id="./chunk-pulse-authors-graph-element.js" data-src="https://github.githubassets.com/assets/chunk-pulse-authors-graph-element-4e91d321.js"></script> <script crossorigin="anonymous" defer="defer" integrity="" type="application/javascript" data-module-id="./chunk-stacks-input-config-view.js" data-src="https://github.githubassets.com/assets/chunk-stacks-input-config-view-68d01c14.js"></script> <script crossorigin="anonymous" defer="defer" integrity="" type="application/javascript" data-module-id="./chunk-community-contributions.js" data-src="https://github.githubassets.com/assets/chunk-community-contributions-3175dd2a.js"></script> <script crossorigin="anonymous" defer="defer" integrity="" type="application/javascript" data-module-id="./chunk-discussion-page-views.js" data-src="https://github.githubassets.com/assets/chunk-discussion-page-views-71eb7d86.js"></script> <script crossorigin="anonymous" defer="defer" integrity="" type="application/javascript" data-module-id="./chunk-discussions-daily-contributors.js" data-src="https://github.githubassets.com/assets/chunk-discussions-daily-contributors-e7ebf754.js"></script> <script crossorigin="anonymous" defer="defer" integrity="" type="application/javascript" data-module-id="./chunk-discussions-new-contributors.js" data-src="https://github.githubassets.com/assets/chunk-discussions-new-contributors-fcf492dd.js"></script> <script crossorigin="anonymous" defer="defer" integrity="" type="application/javascript" data-module-id="./chunk-tweetsodium.js" data-src="https://github.githubassets.com/assets/chunk-tweetsodium-7057bd5a.js"></script> <script crossorigin="anonymous" defer="defer" integrity="" type="application/javascript" data-module-id="./chunk-jump-to.js" data-src="https://github.githubassets.com/assets/chunk-jump-to-01529fa8.js"></script> <script crossorigin="anonymous" defer="defer" integrity="" type="application/javascript" data-module-id="./chunk-user-status-submit.js" data-src="https://github.githubassets.com/assets/chunk-user-status-submit-ae00780b.js"></script> <script crossorigin="anonymous" defer="defer" integrity="" type="application/javascript" data-module-id="./chunk-launch-code-element.js" data-src="https://github.githubassets.com/assets/chunk-launch-code-element-e31b6350.js"></script> <script crossorigin="anonymous" defer="defer" integrity="" type="application/javascript" data-module-id="./chunk-metric-selection-element.js" data-src="https://github.githubassets.com/assets/chunk-metric-selection-element-362955c7.js"></script> <script crossorigin="anonymous" defer="defer" integrity="" type="application/javascript" data-module-id="./chunk-severity-calculator-element.js" data-src="https://github.githubassets.com/assets/chunk-severity-calculator-element-1b3f4184.js"></script> <script crossorigin="anonymous" defer="defer" integrity="" type="application/javascript" data-module-id="./chunk-readme-toc-element.js" data-src="https://github.githubassets.com/assets/chunk-readme-toc-element-c971e4c2.js"></script> <script crossorigin="anonymous" defer="defer" integrity="" type="application/javascript" data-module-id="./chunk-feature-callout-element.js" data-src="https://github.githubassets.com/assets/chunk-feature-callout-element-5adc4562.js"></script> <script crossorigin="anonymous" defer="defer" integrity="" type="application/javascript" data-module-id="./chunk-action-list-element.js" data-src="https://github.githubassets.com/assets/chunk-action-list-element-cb134e70.js"></script> <script crossorigin="anonymous" defer="defer" integrity="" type="application/javascript" data-module-id="./chunk-sortable-behavior.js" data-src="https://github.githubassets.com/assets/chunk-sortable-behavior-3efc77ad.js"></script> <script crossorigin="anonymous" defer="defer" integrity="" type="application/javascript" data-module-id="./chunk-drag-drop.js" data-src="https://github.githubassets.com/assets/chunk-drag-drop-e895101e.js"></script> <script crossorigin="anonymous" defer="defer" integrity="" type="application/javascript" data-module-id="./chunk-contributions-spider-graph.js" data-src="https://github.githubassets.com/assets/chunk-contributions-spider-graph-dbca62a4.js"></script> <script crossorigin="anonymous" defer="defer" integrity="" type="application/javascript" data-module-id="./chunk-webgl-warp.js" data-src="https://github.githubassets.com/assets/chunk-webgl-warp-cb4cae89.js"></script> <script crossorigin="anonymous" defer="defer" integrity="" type="application/javascript" src="https://web.archive.org/web/20211121184648js_/https://github.githubassets.com/assets/marketplace-b85169bd.js"></script> <meta name="viewport" content="width=device-width"> <title>Codacy · GitHub Marketplace · GitHub</title> <meta name="description" content="Automated code reviews to help developers ship better software, faster"> <link rel="search" type="application/opensearchdescription+xml" href="/web/20211121184648/https://github.com/opensearch.xml" title="GitHub"> <link rel="fluid-icon" href="https://github.com/fluidicon.png" title="GitHub"> <meta property="fb:app_id" content="1401488693436528"> <meta name="apple-itunes-app" content="app-id=1477376905"/> <meta name="twitter:image:src" content="https://opengraph.githubassets.com/4f71120cf9ba4b0ee5a5945697afe96fa3a644a51575b13298526806ea90d42c/marketplace/codacy"/><meta name="twitter:site" content="@github"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:title" content="Codacy - GitHub Marketplace"/><meta name="twitter:description" content="Automated code reviews to help developers ship better software, faster"/> <meta property="og:image" content="https://web.archive.org/web/20211121184648im_/https://opengraph.githubassets.com/4f71120cf9ba4b0ee5a5945697afe96fa3a644a51575b13298526806ea90d42c/marketplace/codacy"/><meta property="og:image:alt" content="Automated code reviews to help developers ship better software, faster"/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="600"/><meta property="og:site_name" content="GitHub"/><meta property="og:type" content="object"/><meta property="og:title" content="Codacy - GitHub Marketplace"/><meta property="og:url" content="https://web.archive.org/web/20211121184648/https://github.com/marketplace/codacy"/><meta property="og:description" content="Automated code reviews to help developers ship better software, faster"/> <link rel="assets" href="https://github.githubassets.com/"> <meta name="request-id" content="B914:1173:820FE9:AC41EB:619A9418" data-pjax-transient="true"/><meta name="html-safe-nonce" content="a87ed6fa3edc67c7ce750144d163fd4f0bc4c348d260fe4be766bc768b7fdc8b" data-pjax-transient="true"/><meta name="visitor-payload" content="eyJyZWZlcnJlciI6Imh0dHBzOi8vZ2l0aHViLmNvbS9mZWF0dXJlcy9jb2RlLXJldmlldyIsInJlcXVlc3RfaWQiOiJCOTE0OjExNzM6ODIwRkU5OkFDNDFFQjo2MTlBOTQxOCIsInZpc2l0b3JfaWQiOiI0MzMxNzIzNTI4OTcyNDM5ODY1IiwicmVnaW9uX2VkZ2UiOiJzZWEiLCJyZWdpb25fcmVuZGVyIjoic2VhIn0=" data-pjax-transient="true"/><meta name="visitor-hmac" content="fd1184e09eaf9170594523c62532ec2e6209668672ebc119bd9b187e4821da08" data-pjax-transient="true"/> <meta name="github-keyboard-shortcuts" content="" data-pjax-transient="true"/> <meta name="selected-link" value="/marketplace" data-pjax-transient> <meta name="google-site-verification" content="c1kuD-K2HIVF635lypcsWPoD4kilo5-jA_wBFyT4uMY"> <meta name="google-site-verification" content="KT5gs8h0wvaagLKAVWq8bbeNwnZZK1r1XQysX3xurLU"> <meta name="google-site-verification" content="ZzhVyEFwb7w3e0-uOTltm8Jsck2F5StVihD0exw2fsA"> <meta name="google-site-verification" content="GXs5KoUUkNCoaAZn7wPN-t01Pywp9M3sEjnt_3_ZWPc"> <meta name="octolytics-url" content="https://collector.githubapp.com/github/collect"/> <meta name="hostname" content="github.com"> <meta name="user-login" content=""> <meta name="expected-hostname" content="github.com"> <meta name="enabled-features" content="MARKETPLACE_PENDING_INSTALLATIONS,FILE_UPLOAD_CURSOR_POSITION"> <meta http-equiv="x-pjax-version" content="91c9c808007c96e39f4d4a1e4f6314113b39636433cf78950401ac3fd0064983"> <meta http-equiv="x-pjax-csp-version" content="a5f33573918f19edc1a15f03fa6ec30803ec82a39daf14b261bb9bf7549fcb53"> <meta http-equiv="x-pjax-css-version" content="229cdb98cd7fabf6f35a529008b3bc98da22d14236c950a4ec0bed7b1223270a"> <meta http-equiv="x-pjax-js-version" content="59fc84afd383f86f05cde6c0b40f03d4a1eb7bdedf9071387a7c9e54dc11667f"> <meta name="octolytics-dimension-marketplace_id" content="43"/> <meta name="viewport" content="width=device-width"> <link crossorigin="anonymous" media="all" integrity="" rel="stylesheet" href="https://web.archive.org/web/20211121184648cs_/https://github.githubassets.com/assets/site-a989d4eeb1c91cc734e3c76bdc84726d.css"/> <link rel="canonical" href="https://web.archive.org/web/20211121184648/https://github.com/marketplace/codacy" data-pjax-transient> <meta name="browser-stats-url" content="https://api.github.com/_private/browser/stats"> <meta name="browser-errors-url" content="https://api.github.com/_private/browser/errors"> <meta name="browser-optimizely-client-errors-url" content="https://api.github.com/_private/browser/optimizely_client/errors"> <link rel="mask-icon" href="https://web.archive.org/web/20211121184648im_/https://github.githubassets.com/pinned-octocat.svg" color="#000000"> <link rel="alternate icon" class="js-site-favicon" type="image/png" href="https://github.githubassets.com/favicons/favicon.png"> <link rel="icon" class="js-site-favicon" type="image/svg+xml" href="https://web.archive.org/web/20211121184648im_/https://github.githubassets.com/favicons/favicon.svg"> <meta name="theme-color" content="#1e2327"> <link rel="manifest" href="/web/20211121184648/https://github.com/manifest.json" crossorigin="use-credentials"> </head> <body class="logged-out env-production page-responsive" style="word-wrap: break-word;"> <div class="position-relative js-header-wrapper "> <a href="#start-of-content" class="px-2 py-4 color-bg-accent-emphasis color-text-white show-on-focus js-skip-to-content">Skip to content</a> <span data-view-component="true" class="progress-pjax-loader js-pjax-loader-bar Progress position-fixed width-full"> <span style="width: 0%;" data-view-component="true" class="Progress-item progress-pjax-loader-bar color-bg-info-inverse"></span> </span> <header class="Header-old header-logged-out js-details-container Details position-relative f4 py-2" role="banner"> <div class="container-xl d-lg-flex flex-items-center p-responsive"> <div class="d-flex flex-justify-between flex-items-center"> <a class="mr-4 color-fg-inherit" href="https://web.archive.org/web/20211121184648/https://github.com/" aria-label="Homepage" data-ga-click="(Logged out) Header, go to homepage, icon:logo-wordmark"> <svg height="32" aria-hidden="true" viewbox="0 0 16 16" version="1.1" width="32" data-view-component="true" class="octicon octicon-mark-github"> <path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"></path> </svg> </a> <div class="d-lg-none css-truncate css-truncate-target width-fit p-2"> </div> <div class="d-flex flex-items-center"> <a href="/web/20211121184648/https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2Fmarketplace%2Fcodacy&source=header" class="d-inline-block d-lg-none f5 no-underline border color-border-default rounded-2 px-2 py-1 mr-3 mr-sm-5 color-fg-inherit" data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"site header","repository_id":null,"auth_type":"SIGN_UP","originating_url":"https://github.com/marketplace/codacy","user_id":null}}" data-hydro-click-hmac="a02f633b8c354e36d5784ce181ebabd88b5e5c08f5445301fc282ca0ce458d82"> Sign up </a> <button aria-label="Toggle navigation" aria-expanded="false" type="button" data-view-component="true" class="js-details-target btn-link d-lg-none mt-1 color-fg-inherit"> <svg aria-hidden="true" height="24" viewbox="0 0 16 16" version="1.1" width="24" data-view-component="true" class="octicon octicon-three-bars"> <path fill-rule="evenodd" d="M1 2.75A.75.75 0 011.75 2h12.5a.75.75 0 110 1.5H1.75A.75.75 0 011 2.75zm0 5A.75.75 0 011.75 7h12.5a.75.75 0 110 1.5H1.75A.75.75 0 011 7.75zM1.75 12a.75.75 0 100 1.5h12.5a.75.75 0 100-1.5H1.75z"></path> </svg> </button> </div> </div> <div class="HeaderMenu HeaderMenu--logged-out position-fixed top-0 right-0 bottom-0 height-fit position-lg-relative d-lg-flex flex-justify-between flex-items-center flex-auto"> <div class="d-flex d-lg-none flex-justify-end border-bottom color-bg-subtle p-3"> <button aria-label="Toggle navigation" aria-expanded="false" type="button" data-view-component="true" class="js-details-target btn-link"> <svg aria-hidden="true" height="24" viewbox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-x color-fg-muted"> <path fill-rule="evenodd" d="M5.72 5.72a.75.75 0 011.06 0L12 10.94l5.22-5.22a.75.75 0 111.06 1.06L13.06 12l5.22 5.22a.75.75 0 11-1.06 1.06L12 13.06l-5.22 5.22a.75.75 0 01-1.06-1.06L10.94 12 5.72 6.78a.75.75 0 010-1.06z"></path> </svg> </button> </div> <nav class="mt-0 px-3 px-lg-0 mb-5 mb-lg-0" aria-label="Global"> <ul class="d-lg-flex list-style-none"> <li class="mr-0 mr-lg-3 position-relative flex-wrap flex-justify-between flex-items-center border-bottom border-lg-bottom-0 d-block d-lg-flex flex-lg-nowrap flex-lg-items-center"> <details class="HeaderMenu-details details-overlay details-reset width-full"> <summary class="HeaderMenu-summary HeaderMenu-link px-0 py-3 border-0 no-wrap d-block d-lg-inline-block"> Why GitHub? <svg x="0" y="0" viewbox="0 0 14 8" xml:space="preserve" fill="none" class="icon-chevon-down-mktg position-absolute position-lg-relative"><path d="M1,1l6.2,6L13,1"></path></svg> </summary> <div class="dropdown-menu flex-auto rounded px-0 mt-0 pb-4 p-lg-4 position-relative position-lg-absolute left-0 left-lg-n4"> <ul class="list-style-none f5 pb-1"> <li> <a class="lh-condensed-ultra d-block no-underline Bump-link--hover position-relative Link--primary text-bold py-2" data-hydro-click="{"event_type":"analytics.event","payload":{"category":"Header dropdown (logged out), Why GitHub?","action":"click to go to Features","label":"ref_page:/marketplace/codacy;ref_cta:Features;","originating_url":"https://github.com/marketplace/codacy","user_id":null}}" data-hydro-click-hmac="3ea13c507f7cebd330ff8f428a2fe87baadb74997a37af547198d263a0b6ee47" data-analytics-event="{"category":"Header dropdown (logged out), Why GitHub?","action":"click to go to Features","label":"ref_page:/marketplace/codacy;ref_cta:Features;"}" href="/web/20211121184648/https://github.com/features"> Features <span class="Bump-link-symbol position-absolute right-0 text-normal color-fg-muted pr-3">→</span> </a> </li> <li> <a class="lh-condensed-ultra d-block no-underline Bump-link--hover position-relative Link--secondary py-2" data-hydro-click="{"event_type":"analytics.event","payload":{"category":"Header dropdown (logged out), Why GitHub?","action":"click to go to Mobile","label":"ref_page:/marketplace/codacy;ref_cta:Mobile;","originating_url":"https://github.com/marketplace/codacy","user_id":null}}" data-hydro-click-hmac="76ccb4e79f996dce71040d69db029ae6ca282c006d50a9b6b4d627291ed4c2be" data-analytics-event="{"category":"Header dropdown (logged out), Why GitHub?","action":"click to go to Mobile","label":"ref_page:/marketplace/codacy;ref_cta:Mobile;"}" href="/web/20211121184648/https://github.com/mobile"> Mobile <span class="Bump-link-symbol position-absolute right-0 text-normal color-fg-muted pr-3">→</span> </a> </li> <li> <a class="lh-condensed-ultra d-block no-underline Bump-link--hover position-relative Link--secondary py-2" data-hydro-click="{"event_type":"analytics.event","payload":{"category":"Header dropdown (logged out), Why GitHub?","action":"click to go to Actions","label":"ref_page:/marketplace/codacy;ref_cta:Actions;","originating_url":"https://github.com/marketplace/codacy","user_id":null}}" data-hydro-click-hmac="36505fa921311d3833015f03da33be0ea4981b39761e3979724dda0d204715bc" data-analytics-event="{"category":"Header dropdown (logged out), Why GitHub?","action":"click to go to Actions","label":"ref_page:/marketplace/codacy;ref_cta:Actions;"}" href="/web/20211121184648/https://github.com/features/actions"> Actions <span class="Bump-link-symbol position-absolute right-0 text-normal color-fg-muted pr-3">→</span> </a> </li> <li> <a class="lh-condensed-ultra d-block no-underline Bump-link--hover position-relative Link--secondary py-2" data-hydro-click="{"event_type":"analytics.event","payload":{"category":"Header dropdown (logged out), Why GitHub?","action":"click to go to Codespaces","label":"ref_page:/marketplace/codacy;ref_cta:Codespaces;","originating_url":"https://github.com/marketplace/codacy","user_id":null}}" data-hydro-click-hmac="834510bfed92cf12f52f003ac59d0169d0950c4dcd30f7e73987b35f71dc0535" data-analytics-event="{"category":"Header dropdown (logged out), Why GitHub?","action":"click to go to Codespaces","label":"ref_page:/marketplace/codacy;ref_cta:Codespaces;"}" href="/web/20211121184648/https://github.com/features/codespaces"> Codespaces <span class="Bump-link-symbol position-absolute right-0 text-normal color-fg-muted pr-3">→</span> </a> </li> <li> <a class="lh-condensed-ultra d-block no-underline Bump-link--hover position-relative Link--secondary py-2" data-hydro-click="{"event_type":"analytics.event","payload":{"category":"Header dropdown (logged out), Why GitHub?","action":"click to go to Packages","label":"ref_page:/marketplace/codacy;ref_cta:Packages;","originating_url":"https://github.com/marketplace/codacy","user_id":null}}" data-hydro-click-hmac="6e93493364c2b030de4b970c3e2641c30daf95dc17ba156ca021e9d82ed03730" data-analytics-event="{"category":"Header dropdown (logged out), Why GitHub?","action":"click to go to Packages","label":"ref_page:/marketplace/codacy;ref_cta:Packages;"}" href="/web/20211121184648/https://github.com/features/packages"> Packages <span class="Bump-link-symbol position-absolute right-0 text-normal color-fg-muted pr-3">→</span> </a> </li> <li> <a class="lh-condensed-ultra d-block no-underline Bump-link--hover position-relative Link--secondary py-2" data-hydro-click="{"event_type":"analytics.event","payload":{"category":"Header dropdown (logged out), Why GitHub?","action":"click to go to Security","label":"ref_page:/marketplace/codacy;ref_cta:Security;","originating_url":"https://github.com/marketplace/codacy","user_id":null}}" data-hydro-click-hmac="8a9944e193dd1cfe69c78d9a19430b973748be213098973883927c12c642b020" data-analytics-event="{"category":"Header dropdown (logged out), Why GitHub?","action":"click to go to Security","label":"ref_page:/marketplace/codacy;ref_cta:Security;"}" href="/web/20211121184648/https://github.com/features/security"> Security <span class="Bump-link-symbol position-absolute right-0 text-normal color-fg-muted pr-3">→</span> </a> </li> <li> <a class="lh-condensed-ultra d-block no-underline Bump-link--hover position-relative Link--secondary py-2" data-hydro-click="{"event_type":"analytics.event","payload":{"category":"Header dropdown (logged out), Why GitHub?","action":"click to go to Code review","label":"ref_page:/marketplace/codacy;ref_cta:Code review;","originating_url":"https://github.com/marketplace/codacy","user_id":null}}" data-hydro-click-hmac="359a4aaf403fb7ea6407d1817a4bf9db1afeca5fbdb6b7718d9346b57c726101" data-analytics-event="{"category":"Header dropdown (logged out), Why GitHub?","action":"click to go to Code review","label":"ref_page:/marketplace/codacy;ref_cta:Code review;"}" href="/web/20211121184648/https://github.com/features/code-review"> Code review <span class="Bump-link-symbol position-absolute right-0 text-normal color-fg-muted pr-3">→</span> </a> </li> <li> <a class="lh-condensed-ultra d-block no-underline Bump-link--hover position-relative Link--secondary py-2" data-hydro-click="{"event_type":"analytics.event","payload":{"category":"Header dropdown (logged out), Why GitHub?","action":"click to go to Issues","label":"ref_page:/marketplace/codacy;ref_cta:Issues;","originating_url":"https://github.com/marketplace/codacy","user_id":null}}" data-hydro-click-hmac="dc025ac8fab363f60af94e536495da45fa90bab15ec088a3499054c4bd11027c" data-analytics-event="{"category":"Header dropdown (logged out), Why GitHub?","action":"click to go to Issues","label":"ref_page:/marketplace/codacy;ref_cta:Issues;"}" href="/web/20211121184648/https://github.com/features/issues"> Issues <span class="Bump-link-symbol position-absolute right-0 text-normal color-fg-muted pr-3">→</span> </a> </li> <li> <a class="lh-condensed-ultra d-block no-underline Bump-link--hover position-relative Link--secondary py-2" data-hydro-click="{"event_type":"analytics.event","payload":{"category":"Header dropdown (logged out), Why GitHub?","action":"click to go to Integrations","label":"ref_page:/marketplace/codacy;ref_cta:Integrations;","originating_url":"https://github.com/marketplace/codacy","user_id":null}}" data-hydro-click-hmac="2fa1861f991757f6a701c7af3e774acdc084a638fc8e0e84df3445fa49e1962a" data-analytics-event="{"category":"Header dropdown (logged out), Why GitHub?","action":"click to go to Integrations","label":"ref_page:/marketplace/codacy;ref_cta:Integrations;"}" href="/web/20211121184648/https://github.com/features/integrations"> Integrations <span class="Bump-link-symbol position-absolute right-0 text-normal color-fg-muted pr-3">→</span> </a> </li> <li> <a class="lh-condensed-ultra d-block no-underline Bump-link--hover position-relative Link--primary text-bold border-top pt-4 pb-2 mt-3" data-hydro-click="{"event_type":"analytics.event","payload":{"category":"Header dropdown (logged out), Why GitHub?","action":"click to go to GitHub Sponsors","label":"ref_page:/marketplace/codacy;ref_cta:GitHub Sponsors;","originating_url":"https://github.com/marketplace/codacy","user_id":null}}" data-hydro-click-hmac="f880df6cd695227c9e9b039d495c637999a388bd2bc39f972eaece76f7ebcd0e" data-analytics-event="{"category":"Header dropdown (logged out), Why GitHub?","action":"click to go to GitHub Sponsors","label":"ref_page:/marketplace/codacy;ref_cta:GitHub Sponsors;"}" href="/web/20211121184648/https://github.com/sponsors"> GitHub Sponsors <span class="Bump-link-symbol position-absolute right-0 text-normal color-fg-muted pr-3">→</span> </a> </li> <li> <a class="lh-condensed-ultra d-block no-underline Bump-link--hover position-relative Link--primary text-bold py-2" data-hydro-click="{"event_type":"analytics.event","payload":{"category":"Header dropdown (logged out), Why GitHub?","action":"click to go to Customer stories","label":"ref_page:/marketplace/codacy;ref_cta:Customer stories;","originating_url":"https://github.com/marketplace/codacy","user_id":null}}" data-hydro-click-hmac="fa2f4791926a919c05787ed6a40d46921f5157d008e38aaff6d0bd3155eed141" data-analytics-event="{"category":"Header dropdown (logged out), Why GitHub?","action":"click to go to Customer stories","label":"ref_page:/marketplace/codacy;ref_cta:Customer stories;"}" href="/web/20211121184648/https://github.com/customer-stories"> Customer stories <span class="Bump-link-symbol position-absolute right-0 text-normal color-fg-muted pr-3">→</span> </a> </li> </ul> </div> </details> </li> <li class="mr-0 mr-lg-3 position-relative flex-wrap flex-justify-between flex-items-center border-bottom border-lg-bottom-0 d-block d-lg-flex flex-lg-nowrap flex-lg-items-center"> <a class="HeaderMenu-link no-underline py-3 d-block d-lg-inline-block" data-hydro-click="{"event_type":"analytics.event","payload":{"category":"Header menu top item (logged out)","action":"click to go to Team","label":"ref_page:/marketplace/codacy;ref_cta:Team;","originating_url":"https://github.com/marketplace/codacy","user_id":null}}" data-hydro-click-hmac="f61e0e6aac55f277af9824b805bf59e859e074c87346a285d7bee5dfb6347189" data-analytics-event="{"category":"Header menu top item (logged out)","action":"click to go to Team","label":"ref_page:/marketplace/codacy;ref_cta:Team;"}" href="/web/20211121184648/https://github.com/team">Team</a> </li> <li class="mr-0 mr-lg-3 position-relative flex-wrap flex-justify-between flex-items-center border-bottom border-lg-bottom-0 d-block d-lg-flex flex-lg-nowrap flex-lg-items-center"> <a class="HeaderMenu-link no-underline py-3 d-block d-lg-inline-block" data-hydro-click="{"event_type":"analytics.event","payload":{"category":"Header menu top item (logged out)","action":"click to go to Enterprise","label":"ref_page:/marketplace/codacy;ref_cta:Enterprise;","originating_url":"https://github.com/marketplace/codacy","user_id":null}}" data-hydro-click-hmac="b43942542e3062c0643323a31a566722e286ce81e5eaf7a03c91d810be69e1cf" data-analytics-event="{"category":"Header menu top item (logged out)","action":"click to go to Enterprise","label":"ref_page:/marketplace/codacy;ref_cta:Enterprise;"}" href="/web/20211121184648/https://github.com/enterprise">Enterprise</a> </li> <li class="mr-0 mr-lg-3 position-relative flex-wrap flex-justify-between flex-items-center border-bottom border-lg-bottom-0 d-block d-lg-flex flex-lg-nowrap flex-lg-items-center"> <details class="HeaderMenu-details details-overlay details-reset width-full"> <summary class="HeaderMenu-summary HeaderMenu-link px-0 py-3 border-0 no-wrap d-block d-lg-inline-block"> Explore <svg x="0" y="0" viewbox="0 0 14 8" xml:space="preserve" fill="none" class="icon-chevon-down-mktg position-absolute position-lg-relative"><path d="M1,1l6.2,6L13,1"></path></svg> </summary> <div class="dropdown-menu flex-auto rounded px-0 mt-0 pb-4 p-lg-4 position-relative position-lg-absolute left-0 left-lg-n4"> <ul class="list-style-none f5 pb-1"> <li> <a class="lh-condensed-ultra d-block no-underline Bump-link--hover position-relative Link--primary text-bold py-2" data-hydro-click="{"event_type":"analytics.event","payload":{"category":"Header dropdown (logged out), Explore","action":"click to go to Explore GitHub","label":"ref_page:/marketplace/codacy;ref_cta:Explore GitHub;","originating_url":"https://github.com/marketplace/codacy","user_id":null}}" data-hydro-click-hmac="7a4f60b21dc06996c6179ac75f98152e79757c7eee006c28d1a46b4bf0ffead8" data-analytics-event="{"category":"Header dropdown (logged out), Explore","action":"click to go to Explore GitHub","label":"ref_page:/marketplace/codacy;ref_cta:Explore GitHub;"}" href="/web/20211121184648/https://github.com/explore"> Explore GitHub <span class="Bump-link-symbol position-absolute right-0 text-normal color-fg-muted pr-3">→</span> </a> </li> <li class="color-fg-muted text-normal f6 text-mono mb-1 border-top pt-3 mt-3 mb-1">Learn and contribute</li> <li> <a class="lh-condensed-ultra d-block no-underline Bump-link--hover position-relative Link--secondary py-2" data-hydro-click="{"event_type":"analytics.event","payload":{"category":"Header dropdown (logged out), Explore","action":"click to go to Topics","label":"ref_page:/marketplace/codacy;ref_cta:Topics;","originating_url":"https://github.com/marketplace/codacy","user_id":null}}" data-hydro-click-hmac="4457c85c89fdbe2e4fd67efa6a12720088c279281466d11349f577f387238c36" data-analytics-event="{"category":"Header dropdown (logged out), Explore","action":"click to go to Topics","label":"ref_page:/marketplace/codacy;ref_cta:Topics;"}" href="/web/20211121184648/https://github.com/topics"> Topics <span class="Bump-link-symbol position-absolute right-0 text-normal color-fg-muted pr-3">→</span> </a> </li> <li> <a class="lh-condensed-ultra d-block no-underline Bump-link--hover position-relative Link--secondary py-2" data-hydro-click="{"event_type":"analytics.event","payload":{"category":"Header dropdown (logged out), Explore","action":"click to go to Collections","label":"ref_page:/marketplace/codacy;ref_cta:Collections;","originating_url":"https://github.com/marketplace/codacy","user_id":null}}" data-hydro-click-hmac="b124ee99e6bbb739ffafc5c8515391cda47a2f757ca69f14f43272d820777429" data-analytics-event="{"category":"Header dropdown (logged out), Explore","action":"click to go to Collections","label":"ref_page:/marketplace/codacy;ref_cta:Collections;"}" href="/web/20211121184648/https://github.com/collections"> Collections <span class="Bump-link-symbol position-absolute right-0 text-normal color-fg-muted pr-3">→</span> </a> </li> <li> <a class="lh-condensed-ultra d-block no-underline Bump-link--hover position-relative Link--secondary py-2" data-hydro-click="{"event_type":"analytics.event","payload":{"category":"Header dropdown (logged out), Explore","action":"click to go to Trending","label":"ref_page:/marketplace/codacy;ref_cta:Trending;","originating_url":"https://github.com/marketplace/codacy","user_id":null}}" data-hydro-click-hmac="7a1a2bb91caf99e375652ab0916b0d66fb72252e7298ce0bb72329ec5741f463" data-analytics-event="{"category":"Header dropdown (logged out), Explore","action":"click to go to Trending","label":"ref_page:/marketplace/codacy;ref_cta:Trending;"}" href="/web/20211121184648/https://github.com/trending"> Trending <span class="Bump-link-symbol position-absolute right-0 text-normal color-fg-muted pr-3">→</span> </a> </li> <li> <a class="lh-condensed-ultra d-block no-underline Bump-link--hover position-relative Link--secondary py-2" data-hydro-click="{"event_type":"analytics.event","payload":{"category":"Header dropdown (logged out), Explore","action":"click to go to Learning Lab","label":"ref_page:/marketplace/codacy;ref_cta:Learning Lab;","originating_url":"https://github.com/marketplace/codacy","user_id":null}}" data-hydro-click-hmac="184e0167f38d26ec926353b1caab913176f54099dca553d9c886b7156a489510" data-analytics-event="{"category":"Header dropdown (logged out), Explore","action":"click to go to Learning Lab","label":"ref_page:/marketplace/codacy;ref_cta:Learning Lab;"}" href="https://web.archive.org/web/20211121184648/https://lab.github.com/"> Learning Lab <span class="Bump-link-symbol position-absolute right-0 text-normal color-fg-muted pr-3">→</span> </a> </li> <li> <a class="lh-condensed-ultra d-block no-underline Bump-link--hover position-relative Link--secondary py-2" data-hydro-click="{"event_type":"analytics.event","payload":{"category":"Header dropdown (logged out), Explore","action":"click to go to Open source guides","label":"ref_page:/marketplace/codacy;ref_cta:Open source guides;","originating_url":"https://github.com/marketplace/codacy","user_id":null}}" data-hydro-click-hmac="196d75e4f1aea582ab9cd8e179d4e832eea2062d736b5aa0c24cb2bca406fdd5" data-analytics-event="{"category":"Header dropdown (logged out), Explore","action":"click to go to Open source guides","label":"ref_page:/marketplace/codacy;ref_cta:Open source guides;"}" href="https://web.archive.org/web/20211121184648/https://opensource.guide/"> Open source guides <span class="Bump-link-symbol position-absolute right-0 text-normal color-fg-muted pr-3">→</span> </a> </li> <li class="color-fg-muted text-normal f6 text-mono mb-1 border-top pt-3 mt-3 mb-1">Connect with others</li> <li> <a class="lh-condensed-ultra d-block no-underline Bump-link--hover position-relative Link--secondary py-2" data-hydro-click="{"event_type":"analytics.event","payload":{"category":"Header dropdown (logged out), Explore","action":"click to go to The ReadME Project","label":"ref_page:/marketplace/codacy;ref_cta:The ReadME Project;","originating_url":"https://github.com/marketplace/codacy","user_id":null}}" data-hydro-click-hmac="423a197b9e143aae3f459e6cadefff1f4818609cc822e59f18d69b0229eb8db0" data-analytics-event="{"category":"Header dropdown (logged out), Explore","action":"click to go to The ReadME Project","label":"ref_page:/marketplace/codacy;ref_cta:The ReadME Project;"}" href="/web/20211121184648/https://github.com/readme"> The ReadME Project <span class="Bump-link-symbol position-absolute right-0 text-normal color-fg-muted pr-3">→</span> </a> </li> <li> <a class="lh-condensed-ultra d-block no-underline Bump-link--hover position-relative Link--secondary py-2" data-hydro-click="{"event_type":"analytics.event","payload":{"category":"Header dropdown (logged out), Explore","action":"click to go to Events","label":"ref_page:/marketplace/codacy;ref_cta:Events;","originating_url":"https://github.com/marketplace/codacy","user_id":null}}" data-hydro-click-hmac="9357d06cc4f2e2212adc8bb0732ccef053201384f4d13438ebfe5109b42c7c2e" data-analytics-event="{"category":"Header dropdown (logged out), Explore","action":"click to go to Events","label":"ref_page:/marketplace/codacy;ref_cta:Events;"}" href="/web/20211121184648/https://github.com/events"> Events <span class="Bump-link-symbol position-absolute right-0 text-normal color-fg-muted pr-3">→</span> </a> </li> <li> <a class="lh-condensed-ultra d-block no-underline Bump-link--hover position-relative Link--secondary py-2" data-hydro-click="{"event_type":"analytics.event","payload":{"category":"Header dropdown (logged out), Explore","action":"click to go to Community forum","label":"ref_page:/marketplace/codacy;ref_cta:Community forum;","originating_url":"https://github.com/marketplace/codacy","user_id":null}}" data-hydro-click-hmac="021991ccf79f700398a2a757988dd8e3feb5d7067b80b0b45996bf5d17686827" data-analytics-event="{"category":"Header dropdown (logged out), Explore","action":"click to go to Community forum","label":"ref_page:/marketplace/codacy;ref_cta:Community forum;"}" href="https://web.archive.org/web/20211121184648/https://github.community/"> Community forum <span class="Bump-link-symbol position-absolute right-0 text-normal color-fg-muted pr-3">→</span> </a> </li> <li> <a class="lh-condensed-ultra d-block no-underline Bump-link--hover position-relative Link--secondary py-2" data-hydro-click="{"event_type":"analytics.event","payload":{"category":"Header dropdown (logged out), Explore","action":"click to go to GitHub Education","label":"ref_page:/marketplace/codacy;ref_cta:GitHub Education;","originating_url":"https://github.com/marketplace/codacy","user_id":null}}" data-hydro-click-hmac="dea6763cdb013327e5a5dfde6638e251926daa55241cd5b1d072849ef0cdec7a" data-analytics-event="{"category":"Header dropdown (logged out), Explore","action":"click to go to GitHub Education","label":"ref_page:/marketplace/codacy;ref_cta:GitHub Education;"}" href="https://web.archive.org/web/20211121184648/https://education.github.com/"> GitHub Education <span class="Bump-link-symbol position-absolute right-0 text-normal color-fg-muted pr-3">→</span> </a> </li> <li> <a class="lh-condensed-ultra d-block no-underline Bump-link--hover position-relative Link--secondary py-2" data-hydro-click="{"event_type":"analytics.event","payload":{"category":"Header dropdown (logged out), Explore","action":"click to go to GitHub Stars program","label":"ref_page:/marketplace/codacy;ref_cta:GitHub Stars program;","originating_url":"https://github.com/marketplace/codacy","user_id":null}}" data-hydro-click-hmac="9e6539d75d8ae335b7c0563b3624014678c18c2686c7458dd8ccf57208a8fc74" data-analytics-event="{"category":"Header dropdown (logged out), Explore","action":"click to go to GitHub Stars program","label":"ref_page:/marketplace/codacy;ref_cta:GitHub Stars program;"}" href="https://web.archive.org/web/20211121184648/https://stars.github.com/"> GitHub Stars program <span class="Bump-link-symbol position-absolute right-0 text-normal color-fg-muted pr-3">→</span> </a> </li> </ul> </div> </details> </li> <li class="mr-0 mr-lg-3 position-relative flex-wrap flex-justify-between flex-items-center border-bottom border-lg-bottom-0 d-block d-lg-flex flex-lg-nowrap flex-lg-items-center"> <a class="HeaderMenu-link no-underline py-3 d-block d-lg-inline-block" data-hydro-click="{"event_type":"analytics.event","payload":{"category":"Header menu top item (logged out)","action":"click to go to Marketplace","label":"ref_page:/marketplace/codacy;ref_cta:Marketplace;","originating_url":"https://github.com/marketplace/codacy","user_id":null}}" data-hydro-click-hmac="46fd5c08a4b2b18f31b8a02429d3a522874e503095cab6dc9bfd751e7013c43f" data-analytics-event="{"category":"Header menu top item (logged out)","action":"click to go to Marketplace","label":"ref_page:/marketplace/codacy;ref_cta:Marketplace;"}" href="/web/20211121184648/https://github.com/marketplace">Marketplace</a> </li> <li class="mr-0 mr-lg-3 position-relative flex-wrap flex-justify-between flex-items-center border-bottom border-lg-bottom-0 d-block d-lg-flex flex-lg-nowrap flex-lg-items-center"> <details class="HeaderMenu-details details-overlay details-reset width-full"> <summary class="HeaderMenu-summary HeaderMenu-link px-0 py-3 border-0 no-wrap d-block d-lg-inline-block"> Pricing <svg x="0" y="0" viewbox="0 0 14 8" xml:space="preserve" fill="none" class="icon-chevon-down-mktg position-absolute position-lg-relative"><path d="M1,1l6.2,6L13,1"></path></svg> </summary> <div class="dropdown-menu flex-auto rounded px-0 mt-0 pb-4 p-lg-4 position-relative position-lg-absolute left-0 left-lg-n4"> <ul class="list-style-none f5 pb-1"> <li> <a class="lh-condensed-ultra d-block no-underline Bump-link--hover position-relative Link--primary text-bold py-2" data-hydro-click="{"event_type":"analytics.event","payload":{"category":"Header dropdown (logged out), Pricing","action":"click to go to Plans","label":"ref_page:/marketplace/codacy;ref_cta:Plans;","originating_url":"https://github.com/marketplace/codacy","user_id":null}}" data-hydro-click-hmac="431e9d9463f59fd820a7ba5744fb040d416fd3c0026d86f8940aca09b6e8c036" data-analytics-event="{"category":"Header dropdown (logged out), Pricing","action":"click to go to Plans","label":"ref_page:/marketplace/codacy;ref_cta:Plans;"}" href="/web/20211121184648/https://github.com/pricing"> Plans <span class="Bump-link-symbol position-absolute right-0 text-normal color-fg-muted pr-3">→</span> </a> </li> <li> <a class="lh-condensed-ultra d-block no-underline Bump-link--hover position-relative Link--secondary py-2" data-hydro-click="{"event_type":"analytics.event","payload":{"category":"Header dropdown (logged out), Pricing","action":"click to go to Compare plans","label":"ref_page:/marketplace/codacy;ref_cta:Compare plans;","originating_url":"https://github.com/marketplace/codacy","user_id":null}}" data-hydro-click-hmac="79d37ec0cf7f362804ef2699227e93fb223c7499006cdea0b2fb02fb97418aa7" data-analytics-event="{"category":"Header dropdown (logged out), Pricing","action":"click to go to Compare plans","label":"ref_page:/marketplace/codacy;ref_cta:Compare plans;"}" href="/web/20211121184648/https://github.com/pricing#compare-features"> Compare plans <span class="Bump-link-symbol position-absolute right-0 text-normal color-fg-muted pr-3">→</span> </a> </li> <li> <a class="lh-condensed-ultra d-block no-underline Bump-link--hover position-relative Link--secondary py-2" data-hydro-click="{"event_type":"analytics.event","payload":{"category":"Header dropdown (logged out), Pricing","action":"click to go to Contact Sales","label":"ref_page:/marketplace/codacy;ref_cta:Contact Sales;","originating_url":"https://github.com/marketplace/codacy","user_id":null}}" data-hydro-click-hmac="2174a1994c51118293c1ca93baa30b977431e294d8ff4e52a730a81c9ca5c619" data-analytics-event="{"category":"Header dropdown (logged out), Pricing","action":"click to go to Contact Sales","label":"ref_page:/marketplace/codacy;ref_cta:Contact Sales;"}" href="https://web.archive.org/web/20211121184648/https://github.com/enterprise/contact"> Contact Sales <span class="Bump-link-symbol position-absolute right-0 text-normal color-fg-muted pr-3">→</span> </a> </li> <li> <a class="lh-condensed-ultra d-block no-underline Bump-link--hover position-relative Link--primary text-bold border-top pt-4 pb-2 mt-3" data-hydro-click="{"event_type":"analytics.event","payload":{"category":"Header dropdown (logged out), Pricing","action":"click to go to Education","label":"ref_page:/marketplace/codacy;ref_cta:Education;","originating_url":"https://github.com/marketplace/codacy","user_id":null}}" data-hydro-click-hmac="89e394f7c0a2a6adb09055e03b072680148ca1008102f72ce65d858e914adb40" data-analytics-event="{"category":"Header dropdown (logged out), Pricing","action":"click to go to Education","label":"ref_page:/marketplace/codacy;ref_cta:Education;"}" href="https://web.archive.org/web/20211121184648/https://education.github.com/"> Education <span class="Bump-link-symbol position-absolute right-0 text-normal color-fg-muted pr-3">→</span> </a> </li> </ul> </div> </details> </li> </ul> </nav> <div class="d-lg-flex flex-items-center px-3 px-lg-0 text-center text-lg-left"> <div class="d-lg-flex min-width-0 mb-3 mb-lg-0"> <div class="header-search flex-auto js-site-search position-relative flex-self-stretch flex-md-self-auto mb-3 mb-md-0 mr-0 mr-md-3 js-jump-to"> <div class="position-relative"> <!-- '"` --><!-- </textarea></xmp> --></option></form><form class="js-site-search-form" role="search" aria-label="Site" data-unscoped-search-url="/search" action="/web/20211121184648/https://github.com/search" accept-charset="UTF-8" method="get"> <label class="form-control input-sm header-search-wrapper p-0 js-chromeless-input-container header-search-wrapper-jump-to position-relative d-flex flex-justify-between flex-items-center"> <input type="text" class="form-control input-sm header-search-input jump-to-field js-jump-to-field js-site-search-focus " data-hotkey="s,/" name="q" data-test-selector="nav-search-input" placeholder="Search GitHub" data-unscoped-placeholder="Search GitHub" data-scoped-placeholder="Search" autocapitalize="off" role="combobox" aria-haspopup="listbox" aria-expanded="false" aria-autocomplete="list" aria-controls="jump-to-results" aria-label="Search GitHub" data-jump-to-suggestions-path="/_graphql/GetSuggestedNavigationDestinations" spellcheck="false" autocomplete="off"> <input type="hidden" data-csrf="true" class="js-data-jump-to-suggestions-path-csrf" value="ZIoi0FLD1vr/2OjmxgiQXUajhCkai5SaLlnZ4suQxxOn5r1IeR0a3V7kssnoJgmIOrTl3sSY02c+qwAU023AQA=="/> <input type="hidden" class="js-site-search-type-field" name="type"> <svg xmlns="http://www.w3.org/2000/svg" width="22" height="20" aria-hidden="true" class="mr-1 header-search-key-slash"><path fill="none" stroke="#979A9C" opacity=".4" d="M3.5.5h12c1.7 0 3 1.3 3 3v13c0 1.7-1.3 3-3 3h-12c-1.7 0-3-1.3-3-3v-13c0-1.7 1.3-3 3-3z"></path><path fill="#979A9C" d="M11.8 6L8 15.1h-.9L10.8 6h1z"></path></svg> <div class="Box position-absolute overflow-hidden d-none jump-to-suggestions js-jump-to-suggestions-container"> <ul class="d-none js-jump-to-suggestions-template-container"> <li class="d-flex flex-justify-start flex-items-center p-0 f5 navigation-item js-navigation-item js-jump-to-suggestion" role="option"> <a tabindex="-1" class="no-underline d-flex flex-auto flex-items-center jump-to-suggestions-path js-jump-to-suggestion-path js-navigation-open p-2" href="" data-item-type="suggestion"> <div class="jump-to-octicon js-jump-to-octicon flex-shrink-0 mr-2 text-center d-none"> <svg title="Repository" aria-label="Repository" role="img" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo js-jump-to-octicon-repo d-none flex-shrink-0"> <path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path> </svg> <svg title="Project" aria-label="Project" role="img" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-project js-jump-to-octicon-project d-none flex-shrink-0"> <path fill-rule="evenodd" d="M1.75 0A1.75 1.75 0 000 1.75v12.5C0 15.216.784 16 1.75 16h12.5A1.75 1.75 0 0016 14.25V1.75A1.75 1.75 0 0014.25 0H1.75zM1.5 1.75a.25.25 0 01.25-.25h12.5a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25V1.75zM11.75 3a.75.75 0 00-.75.75v7.5a.75.75 0 001.5 0v-7.5a.75.75 0 00-.75-.75zm-8.25.75a.75.75 0 011.5 0v5.5a.75.75 0 01-1.5 0v-5.5zM8 3a.75.75 0 00-.75.75v3.5a.75.75 0 001.5 0v-3.5A.75.75 0 008 3z"></path> </svg> <svg title="Search" aria-label="Search" role="img" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search js-jump-to-octicon-search d-none flex-shrink-0"> <path fill-rule="evenodd" d="M11.5 7a4.499 4.499 0 11-8.998 0A4.499 4.499 0 0111.5 7zm-.82 4.74a6 6 0 111.06-1.06l3.04 3.04a.75.75 0 11-1.06 1.06l-3.04-3.04z"></path> </svg> </div> <img class="avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none" alt="" aria-label="Team" src="/web/20211121184648im_/https://github.com/marketplace/codacy" width="28" height="28"> <div class="jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target"> </div> <div class="border rounded-1 flex-shrink-0 color-bg-subtle px-1 color-fg-muted ml-1 f6 d-none js-jump-to-badge-search"> <span class="js-jump-to-badge-search-text-default d-none" aria-label="in all of GitHub"> Search </span> <span class="js-jump-to-badge-search-text-global d-none" aria-label="in all of GitHub"> All GitHub </span> <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span> </div> <div aria-hidden="true" class="border rounded-1 flex-shrink-0 color-bg-subtle px-1 color-fg-muted ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump"> Jump to <span class="d-inline-block ml-1 v-align-middle">↵</span> </div> </a> </li> </ul> <ul class="d-none js-jump-to-no-results-template-container"> <li class="d-flex flex-justify-center flex-items-center f5 d-none js-jump-to-suggestion p-2"> <span class="color-fg-muted">No suggested jump to results</span> </li> </ul> <ul id="jump-to-results" role="listbox" class="p-0 m-0 js-navigation-container jump-to-suggestions-results-container js-jump-to-suggestions-results-container"> <li class="d-flex flex-justify-start flex-items-center p-0 f5 navigation-item js-navigation-item js-jump-to-scoped-search d-none" role="option"> <a tabindex="-1" class="no-underline d-flex flex-auto flex-items-center jump-to-suggestions-path js-jump-to-suggestion-path js-navigation-open p-2" href="" data-item-type="scoped_search"> <div class="jump-to-octicon js-jump-to-octicon flex-shrink-0 mr-2 text-center d-none"> <svg title="Repository" aria-label="Repository" role="img" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo js-jump-to-octicon-repo d-none flex-shrink-0"> <path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path> </svg> <svg title="Project" aria-label="Project" role="img" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-project js-jump-to-octicon-project d-none flex-shrink-0"> <path fill-rule="evenodd" d="M1.75 0A1.75 1.75 0 000 1.75v12.5C0 15.216.784 16 1.75 16h12.5A1.75 1.75 0 0016 14.25V1.75A1.75 1.75 0 0014.25 0H1.75zM1.5 1.75a.25.25 0 01.25-.25h12.5a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25V1.75zM11.75 3a.75.75 0 00-.75.75v7.5a.75.75 0 001.5 0v-7.5a.75.75 0 00-.75-.75zm-8.25.75a.75.75 0 011.5 0v5.5a.75.75 0 01-1.5 0v-5.5zM8 3a.75.75 0 00-.75.75v3.5a.75.75 0 001.5 0v-3.5A.75.75 0 008 3z"></path> </svg> <svg title="Search" aria-label="Search" role="img" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search js-jump-to-octicon-search d-none flex-shrink-0"> <path fill-rule="evenodd" d="M11.5 7a4.499 4.499 0 11-8.998 0A4.499 4.499 0 0111.5 7zm-.82 4.74a6 6 0 111.06-1.06l3.04 3.04a.75.75 0 11-1.06 1.06l-3.04-3.04z"></path> </svg> </div> <img class="avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none" alt="" aria-label="Team" src="/web/20211121184648im_/https://github.com/marketplace/codacy" width="28" height="28"> <div class="jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target"> </div> <div class="border rounded-1 flex-shrink-0 color-bg-subtle px-1 color-fg-muted ml-1 f6 d-none js-jump-to-badge-search"> <span class="js-jump-to-badge-search-text-default d-none" aria-label="in all of GitHub"> Search </span> <span class="js-jump-to-badge-search-text-global d-none" aria-label="in all of GitHub"> All GitHub </span> <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span> </div> <div aria-hidden="true" class="border rounded-1 flex-shrink-0 color-bg-subtle px-1 color-fg-muted ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump"> Jump to <span class="d-inline-block ml-1 v-align-middle">↵</span> </div> </a> </li> <li class="d-flex flex-justify-start flex-items-center p-0 f5 navigation-item js-navigation-item js-jump-to-owner-scoped-search d-none" role="option"> <a tabindex="-1" class="no-underline d-flex flex-auto flex-items-center jump-to-suggestions-path js-jump-to-suggestion-path js-navigation-open p-2" href="" data-item-type="owner_scoped_search"> <div class="jump-to-octicon js-jump-to-octicon flex-shrink-0 mr-2 text-center d-none"> <svg title="Repository" aria-label="Repository" role="img" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo js-jump-to-octicon-repo d-none flex-shrink-0"> <path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path> </svg> <svg title="Project" aria-label="Project" role="img" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-project js-jump-to-octicon-project d-none flex-shrink-0"> <path fill-rule="evenodd" d="M1.75 0A1.75 1.75 0 000 1.75v12.5C0 15.216.784 16 1.75 16h12.5A1.75 1.75 0 0016 14.25V1.75A1.75 1.75 0 0014.25 0H1.75zM1.5 1.75a.25.25 0 01.25-.25h12.5a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25V1.75zM11.75 3a.75.75 0 00-.75.75v7.5a.75.75 0 001.5 0v-7.5a.75.75 0 00-.75-.75zm-8.25.75a.75.75 0 011.5 0v5.5a.75.75 0 01-1.5 0v-5.5zM8 3a.75.75 0 00-.75.75v3.5a.75.75 0 001.5 0v-3.5A.75.75 0 008 3z"></path> </svg> <svg title="Search" aria-label="Search" role="img" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search js-jump-to-octicon-search d-none flex-shrink-0"> <path fill-rule="evenodd" d="M11.5 7a4.499 4.499 0 11-8.998 0A4.499 4.499 0 0111.5 7zm-.82 4.74a6 6 0 111.06-1.06l3.04 3.04a.75.75 0 11-1.06 1.06l-3.04-3.04z"></path> </svg> </div> <img class="avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none" alt="" aria-label="Team" src="/web/20211121184648im_/https://github.com/marketplace/codacy" width="28" height="28"> <div class="jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target"> </div> <div class="border rounded-1 flex-shrink-0 color-bg-subtle px-1 color-fg-muted ml-1 f6 d-none js-jump-to-badge-search"> <span class="js-jump-to-badge-search-text-default d-none" aria-label="in all of GitHub"> Search </span> <span class="js-jump-to-badge-search-text-global d-none" aria-label="in all of GitHub"> All GitHub </span> <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span> </div> <div aria-hidden="true" class="border rounded-1 flex-shrink-0 color-bg-subtle px-1 color-fg-muted ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump"> Jump to <span class="d-inline-block ml-1 v-align-middle">↵</span> </div> </a> </li> <li class="d-flex flex-justify-start flex-items-center p-0 f5 navigation-item js-navigation-item js-jump-to-global-search d-none" role="option"> <a tabindex="-1" class="no-underline d-flex flex-auto flex-items-center jump-to-suggestions-path js-jump-to-suggestion-path js-navigation-open p-2" href="" data-item-type="global_search"> <div class="jump-to-octicon js-jump-to-octicon flex-shrink-0 mr-2 text-center d-none"> <svg title="Repository" aria-label="Repository" role="img" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo js-jump-to-octicon-repo d-none flex-shrink-0"> <path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path> </svg> <svg title="Project" aria-label="Project" role="img" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-project js-jump-to-octicon-project d-none flex-shrink-0"> <path fill-rule="evenodd" d="M1.75 0A1.75 1.75 0 000 1.75v12.5C0 15.216.784 16 1.75 16h12.5A1.75 1.75 0 0016 14.25V1.75A1.75 1.75 0 0014.25 0H1.75zM1.5 1.75a.25.25 0 01.25-.25h12.5a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25V1.75zM11.75 3a.75.75 0 00-.75.75v7.5a.75.75 0 001.5 0v-7.5a.75.75 0 00-.75-.75zm-8.25.75a.75.75 0 011.5 0v5.5a.75.75 0 01-1.5 0v-5.5zM8 3a.75.75 0 00-.75.75v3.5a.75.75 0 001.5 0v-3.5A.75.75 0 008 3z"></path> </svg> <svg title="Search" aria-label="Search" role="img" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search js-jump-to-octicon-search d-none flex-shrink-0"> <path fill-rule="evenodd" d="M11.5 7a4.499 4.499 0 11-8.998 0A4.499 4.499 0 0111.5 7zm-.82 4.74a6 6 0 111.06-1.06l3.04 3.04a.75.75 0 11-1.06 1.06l-3.04-3.04z"></path> </svg> </div> <img class="avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none" alt="" aria-label="Team" src="/web/20211121184648im_/https://github.com/marketplace/codacy" width="28" height="28"> <div class="jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target"> </div> <div class="border rounded-1 flex-shrink-0 color-bg-subtle px-1 color-fg-muted ml-1 f6 d-none js-jump-to-badge-search"> <span class="js-jump-to-badge-search-text-default d-none" aria-label="in all of GitHub"> Search </span> <span class="js-jump-to-badge-search-text-global d-none" aria-label="in all of GitHub"> All GitHub </span> <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span> </div> <div aria-hidden="true" class="border rounded-1 flex-shrink-0 color-bg-subtle px-1 color-fg-muted ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump"> Jump to <span class="d-inline-block ml-1 v-align-middle">↵</span> </div> </a> </li> </ul> </div> </label> </form> </div> </div> </div> <div class="position-relative mr-3 mb-4 mb-lg-0 d-inline-block"> <a href="/web/20211121184648/https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fmarketplace%2Fcodacy" class="HeaderMenu-link flex-shrink-0 no-underline" data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"site header menu","repository_id":null,"auth_type":"SIGN_UP","originating_url":"https://github.com/marketplace/codacy","user_id":null}}" data-hydro-click-hmac="5bb026a00bd769bbf199195ada86187ea9e7985fd15a7c147bff31b04a35d26e" data-ga-click="(Logged out) Header, clicked Sign in, text:sign-in"> Sign in </a> </div> <a href="/web/20211121184648/https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2Fmarketplace%2Fcodacy&source=header" class="HeaderMenu-link flex-shrink-0 d-inline-block no-underline border color-border-default rounded px-2 py-1" data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"site header menu","repository_id":null,"auth_type":"SIGN_UP","originating_url":"https://github.com/marketplace/codacy","user_id":null}}" data-hydro-click-hmac="5bb026a00bd769bbf199195ada86187ea9e7985fd15a7c147bff31b04a35d26e" data-hydro-click="{"event_type":"analytics.event","payload":{"category":"Sign up","action":"click to sign up for account","label":"ref_page:/marketplace/codacy;ref_cta:Sign up;ref_loc:header logged out","originating_url":"https://github.com/marketplace/codacy","user_id":null}}" data-hydro-click-hmac="8c45c5dfb1fbe0819ee5223ac32b9774b6eaaf2fc946d3a6be2ca03802a5ae9c" data-analytics-event="{"category":"Sign up","action":"click to sign up for account","label":"ref_page:/marketplace/codacy;ref_cta:Sign up;ref_loc:header logged out"}"> Sign up </a> </div> </div> </div> </header> </div> <div id="start-of-content" class="show-on-focus"></div> <div data-pjax-replace id="js-flash-container"> <template class="js-flash-template"> <div class="flash flash-full {{ className }}"> <div class=" px-2"> <button class="flash-close js-flash-close" type="button" aria-label="Dismiss this message"> <svg aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path fill-rule="evenodd" d="M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-1.06z"></path> </svg> </button> <div>{{ message }}</div> </div> </div> </template> </div> <include-fragment class="js-notification-shelf-include-fragment" data-base-src="https://github.com/notifications/beta/shelf"></include-fragment> <div class="application-main " data-commit-hovercards-enabled data-discussion-hovercards-enabled data-issue-and-pr-hovercards-enabled> <main id="js-pjax-container" data-pjax-container> <div class="pb-6"> <div class="container-lg p-responsive"> <div class="py-3 clearfix"> <nav aria-label="Breadcrumb" data-view-component="true" class="float-md-left"> <ol> <li data-view-component="true" class="breadcrumb-item"><a href="/web/20211121184648/https://github.com/marketplace" data-view-component="true">Marketplace</a></li> <li data-view-component="true" class="breadcrumb-item"><a href="/web/20211121184648/https://github.com/marketplace?type=apps" data-view-component="true">Apps</a></li> <li data-view-component="true" class="breadcrumb-item breadcrumb-item-selected"><a aria-current="page" href="/web/20211121184648/https://github.com/marketplace/codacy" data-view-component="true">Codacy</a></li> </ol> </nav> <nav class="mt-3 mt-md-0 float-md-right text-center text-md-left"> </nav> </div> <div class="clearfix pt-md-6"> <div class="col-md-3 float-md-left pr-md-5 mb-3 mb-md-0"> <div class="CircleBadge CircleBadge--large mx-auto color-shadow-large mt-1" style="background-color: #242C33;"><img class="CircleBadge-icon" alt="" src="https://web.archive.org/web/20211121184648im_/https://avatars.githubusercontent.com/ml/43?s=140&v=4"/></div> </div> <div class="col-md-9 float-md-left pl-md-5 text-center text-md-left"> <h3 class="text-mono f4 text-normal color-fg-muted">Application</h3> <h1 class="f00-light lh-condensed mb-3"> Codacy </h1> <div class="mb-2"> <a href="#pricing-and-setup" data-octo-click="marketplace-listing_pricing_click" data-octo-dimensions="marketplace_listing_id:43" data-octo-dimensions="marketplace_listing_id:43" data-ga-click="Marketplace listing, view pricing, marketplace_id:43" class="btn btn-primary px-6 py-2 mb-2 mb-md-0 d-block d-md-inline-block text-center text-md-left js-smoothscroll-anchor"> Set up a plan </a> </div> </div> </div> <div class="clearfix d-flex flex-column flex-md-row flex-lg-row"> <div class="col-md-3 pr-md-5 pt-3 marketplace-listing-details-sidebar"> <ul class="list-style-none mt-1 mb-2"> <li class="pb-3 lh-condensed"> <svg aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-verified color-fg-accent"> <path fill-rule="evenodd" d="M9.585.52a2.678 2.678 0 00-3.17 0l-.928.68a1.178 1.178 0 01-.518.215L3.83 1.59a2.678 2.678 0 00-2.24 2.24l-.175 1.14a1.178 1.178 0 01-.215.518l-.68.928a2.678 2.678 0 000 3.17l.68.928c.113.153.186.33.215.518l.175 1.138a2.678 2.678 0 002.24 2.24l1.138.175c.187.029.365.102.518.215l.928.68a2.678 2.678 0 003.17 0l.928-.68a1.17 1.17 0 01.518-.215l1.138-.175a2.678 2.678 0 002.241-2.241l.175-1.138c.029-.187.102-.365.215-.518l.68-.928a2.678 2.678 0 000-3.17l-.68-.928a1.179 1.179 0 01-.215-.518L14.41 3.83a2.678 2.678 0 00-2.24-2.24l-1.138-.175a1.179 1.179 0 01-.518-.215L9.585.52zM7.303 1.728c.415-.305.98-.305 1.394 0l.928.68c.348.256.752.423 1.18.489l1.136.174c.51.078.909.478.987.987l.174 1.137c.066.427.233.831.489 1.18l.68.927c.305.415.305.98 0 1.394l-.68.928a2.678 2.678 0 00-.489 1.18l-.174 1.136a1.178 1.178 0 01-.987.987l-1.137.174a2.678 2.678 0 00-1.18.489l-.927.68c-.415.305-.98.305-1.394 0l-.928-.68a2.678 2.678 0 00-1.18-.489l-1.136-.174a1.178 1.178 0 01-.987-.987l-.174-1.137a2.678 2.678 0 00-.489-1.18l-.68-.927a1.178 1.178 0 010-1.394l.68-.928c.256-.348.423-.752.489-1.18l.174-1.136c.078-.51.478-.909.987-.987l1.137-.174a2.678 2.678 0 001.18-.489l.927-.68zM11.28 6.78a.75.75 0 00-1.06-1.06L7 8.94 5.78 7.72a.75.75 0 00-1.06 1.06l1.75 1.75a.75.75 0 001.06 0l3.75-3.75z"></path> </svg> GitHub has verified that the application meets the <a href="https://web.archive.org/web/20211121184648/https://docs.github.com/en/developers/github-marketplace/requirements-for-listing-an-app"> requirements for listing</a>. </li> <li class="pt-3 pb-3 lh-condensed"> <h5 class="mb-2 text-mono text-normal color-fg-muted">Categories</h5> <a class="topic-tag topic-tag-link f6 " href="/web/20211121184648/https://github.com/marketplace/category/code-quality"> Code quality </a> <a class="topic-tag topic-tag-link f6 " href="/web/20211121184648/https://github.com/marketplace/category/code-review"> Code review </a> <a class="topic-tag topic-tag-link f6 topic-tag-outline" href="/web/20211121184648/https://github.com/marketplace/category/github-enterprise"> GitHub Enterprise </a> <a class="topic-tag topic-tag-link f6 topic-tag-outline" href="/web/20211121184648/https://github.com/marketplace/category/free"> Free </a> <a class="topic-tag topic-tag-link f6 topic-tag-outline" href="/web/20211121184648/https://github.com/marketplace/category/paid"> Paid </a> </li> <li class="py-3 lh-condensed"> <h5 class="text-mono text-normal color-fg-muted mb-2">Supported languages</h5> <span class="d-block">Go, Java, JavaScript</span> <span class="text-small d-block color-fg-muted"> and <button aria-label="PHP, Python, Ruby, Scala, Shell, Swift, and TypeScript" type="button" data-view-component="true" class="no-underline tooltipped tooltipped-s btn-link"> 7 other languages supported </button> </span> </li> <li class="py-3 lh-condensed"> <h5 class="text-mono text-normal color-fg-muted mb-2">Developer</h5> <a style="max-width: 180px;" class="d-flex flex-items-center css-truncate css-truncate-target" data-hovercard-type="organization" data-hovercard-url="/orgs/codacy/hovercard" href="/web/20211121184648/https://github.com/codacy"> <img class="avatar mr-2" height="32" width="32" alt="@codacy" src="https://web.archive.org/web/20211121184648im_/https://avatars.githubusercontent.com/u/1834093?s=88&v=4"/> codacy </a> </li> <li class="mt-2 mb-0 mt-md-0 mb-md-1"> <h6 class="text-mono text-normal color-fg-muted mb-2 ">Verified domains</h6> <li class="f6"> <strong>codacy.com</strong> </li> <li class="f6"> <strong>www.codacy.com</strong> </li> </li> <li class="py-3 lh-condensed"> <h5 class="text-mono text-normal color-fg-muted mb-2">Developer links</h5> <ul class="list-style-none text-small"> <li class="mb-1"> <a href="https://web.archive.org/web/20211121184648/mailto:support@codacy.com" rel="nofollow">Support</a> </li> <li class="mb-1"> <a href="https://web.archive.org/web/20211121184648/https://status.codacy.com/" rel="nofollow">Status</a> </li> <li class="mb-1"> <a href="https://web.archive.org/web/20211121184648/https://support.codacy.com/" rel="nofollow">Documentation</a> </li> <li class="mb-1"> <a href="https://web.archive.org/web/20211121184648/https://www.codacy.com/privacy" rel="nofollow">Privacy Policy</a> </li> <li class="mb-1"> <a href="https://web.archive.org/web/20211121184648/https://www.codacy.com/terms" rel="nofollow">Terms of Service</a> </li> </ul> </li> <li class="py-3 lh-condensed"> <ul class="list-style-none text-small"> <li class="mb-1"> <a rel="nofollow" class="Link--muted" href="/web/20211121184648/https://github.com/contact/report-abuse?report=Codacy+%28Marketplace+App+Listing%29"> Report abuse </a> </li> </ul> </li> </ul> </div> <div class="col-md-9 pl-md-5 pt-3 marketplace-listing-details-description"> <div class="Details markdown-body mb-4 js-details-container"> <p>Codacy is an automated code analysis/quality tool that helps developers ship better software, faster. With Codacy, you get static analysis, cyclomatic complexity, duplication and code unit test coverage changes in every commit and pull request.</p> <p>You can use Codacy to enforce your code quality standard, save time in code reviews, enforce security best practices and onboard developers faster. Integrate with your GitHub repositories to get quality analysis of every pull request inside GitHub.</p> <button aria-expanded="false" type="button" data-view-component="true" class="js-details-target f5 btn-link mb-0"> <span class="Details-content--shown">Read more...</span> </button> <div class="js-file-content Details-content--hidden"> <p><strong>Integrated in your workflow</strong><br> Codacy adapts to your code review process, pushing results as comments in your pull requests and commits into your workflow in GitHub.</p> <p><strong>Track your quality evolution</strong><br> Get a code quality glance at your project and track its quality evolution over time, easily paying back your technical debt.</p> <p><strong>Multilanguage</strong><br> With over 20 languages supported Codacy covers all your project needs. If you're already using a code linter you’ll feel right at home as we probably support it.</p> <p><strong>Code coverage</strong><br> With included code coverage integrated with your CI, Codacy will help you manage your project quality needs and help you pass from 10% to 80%.</p> <p><strong>Quality settings</strong><br> You can define quality settings for your pull requests and commits that act as thresholds for your work.</p> <p><strong>Security checks</strong><br> Our Security Dashboard quickly shows alerts from running hundreds of security analysis checks in your project.</p> <p><a href="https://web.archive.org/web/20211121184648/https://www.codacy.com/features">Learn more</a></p> </div> </div> <tab-container class="ScreenshotCarousel"> <div role="tabpanel" class="ScreenshotCarousel-screenshot anim-fade-in screenshot-0"> <img width="670" alt="Codacy screenshot" class="img-responsive" srcset="https://web.archive.org/web/20211121184648im_/https://marketplace-screenshots.githubusercontent.com/43/798a7028-ad0e-11e7-8771-ce96cfe3b4f9?auto=webp&format=jpeg&width=670&dpr=1.5 1.5x, https://web.archive.org/web/20211121184648im_/https://marketplace-screenshots.githubusercontent.com/43/798a7028-ad0e-11e7-8771-ce96cfe3b4f9?auto=webp&format=jpeg&width=670&dpr=2 2x" src="https://web.archive.org/web/20211121184648im_/https://marketplace-screenshots.githubusercontent.com/43/798a7028-ad0e-11e7-8771-ce96cfe3b4f9?auto=webp&format=jpeg&width=670"/> </div> <div role="tabpanel" class="ScreenshotCarousel-screenshot anim-fade-in screenshot-1" hidden> <img width="670" alt="Codacy screenshot" class="img-responsive" srcset="https://web.archive.org/web/20211121184648im_/https://marketplace-screenshots.githubusercontent.com/43/7d42a8c0-ad0e-11e7-99cb-65d50b8ae46a?auto=webp&format=jpeg&width=670&dpr=1.5 1.5x, https://web.archive.org/web/20211121184648im_/https://marketplace-screenshots.githubusercontent.com/43/7d42a8c0-ad0e-11e7-99cb-65d50b8ae46a?auto=webp&format=jpeg&width=670&dpr=2 2x" src="https://web.archive.org/web/20211121184648im_/https://marketplace-screenshots.githubusercontent.com/43/7d42a8c0-ad0e-11e7-99cb-65d50b8ae46a?auto=webp&format=jpeg&width=670"/> </div> <div role="tabpanel" class="ScreenshotCarousel-screenshot anim-fade-in screenshot-2" hidden> <img width="670" alt="Codacy screenshot" class="img-responsive" srcset="https://web.archive.org/web/20211121184648im_/https://marketplace-screenshots.githubusercontent.com/43/7f2ac87a-ad0e-11e7-9714-4b7cbf064db5?auto=webp&format=jpeg&width=670&dpr=1.5 1.5x, https://web.archive.org/web/20211121184648im_/https://marketplace-screenshots.githubusercontent.com/43/7f2ac87a-ad0e-11e7-9714-4b7cbf064db5?auto=webp&format=jpeg&width=670&dpr=2 2x" src="https://web.archive.org/web/20211121184648im_/https://marketplace-screenshots.githubusercontent.com/43/7f2ac87a-ad0e-11e7-9714-4b7cbf064db5?auto=webp&format=jpeg&width=670"/> </div> <div role="tabpanel" class="ScreenshotCarousel-screenshot anim-fade-in screenshot-3" hidden> <img width="670" alt="Codacy screenshot" class="img-responsive" srcset="https://web.archive.org/web/20211121184648im_/https://marketplace-screenshots.githubusercontent.com/43/81d842fa-ad0e-11e7-9e47-47244d8660eb?auto=webp&format=jpeg&width=670&dpr=1.5 1.5x, https://web.archive.org/web/20211121184648im_/https://marketplace-screenshots.githubusercontent.com/43/81d842fa-ad0e-11e7-9e47-47244d8660eb?auto=webp&format=jpeg&width=670&dpr=2 2x" src="https://web.archive.org/web/20211121184648im_/https://marketplace-screenshots.githubusercontent.com/43/81d842fa-ad0e-11e7-9e47-47244d8660eb?auto=webp&format=jpeg&width=670"/> </div> <div role="tabpanel" class="ScreenshotCarousel-screenshot anim-fade-in screenshot-4" hidden> <img width="670" alt="Codacy screenshot" class="img-responsive" srcset="https://web.archive.org/web/20211121184648im_/https://marketplace-screenshots.githubusercontent.com/43/8582f800-ad0e-11e7-98b0-8cc7ab7b4007?auto=webp&format=jpeg&width=670&dpr=1.5 1.5x, https://web.archive.org/web/20211121184648im_/https://marketplace-screenshots.githubusercontent.com/43/8582f800-ad0e-11e7-98b0-8cc7ab7b4007?auto=webp&format=jpeg&width=670&dpr=2 2x" src="https://web.archive.org/web/20211121184648im_/https://marketplace-screenshots.githubusercontent.com/43/8582f800-ad0e-11e7-98b0-8cc7ab7b4007?auto=webp&format=jpeg&width=670"/> </div> <div role="tablist" class="ScreenshotCarousel-nav"> <div class="ScreenshotCarousel-navitem" role="tab" tabindex="-1" aria-selected="true"> <img width="670" alt="Codacy screenshot" class="img-responsive" srcset="https://web.archive.org/web/20211121184648im_/https://marketplace-screenshots.githubusercontent.com/43/798a7028-ad0e-11e7-8771-ce96cfe3b4f9?auto=webp&format=jpeg&width=670&dpr=1.5 1.5x, https://web.archive.org/web/20211121184648im_/https://marketplace-screenshots.githubusercontent.com/43/798a7028-ad0e-11e7-8771-ce96cfe3b4f9?auto=webp&format=jpeg&width=670&dpr=2 2x" src="https://web.archive.org/web/20211121184648im_/https://marketplace-screenshots.githubusercontent.com/43/798a7028-ad0e-11e7-8771-ce96cfe3b4f9?auto=webp&format=jpeg&width=670"/> </div> <div class="ScreenshotCarousel-navitem" role="tab" tabindex="-1"> <img width="670" alt="Codacy screenshot" class="img-responsive" srcset="https://web.archive.org/web/20211121184648im_/https://marketplace-screenshots.githubusercontent.com/43/7d42a8c0-ad0e-11e7-99cb-65d50b8ae46a?auto=webp&format=jpeg&width=670&dpr=1.5 1.5x, https://web.archive.org/web/20211121184648im_/https://marketplace-screenshots.githubusercontent.com/43/7d42a8c0-ad0e-11e7-99cb-65d50b8ae46a?auto=webp&format=jpeg&width=670&dpr=2 2x" src="https://web.archive.org/web/20211121184648im_/https://marketplace-screenshots.githubusercontent.com/43/7d42a8c0-ad0e-11e7-99cb-65d50b8ae46a?auto=webp&format=jpeg&width=670"/> </div> <div class="ScreenshotCarousel-navitem" role="tab" tabindex="-1"> <img width="670" alt="Codacy screenshot" class="img-responsive" srcset="https://web.archive.org/web/20211121184648im_/https://marketplace-screenshots.githubusercontent.com/43/7f2ac87a-ad0e-11e7-9714-4b7cbf064db5?auto=webp&format=jpeg&width=670&dpr=1.5 1.5x, https://web.archive.org/web/20211121184648im_/https://marketplace-screenshots.githubusercontent.com/43/7f2ac87a-ad0e-11e7-9714-4b7cbf064db5?auto=webp&format=jpeg&width=670&dpr=2 2x" src="https://web.archive.org/web/20211121184648im_/https://marketplace-screenshots.githubusercontent.com/43/7f2ac87a-ad0e-11e7-9714-4b7cbf064db5?auto=webp&format=jpeg&width=670"/> </div> <div class="ScreenshotCarousel-navitem" role="tab" tabindex="-1"> <img width="670" alt="Codacy screenshot" class="img-responsive" srcset="https://web.archive.org/web/20211121184648im_/https://marketplace-screenshots.githubusercontent.com/43/81d842fa-ad0e-11e7-9e47-47244d8660eb?auto=webp&format=jpeg&width=670&dpr=1.5 1.5x, https://web.archive.org/web/20211121184648im_/https://marketplace-screenshots.githubusercontent.com/43/81d842fa-ad0e-11e7-9e47-47244d8660eb?auto=webp&format=jpeg&width=670&dpr=2 2x" src="https://web.archive.org/web/20211121184648im_/https://marketplace-screenshots.githubusercontent.com/43/81d842fa-ad0e-11e7-9e47-47244d8660eb?auto=webp&format=jpeg&width=670"/> </div> <div class="ScreenshotCarousel-navitem" role="tab" tabindex="-1"> <img width="670" alt="Codacy screenshot" class="img-responsive" srcset="https://web.archive.org/web/20211121184648im_/https://marketplace-screenshots.githubusercontent.com/43/8582f800-ad0e-11e7-98b0-8cc7ab7b4007?auto=webp&format=jpeg&width=670&dpr=1.5 1.5x, https://web.archive.org/web/20211121184648im_/https://marketplace-screenshots.githubusercontent.com/43/8582f800-ad0e-11e7-98b0-8cc7ab7b4007?auto=webp&format=jpeg&width=670&dpr=2 2x" src="https://web.archive.org/web/20211121184648im_/https://marketplace-screenshots.githubusercontent.com/43/8582f800-ad0e-11e7-98b0-8cc7ab7b4007?auto=webp&format=jpeg&width=670"/> </div> </div> </tab-container> </div> </div> </div> </div> <div id="pricing-and-setup" class="py-6 my-3 color-bg-subtle"> <div class="container-lg p-responsive"> <h2 class="f1 mb-4">Pricing and setup</h2> <div id="marketplace-plans-container" class="clearfix" data-pjax-container> <div class="col-md-6 float-md-left pr-md-6 mb-4 mb-md-0"> <ul class="filter-list ml-md-n3 mr-md-n3"> <li> <a href="/web/20211121184648/https://github.com/marketplace/codacy/plan/MDIyOk1hcmtldHBsYWNlTGlzdGluZ1BsYW4xNA==#pricing-and-setup" class="filter-item ws-normal d-flex flex-justify-between p-2 p-md-3 mb-0 selected" aria-current="page" data-pjax data-pjax-preserve-scroll> <div class="flex-auto flex-self-center"> <h4 class="f3 d-inline-block marketplace-plan-emphasis">Open Source </h4> <p class="text-small mb-0 pr-2">Free for open source projects</p> </div> <span class="f3 float-right marketplace-plan-emphasis">$0</span> </a> </li> <li> <a href="/web/20211121184648/https://github.com/marketplace/codacy/plan/MDIyOk1hcmtldHBsYWNlTGlzdGluZ1BsYW4xNQ==#pricing-and-setup" class="filter-item ws-normal d-flex flex-justify-between p-2 p-md-3 mb-0 " data-pjax data-pjax-preserve-scroll> <div class="flex-auto flex-self-center"> <h4 class="f3 d-inline-block marketplace-plan-emphasis">Pro </h4> <p class="text-small mb-0 pr-2">Unlimited private repositories</p> </div> <div class="text-small text-right lh-condensed flex-self-center"> <span class="f3 marketplace-plan-emphasis">$18</span> <span class=" marketplace-plan-per-time d-block">per user</span> <span class="marketplace-plan-per-time d-block">/ month</span> </div> <div class="text-small text-right lh-condensed d-none flex-self-center"> <span class="f3 marketplace-plan-emphasis">$180</span> <span class="marketplace-plan-per-time d-block">per user</span> <span class="marketplace-plan-per-time d-block">/ year</span> </div> </a> </li> </ul> </div> <div class="MarketplacePlan--sticky col-md-6 float-md-left pl-md-6"> <div class="position-relative color-bg-default rounded-1 color-shadow-large p-4 mb-3"> <div class="position-absolute top-0 left-0 width-full color-bg-accent-emphasis pt-1"></div> <div class="float-right pl-3"> <div style="background-color: #242C33" class="CircleBadge CircleBadge--small box-shadow-none"> <img src="https://web.archive.org/web/20211121184648im_/https://avatars.githubusercontent.com/ml/43?s=140&v=4" class="CircleBadge-icon" alt="Codacy logo preview"> </div> </div> <div class="lh-condensed color-fg-muted text-small">Codacy</div> <h3 class="f2 text-normal lh-condensed mb-2">Open Source</h3> <p class="lh-condensed">Free for open source projects</p> <!-- '"` --><!-- </textarea></xmp> --></option></form><form action="/web/20211121184648/https://github.com/marketplace/codacy/order/MDIyOk1hcmtldHBsYWNlTGlzdGluZ1BsYW4xNA==" accept-charset="UTF-8" method="get"> <div class="d-lg-flex flex-items-center"> <div class="mb-2 mb-lg-0"> <button class="btn btn-primary px-6 py-2 d-block d-md-inline-block text-center width-full" type="submit" data-octo-click="marketplace-listing_install_click" data-octo-dimensions="marketplace_listing_id:43" data-ga-click="Marketplace listing, install it for free, marketplace_id:43"> Install it for free </button> </div> <div class="" style="white-space:normal;"> <p class="text-small ml-lg-3 mb-0 lh-condensed">Next: Confirm your installation location.</p> </div> </div> </form></div> <p class="text-small text-center color-fg-muted mx-6 lh-condensed"> Codacy is provided by a third-party and is governed by separate <a href="https://web.archive.org/web/20211121184648/https://www.codacy.com/terms">terms of service</a>, <a href="https://web.archive.org/web/20211121184648/https://www.codacy.com/privacy">privacy policy</a>, and <a href="https://web.archive.org/web/20211121184648/mailto:support@codacy.com">support contact</a>. </p> </div> </div> </div> </div> </main> </div> <footer class="footer pt-6 position-relative"> <div class="container-xl p-responsive"> <div class="d-flex flex-wrap py-5 mb-5"> <div class="col-12 col-lg-4 mb-5"> <a href="/web/20211121184648/https://github.com/" data-hydro-click="{"event_type":"analytics.event","payload":{"category":"Footer","action":"go to home","label":"text:home","originating_url":"https://github.com/marketplace/codacy","user_id":null}}" data-hydro-click-hmac="09cc1362dadd21b1832e01396dd5e0ed7f3f88424073c7b82eb2395714153b27" data-analytics-event="{"category":"Footer","action":"go to home","label":"text:home"}" class="color-fg-default" aria-label="Go to GitHub homepage"> <img class="footer-logo-mktg" src="https://web.archive.org/web/20211121184648im_/https://github.githubassets.com/images/modules/site/icons/footer/github-logo.svg" width="84" height="30" loading="lazy" decoding="async" alt="GitHub"> </a> </div> <div class="col-6 col-sm-3 col-lg-2 mb-6 mb-md-2 pr-3 pr-lg-0 pl-lg-4"> <h2 class="h5 mb-3 text-mono color-fg-muted text-normal"> Product </h2> <ul class="list-style-none color-fg-muted f5"> <li class="lh-condensed mb-3"> <a class="Link--secondary" data-hydro-click="{"event_type":"analytics.event","payload":{"category":"Footer","action":"go to features","label":"text:features","originating_url":"https://github.com/marketplace/codacy","user_id":null}}" data-hydro-click-hmac="5b0b639f25d00221ea93df11c247d4eeba55a214d62781c3ff5e21203b745a7d" data-analytics-event="{"category":"Footer","action":"go to features","label":"text:features"}" href="/web/20211121184648/https://github.com/features">Features</a> </li> <li class="lh-condensed mb-3"> <a class="Link--secondary" data-hydro-click="{"event_type":"analytics.event","payload":{"category":"Footer","action":"go to security","label":"text:security","originating_url":"https://github.com/marketplace/codacy","user_id":null}}" data-hydro-click-hmac="64459b7792c44bce9ee2b3b8b5cd830e50f1a1825bd408d5d029d3cc21853383" data-analytics-event="{"category":"Footer","action":"go to security","label":"text:security"}" href="/web/20211121184648/https://github.com/security">Security</a> </li> <li class="lh-condensed mb-3"> <a class="Link--secondary" data-hydro-click="{"event_type":"analytics.event","payload":{"category":"Footer","action":"go to team","label":"text:team","originating_url":"https://github.com/marketplace/codacy","user_id":null}}" data-hydro-click-hmac="d48558c5d450a253196a6529630a79f4d78a9cab7f2102f3b4dba9781f73be11" data-analytics-event="{"category":"Footer","action":"go to team","label":"text:team"}" href="/web/20211121184648/https://github.com/team">Team</a> </li> <li class="lh-condensed mb-3"> <a class="Link--secondary" data-hydro-click="{"event_type":"analytics.event","payload":{"category":"Footer","action":"go to enterprise","label":"text:enterprise","originating_url":"https://github.com/marketplace/codacy","user_id":null}}" data-hydro-click-hmac="3d0eaf56a30307d538994a4bc19f20ab8b31f55efc4c2df115146bcb37f07b28" data-analytics-event="{"category":"Footer","action":"go to enterprise","label":"text:enterprise"}" href="/web/20211121184648/https://github.com/enterprise">Enterprise</a> </li> <li class="lh-condensed mb-3"> <a class="Link--secondary" data-hydro-click="{"event_type":"analytics.event","payload":{"category":"Footer","action":"go to customer stories","label":"text:customer stories","originating_url":"https://github.com/marketplace/codacy","user_id":null}}" data-hydro-click-hmac="bc9e5254b2fd558102bd03aa789003ca86d665e91b13ecfd1244acf06c62d229" data-analytics-event="{"category":"Footer","action":"go to customer stories","label":"text:customer stories"}" href="/web/20211121184648/https://github.com/customer-stories?type=enterprise">Customer stories</a> </li> <li class="lh-condensed mb-3"> <a class="Link--secondary" data-hydro-click="{"event_type":"analytics.event","payload":{"category":"Footer","action":"go to the readme project","label":"text:the readme project","originating_url":"https://github.com/marketplace/codacy","user_id":null}}" data-hydro-click-hmac="5dd91c4a5434239ae26a646be45d909d140bfb00d96c2c9f4850215c3f7b7944" data-analytics-event="{"category":"Footer","action":"go to the readme project","label":"text:the readme project"}" href="/web/20211121184648/https://github.com/readme">The ReadME Project</a> </li> <li class="lh-condensed mb-3"> <a class="Link--secondary" data-hydro-click="{"event_type":"analytics.event","payload":{"category":"Footer","action":"go to pricing","label":"text:pricing","originating_url":"https://github.com/marketplace/codacy","user_id":null}}" data-hydro-click-hmac="c5c3f3a16e35b542e7666c4f3944ba15aab8dc30268571975482cdb449f1b083" data-analytics-event="{"category":"Footer","action":"go to pricing","label":"text:pricing"}" href="/web/20211121184648/https://github.com/pricing">Pricing</a> </li> <li class="lh-condensed mb-3"> <a class="Link--secondary" data-hydro-click="{"event_type":"analytics.event","payload":{"category":"Footer","action":"go to resources","label":"text:resources","originating_url":"https://github.com/marketplace/codacy","user_id":null}}" data-hydro-click-hmac="cc4312b8ec7dab326097d731cd74baf0afe1cf0798697a153064428d905fad13" data-analytics-event="{"category":"Footer","action":"go to resources","label":"text:resources"}" href="https://web.archive.org/web/20211121184648/https://resources.github.com/">Resources</a> </li> <li class="lh-condensed mb-3"> <a class="Link--secondary" data-hydro-click="{"event_type":"analytics.event","payload":{"category":"Footer","action":"go to roadmap","label":"text:roadmap","originating_url":"https://github.com/marketplace/codacy","user_id":null}}" data-hydro-click-hmac="18268b1f71c6ee9dbf8e814af95f1b3df297925a5234bf1a6f3ddd673b842528" data-analytics-event="{"category":"Footer","action":"go to roadmap","label":"text:roadmap"}" href="https://web.archive.org/web/20211121184648/https://github.com/github/roadmap">Roadmap</a> </li> </ul> </div> <div class="col-6 col-sm-3 col-lg-2 mb-6 mb-md-2 pr-3 pr-md-0 pl-md-4"> <h2 class="h5 mb-3 text-mono color-fg-muted text-normal"> Platform </h2> <ul class="list-style-none f5"> <li class="lh-condensed mb-3"> <a class="Link--secondary" data-hydro-click="{"event_type":"analytics.event","payload":{"category":"Footer","action":"go to api","label":"text:api","originating_url":"https://github.com/marketplace/codacy","user_id":null}}" data-hydro-click-hmac="0ff523ab5711fbb954a57811c4cf4344992027836ecbc41fcf44600c4ce6fad5" data-analytics-event="{"category":"Footer","action":"go to api","label":"text:api"}" href="https://web.archive.org/web/20211121184648/https://docs.github.com/">Developer API</a> </li> <li class="lh-condensed mb-3"> <a class="Link--secondary" data-hydro-click="{"event_type":"analytics.event","payload":{"category":"Footer","action":"go to partner","label":"text:partner","originating_url":"https://github.com/marketplace/codacy","user_id":null}}" data-hydro-click-hmac="06d6dff867999891d76addcedcede800f11300a7cc9c9acef783346faca48b1d" data-analytics-event="{"category":"Footer","action":"go to partner","label":"text:partner"}" href="https://web.archive.org/web/20211121184648/https://partner.github.com/">Partners</a> </li> <li class="lh-condensed mb-3"> <a class="Link--secondary" data-hydro-click="{"event_type":"analytics.event","payload":{"category":"Footer","action":"go to atom","label":"text:atom","originating_url":"https://github.com/marketplace/codacy","user_id":null}}" data-hydro-click-hmac="ed687251957fa86bf0cd298ac4c1b487b76419713a8b3b8909b6157422fb51d7" data-analytics-event="{"category":"Footer","action":"go to atom","label":"text:atom"}" href="https://web.archive.org/web/20211121184648/https://atom.io/">Atom</a> </li> <li class="lh-condensed mb-3"> <a class="Link--secondary" data-hydro-click="{"event_type":"analytics.event","payload":{"category":"Footer","action":"go to electron","label":"text:electron","originating_url":"https://github.com/marketplace/codacy","user_id":null}}" data-hydro-click-hmac="01ea7175f9ecda85c74f69973da792708b55725838e01b41c5a59b876eaae7ce" data-analytics-event="{"category":"Footer","action":"go to electron","label":"text:electron"}" href="https://web.archive.org/web/20211121184648/https://www.electronjs.org/">Electron</a> </li> <li class="lh-condensed mb-3"> <a class="Link--secondary" data-hydro-click="{"event_type":"analytics.event","payload":{"category":"Footer","action":"go to desktop","label":"text:desktop","originating_url":"https://github.com/marketplace/codacy","user_id":null}}" data-hydro-click-hmac="92db511ca974a8743941e8780acb2b4fd0c4d173d1ffa380a7b3b5fb140145d7" data-analytics-event="{"category":"Footer","action":"go to desktop","label":"text:desktop"}" href="https://web.archive.org/web/20211121184648/https://desktop.github.com/">GitHub Desktop</a> </li> </ul> </div> <div class="col-6 col-sm-3 col-lg-2 mb-6 mb-md-2 pr-3 pr-md-0 pl-md-4"> <h2 class="h5 mb-3 text-mono color-fg-muted text-normal"> Support </h2> <ul class="list-style-none f5"> <li class="lh-condensed mb-3"> <a class="Link--secondary" data-hydro-click="{"event_type":"analytics.event","payload":{"category":"Footer","action":"go to help","label":"text:Docs","originating_url":"https://github.com/marketplace/codacy","user_id":null}}" data-hydro-click-hmac="bf883e86b61aa668050b0c9a07fc8a63c7d7dcd69dcfa24e110cbceb19fc770d" data-analytics-event="{"category":"Footer","action":"go to help","label":"text:Docs"}" href="https://web.archive.org/web/20211121184648/https://docs.github.com/">Docs</a> </li> <li class="lh-condensed mb-3"> <a class="Link--secondary" data-hydro-click="{"event_type":"analytics.event","payload":{"category":"Footer","action":"go to community","label":"text:community","originating_url":"https://github.com/marketplace/codacy","user_id":null}}" data-hydro-click-hmac="d8ce36647972a5586617e93b9323172bf7b76b6692e33aac01c6d01aacad840f" data-analytics-event="{"category":"Footer","action":"go to community","label":"text:community"}" href="https://web.archive.org/web/20211121184648/https://github.community/">Community Forum</a> </li> <li class="lh-condensed mb-3"> <a class="Link--secondary" data-hydro-click="{"event_type":"analytics.event","payload":{"category":"Footer","action":"go to professional services","label":"text:professional services","originating_url":"https://github.com/marketplace/codacy","user_id":null}}" data-hydro-click-hmac="c42f9c2d0935333120a2a04c7888f62bddff9d65a3172719475fdc90d0ca1360" data-analytics-event="{"category":"Footer","action":"go to professional services","label":"text:professional services"}" href="https://web.archive.org/web/20211121184648/https://services.github.com/">Professional Services</a> </li> <li class="lh-condensed mb-3"> <a class="Link--secondary" data-hydro-click="{"event_type":"analytics.event","payload":{"category":"Footer","action":"go to learning lab","label":"text:learning lab","originating_url":"https://github.com/marketplace/codacy","user_id":null}}" data-hydro-click-hmac="3358b271c1bcd8eb2a7babf77b31b0f4c2382542194d539392fe0f2fa72df013" data-analytics-event="{"category":"Footer","action":"go to learning lab","label":"text:learning lab"}" href="https://web.archive.org/web/20211121184648/https://lab.github.com/">Learning Lab</a> </li> <li class="lh-condensed mb-3"> <a class="Link--secondary" data-hydro-click="{"event_type":"analytics.event","payload":{"category":"Footer","action":"go to status","label":"text:status","originating_url":"https://github.com/marketplace/codacy","user_id":null}}" data-hydro-click-hmac="79126ca7222cbe63f3bff711038ccea6db4fd21a1679d2cfaa727459d7d12b18" data-analytics-event="{"category":"Footer","action":"go to status","label":"text:status"}" href="https://web.archive.org/web/20211121184648/https://www.githubstatus.com/">Status</a> </li> <li class="lh-condensed mb-3"> <a class="Link--secondary" data-hydro-click="{"event_type":"analytics.event","payload":{"category":"Footer","action":"go to contact","label":"text:contact","originating_url":"https://github.com/marketplace/codacy","user_id":null}}" data-hydro-click-hmac="be958c8a103839044e29d221dc5cea0c12f8ddf9bedbb7071a99de6ac808697d" data-analytics-event="{"category":"Footer","action":"go to contact","label":"text:contact"}" href="https://web.archive.org/web/20211121184648/https://support.github.com/?tags=dotcom-footer">Contact GitHub</a> </li> </ul> </div> <div class="col-6 col-sm-3 col-lg-2 mb-6 mb-md-2 pr-3 pr-md-0 pl-md-4"> <h2 class="h5 mb-3 text-mono color-fg-muted text-normal"> Company </h2> <ul class="list-style-none f5"> <li class="lh-condensed mb-3"> <a class="Link--secondary" data-hydro-click="{"event_type":"analytics.event","payload":{"category":"Footer","action":"go to about","label":"text:about","originating_url":"https://github.com/marketplace/codacy","user_id":null}}" data-hydro-click-hmac="292c534bf18973291ccb8e7f63a6441c68664b24e127ed4b9e823a66712c54b8" data-analytics-event="{"category":"Footer","action":"go to about","label":"text:about"}" href="https://web.archive.org/web/20211121184648/https://github.com/about">About</a> </li> <li class="lh-condensed mb-3"> <a class="Link--secondary" data-hydro-click="{"event_type":"analytics.event","payload":{"category":"Footer","action":"go to blog","label":"text:blog","originating_url":"https://github.com/marketplace/codacy","user_id":null}}" data-hydro-click-hmac="9e52f5be1f70590163642e48f5dddbd85f339a11fde198c6b13d1c93abd992c2" data-analytics-event="{"category":"Footer","action":"go to blog","label":"text:blog"}" href="https://web.archive.org/web/20211121184648/https://github.blog/">Blog</a> </li> <li class="lh-condensed mb-3"> <a class="Link--secondary" data-hydro-click="{"event_type":"analytics.event","payload":{"category":"Footer","action":"go to careers","label":"text:careers","originating_url":"https://github.com/marketplace/codacy","user_id":null}}" data-hydro-click-hmac="ff2702fca6e9bfe4bac09449ea181b63b7671c4d3a7d75740dbf1bb0476fe368" data-analytics-event="{"category":"Footer","action":"go to careers","label":"text:careers"}" href="/web/20211121184648/https://github.com/about/careers">Careers</a> </li> <li class="lh-condensed mb-3"> <a class="Link--secondary" data-hydro-click="{"event_type":"analytics.event","payload":{"category":"Footer","action":"go to press","label":"text:press","originating_url":"https://github.com/marketplace/codacy","user_id":null}}" data-hydro-click-hmac="9309ec843716a470c3e3dae03177e1d46df238061e13ddb5581eb91491e18c8d" data-analytics-event="{"category":"Footer","action":"go to press","label":"text:press"}" href="/web/20211121184648/https://github.com/about/press">Press</a> </li> <li class="lh-condensed mb-3"> <a class="Link--secondary" data-hydro-click="{"event_type":"analytics.event","payload":{"category":"Footer","action":"go to diversity","label":"text:Inclusion","originating_url":"https://github.com/marketplace/codacy","user_id":null}}" data-hydro-click-hmac="499bc3502c066a7c8ad039092044683889a8ef510db150268fe02dd0edad5ed3" data-analytics-event="{"category":"Footer","action":"go to diversity","label":"text:Inclusion"}" href="/web/20211121184648/https://github.com/about/diversity">Inclusion</a> </li> <li class="lh-condensed mb-3"> <a class="Link--secondary" data-hydro-click="{"event_type":"analytics.event","payload":{"category":"Footer","action":"go to social impact","label":"text:social impact","originating_url":"https://github.com/marketplace/codacy","user_id":null}}" data-hydro-click-hmac="5fde3d508ebd28f8fa77fe6befa606e67a9824f7def6404587403c3286c5f531" data-analytics-event="{"category":"Footer","action":"go to social impact","label":"text:social impact"}" href="https://web.archive.org/web/20211121184648/https://socialimpact.github.com/">Social Impact</a> </li> <li class="lh-condensed mb-3"> <a class="Link--secondary" data-hydro-click="{"event_type":"analytics.event","payload":{"category":"Footer","action":"go to shop","label":"text:shop","originating_url":"https://github.com/marketplace/codacy","user_id":null}}" data-hydro-click-hmac="bce68f9798b33899f3c886544ed286da78161e415c104f34a86d83b4a1220a70" data-analytics-event="{"category":"Footer","action":"go to shop","label":"text:shop"}" href="https://web.archive.org/web/20211121184648/https://shop.github.com/">Shop</a> </li> </ul> </div> </div> </div> <div class="color-bg-subtle"> <div class="container-xl p-responsive f6 py-4 d-sm-flex flex-justify-between flex-row-reverse flex-items-center"> <ul class="list-style-none d-flex flex-items-center mb-3 mb-sm-0 lh-condensed-ultra"> <li class="mr-3"> <a href="https://web.archive.org/web/20211121184648/https://twitter.com/github" data-hydro-click="{"event_type":"analytics.event","payload":{"category":"Footer","action":"go to Twitter","label":"text:twitter","originating_url":"https://github.com/marketplace/codacy","user_id":null}}" data-hydro-click-hmac="6c59acb223db4403f40637ac1aab4c512c4c5a609fd1d9fa9eb571d7200c715c" data-analytics-event="{"category":"Footer","action":"go to Twitter","label":"text:twitter"}" class="color-fg-subtle"> <img src="https://web.archive.org/web/20211121184648im_/https://github.githubassets.com/images/modules/site/icons/footer/twitter.svg" height="18" width="22" class="d-block" loading="lazy" decoding="async" alt="Twitter icon"> <span class="sr-only">GitHub on Twitter</span> </a> </li> <li class="mr-3"> <a href="https://web.archive.org/web/20211121184648/https://www.facebook.com/GitHub" data-hydro-click="{"event_type":"analytics.event","payload":{"category":"Footer","action":"go to Facebook","label":"text:facebook","originating_url":"https://github.com/marketplace/codacy","user_id":null}}" data-hydro-click-hmac="f8410f6ee325c23fa515fbace74f0756e6f48a5bc62d167a6c48f538a06efdc4" data-analytics-event="{"category":"Footer","action":"go to Facebook","label":"text:facebook"}" class="color-fg-subtle"> <img src="https://web.archive.org/web/20211121184648im_/https://github.githubassets.com/images/modules/site/icons/footer/facebook.svg" width="18" height="18" class="d-block" loading="lazy" decoding="async" alt="Facebook icon"> <span class="sr-only">GitHub on Facebook</span> </a> </li> <li class="mr-3"> <a href="https://web.archive.org/web/20211121184648/https://www.youtube.com/github" data-hydro-click="{"event_type":"analytics.event","payload":{"category":"Footer","action":"go to YouTube","label":"text:youtube","originating_url":"https://github.com/marketplace/codacy","user_id":null}}" data-hydro-click-hmac="0545dae1b9a0efcb5907b8fa39439f0424b70480a27d2b26beaa6fea88dc989b" data-analytics-event="{"category":"Footer","action":"go to YouTube","label":"text:youtube"}" class="color-fg-subtle"> <img src="https://web.archive.org/web/20211121184648im_/https://github.githubassets.com/images/modules/site/icons/footer/youtube.svg" width="23" height="16" class="d-block" loading="lazy" decoding="async" alt="YouTube icon"> <span class="sr-only">GitHub on YouTube</span> </a> </li> <li class="mr-3 flex-self-start"> <a href="https://web.archive.org/web/20211121184648/https://www.linkedin.com/company/github" data-hydro-click="{"event_type":"analytics.event","payload":{"category":"Footer","action":"go to Linkedin","label":"text:linkedin","originating_url":"https://github.com/marketplace/codacy","user_id":null}}" data-hydro-click-hmac="0ece655dd632ab94f2c902ceac0bbd8c60726e341e9a43c171d8ec43c36c87f3" data-analytics-event="{"category":"Footer","action":"go to Linkedin","label":"text:linkedin"}" class="color-fg-subtle"> <img src="https://web.archive.org/web/20211121184648im_/https://github.githubassets.com/images/modules/site/icons/footer/linkedin.svg" width="19" height="18" class="d-block" loading="lazy" decoding="async" alt="Linkedin icon"> <span class="sr-only">GitHub on LinkedIn</span> </a> </li> <li> <a href="https://web.archive.org/web/20211121184648/https://github.com/github" data-hydro-click="{"event_type":"analytics.event","payload":{"category":"Footer","action":"go to github's org","label":"text:github","originating_url":"https://github.com/marketplace/codacy","user_id":null}}" data-hydro-click-hmac="d05fa0e01b36e4c9238024b550e60e1e78a7ed439e70e5d8f97f9f4c5e44d476" data-analytics-event="{"category":"Footer","action":"go to github's org","label":"text:github"}" class="color-fg-subtle"> <img src="https://web.archive.org/web/20211121184648im_/https://github.githubassets.com/images/modules/site/icons/footer/github-mark.svg" width="20" height="20" class="d-block" loading="lazy" decoding="async" alt="GitHub mark"> <span class="sr-only">GitHub’s organization on GitHub</span> </a> </li> </ul> <ul class="list-style-none d-flex flex-wrap color-fg-muted"> <li class="mr-3"> © 2021 GitHub, Inc. </li> <li class="mr-3"> <a href="https://web.archive.org/web/20211121184648/https://docs.github.com/en/github/site-policy/github-terms-of-service" data-hydro-click="{"event_type":"analytics.event","payload":{"category":"Footer","action":"go to terms","label":"text:terms","originating_url":"https://github.com/marketplace/codacy","user_id":null}}" data-hydro-click-hmac="8a995ca688cdb85bec628c1f4d78276b1fe05bed893a66ce5ba01c13498d26be" data-analytics-event="{"category":"Footer","action":"go to terms","label":"text:terms"}" class="Link--secondary">Terms</a> </li> <li class="mr-3"> <a href="https://web.archive.org/web/20211121184648/https://docs.github.com/en/github/site-policy/github-privacy-statement" data-hydro-click="{"event_type":"analytics.event","payload":{"category":"Footer","action":"go to privacy","label":"text:privacy","originating_url":"https://github.com/marketplace/codacy","user_id":null}}" data-hydro-click-hmac="2517c72c78bdd132d8a13f90ee716074bf23d21d034f0c831ea350d111e54ae3" data-analytics-event="{"category":"Footer","action":"go to privacy","label":"text:privacy"}" class="Link--secondary">Privacy</a> </li> <li class="mr-3"> <a class="Link--secondary" data-hydro-click="{"event_type":"analytics.event","payload":{"category":"Footer","action":"go to site map","label":"text:site map","originating_url":"https://github.com/marketplace/codacy","user_id":null}}" data-hydro-click-hmac="02eabe0c41863e85fa8a685205392af4393114f61ee17a1af3132924d2930066" data-analytics-event="{"category":"Footer","action":"go to site map","label":"text:site map"}" href="/web/20211121184648/https://github.com/site-map">Site Map</a> </li> <li> <a class="Link--secondary" data-hydro-click="{"event_type":"analytics.event","payload":{"category":"Footer","action":"go to Git Guides","label":"text:What is Git?","originating_url":"https://github.com/marketplace/codacy","user_id":null}}" data-hydro-click-hmac="0d92b73c5de889a5899c97224bfb2558864a01480fb4287143146eb8486ad0be" data-analytics-event="{"category":"Footer","action":"go to Git Guides","label":"text:What is Git?"}" href="/web/20211121184648/https://github.com/git-guides">What is Git?</a> </li> </ul> </div> </div> </footer> <div id="ajax-error-message" class="ajax-error-message flash flash-error" hidden> <svg aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert"> <path fill-rule="evenodd" d="M8.22 1.754a.25.25 0 00-.44 0L1.698 13.132a.25.25 0 00.22.368h12.164a.25.25 0 00.22-.368L8.22 1.754zm-1.763-.707c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0114.082 15H1.918a1.75 1.75 0 01-1.543-2.575L6.457 1.047zM9 11a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.25a.75.75 0 00-1.5 0v2.5a.75.75 0 001.5 0v-2.5z"></path> </svg> <button type="button" class="flash-close js-ajax-error-dismiss" aria-label="Dismiss error"> <svg aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path fill-rule="evenodd" d="M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-1.06z"></path> </svg> </button> You can’t perform that action at this time. </div> <div class="js-stale-session-flash flash flash-warn flash-banner" hidden> <svg aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert"> <path fill-rule="evenodd" d="M8.22 1.754a.25.25 0 00-.44 0L1.698 13.132a.25.25 0 00.22.368h12.164a.25.25 0 00.22-.368L8.22 1.754zm-1.763-.707c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0114.082 15H1.918a1.75 1.75 0 01-1.543-2.575L6.457 1.047zM9 11a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.25a.75.75 0 00-1.5 0v2.5a.75.75 0 001.5 0v-2.5z"></path> </svg> <span class="js-stale-session-flash-signed-in" hidden>You signed in with another tab or window. <a href="">Reload</a> to refresh your session.</span> <span class="js-stale-session-flash-signed-out" hidden>You signed out in another tab or window. <a href="">Reload</a> to refresh your session.</span> </div> <template id="site-details-dialog"> <details class="details-reset details-overlay details-overlay-dark lh-default color-fg-default hx_rsm" open> <summary role="button" aria-label="Close dialog"></summary> <details-dialog class="Box Box--overlay d-flex flex-column anim-fade-in fast hx_rsm-dialog hx_rsm-modal"> <button class="Box-btn-octicon m-0 btn-octicon position-absolute right-0 top-0" type="button" aria-label="Close dialog" data-close-dialog> <svg aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path fill-rule="evenodd" d="M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-1.06z"></path> </svg> </button> <div class="octocat-spinner my-6 js-details-dialog-spinner"></div> </details-dialog> </details> </template> <div class="Popover js-hovercard-content position-absolute" style="display: none; outline: none;" tabindex="0"> <div class="Popover-message Popover-message--bottom-left Popover-message--large Box color-shadow-large" style="width:360px;"> </div> </div> <template id="snippet-clipboard-copy-button"> <div class="zeroclipboard-container position-absolute right-0 top-0"> <clipboard-copy aria-label="Copy" class="ClipboardButton btn js-clipboard-copy m-2 p-0 tooltipped-no-delay" data-copy-feedback="Copied!" data-tooltip-direction="w"> <svg aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copy js-clipboard-copy-icon m-2"> <path fill-rule="evenodd" d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 010 1.5h-1.5a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-1.5a.75.75 0 011.5 0v1.5A1.75 1.75 0 019.25 16h-7.5A1.75 1.75 0 010 14.25v-7.5z"></path><path fill-rule="evenodd" d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0114.25 11h-7.5A1.75 1.75 0 015 9.25v-7.5zm1.75-.25a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-7.5a.25.25 0 00-.25-.25h-7.5z"></path> </svg> <svg aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check js-clipboard-check-icon color-fg-success d-none m-2"> <path fill-rule="evenodd" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path> </svg> </clipboard-copy> </div> </template> </body> </html> <!-- FILE ARCHIVED ON 18:46:48 Nov 21, 2021 AND RETRIEVED FROM THE INTERNET ARCHIVE ON 20:59:12 Dec 11, 2024. JAVASCRIPT APPENDED BY WAYBACK MACHINE, COPYRIGHT INTERNET ARCHIVE. ALL OTHER CONTENT MAY ALSO BE PROTECTED BY COPYRIGHT (17 U.S.C. SECTION 108(a)(3)). --> <!-- playback timings (ms): captures_list: 0.725 exclusion.robots: 0.038 exclusion.robots.policy: 0.027 esindex: 0.011 cdx.remote: 38.012 LoadShardBlock: 609.116 (6) PetaboxLoader3.datanode: 380.026 (7) PetaboxLoader3.resolve: 276.705 (2) load_resource: 163.496 -->