Skip to content

feat!: become ai-kit — the AI layer in one install - #5

Merged
catomean merged 1 commit into
mainfrom
feat/become-ai-kit
Aug 26, 2026
Merged

feat!: become ai-kit — the AI layer in one install#5
catomean merged 1 commit into
mainfrom
feat/become-ai-kit

Conversation

@catomean

Copy link
Copy Markdown
Collaborator

Why

You read the name ai-ration and couldn't tell what it did. That isn't cosmetic — an unreadable name is a cost paid at every install decision, and this package had exactly one adopter while five repos that skipped it (botsmann, evig, kivvi, orangecat, truthseeker) were taken down together on 2026-08-26 by a retired model id: precisely the failure chain and catalog exist to prevent. "Ration" named one of five modules and hid the other four.

What changed beyond the name

Adding an AI feature looks like one decision and is really four — which model, is it still there, what do the 429s mean, who gets the free tier — plus filling forms. Get any one wrong and it fails identically from the outside: the assistant is broken.

AOZ is the proof. It adopted the form half, hand-rolled the rest because that was a second decision nobody made, then reported "KI-Assistent nicht konfiguriert" on a deployment whose key was valid.

So ai-forms is now re-exported from the root and from ./forms, ./react, ./server. It is not absorbed — it works, four apps run it, and it's useful outside this fleet; swallowing it would break four repos to satisfy a filing system. React stays on its own subpath as an optional peer, so importing ai-kit on a server never pulls in a UI library.

threadkit and limitkit are deliberately not merged: neither has anything to do with AI. An app throttling its login form shouldn't install a model catalogue to do it.

Verification

npm run verify green — lint, typecheck, build, 48 tests. Four are new and cover the merge itself, because the merge is the feature: without them a broken re-export quietly turns this back into ai-ration under a friendlier name and nothing else would notice.

Breaking

Package is now ai-kit; import from 'ai-kit'. The GitHub repo is renamed and existing github:maonakamoto/ai-ration installs keep resolving through GitHub's redirect. Two adopters to migrate (fleetcrown, dotfiles) — follow-up.

The owner of this fleet read the name `ai-ration` and could not tell what the
package did. That is not a cosmetic complaint. An unreadable name is a cost paid
at every install decision, and this package had exactly ONE adopter while five
repos that skipped it — botsmann, evig, kivvi, orangecat, truthseeker — were all
taken down together on 2026-08-26 by a retired model id, which is precisely the
failure `chain` and `catalog` exist to prevent. "Ration" named one of five
modules and hid the other four.

Renamed, and widened to match how an app actually thinks about this. Adding an
AI feature looks like one decision and is really four — which model, is it still
there, what do the 429s mean, who gets the free tier — plus filling forms. Get
any one wrong and it fails identically from outside: the assistant is broken.
AOZ is the proof: it adopted the form half, hand-rolled the rest because that
was a second decision nobody made, and then reported "KI-Assistent nicht
konfiguriert" on a deployment whose key was valid.

So `ai-forms` is re-exported from the root and from ./forms, ./react and
./server. It is NOT absorbed: it works, four apps run it, and it is genuinely
useful outside this fleet. Swallowing it would break four repos to satisfy a
filing system. React stays on its own subpath as an optional peer so importing
ai-kit on a server never pulls in a UI library.

threadkit and limitkit are deliberately NOT merged. Neither has anything to do
with AI — an app throttling its login form should not install a model catalogue
to do it.

Four new tests cover the merge itself, because the merge IS the feature: without
them a broken re-export quietly turns this back into ai-ration under a friendlier
name and nothing else here would notice.

BREAKING CHANGE: the package is now `ai-kit`. Import from 'ai-kit'.
The GitHub repo is renamed; existing `github:maonakamoto/ai-ration` installs
continue to resolve through GitHub's redirect.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@catomean
catomean merged commit 0462b74 into main Aug 26, 2026
1 check passed
@catomean
catomean deleted the feat/become-ai-kit branch August 26, 2026 12:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant