Portrait of Bret Comnes

Software engineer · Open source maintainer

Bret Comnes

Projects

Products, libraries, tools, toys, and experiments I’ve built or helped maintain.

Socket

Helping secure the software supply chain at Socket Security.

🥖 Breadcrum

Screenshot of Breadcrum.app
Breadcrum: a bookmarking service with full text archiving and search and podcasting support for media from all around the web. Send any media to your phone/laptop/watch/tv/car. Full text search every article you've ever read.

domstack

Screenshot of the DOMStack website
DOMStack builds static websites and multi-page apps from HTML, Markdown, CSS, and JavaScript. No special syntax to learn. No editor plugins to install. No complex configuration files to learn. Just create pages in a directory, and DOMStack builds your site. It’s built around Node.js and esbuild, with a bunch of features that are there when you need them and stay out of the way when you don’t.

domstack-sync

Screenshot of the domstack-sync control panel
A modern live-reload development server with CSS injection, synchronized browser interactions, and an HTMX control panel. Built with Fastify and native WebSockets; powers DOMStack’s development server.

⛏️ mine.css

Screenshot of the mine.css website
mine.css is a classless stylesheet for making a website look more like a GitHub readme. It's a fork of style.css ported to post.css, CSS variables, darkmode and includes basic form styling.

npm-run-all2

Screenshot of npm-run-all2
Automated maintenance fork of npm-run-all. A module for organizing and running npm scripts in series and parallel. 98.5k public dependents and growing.

cpx2

Screenshot of cpx2
Automated maintenance fork of cpx. A module for fancy file copying, globbing, watching and transforming. 2.5k+ dependents and growing

gogogo

Gophers on a mission with the gogogo logo
gogogo creates Go projects from tar-based templates, initializes Git, and can publish a new repository through the GitHub CLI.

goversion

Goversion gopher operating a semantic version machine
goversion bumps semantic versions and publishes Go releases, including commits, tags, GitHub Releases, and Go module proxy seeding.

go-bump

go-bump logo with Go gophers operating a version-bumping machine
A GitHub Action that wraps goversion to version and publish Go modules, with input validation, lifecycle hooks, GitHub Releases, and Go proxy verification.

gostgrator

Screenshot of the gostgrator README
A low-dependency Go port of postgrator for PostgreSQL and SQLite migrations. Supports paired SQL migrations, rollbacks, and checksum validation through database-specific CLIs and a Go API.

AUR Homebridge

Arch User Repository packages for Homebridge and its web-based management UI, with systemd integration for running Homebridge on Arch Linux.

deploy-to-neocities

Screenshot of deploy-to-neocities
deploy-to-neocities is a GitHub action that lets you effortlessly deploy a static website to Neocities with hyperefficient content-aware diffing. 1.1k+ public dependents and growing.

async-neocities

async-neocities logo with a construction cat over a sunset
A promise-based Neocities API client and CLI for deploying sites locally or in CI. Content-aware diffing uploads only new and changed files. Powers deploy-to-neocities.

pkg automation

a picture of the future
Fully Automated Luxury Space Age Package Maintenance, as a blog post. (image Source)

npm-bump

Screenshot of the npm-bump repository
A GitHub Action for versioning and publishing npm packages, with prerelease support and token-free trusted publishing via OIDC.

releasearoni

Create GitHub releases from the command line or Node.js, using package.json and CHANGELOG.md defaults. Includes changelog generation and npm lifecycle integration.

jsonfeed-to-rss

Screenshot of JSONFeed-to-RSS
Library to support a JSONFeed first workflow when generating legacy RSS feeds.

fragtml

Screenshot of the fragtml README
HTML tagged templates for server-rendered apps, for use with htmx. Includes escaped interpolations by default and inline fragments for rendering full pages or targeted partial updates.

argsclopts

Screenshot of the argsclopts README
Generate CLI usage and help text from Node.js parseArgs options. Add a help field to each option and reuse the same definitions for parsing arguments and documenting your command.

resolve-email

Screenshot of resolve-email
If you ever need to accept user-generated emails, run them through resolve-email. It will resolve the email address for deliverability and also filter out a bunch of junk email providers.

neostandard

Screenshot of neostandard
neostandard is a modern JavaScript coding style based on Standard JS, powered by ESLint’s flat config and maintained for current JavaScript projects.

Hyperamp

Screenshot of Hyperamp
Cross platform audio library app. (Download)

elenacomnes.com

Screenshot of elenacomnes.com website
A minimalist, creative website.

.dotfiles

Screenshot of my terminal
These are my .dotfiles, don't wear em out. I've also written a few notes on how I like to do things.

Tron Legacy

Screenshot of the Tron Legacy frosted theme for Zed
Tron Legacy editor themes, including a Zed port of the original TextMate theme with light, dark, and frosted variants.