Skip to content
CAI
Software that uses CAICheck a score

Jannael/Glinter

58.3

Adequate · 21 September 2026

1.2k

lines of production code

TypeScript

primary language

4

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

Glinter is a Git wrapper CLI built with Bun that provides interactive commands for staging changes, committing, switching branches, and performing hard resets, while seamlessly delegating unrecognized commands to standard Git. It includes a setup utility for configuring shell aliases and a structured error-handling system for improved user feedback. The project also features an Astro-based marketing website deployed on Cloudflare, which showcases the tool's capabilities and displays real-time repository statistics.

Features

Add marketing site sections for Glinter

The website now includes dedicated sections for About, Commands, Quick Start, Video Tutorial, and Footer, providing users with clear explanations of Glinter's value, a list of available commands, step-by-step installation instructions, and a link to a tutorial video.

apps/web/src/sections · high confidence

Added a new UI separator component

A new separator component has been added to the UI library, providing a simple horizontal divider with a secondary background color and vertical margins for visual separation in layouts.

apps/web/src/components/ui · high confidence

Added interactive CLI commands for creating commits and switching branches

The CLI now includes two new interactive commands: one to create a commit and another to switch Git branches. The commit command prompts the user to select a commit type and enter a message, then executes the commit via Git. The branch switching command lists available local and remote branches (excluding HEAD and the current branch), allows the user to select a target branch via an interactive menu, and performs the checkout. Both commands are implemented using Bun for process execution and follow a modular architecture with distinct application, domain, and infrastructure layers.

apps/cli/modules/commit, apps/cli/modules/switch · high confidence

Initial project scaffolding and configuration

The repository is initialized with the core configuration files required to build and run Glinter. This includes a \.gitignore\ to exclude build artifacts and sensitive files (\.env\), a \bun.lock\ manifest pinning dependencies like \@clack/prompts\ and development tools (eslint, prettier, husky), and a \bunfig.toml\ enforcing exact dependency versions and a 24-hour minimum release age for security. TypeScript is configured via \tsconfig.json\ with strict mode and bundler module resolution, while code quality is enforced through \eslint.config.js\ and \.lintstagedrc.json\. The project also includes an \AGENTS.md\ guide for AI coding agents, an MIT \LICENSE\, and a comprehensive \README.md\ detailing the CLI features, installation, and security model.

(repo-wide) · high confidence

Initial web application setup with Astro and Cloudflare

The \apps/web\ directory has been initialized as a new Astro-based site configured for deployment on Cloudflare Workers. This includes the core configuration files (\astro.config.mjs\, \wrangler.jsonc\, \tsconfig.json\) and a dependency lockfile (\bun.lock\) pinning specific versions for Astro, Tailwind CSS, and the Cloudflare adapter. The project also introduces a dark, terminal-inspired design system defined in \DESING.md\ and visualized in \DESIGN.excalidraw\, along with a \README.md\ for project structure and commands.

apps/web · high confidence

Interactive git reset --hard command (ggrh)

The CLI now includes an interactive command to perform a hard reset to a specific previous commit. Users can browse through paginated lists of recent commits, where commit hashes are highlighted in yellow for easy identification, and select a target commit to reset the repository to. This feature replaces the previous redundant implementation with a cleaner, interactive workflow that safely executes the git reset --hard operation.

apps/cli/modules/reset-hard · high confidence

Introduce interactive CLI command to selectively stage git changes

The \apps/cli/modules/add\ module now provides a new interactive command that allows users to review and selectively stage uncommitted git changes. The implementation uses a multi-select prompt to let users choose specific files or select all, while automatically filtering out sensitive files like \.env\ and \node\_modules\ (which are hidden but flagged with warnings). The feature is built on a clean architecture with domain models for changes, use cases for retrieving and staging, and a Bun-based git repository adapter that relies on \git status --porcelain -z\ for reliable parsing.

apps/cli/modules/add · high confidence

New CLI alias display command

A new \alias\ command has been added to the CLI that prints a formatted list of configured aliases, distinguishing between 'glinter' and 'git' types with color-coded tags.

apps/cli/modules/alias · high confidence

New CLI setup command to configure shell aliases

The CLI now includes a setup command that guides users through configuring global shell aliases. On Unix systems, it writes alias definitions to the user's shell profile (e.g., .zshrc, .bashrc), while on Windows, it configures PowerShell functions in the Microsoft.PowerShell\_profile.ps1 file. The command presents a list of aliases to be applied, requires user confirmation, and provides clear feedback on success or cancellation, ensuring aliases are ready for use after a terminal restart.

apps/cli/modules/setup · high confidence

New CLI utility functions for interactive prompts and terminal output

The CLI now includes a set of new utility functions in apps/cli/utils to handle interactive user input and terminal formatting. These utilities wrap the @clack/prompts library to provide consistent behavior for confirmations, text input, selection, and multi-selection, including standardized cancellation handling that exits the process or returns null. Additionally, new helpers for terminal colors, icons, and intro/outro messages are provided to enhance the visual feedback of CLI operations.

apps/cli/utils · high confidence

New landing page components for features, stats, and terminal demo

Added several new Astro components to the web application's landing page: a \CopyButton\ component that allows users to copy command-line snippets to their clipboard with visual feedback; a \FeatureList\ component displaying key product capabilities like one-command setup and interactive git staging; a \HeroStats\ component that fetches and displays real-time GitHub stars and download counts with server-side caching; an \InfoCard\ component for structured content with customizable links; and a \TerminalAnimation\ component that visually demonstrates the tool's setup and usage workflow in a simulated terminal window.

apps/web/src/components · high confidence

New landing page, alias reference, and SEO assets for the Astro site

The website now includes a new landing page (index.astro) that assembles the Hero, Commands, Quick Start, Video Tutorial, About, and Footer sections, alongside a dedicated Alias reference page (alias.astro) that lists configured Git aliases with breadcrumb structured data. To support search engine visibility and progressive web app capabilities, the site now serves a dynamically generated robots.txt pointing to the sitemap-index.xml and a site.webmanifest defining the app name, theme colors, and icon assets.

apps/web/src/pages · high confidence

New utility for formatted stats and cached JSON fetching

A new \utils.ts\ module has been added to the web application, introducing a \formatStat\ function that displays numeric values in compact formats (e.g., '1.5M', '10k') and a \readJson\ function that fetches JSON data with multi-layer caching. The \readJson\ function implements an in-memory cache, deduplicates concurrent requests to prevent race conditions, and integrates with Cloudflare's native caching mechanisms (via \cf\ request options and the global \caches\ API) to improve performance for stats APIs.

apps/web/src/utils · high confidence

Behavioural changes

CLI now delegates unrecognized commands directly to Git

The CLI has been restructured to support a fallback mechanism: when a user runs a command that is not one of the defined interactive commands (add, commit, switch, alias, setup, reset-hard), the CLI now spawns the underlying Git command with the provided arguments. This allows users to use standard Git syntax (e.g., \g status\, \g log\) seamlessly through the CLI wrapper, while interactive commands are handled by the new modular command handlers.

apps/cli · high confidence

Centralized API endpoints and cache durations for stats

A new constants file defines the GitHub and npm API URLs used for repository statistics, including a specific date range for total downloads to ensure consistent data retrieval. It also establishes fixed Time-To-Live (TTL) values for caching star counts and other stats, standardizing how long these external API responses are stored before refresh.

apps/web/src · high confidence

Introduction of global CSS with Tailwind and custom scrollbar styling

A new global stylesheet has been added to the web application, establishing a foundational design system using Tailwind CSS and the typography plugin. This file defines a specific color palette (primary, secondary, and accent colors) and implements custom styling for scrollbars, ensuring a consistent dark-themed appearance with thin, rounded scrollbars across the application.

apps/web/src/styles · high confidence

New site layout with SEO, structured data, and font preloading

The web application now uses a new base layout component that enhances search engine visibility and page performance. This change introduces comprehensive SEO metadata, including Open Graph and Twitter Card tags, as well as JSON-LD structured data for the organization, website, and software application. It also implements font preloading for the Jost typeface to prevent layout shifts and configures theme-color and favicon assets for both light and dark modes.

apps/web/src/layouts · high confidence

Structured error handling with specific CLI error types

The CLI now uses a structured error-handling system that distinguishes between specific error categories (NotFound, Forbidden, Conflict, ServerError, BadRequest) and displays user-friendly messages with optional descriptions. This replaces generic error reporting with tailored console output for common Git operations, improving clarity when issues like missing repositories, permission denials, or failed commands occur.

apps/cli/error · high confidence

Updated brand assets and public configuration

The public directory now includes a new SVG badge displaying the "Glinter" brand name, updated favicon files, and a new OG image for social sharing previews. Additionally, an \.assetsignore\ file has been added to exclude \\_worker.js\ and \\_routes.json\ from asset processing.

apps/web/public · high confidence

Updated pre-commit hook to run lint-staged and tests

The pre-commit hook has been updated to execute lint-staged and run tests using bun before allowing commits. This ensures that code formatting, linting, and test suites are validated automatically upon commit.

.husky · high confidence

Test coverage

Added unit tests for CLI modules using bun:test

New unit tests have been added for the CLI application's core modules, including add, alias, commit, reset-hard, setup, and switch. These tests verify the behavior of commands and domain logic, such as the AddCommand's interaction with git changes, the CommitCommand's use of input/select utilities, the ResetHardCommand's pagination and reset logic, the BunAliasRepository's OS-specific alias setup, and the SwitchCommand's branch selection. All tests are implemented using the bun:test framework.

apps/cli/test · high confidence

Dependencies

Initial release of Glinter CLI and Astro web app dependencies

This change introduces the dependency manifests for the project's two main components. The root package.json defines the Glinter CLI (v1.3.0), a Git wrapper built with Bun, specifying dependencies like @clack/prompts and dev tools including ESLint, Prettier, and Husky. The apps/web/package.json initializes the Astro-based web application, adding dependencies for Astro (v7.0.3), Tailwind CSS (v4.3.0), Cloudflare deployment (@astrojs/cloudflare), and the Jost font.

(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 59 → 58 (-0.3)
  • Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.

Lenses

  • Code Health 88 → 90 (+2.2)
  • Architecture 69 → 69 (+0.0)
  • Maturity 77 → 79 (+1.5)
  • Readiness 39 → 39 (-0.4)
  • Security 78 → 80 (+2.0)
  • Accessibility 82 (new)

Resolved (17)

  • Coverage not included — suite not readable by the collector
  • Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
  • High CVE: [GHSA redacted] (bun.lock)
  • High CVE: [GHSA redacted] (apps/web/bun.lock)
  • High CVE: [GHSA redacted] (bun.lock)
  • High CVE: [GHSA redacted] (apps/web/bun.lock)
  • High CVE: [GHSA redacted] (bun.lock)
  • High CVE: [GHSA redacted] (apps/web/bun.lock)
  • High vulnerability: [GHSA redacted] (apps/web/bun.lock)
  • High vulnerability: [GHSA redacted] (apps/web/bun.lock)
  • High vulnerability: [GHSA redacted] (apps/web/bun.lock)
  • LLM evaluation failed
  • Low vulnerability: [GHSA redacted] (apps/web/bun.lock)
  • Medium vulnerability: [GHSA redacted] (apps/web/bun.lock)
  • No exposed public API
  • Small-team knowledge concentration
  • Test reliability not included

New (25)

  • Critical vulnerability: [GHSA redacted] (apps/web/bun.lock)
  • Documentation: no installation or build instructions (README.md)
  • High CVE: [GHSA redacted] (apps/web/bun.lock)
  • High CVE: [GHSA redacted] (apps/web/bun.lock)
  • High CVE: [GHSA redacted] (bun.lock)
  • High CVE: [GHSA redacted] (apps/web/bun.lock)
  • High CVE: [GHSA redacted] (bun.lock)
  • High CVE: [GHSA redacted] (apps/web/bun.lock)
  • High CVE: [GHSA redacted] (bun.lock)
  • High CVE: [GHSA redacted] (bun.lock)
  • High CVE: [GHSA redacted] (apps/web/bun.lock)
  • High CVE: [GHSA redacted] (apps/web/bun.lock)
  • High CVE: [GHSA redacted] (apps/web/bun.lock)
  • High vulnerability: [GHSA redacted] (apps/web/bun.lock)
  • Low CVE: [GHSA redacted] (apps/web/bun.lock)
  • Low CVE: [GHSA redacted] (bun.lock)
  • Medium CVE: [GHSA redacted] (apps/web/bun.lock)
  • No ADRs found
  • Outdated (npm): @astrojs/cloudflare
  • Outdated (npm): @astrojs/sitemap
  • …and 5 more

Changes since last survey

  • 1 commits — 1 feature/other, 0 fixes

By area

  • .github/FUNDING.yml — 1 commit

Notable commits

  • change: Update GitHub funding configuration with username

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

Survey your own repository

Jannael/Glinter 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 21 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit 0dba898c2e99c2dff332c4aa560d1cd6939003f7 — the exact code this score is about.
  • Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-b84573e22831.