3 projects

CLI tools

Terminal programs: one binary, clear flags, an exit code you can check in a script.

  • 32 tests
  • 3 routes
  • 2,133 lines of Go

CLI tools: Projects

Screenshot of the project "GitPulse: git repository analytics" at 1280 pixels wide

GitPulse: git repository analytics

A Go CLI that analyzes git repositories with no external dependencies (only git is needed): stats with colors and sparklines in the terminal, report, a self-contained HTML report with an activity heatmap, churn and hot files, author contributions, bus factor per directory, code growth by language and quiet periods (light and dark themes), diff-hotspots between revisions and a local serve on 127.0.0.1. History is read as a stream through git log -z --numstat -M. A side project.

  • Go
  • stdlib only
  • CLI
  • git
  • html/template
Screenshot of the project "logslice: log analysis with no dependencies" at 1280 pixels wide

logslice: log analysis with no dependencies

A Python 3.11+ CLI on the standard library only: it streams nginx/apache (combined), JSON-lines, logfmt and syslog logs (gz, bz2, xz too), computes statistics and tops, clusters similar errors, finds load spikes by z-score and EWMA and builds a single HTML report with SVG charts and a heatmap. A side project.

  • Python
  • stdlib only
  • CLI
  • SVG
  • pytest
Screenshot of the project "envguard: a linter and a safe for .env files" at 1280 pixels wide

envguard: a linter and a safe for .env files

A Go CLI with no external modules: check compares .env with a schema, scan looks for secrets in the tree and git history, diff and doctor check environments and git hygiene, seal and unseal encrypt .env into .env.sealed (AES-256-GCM, PBKDF2 with 600k iterations), run starts a command with a clean environment, report and serve build a report. A secret value never reaches the output, the log or the HTML. A side project.

  • Go
  • stdlib only
  • CLI
  • AES-256-GCM
  • PBKDF2