State and logic.
One domain.
React state for you and your agent.
Just pass llms.txt.
import { action } from '@comwit/state'
import { counter } from './model'
export const counterActions = action(({ state }) => {
const m = state(counter)
return {
increment() { m.count += 1 },
reset() { m.count = 1 },
}
})Built for and used by comwit.io, the vibe coding platform.
1,000+projects
Keep the idea.
Lose the ceremony.
State, actions, and a hook. A predictable pattern for you and your agent, from the first counter to the whole app.
Get to know comwitOne file. Your agent is up to speed.
Pass in llms.txt for the core patterns. Detailed references are there when you need them.
Client state. Server data. Together.
Reactive models, query loading, and server hydration in the same domain.
Persist preferences. Restore previous states.
Persist preferences. Restore local data. Add history when your app calls for it.

