Skip to content
CAI
Software that uses CAICheck a score

redrabbit/git.limo

43.2

Weak · 3 October 2026

14.6k

lines of production code

Elixir

with C

2

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

GitGud is a self-hosted Git source code management platform built on Elixir and Phoenix, providing full repository hosting capabilities via SSH and Smart-HTTP protocols. It features a comprehensive web interface for managing users, repositories, and issues, supported by a GraphQL API and real-time interactions through Phoenix LiveView. The system handles core Git operations using a custom C-based NIF layer for performance, while managing identity through OAuth2 providers and securing access with centralized authorization policies.

How it got here

2017 — Phoenix 1.6 and LiveView migration

28 changes.

The project upgraded to Phoenix 1.6 and Ecto 3.0, migrating the configuration system and frontend asset pipeline to esbuild and Bulma. This period introduced Phoenix LiveView for real-time UI features, centralized authorization, and a new GitRekt library with C NIF bindings for low-level Git operations.

2018 — Initial schema and web interface implementation

14 changes.

This period focused on establishing the foundational database schema and data models for GitGud, defining core entities like users, repositories, and issues. It simultaneously introduced the initial web interface, including authentication flows with OAuth2, user account management, and basic repository navigation templates. The work also laid the groundwork for the API layer by implementing a GraphQL interface and adding comprehensive test coverage for controllers and authentication plugs.

2019–2021 — LiveView migration and feature expansion

11 changes.

The project modernized its web interface by migrating to Phoenix LiveView for interactive code browsing and commit reviews, while introducing dedicated query modules to centralize database logic. This period also expanded core functionality with new interfaces for issue management, repository maintainers, and labels, alongside improvements to authentication, error handling, and client-side code organization.

Features

Add OAuth2 authentication support for GitHub and GitLab

Users can now authenticate with their GitHub or GitLab accounts. This change introduces new OAuth2.0 strategies for both providers, configuring the necessary client settings, authorization URLs, and token endpoints to enable social login.

_apps/gitgud\web/lib/gitgud/oauth2 · high confidence

Add SSH key management interface

Users can now add and manage SSH keys through a new web interface. The 'Add SSH key' page allows users to provide a name and the public key data, while the main list displays existing keys with their fingerprints, usage status, and addition date, and includes a button to delete individual keys.

_apps/gitgud\_web/lib/gitgud\_web/templates/gpg\_key, apps/gitgud\_web/lib/gitgud\_web/templates/ssh\key · high confidence

Add emoji support, syntax highlighting, and static assets

This change introduces several new static resources to the web application. It adds a comprehensive emoji mapping file (simplemap.json) to support emoji rendering, and a list of supported syntax highlighting languages (highlight-languages.txt) to enable code syntax highlighting in the UI. Additionally, new SVG assets (logo and banner) and a web app manifest (manifest.webmanifest) are added to support branding and progressive web app features, while robots.txt is relocated to the standard priv directory.

_apps/gitgud\web/priv · high confidence

Add issue listing and creation templates

The issue listing page now displays a table of issues with status badges, a search input, and a label filter dropdown, while the new issue page renders the IssueFormLive component for creating issues.

_apps/gitgud\_web/lib/gitgud\web/templates/issue · high confidence

Add landing page with hero section and AppSignal sponsorship notice

The landing page now displays a hero section featuring a headline about code collaboration for dev teams, a subtitle describing the tool as a Git source code management solution powered by Elixir, and a call-to-action button to get started. Additionally, a sponsorship notice for AppSignal is included, highlighting their support for error tracking and performance monitoring.

_apps/gitgud\_web/lib/gitgud\_web/templates/landing\page · high confidence

Implement Git Smart-HTTP Wire Protocol services

Added new \GitRekt.WireProtocol.ReceivePack\ and \GitRekt.WireProtocol.UploadPack\ modules to handle the \git-receive-pack\ and \git-upload-pack\ commands respectively. These modules implement the \GitRekt.WireProtocol\ behaviour, managing the state machine for discovery, capability negotiation, and data transfer (packfiles) required for Git smart-HTTP operations.

_apps/gitrekt/lib/gitrekt/wire\protocol · high confidence

Initial C NIF bindings for Git operations

The \apps/gitrekt/c\_src\ directory now contains the initial C source code for the GitRekt NIFs, providing low-level bindings to libgit2. This implementation introduces resource-managed wrappers for core Git objects and operations, including repositories, objects (commits, trees, blobs, tags), object databases (ODB), diffs, indexes, references, revwalks, and packfiles. It also adds support for configuration management, graph analysis (ahead/behind), pathspec matching, and zlib inflation, establishing the foundational C layer that the Elixir \GitRekt.Git\ module will expose to users.

_apps/gitrekt/c\src · high confidence

Initial configuration for the Gitrekt application

The Gitrekt application has been added to the umbrella project with a basic configuration file. This file currently imports the default Elixir configuration, establishing the foundational setup for the new app within the system.

apps/gitrekt/config · high confidence

Initial database schema and migration setup for GitGud

This change introduces the foundational database structure for the GitGud application by adding a complete set of Ecto migrations and a seed file. It defines core tables for users, emails, SSH keys, repositories, and OAuth2 accounts, while also establishing relationships for maintainers, contributors, issues, labels, comments, and GPG keys. The schema includes specific features such as automatic issue numbering, full-text search support via the pg\_trgm extension, and constraints to ensure data integrity across the system.

apps/gitgud/priv/db · high confidence

Introduce GitRekt data structures and error handling

The GitRekt library now exposes a comprehensive set of Elixir structs representing core Git objects, including commits, references, tags, blobs, trees, tree entries, indexes, index entries, diffs, object databases, and write packs. Each struct includes an Inspect protocol implementation for readable debugging output, and the module also defines a GitError exception for standardized error reporting.

apps/gitrekt/lib · high confidence

Introduce GitRekt.GitAgent with caching, transactions, and streaming support

The GitRekt library now provides a high-level \GitRekt.GitAgent\ GenServer that serializes Git commands, allowing multiple processes to safely interact with a single repository. This agent introduces a pluggable caching strategy (defined by the new \GitRekt.Cache\ behavior) to store immutable Git object results, reducing redundant NIF calls. It also supports batching commands into atomic \transaction/3\ blocks for performance and exposes lazy, streamable resources (via \GitRekt.GitStream\) for large datasets like commit history and tree entries, which are processed in configurable chunks to manage memory and inter-process communication overhead.

apps/gitrekt/lib/gitrekt · high confidence

Introduce GraphQL API for GitGud

The GitGud web application now exposes a GraphQL API, enabling clients to query and mutate data such as users, repositories, issues, comments, and Git objects (commits, refs, tags). This change adds the core Absinthe schema, resolvers, and type definitions in the \gitgud\_web\ application, supporting features like global search, issue management (creation, closing, reopening, title/label updates), comment handling (create, update, delete), and commit line reviews. A schema generator is also included to automatically produce the GraphQL SDL file.

_apps/gitgud\web/lib/gitgud/graphql · high confidence

Introduce LiveView-based codebase browsing and commit review interfaces

This change replaces the previous codebase and review UI with a suite of new Phoenix LiveView components, enabling real-time, interactive experiences without full page reloads. Users can now browse repository files via BlobViewerLive, navigate commit history through CommitHistoryLive, and view detailed diffs with CommitDiffLive. The new interface supports inline code reviews with dynamic form handling, branch and tag selection via BranchSelectLive, and real-time presence indicators for collaborative commenting. This shift modernizes the user experience by leveraging HEEx templates and LiveView's state management for faster, more responsive interactions.

_apps/gitgud\_web/lib/gitgud\web/live · high confidence

Introduce centralized authorization, repository process pooling, and telemetry logging

The :gitgud application now includes a new GitGud.Authorization module that centralizes access control for Git operations (push/pull) via the AuthorizationPolicies protocol, enforcing permissions in both the SmartHTTPBackend and SSHServer. Repository management has been restructured with a GitGud.RepoSupervisor that coordinates a GitGud.RepoPool for dynamic Git agent process management and a GitGud.RepoStorage for file-system operations. Additionally, the application now emits :telemetry events for Git agent calls, wire protocol interactions, and GraphQL operations, handled by dedicated logger modules to provide detailed performance and execution insights.

apps/gitgud/lib/gitgud · high confidence

Introduce email verification, password reset, and real-time presence capabilities

The application now supports sending verification and password-reset emails via the new GitGud.Mailer module, which uses Bamboo to render HTML and text templates for user actions. Additionally, a real-time presence system has been added using Phoenix.Presence to track active users, and the web endpoint has been updated to support Phoenix LiveView sockets and GraphQL subscriptions, enabling interactive, real-time features in the browser.

_apps/gitgud\_web/lib/gitgud\web · high confidence

Introduce web controllers for user, repository, and codebase management

This change adds a comprehensive set of Phoenix controllers to handle core GitGud web interactions. The new \CodebaseController\ enables users to create, edit, and delete files directly through the web interface. \RepoController\ manages repository lifecycle actions (create, edit, delete) and displays repository statistics. User account management is handled by \UserController\ (registration, profile/password updates, password reset), \SessionController\ (login/logout), and \OAuth2Controller\ (authentication via GitHub and GitLab). Additional controllers provide CRUD capabilities for user settings (\EmailController\, \SSHKeyController\, \GPGKeyController\), repository collaboration (\MaintainerController\), and issue tracking (\IssueController\, \IssueLabelController\). A \FallbackController\ is also introduced to standardize error handling across these endpoints.

_apps/gitgud\_web/lib/gitgud\web/controllers · high confidence

Issue label management interface

The issue label configuration page now provides a dedicated interface for managing repository labels. Repository administrators can view existing labels, edit their names and colors via a form with a color picker, add new labels using the plus button, and remove them with the close icon. Non-administrators can only view the list of current labels without editing capabilities.

_apps/gitgud\_web/lib/gitgud\_web/templates/issue\label · high confidence

New GraphQL middleware to load repository context and permissions

A new \RepoMiddleware\ has been added to the GraphQL layer to automatically resolve repository data for queries that specify a \repo\_id\. When a request is processed, this middleware checks if the repository is already present in the context; if not, it looks up the repository by ID and attaches the repository object, its associated Git agent, and the calculated permissions for the current user to the resolution context. This ensures that downstream resolvers have immediate access to the necessary repository state and authorization data without needing to perform redundant lookups.

_apps/gitgud\web/lib/gitgud/graphql/middlwares · high confidence

New authentication and request-handling plugs for GitGud Web

This change introduces four new Plug components in the GitGud Web application to enhance security and request processing. The AuthenticationPlug provides a unified entry point for authenticating users via session tokens or Bearer tokens (JWT-style), exposing helpers to check authentication status, verify user identity, and enforce authorization on resources. The GraphQLPlug integrates this authentication into the GraphQL endpoint by injecting the current user into the Absinthe context. Additionally, the TrailingFormatPlug allows routes to accept trailing file extensions (e.g., .json) which are mapped to request parameters, and the XForwardedForPlug correctly updates the connection's remote IP based on the X-Forwarded-For header, ensuring accurate client identification behind proxies.

_apps/gitgud\_web/lib/gitgud\web/plugs · high confidence

New authentication helper module for LiveViews

Added \GitGud.Web.AuthenticationLiveHelpers\ to provide conveniences for authentication in LiveViews. This module introduces functions to authenticate sockets using session data (\authenticate\, \authenticate\_later\), check authentication status (\authenticated?\), verify user status (\verified?\), and perform authorization checks (\authorized?\). It also includes a helper to retrieve the current user from socket assigns (\current\_user\), streamlining how user context is managed and accessed within LiveView components.

_apps/gitgud\_web/lib/gitgud\web/live/helpers · high confidence

New user account management and OAuth2 integration templates

The application now provides dedicated templates for managing user accounts, including registration, profile editing, password management, and OAuth2 provider connections. Users can register via email or connect accounts using GitHub, GitLab, and Bitbucket through new OAuth2 flows. The profile editing interface allows users to update their name, bio, location, and website URL, with specific handling for public email visibility based on verification status. Additionally, a password reset mechanism has been added, allowing users to request a reset email and subsequently update their password using a reset token.

_apps/gitgud\_web/lib/gitgud\web/templates/user · high confidence

New view helpers for formatting, pagination, and component rendering

This change introduces a suite of new helper modules in the web layer to improve view logic and user experience. The \DateTimeFormatter\ adds support for rendering relative dates with tooltips, while \PaginationHelpers\ implements both standard page-based and cursor-based pagination that preserves query parameters. Markdown rendering is enhanced via \GitGud.Web.Markdown\ to automatically link user mentions, issue references, and commit SHAs, and to render emojis. Additionally, \FormHelpers\ injects HTML5 input validation attributes into forms, \ReactComponents\ simplifies embedding React widgets, and \Gravatar\ handles avatar display. The \ErrorHelpers\ module was also moved and updated to use the new module naming convention.

_apps/gitgud\_web/lib/gitgud\web/views/helpers · high confidence

Repository maintainer management interface

A new page has been added to manage repository maintainers, displaying a table of current maintainers with their assigned permissions. Users can now update a maintainer's permission level or remove them from the repository via inline forms. The repository owner is displayed with admin permissions locked and non-editable. The interface also integrates a live search component to facilitate finding new maintainers.

_apps/gitgud\_web/lib/gitgud\web/templates/maintainer · high confidence

Removals

Removal of GitGud module stub

The GitGud module, which previously served as a placeholder for domain and business logic contexts, has been removed from the application.

apps/gitgud/lib · high confidence

Removal of UserSocket module

The \GitGudWeb.UserSocket\ module, which previously handled WebSocket transport configuration and user authentication logic for Phoenix channels, has been removed from the application. This change eliminates the existing real-time connection infrastructure for users, meaning any features relying on this specific socket implementation for live updates or presence will no longer function through this channel.

_apps/gitgud\_web/lib/gitgud\web/channels · high confidence

Removed database seeding script

The \seeds.exs\ file, previously used to populate the database with initial data, has been deleted. This removes the ability to run the standard seeding script via \mix run priv/repo/seeds.exs\ for this application.

apps/gitgud/priv/repo · high confidence

Behavioural changes

Custom error pages for HTTP status codes

Users now see specific, user-friendly error pages for 400, 401, 403, 404, and 500 HTTP errors instead of generic or default responses. The 401 page specifically guides unauthenticated users to sign in, while 403, 404, and 500 pages provide clear explanations of the issue.

_apps/gitgud\_web/lib/gitgud\web/templates/error · high confidence

Email management interface for adding, deleting, and setting primary addresses

The email settings page now provides a complete interface for managing user email addresses. Users can add new email addresses via a dedicated form, remove non-primary addresses using a delete button, and select a primary email address from a dropdown list of verified addresses. If no verified addresses exist, the primary email selection is disabled with a prompt to verify an address first.

_apps/gitgud\_web/lib/gitgud\web/templates/email · high confidence

Introduce GitGud.Web view modules and error handling

The web layer now uses the GitGud.Web namespace for its view modules, introducing dedicated views for the codebase, issues, labels, emails, GPG keys, OAuth2, SSH keys, maintainers, and user profiles. These views provide consistent page titles and helper functions for rendering UI elements like issue status buttons, label filters, and commit message formatting. Additionally, the error view has been updated to render HTML pages for 401, 404, and 500 errors instead of JSON, ensuring users see proper error pages in their browser.

_apps/gitgud\_web/lib/gitgud\web/views · high confidence

Introduce dedicated query modules for GitGud domain entities

The application now uses specific query modules (CommentQuery, GPGKeyQuery, IssueQuery, RepoQuery, ReviewQuery, and UserQuery) to handle data retrieval for comments, GPG keys, issues, repositories, reviews, and users. These modules implement the DBQueryable behavior, providing a standardized interface for fetching records, filtering by attributes like status or labels, counting associated items, and managing permissions. This change centralizes database query logic, replacing previous ad-hoc or schema-embedded queries with dedicated conveniences for each entity.

apps/gitgud/lib/gitgud/queries · high confidence

Migrate asset build system from Brunch to esbuild

The asset build pipeline has been switched from Brunch to esbuild. The previous Brunch configuration file has been removed and replaced with a new esbuild build script that bundles JavaScript entry points, processes Sass stylesheets, and handles static asset loading. This change updates how frontend assets are compiled and served, impacting the development and deployment workflows for the web application's static resources.

_apps/gitgud\web/assets · high confidence

Migrate configuration system to Elixir 1.10+ import Config syntax

The application's configuration files (config.exs, dev.exs, prod.exs, test.exs) have been updated to use the modern \import Config\ macro instead of the deprecated \use Mix.Config\. This change aligns the codebase with current Elixir standards for configuration management. Additionally, the dynamic loading of environment-specific configuration files from sub-applications has been refactored from a simple \import\config\ call to an explicit loop using \Path.wildcard\, ensuring robust loading of configuration from the \../apps/\/config/config.exs\ paths. The development configuration also removes the explicit setting of \:phoenix, :stacktrace\_depth\, relying on default behavior.

config · high confidence

Migrate configuration to Ecto 3.0 and introduce SSH and storage settings

The application configuration has been updated to use the Ecto 3.0 \import Config\ syntax, replacing the legacy \Mix.Config\. The Ecto repository module has been renamed from \GitGud.Repo\ to \GitGud.DB\, and the configuration now explicitly defines settings for a new SSH server (\GitGud.SSHServer\) and Git storage backend (\GitGud.RepoStorage\) across development, production, and test environments. Additionally, a repository pool configuration (\GitGud.RepoPool\) has been added to manage connection limits, and environment-specific overrides (such as GitHub Actions support in test mode) have been implemented.

apps/gitgud/config · high confidence

Migrate frontend styling from Bootstrap 3 to Bulma

The web application's visual design has been updated by replacing the Bootstrap 3 CSS framework with Bulma. This change introduces a new look and feel, including updated typography (Work Sans, Fira Sans, Fira Mono, Fira Code), smaller border radii for elements like avatars and tags, and new custom components such as popovers and timeline layouts. Users will see a refreshed interface with adjusted spacing, font sizes, and component styles across the application.

_apps/gitgud\web/assets/css · high confidence

Migrate to Phoenix LiveView and restructure JavaScript entry points

The application has replaced the previous Brunch-based JavaScript build with a new structure centered on Phoenix LiveView. The main entry point moved from app.js to index.js, which now initializes LiveView sockets and registers a comprehensive set of hooks (including commit diff highlighting, comment handling, and tree breadcrumbs) defined in live-hooks.js. The legacy socket.js file was updated to read the CSRF token from the DOM meta tag instead of relying on a global window variable, and the old app.js file was removed.

_apps/gitgud\web/assets/js · high confidence

New application layout templates with unified navigation and flash handling

The application now uses a new set of layout templates (app, error, hero, mailer, repo, repo\_settings, user\_profile, user\_settings) to structure the user interface. The main app layout introduces a consistent navigation bar featuring a global search component, user profile dropdowns with avatar display, and standard login/register links. It also centralizes flash message rendering with dismissible info and error banners. Specific layouts like repo.html.eex provide repository-specific breadcrumbs and tabs for code, issues, and settings, while user\_profile.html.eex displays user details and repository counts. The error layout offers a distinct hero-style presentation for HTTP errors, and the mailer layout ensures consistent styling for email notifications.

_apps/gitgud\_web/lib/gitgud\web/templates/layout · high confidence

Redesigned codebase navigation and commit display with GPG signature verification

The codebase templates have been updated to improve navigation and information display. A new breadcrumb component provides clearer pathing through repository directories. Commit details now prominently display parent commits and support GPG signature verification, showing a verified signature indicator when a commit is signed with a matching key. The branch and tag lists have been redesigned as tables, with branches additionally showing ahead/behind counts relative to the default branch. New templates for creating, editing, and deleting files offer a consistent interface with branch selection and commit message fields.

_apps/gitgud\_web/lib/gitgud\web/templates/codebase · high confidence

Redesigned login page with OAuth2 and password recovery

The session login interface has been updated to support authentication via GitHub, GitLab, and Bitbucket (currently disabled) alongside traditional username/email and password login. The form now utilizes a changeset for validation and includes a hidden redirect field to preserve the user's intended destination after login. Additionally, a 'Forgot password?' link has been added to allow users to initiate a password reset process.

_apps/gitgud\_web/lib/gitgud\web/templates/session · high confidence

Redesigned repository management interface with enhanced listing and settings

The repository templates have been updated to provide a more detailed and user-friendly experience. The repository index page now lists repositories sorted by recent activity (pushed\_at) and displays key statistics for each repo, including the number of open issues, branches, tags, and contributors, alongside the last push time. The new and edit repository forms now include a field for setting the default branch, allowing users to configure this during creation or modification. Additionally, the edit form includes a confirmation dialog when deleting a repository to prevent accidental data loss.

_apps/gitgud\_web/lib/gitgud\web/templates/repo · high confidence

Refactor JavaScript hooks into modular files for improved maintainability

The application's client-side JavaScript hooks have been split from a single global file into individual modules (e.g., blob-form, branch-select, clone-repo, commit-oid-to-clipboard, flash, global-search, highlight-code, issue-label-configurator, live-views, tree-breadcrumb). This modularization improves code organization and maintainability without changing user-facing behavior, as the hooks are now imported and exported via a centralized index file.

_apps/gitgud\web/assets/js/hooks · high confidence

Refactored data models into dedicated schema modules

The application's data layer has been reorganized into a structured \lib/gitgud/schemas\ directory, introducing dedicated Ecto schema modules for core entities including \Account\, \User\, \Email\, \Repo\, \Issue\, \Comment\, \Maintainer\, \SSHKey\, \GPGKey\, and \OAuth2.Provider\. This change introduces new capabilities such as OAuth2.0 provider linkage via the \Account\ schema, granular repository permissions through the \Maintainer\ schema, and comprehensive issue tracking with labels and comments. It also enhances security and identity management by supporting GPG key parsing and SSH fingerprinting, while introducing email verification workflows and password reset mechanisms tied to the new \Account\ and \Email\ structures.

apps/gitgud/lib/gitgud/schemas · high confidence

Rename web module to GitGud.Web and integrate Phoenix LiveView

The web application module has been renamed from GitGudWeb to GitGud.Web, updating all namespace references in controllers, views, and routers. This change accompanies the adoption of Phoenix LiveView, introducing new \live\_view\ and \live\_component\ macros in the entrypoint module to support real-time UI features. The update also integrates authentication helpers, pagination, and GraphQL schema utilities into the standard view and controller contexts, while adding support for rendering Git objects (commits, tags, refs) with appropriate icons and formatting.

_apps/gitgud\web/lib · high confidence

Upgrade to Phoenix 1.6 and migrate configuration syntax

The application has been upgraded to Phoenix 1.6, requiring a migration from the legacy \Mix.Config\ syntax to the modern \import Config\ macro across all environment configuration files. This change introduces support for Phoenix LiveView by adding live reload patterns and signing salt configuration, while also updating the JSON library to Jason for both Phoenix and Bamboo. Additionally, the module namespace has been renamed from \GitGudWeb\ to \GitGud.Web\, and the Ecto repository reference has been updated to \GitGud.DB\. The production configuration now explicitly sets the URL host to \git.limo\ and removes the dependency on the secret config file inclusion, while development settings now include a local email adapter for Bamboo and disabled GraphQL logging.

_apps/gitgud\web/config · high confidence

Test coverage

Added benchmark for counting commit ancestors; Added controller tests for GitGud.Web; Added test helper for the Gitrekt application; Added test support utilities and updated test infrastructure; Added tests for the authentication plug; Added unit tests for GitGud core domain logic; Added unit tests for GitGud.Web view helpers; Update test support modules for module renaming and Phoenix 1.5 compatibility; Updated test helpers to use GitGud.DB module.

Dependencies

Major dependency upgrades and asset build migration

The project has upgraded core Elixir dependencies, including Phoenix to 1.6, Ecto to 3.9, and Plug to 1.13, while introducing new libraries such as Absinthe for GraphQL, Bamboo for email delivery, and Argon2 for password hashing. The frontend asset pipeline has been migrated from Brunch to esbuild, and the UI framework has shifted from Bootstrap to Bulma with FontAwesome icons. Additionally, the umbrella application has been renamed to GitLimo, and the GitRekt library has been added as a new dependency.

(dependencies) · high confidence

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

How this codebase got here

Score

  • CAI 43 → 43 (-0.2)
  • Rubric changed (rubric-2026.09.15 → rubric-2026.10.1) — scores are not directly comparable.

Lenses

  • Code Health 64 → 65 (+1.3)
  • Architecture 95 → 92 (-3.0)
  • Maturity 44 → 44 (+0.0)
  • Readiness 34 → 33 (-0.5)
  • Security 67 → 67 (+0.0)
  • Accessibility 47 → 47 (+0.0)

Resolved (6)

  • Documentation: no installation or build instructions (README.md)
  • Documentation: no usage examples (README.md)
  • Duplicated block (15 lines × 2) (apps/gitgud_web/lib/gitgud_web/live/commit_diff_live.ex)
  • Duplicated block (5 lines × 3) (apps/gitgud_web/lib/gitgud_web/live/blob_viewer_live.ex)
  • Duplicated block (7 lines × 2) (apps/gitgud_web/lib/gitgud_web/controllers/codebase_controller.ex)
  • Duplicated block (7 lines × 2) (apps/gitgud_web/lib/gitgud_web/live/issue_live.ex)

New (7)

  • Duplicated block (17 lines × 2) (apps/gitgud_web/lib/gitgud_web/live/commit_diff_live.ex)
  • Duplicated block (5 lines × 3) (apps/gitgud_web/lib/gitgud/graphql/resolvers.ex)
  • Duplicated block (6 lines × 3) (apps/gitgud_web/lib/gitgud_web/live/blob_viewer_live.ex)
  • Duplicated block (8 lines × 2) (apps/gitgud_web/lib/gitgud_web/controllers/codebase_controller.ex)
  • Duplicated block (8 lines × 2) (apps/gitgud_web/lib/gitgud_web/live/issue_live.ex)
  • Off the main sequence: gitrekt
  • Projects may be oversized for their cohesion

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

Survey your own repository

redrabbit/git.limo was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.

About this page

  • The score is its most recent published measurement, taken on 3 October 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit dd57207273586ebd5b5088921279b957ec42f995 — the exact code this score is about.
  • Scored under rubric-2026.10.1 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-8fe32cd45d00.