Tools we built,
then gave away.

We write a lot of internal tooling. When something turns out to be useful past our own work, it goes on GitHub. No signup, no upsell. More forge tools will land here as we sharpen them.

// Practice & standards

How we work with agents, and small labels that make software legible.

ForgeKit

v0.3.0

A playbook that makes AI coding agents plan before they build.

Most AI coding sessions forget everything the moment you close the tab. ForgeKit keeps the phase you are in, the decisions you made, and the gotchas you hit inside the repo itself, so the next session picks up where the last one stopped.

Seven phases, entry and exit criteria for each, and a library of lessons pulled from shipping real products. Works with Cursor, Claude Code, Windsurf, and anything else that speaks MCP.

Ships as
Markdown methodology, a CLI, and an MCP server with 29 tools
Built with
Node.js, TypeScript
License
Apache 2.0
Status
Active, pre-1.0

AppFacts

v0.1

A nutrition label for software.

Package manifests list everything and therefore tell you nothing. README tech-stack sections go stale the week after you write them. AppFacts is one small file that says what a project is actually built from, readable at a glance and parseable by a machine.

An open spec, a JSON schema, and generators in both Python and Node that scan a project and write the file for you. Useful for new contributors, for stakeholders, and for AI agents trying to orient in an unfamiliar codebase.

Ships as
An open spec, a JSON schema, and dual generators
Built with
Python, JavaScript
License
CC0 spec, MIT generators
Status
Early, active

ModelFacts

v0.1.0

A nutrition label for AI models.

Model cards are long prose that goes stale and cannot be validated or compared. "Trained on the internet" is not a fact. ModelFacts moves the objective facts into one small file a machine can parse and a human can read in a minute: parameters, context window, training cutoff, and how hot the built-in safety filters run. AppFacts labels what an app is built from. ModelFacts labels the model behind it.

An open spec, a JSON schema, a validator, and a generator that drafts a label from a Hugging Face model card or a local Ollama model. Hard facts come from structured metadata, never from prose. When a developer withholds a number, the file says undisclosed, because non-disclosure is a fact worth labeling too.

Ships as
An open spec, a JSON schema, a validator CLI, and a label generator
Built with
Node.js, TypeScript
License
CC0 spec, MIT tooling
Status
New, active
// Forge tools

Utilities from our own shop. Small CLIs that solve one sharp problem we hit while building. Gladly shared.

Finetuna

v1.0.0

Turn a stock Ollama model into a GPU-tuned variant you can keep.

Ollama's defaults are safe, and they often leave context and performance on the table. Hand-editing Modelfiles and guessing num_ctx and num_batch is slow. Finetuna writes the Modelfile, creates the named model, checks that it stays on the GPU, and can auto-tune until you have a stable recipe.

Pairs with ollanet: tune on the host, then reach the model from anywhere on the network. Presets for common agent and coding clients, plus unload/reload when something else needs the GPU.

Ships as
Interactive CLI (pnpm start / node finetuna.js)
Built with
Node.js, JavaScript
License
MIT
Status
Active

ollanet

v0.1.0

Chat with Ollama on any network you can reach.

Scan for Ollama hosts on localhost, LAN, Tailscale, or VPN. Prompt by hostname or IP, stream the reply, and continue later by a short chat hash. No browser UI required.

Pairs with Finetuna: the host shapes the model, ollanet finds it and talks to it from another machine. Config for per-machine defaults, optional LAN scan, saved transcripts under responses/.

Ships as
CLI (scan, prompt, chats)
Built with
Node.js, TypeScript
License
MIT
Status
Early, useful

Most of these are pre-1.0 and still moving. If you use one and something breaks, open an issue and we'll look at it.