For humans & AI agents
Build ambitious apps.
Limitless by design.
- Open source. MIT licensed.
- Fully type-safe.
- AI-friendly by design.
Try it yourself
One feature. One folder.
Your next idea.
One plugin away.
Give each feature a home. Extend the app without untangling the rest.
- Define it once. Use one Action in buttons, menus and shortcuts.
- Connect it. Fill a slot. React to an event.
- Find it. Predictable paths for you and your agent.
src/plugins/pipeline
From the live app above.
actions/What it doesservices/What it knowsevents.tsHow it connectsdata/Where it startsui/What you seeactions/win.tsReal sourceimport { defineAction } from '@bitakit/core';
import CheckIcon from 'reicon-react/icons/Check';
export default defineAction<number>({
title: 'Mark won',
icon: CheckIcon,
// A guard: every control bound to this Action is disabled for a deal that is already won.
enabled: ({ input, services }) =>
input !== undefined && services.pipeline.deals.find(input)?.stage !== 'won',
concurrency: 'per-input',
execute: ({ services, input }) => services.pipeline.deals.win(input),
success: 'Deal won',
});Included from the start
Skip the glue.
Ship your ideas.
Actions, settings, themes and search. Ready to work together.
Actions
One Action. Every control in sync.
defineAction({ … })
Slots
Add to a page without editing it.
<PluginSlot name="dashboard.widgets" />
Settings
Declare a preference. App Preferences builds its page.
defineSettings({ … })
Events
Let features talk through typed events.
pipeline.won → activity feed
Themes & layouts
Change the look of every plugin at once.
One theme. Every plugin.
Typed discovery
Your files become IDs your editor knows.
Define → discover → bind
Less to write. Less to read.
Built for you.
And your agents.
Less code for you. Less context for your agent.
See the measurements- less app code
- 6×
- Measured in the Todo comparison
- fewer agent tokens
- 7×
- Estimated for the 50th feature
- folder per feature
- 1
- A predictable place for every change
From idea to your first feature
Your next app
starts here.
One command to create your app. Your plugins take it from there.
npm create @bitakit/app@latest my-appA real app. Your first feature.
Create it. Extend it. Check the connections.
Create your app
npm create @bitakit/app@latest my-appYour framework, ready to build on.
Add a feature
npx bitakit add plugin reportsRun inside my-app. Your plugin gets its own folder.
Check the connections
npx bitakit doctorCheck services, dependencies and configuration.