tooling

Tag: tooling

50 posts
E
Ewan's Project Documentation
docs.ewancroft.uk

auto-sponsor-links

Monthly GitHub Actions workflow that scans your repositories for missing sponsor links and opens pull requests to add them.

·
Aug 11
·
E
ewan's devlog
devlog.croft.click

devlog fixes its own toolchain and ships a sitemap

Unbroke pnpm install and type-checking, added robots.txt/sitemap.xml and canonical URLs, fixed the same duplicate-ToC-anchor bug as docsite, and pinned dependencies after a floating "latest" broke a sibling repo.

·
Jul 28
·
E
ewan's devlog
devlog.croft.click

website-comm-template unbreaks install and closes a header-injection hole

Fixed a broken pnpm install and a no-op Prettier config, then shipped real SEO routes and fixed an email header-injection and unsafe social-link bug in the contact form.

·
Jul 28
·
E
ewan's devlog
devlog.croft.click

pds-status-tophhie fixes its install and types its remote responses

Unbroke a pnpm install, replaced the untouched scaffold README with a real one, and typed the remote PDS responses instead of trusting them as any.

·
Jul 28
·
E
ewan's devlog
devlog.croft.click

ATProto MCP server is now functional

The ATProto MCP server was wired into a working state with public and authenticated Bluesky tools, tests, and docs.

·
Jul 12
·
Modernizers & go fix
Redowan's Reflections icon
Redowan's Reflections
rednafi.com

Modernizers & go fix

Go 1.26 rebuilt go fix on the analysis framework. It modernizes your code and respects the Go version your module declares. The post covers the modernizers, the bigger x/tools suite, and what //go:fix inline can and can't migrate.

·
Jul 3
·
E
ewan's devlog
devlog.croft.click

minefetch v1.2.1 — release checker and on-demand refresh

The Minefetch Paper plugin added a GitHub release update checker, cross-platform host support, and on-demand sysinfo refresh.

·
Jul 3
·
E
ewan's devlog
devlog.croft.click

mc-server and minefetch add cross-platform host support

mc-server and minefetch add cross-platform host support with PowerShell file watcher

·
Jul 2
·
E
ewan's devlog
devlog.croft.click

Maintenance: Separation of Concerns

Removed sequoia.json from pkgs to maintain clear separation of project-specific configurations.

·
Jun 13
·
S
Schalk Neethling - Open Web, Open Source, and Web Accessibility
schalkneethling.com

Lowering the Barrier to CSS @property Adoption

CSS @property has been Baseline for almost two years, but most existing projects still do not use it. A small experiment in the CSS Property Type Validator generates a reviewable first draft of @property registrations from the custom properties you already have.

·
May 31
·
E
ewan's devlog
devlog.croft.click

AI Discoverability — AGENTS.md and llms.txt

Adding AGENTS.md and llms.txt files across repositories to improve AI discoverability and documentation.

·
May 18
·
Testing Go CLIs with testscript
Redowan's Reflections icon
Redowan's Reflections
rednafi.com

Testing Go CLIs with testscript

How cmd/go's script tests led me to testscript, and how to use it for CLI tests that exercise argv, stdout, stderr, exit codes, and scratch files.

·
May 17
·
E
ewan's devlog
devlog.croft.click

pkgs: hero SVGs, bismuth flags, croft-click devlog

Added OG hero SVGs to all five project landing pages, bismuth fetch flags, and devlog project to croft-click

·
May 11
·
E
ewan's devlog
devlog.croft.click

colorTheme: Wheel of the Year seasonal themes

Replaced astronomical season detection with traditional Wheel of the Year sabbat dates, added midnight auto-update and reset-to-seasonal

·
May 11
·
E
ewan's devlog
devlog.croft.click

digital-person: agent repo initialised

Created the digital-person agent repository

·
May 10
·
E
ewan's devlog
devlog.croft.click

Tourmaline share page fixes

Fixed personality card SVG clipping and switched to aturi.to for post links

·
May 10
·
E
ewan's devlog
devlog.croft.click

Cross-references and unified support links

Added More tools sections linking each project to the other four, and pointed all support links to ewancroft.uk/support

·
May 10
·
E
ewan's devlog
devlog.croft.click

Replaced inline symbolic characters with Lucide icons

Swapped unicode symbols for Lucide icon components across malachite, opal, jasper, bismuth, tourmaline, landing-ui, and croft-click

·
May 10
·
E
ewan's devlog
devlog.croft.click

OG hero images across all five projects

Added hero SVG OG images to malachite, opal, jasper, bismuth, and tourmaline landing pages

·
May 10
·
A tour of txtar
Redowan's Reflections icon
Redowan's Reflections
rednafi.com

A tour of txtar

txtar is a tiny plain-text archive format Russ Cox introduced in 2018 for multi-file test fixtures. The Go Playground, cmd/go's script tests, gopls's marker tests, and rsc.io/rf all reach for it.

·
May 9
·
E
ewan's devlog
devlog.croft.click

Bismuth Web 0.2.0

Added publication fetching, expanded conversion options, and rebuilt parts of the converter UI.

·
May 9
·
E
ewan's devlog
devlog.croft.click

devlog: fix OG metatags

OG image URLs were relative — crawlers need absolute URLs. Index page was also missing an OG image entirely.

·
May 9
·
E
ewan's devlog
devlog.croft.click

Bismuth: fetch subcommand flag fixes

Added --frontmatter and --output flags to the fetch subcommand, and bumped to 0.2.4.

·
May 9
·
E
ewan's devlog
devlog.croft.click

Performance audit and fixes across all three sites

Docsite client bundle dropped from 1.3MB to 12KB, devlog layout data optimised, website duplicate fetches eliminated

·
May 9
·
E
ewan's devlog
devlog.croft.click

devlog: Dynamic OG image generation with @ewanc26/og

Each devlog post now generates its own OG image on demand using @ewanc26/og — warm amber on dark, with noise texture.

·
May 8
·
E
ewan's devlog
devlog.croft.click

Timeline Scroll Reveal Fix

Every devlog entry was invisible on load — $state on an IntersectionObserver variable caused the effect to disconnect it before it could fire.

·
May 8
·
E
ewan's devlog
devlog.croft.click

pkgs: Remove Umami analytics from all packages

Umami analytics retired — all Umami script tags removed from bismuth-web, malachite-web, jasper-web, opal-web, and croft-click.

·
May 8
·
E
ewan's devlog
devlog.croft.click

Devlog Modularisation

Split the monolithic layout.css and inline page logic into focused modules and components.

·
May 8
·
E
ewan's devlog
devlog.croft.click

Letta Coding Agent Memory Updates

·
May 7
·
E
ewan's devlog
devlog.croft.click

The Great Astro Rewrite

Porting the entire site from SvelteKit to Astro for ultimate static performance and a terminal-inspired layout.

·
May 2
·
E
ewan's devlog
devlog.croft.click

Opal — Cross-Platform Bluesky Migration

Convert Twitter, Mastodon, Threads, and Nostr posts to Bluesky with thread splitting and TID-based rkeys.

·
May 1
·
E
ewan's devlog
devlog.croft.click

croft.click Landing Page and Shared Landing UI

Landing page at croft.click and a shared @ewanc26/landing-ui package for all web packages.

·
Apr 26
·
Ewan’s Blog icon
Ewan’s Blog

Bismuth: On Refraction and Conversion

I've been publishing to the AT Protocol for a while now. Blog posts, project documentation, the odd creative thing — all of it lives as site.standard.document records on my PDS, which means all of it lives as block trees. Richtext blocks, facets with byte-slice annotations, nested lists, images as blob references. Great for a federated document store. Opaque to everything else.

·
Apr 23
·
E
ewan's devlog
devlog.croft.click

Bismuth — Document to Markdown Converter

Converts site.standard.document records to Markdown with math and code highlighting.

·
Apr 22
·
E
Ewan's Project Documentation
docs.ewancroft.uk

Jasper

Convert Instagram data exports into posts, stories, and videos on Grain or Spark while preserving original timestamps.

·
Apr 15
·
E
ewan's devlog
devlog.croft.click

Jasper — Instagram to Grain/Spark Converter

Full OAuth flow for importing Instagram posts to AT Protocol as Grain/Spark records.

·
Apr 14
·
E
ewan's devlog
devlog.croft.click

Four Days with Letta Code

Started using Letta Code — a persistent coding agent with memory. 80 commits across 15 repositories in four days.

·
Apr 11
·
E
ewan's devlog
devlog.croft.click

Sifa Professional Profile Scripts

Scripts for populating and maintaining the Sifa professional profile on AT Protocol.

·
Apr 11
·
E
ewan's devlog
devlog.croft.click

Pre-commit Configs and Nix Flakes Across All Projects

Added pre-commit hooks and Nix flakes to all 30+ projects for consistent dev environments.

·
Apr 3
·
E
Ewan's Project Documentation
docs.ewancroft.uk

@ewanc26/bismuth

Convert richtext-block documents from the Standard.site ecosystem (Leaflet, Pckt, Offprint) to Markdown — available as both a CLI tool and a TypeScript library.

·
Mar 23
·
E
Ewan's Project Documentation
docs.ewancroft.uk

@ewanc26/wafrn-theme

A WAFRN theme using the pds-landing Catppuccin terminal aesthetic — dark forest-green palette, JetBrains Mono, soft rounded cards.

·
Mar 23
·
E
Ewan's Project Documentation
docs.ewancroft.uk

docsite

Source code for docs.ewancroft.uk — a documentation site for ewan's projects, built with SvelteKit and published via Sequoia.

·
Mar 20
·
jasnell.me icon
jasnell.me
jasnell.me

A few standards-related MCPs

Some MCP servers for web standards and specifications.

·
Mar 15
·
jasnell.me icon
jasnell.me
jasnell.me

This blog now runs on vinext

This blog has been updated to use vinext, a Vite-based framework that provides a Next.js App Router-compatible API.

·
Mar 14
·
E
Ewan's Project Documentation
docs.ewancroft.uk

@ewanc26/supporters

SvelteKit component library for displaying Ko-fi supporters and GitHub Sponsors, backed by an ATProto PDS.

·
Mar 8
·
E
Ewan's Project Documentation
docs.ewancroft.uk

nix-config-tools

Rust CLI tools for managing nixos/nix-darwin configurations — now part of the @ewanc26/pkgs monorepo.

·
Mar 6
·
Ewan’s Blog icon
Ewan’s Blog

There Is Nuance, Nae a Binary

You can see the post above. Not a manifesto, not a hot take designed to perform – just a fact I'd been sitting on and finally decided to say out loud, with a quote attached that felt relevant.

·
Mar 6
·
E
ewan's devlog
devlog.croft.click

Website Comm Template

SvelteKit template with Resend-backed contact form and dark mode.

·
Mar 5
·
E
Ewan's Project Documentation
docs.ewancroft.uk

@ewanc26/tid

Zero-dependency, spec-compliant AT Protocol TID generation for Node.js and browsers.

·
Mar 3
·
E
Ewan's Project Documentation
docs.ewancroft.uk

atproto-shortlink

A server-side AT Protocol link shortener powered by your Linkat board. No database required.

·
Apr 10
·