
Research
/Security News
Mini Shai-Hulud Campaign Hits Red Hat Cloud Services npm Packages
A mini Shai-Hulud campaign compromised Red Hat Cloud Services npm packages to steal developer and CI/CD secrets during installation.
@assistant-ui/tap
Advanced tools
@assistant-ui/tapReactive primitives that bring React's hook mental model outside of components. The core has zero runtime dependencies and works in vanilla JS, on a server, or in React via the optional /react sub-path. Define self-contained units of state and effects (Resources) using tapState, tapEffect, tapMemo, and friends, and consume them via useResource.
tap powers the runtime layer of assistant-ui. Most users do not install it directly; reach for @assistant-ui/react instead.
npm install @assistant-ui/tap
import { resource, tapState, tapEffect, createResourceRoot } from "@assistant-ui/tap";
const Counter = resource(({ incrementBy = 1 }: { incrementBy?: number }) => {
const [count, setCount] = tapState(0);
tapEffect(() => {
console.log("count:", count);
}, [count]);
return {
count,
increment: () => setCount((c) => c + incrementBy),
};
});
const root = createResourceRoot();
const counter = root.render(Counter({ incrementBy: 2 }));
const unsubscribe = counter.subscribe(() => {
console.log("counter updated:", counter.getValue().count);
});
counter.getValue().increment();
In React, use the useResource hook from the /react sub-path:
import { useResource } from "@assistant-ui/tap/react";
function CounterButton() {
const { count, increment } = useResource(Counter({ incrementBy: 1 }));
return <button onClick={increment}>{count}</button>;
}
tapState, tapEffect, tapMemo, tapCallback, tapRef mirror their React counterparts. Additional primitives include tapResource and tapResources for composition, plus createResourceContext / tap / withContextProvider for context.
Full API reference at assistant-ui.com/tap/docs.
MIT
FAQs
Zero-dependency reactive state management inspired by React hooks
We found that @assistant-ui/tap demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Research
/Security News
A mini Shai-Hulud campaign compromised Red Hat Cloud Services npm packages to steal developer and CI/CD secrets during installation.

Research
/Security News
The North Korean malware loader hides in a Packagist-listed package and its GitHub branch to fetch and execute remote code in a likely Contagious Interview-style lure.

Security News
The Rust project is moving toward formal rules on LLM use in contributions after months of internal debate over maintainer burden, code quality, and contributor experience.