Skip to content

markhayden/bakin-bits-official

Bakin Bits

Official plugins and agent packages for Bakin.

Build License: MIT Bun ≥ 1.3.13


What is Bakin Bits?

Bakin Bits is the home for first-party plugins and agent packages that extend Bakin, a personal AI runtime. Plugins live here so they can ship and update independently of the Bakin core binary — a fix to a plugin doesn't require a new core release, and contributors can land changes without coordinating with the runtime team.

Each package in this monorepo is installed by git subpath, not by publishing to a registry:

bakin plugins install github:markhayden/bakin-bits-official#plugins/<name>
bakin agents  install github:markhayden/bakin-bits-official#agents/<name>

The #subpath syntax tells Bakin to clone this repo, copy just the selected package directory into the local runtime, and discard everything else. You get one package, not the whole monorepo.

Public docs (in progress) — extending Bakin: https://makinbakin.com/docs/extending/overview/

Quickstart

Install the messaging plugin into a running Bakin runtime:

bakin plugins install github:markhayden/bakin-bits-official#plugins/messaging

During the SDK cutover, install this branch with a matching Bakin cutover build. A normal binary install provides the runtime SDK host modules for @makinbakin/sdk/*; you do not need a local Bakin checkout unless you are doing hot-reload or end-to-end development.

Pin to a released version with the @<ref> suffix:

bakin plugins install github:markhayden/bakin-bits-official#plugins/messaging@messaging-v0.0.1

Available packages

Plugins

Plugin Status Description
messaging active Content Plans, Deliverables, brainstorm sessions, task-backed prep, and publishing.
projects active Project specs, checklists, task links, and project MCP tools.
_template scaffold Starter plugin layout for new contributors.

Agents

Agent Status Description
patch active Developer agent package — git-isolation skill, dev-discipline lessons, workspace templates, avatar.
pixel active Image artist package — visual prompt lessons, image-generation workflow skills, workspace templates.
rolo active Video producer package — video/audio craft lessons and declared Runway/ElevenLabs runtime secrets.
jessica active Research package — source-hierarchy lessons and evidence-gathering workspace templates.

Publishing a release (Whiskit)

Plugin dist/ is not committed — it is build output. To ship a plugin version so users can install it with no toolchain, bump plugins/<id>/bakin-plugin.json and push a matching <id>-v<semver> tag:

git tag -a messaging-v0.2.0 -m "Add brainstorm export; fix plan ordering"
git push origin messaging-v0.2.0

CI validates the version, builds the plugin, assembles a prebuilt artifact + checksum, carries the catalog forward, and creates a GitHub release (notes = your tag message). Install then downloads + verifies the artifact — nothing builds on the user's machine. Full process, versioning rules, and troubleshooting: RELEASE.md.

Agent packages don't need a release. bakin agents install github:…#agents/<name> installs from source (the cloned subpath) — agent packages ship content, not built dist/, so they have no artifact build or publish step. Land changes on main and users get them on their next install.

Local development

Clone alongside your Bakin checkout so paths line up, then link a plugin into a running runtime via hot-reload:

git clone git@github.com:markhayden/bakin-bits-official.git
cd bakin-bits-official
bun install

# In your bakin checkout:
BAKIN_DEV_HOTRELOAD=1 bakin start

# Back in this repo:
bakin plugins link ./plugins/_template

Before opening a PR, run the same gates CI runs:

bun run typecheck && bun run test && bun run lint

Plugin architecture notes

Official plugins should stay on the public SDK surface: @makinbakin/sdk, @makinbakin/sdk/types, @makinbakin/sdk/components, @makinbakin/sdk/hooks, @makinbakin/sdk/ui, and @makinbakin/sdk/utils. Do not import Bakin host internals or a specific runtime adapter from plugin source. Runtime work goes through ctx.runtime; UI primitives and brainstorm helpers come from the SDK. The runtime provides these SDK modules when plugins are installed from git subpaths, so plugin packages should keep @makinbakin/sdk as an external peer instead of vendoring it.

For durable agent chat surfaces, use stable adapter-neutral thread IDs via brainstormThreadId(scope, entityId, agentId). Store plugin-owned messages and tool activity for UI hydration, but let the runtime adapter maintain conversation continuity for repeated agentId + threadId calls.

For server-side diagnostics and lifecycle messages, use ctx.log from the plugin context. It emits through Bakin's plugin-scoped structured logger and keeps reload, activation, and shutdown output in the normal log channels. Reserve ctx.activity.log for user-visible activity feed entries, and avoid console.* in plugin server code except as a compatibility fallback.

For plugin-owned recurring jobs, register a hook and create a cron command using the bakin:<pluginId>:<action> convention. Do not use cron for task-backed workflow timing. Messaging Plans use explicit activation and scheduled task records (availableAt) so dispatch remains the single wakeup path for content prep.

Repository layout

bakin-bits-official/
├── plugins/      # installable plugin packages (one dir per plugin)
├── agents/       # installable agent packages
├── assets/       # shared brand assets (logo, etc.)
├── test/         # shared test setup (DOM globals)
├── test-sdk/     # mock @makinbakin/sdk used during local tests
└── types/        # shared ambient TypeScript types

Contributing

New plugins and improvements are welcome. Start from plugins/_template, follow the hot-reload contract, and open a PR against main. The full contributor flow — manifest rules, hot-reload constraints, review focus areas, and release tagging — is in CONTRIBUTING.md.

Security

Found a security issue? Please report it privately per SECURITY.md, not as a public issue.

Code of conduct

Participation in this project is governed by our Code of Conduct.

License

MIT — see LICENSE. Plugin and agent-package authors retain copyright on their contributed work; the MIT license applies to the repository scaffold and official packages authored by the Bakin core team.

About

No description, website, or topics provided.

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors