// Practice & standards
How we work with agents, and how we write. Extracted from real jobs, then published so the next session starts where the last one stopped.
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
aiBreze
v0.1.1 Editorial rules for prose that says something, instead of just sounding like it.
Unearned language is the problem, not the dictionary. aiBreze is a composable rule set you point an agent at: core law, genre extras, a project overlay, then a smell audit and a claims pass. It does not detect who wrote the sentence. It does not care. Bad prose is bad prose.
Not a humanizer. It will not fool an AI detector and it does not try. Spray the prose, not the author. This site and the launch copy run on it.
- Ships as
- npm package `aibreze` (Markdown rules plus a small JS entry)
- Built with
- Markdown, TypeScript
- License
- MIT
- Status
- Active, early
// Nutrition labels
One small validatable file per layer of the AI stack. Objective facts only. When a number is withheld, the file says undisclosed, because that is a fact too.
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. Each one started as an itch while building, then grew a site and an npm package. Gladly shared.
FilePress
v0.1.2 A folder of Markdown in, a fast prerendered site out.
You write posts as plain files with YAML frontmatter, commit them to git, and build with the filepress CLI. There is no admin UI, no database, and no server at runtime. Edit on a laptop, on GitHub, or from your phone. The next build is the site.
Reverse-chronological index, tags, RSS, sitemap, and a quiet Essay theme you can override. Several of the sites on this page are FilePress, including FilePress itself.
- Ships as
- npm package `getfilepress` (CLI: `filepress build`)
- Built with
- SvelteKit, TypeScript
- License
- MIT
- Status
- Active, early
IngotVault
v0.1.0 Every commit in a second place you control.
IngotVault scans a workspace, ensures a local backup remote, and pushes every local branch and tag into bare mirrors on a path you choose: USB, SD, NAS, or another disk. It never modifies origin. Force-push is never the default. Deleted branches are not pruned. The mirror is a ratchet.
Forge remotes cover what you pushed upstream. File backups cover bytes on disk. The gap is unpushed branches, repos with no remote, and agents that rebase, amend, or delete a "stale" branch. An append-only spare remote survives that class of failure. Opt-in WIP capture snapshots a dirty tree before an unattended session can erase it.
- Ships as
- npm package `ingotvault` (CLI: init, list, push, verify)
- Built with
- Node.js, TypeScript
- License
- Apache 2.0
- Status
- Active, early
Finetuna
v1.1.1 Fit more context on your GPU, and keep it.
Not weight fine-tuning. No LoRA, no training. Finetuna tunes Ollama runtime settings (num_ctx, num_batch, num_gpu), verifies the model stays in VRAM, and saves a named variant you can keep. Ollama's defaults are safe, and they often leave a 24GB card running 4K context.
Pairs with ollanet: tune on the host, then reach the model from anywhere on the network. Honest "no change needed" is a feature. Auto-tune only switches settings when the win beats measured noise.
- Ships as
- npm package `finetuna` (CLI: `finetuna --check`, then `finetuna`)
- Built with
- Node.js, JavaScript
- License
- MIT
- Status
- Active
ollanet
v0.4.1 Find Ollama on any network you already trust, then talk to it.
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. Also an MCP server for agents, and a Node library for apps. Nothing leaves the networks you can already reach.
Pairs with Finetuna: the host shapes the model, ollanet finds it and talks to it from another machine. LAN scan is opt-in. Hard-coding 127.0.0.1 treats Ollama like a local daemon. ollanet treats it like a private inference mesh.
- Ships as
- npm package `ollanet` (CLI, MCP stdio server, Node library)
- Built with
- Node.js, TypeScript
- License
- MIT
- Status
- Active, early