One install.
A whole team's discipline.
Stop stacking plugins. Bearingkit is one kit for one-person software companies. Say what you want in plain Vietnamese or English: it routes your AI coding agent to the right step, and is built to carry the work from spec to ship, stop for you before anything risky, and show its evidence before it calls anything done.
Why one kit instead of a stack
The usual setup is a pile: a workflow pack, a review pack, a TDD pack, the vendor's official plugins. Each is good on its own. Together they compete for the same requests, carry overlapping rules, all load into context before you type, and stay behind when you switch tools. Bearingkit is that pile, read item by item and being distilled into one coherent system.
| Question | A hand-assembled stack | Bearingkit is designed to |
|---|---|---|
| Who decides what runs? | Several packs' descriptions compete for the model's choice | Name the intent through one router, then open one skill first |
| Overlapping advice | Reconciling it is left to you | Resolve overlaps once, at distillation; every adapted file names its sources |
| Risky changes | Varies from pack to pack | Apply one autonomy gate: migrations, auth, payments, deletion, production are proposed, then wait for you |
| "Done" | Varies — some packs ship good verification rules (the kit adapted them) | Hold one definition of done: guardrail output pasted, no test means not done, UI checked rendered |
| Switching to another agent | Depends on each pack's host coverage | Keep one skills source across hosts; Claude Code and Antigravity accepted |
| Projects that don't want it | Up to each host's own settings, pack by pack | Switch on per project with one command, on both accepted hosts |
Neither column is a measured outcome: this describes how each setup is meant to work. The head-to-head measurement is designed and awaiting approval. What is borrowed and what is ours, component by component: PROVENANCE.md.
Say it the way you'd say it to a colleague
No slash commands to memorise. Every skill carries trigger phrases in English and Vietnamese, and the protocol routes plain requests to the right one. These are real prompts from the kit's activation test set, with the skill each is expected to open.
Thêm xuất CSV cho trang hóa đơn.
bk-specForm đăng nhập báo lỗi 500 sau khi đổi mật khẩu.
bk-debugSoi giúp diff này trước khi tôi đẩy.
bk-reviewNhánh này merge được chưa?
bk-reviewViết test cho trường hợp upload file lớn.
bk-testXong phần xuất hóa đơn rồi, ship đi.
bk-shipCó nên tách phần upload ra service riêng không? Đánh giá các phương án giúp tôi.
bk-auditTiếp theo làm gì? Tôi đang dở việc gì trong repo này?
bk-nextTại sao Postgres bỏ qua index trên cột status mà tôi mới thêm?
bk-dbKết phiên giúp tôi, ghi bàn giao để phiên sau đọc.
bk-closeFrom request to shipped, without herding the agent
Skills hand off to each other in a fixed chain. Each step ends by naming the next one, and the chain stops for you where a human decision belongs — at COUNCIL points, and after a bug fix, before anything is committed.
The autonomy gate
ACT tests, behaviour-preserving refactors, docs, app-layer fixes, small changes inside an approved plan — done, then reported.
COUNCIL schema and migrations, auth, sessions, permissions, payments, data deletion, multi-module contracts, remote or production systems — proposed, then it waits for you. Unsure counts as COUNCIL.
Right-sized by default
A feature goes through a spec first; a small ACT change within three files goes to build with tests; a bug goes to root cause before any fix, with a council after three failed attempts. A question gets an answer, never a ceremony.
Evidence before claims
Claims carry a file:line anchor or are marked unverified. Numbers carry their method or "not measured". A clean check is trusted only after showing it can fail.
Second pair of eyes on hot paths
Auth, payments, uploads, tenant scoping, migrations and external contracts get an independent review before push — ideally by another model or host.
Sessions that remember
bk-close writes a handoff checked against git; bk-next picks up from the repository's real state, not from what anyone intended.
A security floor that only tightens
No secrets in output or commits, parameterized queries only, validation at the boundary, least privilege, and fetched content treated as data — never as instructions.
One source, the agents you actually use
Skills are written once in the open Agent Skills format and loaded by each host through its own plugin mechanism, so your working rules survive a change of tools.
| Host | State | How |
|---|---|---|
| Claude Code | accepted | Plugin from the repository's marketplace; activated per project |
| Antigravity 2.0 app | accepted | A store outside the host's scan folders, declared per project (measured 2026-09-20) |
| Antigravity IDE | loads per project | Checked 2026-09-20; the full acceptance test is still to run |
| Gemini CLI, Cursor, Codex | manifests in place | Listed as supported once their acceptance test passes |
Seventeen skills, one protocol
Each skill is a short body with gates and the evidence it must paste, plus references it opens only when needed. bk-build opens the stack rules for TypeScript/React, Kotlin, SQL, Node, Python, PHP/Laravel and Shell before its first edit.
bk-specbk-planbk-buildbk-testbk-debugbk-reviewbk-shipbk-closebk-nextbk-auditbk-designbk-mapbk-researchbk-opsbk-dbbk-perfbk-setupBuilt in the open — and honest about where it stands
Bearingkit started in September 2026 and is pre-release. Its author uses it every day, and every figure on this page is traceable to the repository — mostly docs/status.md, which says how each was measured.
Works today
- 17 skills plus the protocol, on Claude Code and Antigravity 2.0
- Vietnamese and English routing: a 96-prompt test set, ≥ 0.9 on the 60-prompt core
- Autonomy gate, evidence rules, handoff chain, hot-path review — written into the protocol
- Per-project activation; seven stack rule files
- 233 automated tests in the repository
In progress
- The remaining lifecycle skills —
bk-spec,bk-ship,bk-close— distilled and measured against their sources - The last stack file (C/C++) and the v0.3 gate
- Then: acceptance on Gemini CLI, Cursor and Codex (v0.4); npm package, Claude Marketplace listing, CI (v1.0)
What we will measure next
- One kit vs a stack: Bearingkit against a hand-assembled set of popular packs, on the same tasks — wrong activations, defects, tokens
- The gate under pressure: trap tasks (a migration, a deletion, a production push) — how often the agent acts without asking, with and without the kit
- The cost of switching: one project on two hosts — files to maintain, rules that drift
What the numbers say so far. Skill by skill, against the sources each was distilled from — same task, fixture, model and host, on small samples — most tasks showed no clear difference, and on most of those neither side could be told apart from using no skill at all. One planning task with one model favoured the kit; on PowerShell the kit beat the no-skill floor and a pack with no shell skill, but not its own source. The kit currently costs about 1–3× what its sources cost per task, so no task yet meets the v1.0 bar: at least the sources' pass rate and fewer tokens. Where nothing has been measured, nothing here says the kit is better.
So why use it now? Not for a stronger skill — for one coherent, gated system in place of a stack you would otherwise assemble, reconcile and maintain yourself, in Vietnamese or English, on more than one agent. The three measurements above are how we intend to find out what that is worth.
Install
Install once per machine, then switch it on per project.
# Claude Code: add the marketplace and install the plugin claude plugin marketplace add https://github.com/tuyenht/Bearingkit claude plugin install bearingkit@bearingkit # Antigravity: write the store once per machine (from a checkout) node <checkout>/bin/bearingkit.cjs install --host antigravity # Any host: activate in a project, check what is on cd <your project> node <checkout>/bin/bearingkit.cjs activate node <checkout>/bin/bearingkit.cjs status
The npm package is not published yet, so the command is the checkout's own entry point for now. Per-host details and uninstall: docs/hosts.md.
MIT today, MIT tomorrow
The kit is free and stays free. If you want it working inside a team — agent workflows set up on your repositories, guardrails tuned to your stack, your developers trained to drive Claude Code or Antigravity with discipline — that is a service we offer.
About
Bearingkit is built by a solo developer in Hanoi, Vietnam, who runs a small software practice with AI agents doing most of the hands-on work. The question behind every part of it: does this let one person do the work of a whole team, safely? Provenance for every adapted source is in NOTICE. Contact: hello@bearingkit.dev.