Scan timing: clone 2.19s · analysis 22.29s · 1.8 MB · GitHub API rate-limit (preflight)
https://github.com/pmndrs/zustand
· scanned 2026-06-05 09:53 UTC (5 days, 17 hours ago)
· 10 languages
98 raw signals (44 security + 54 graph) 92nd percentile · Typescript · small (2-20K LoC)
Last scanned 5 days, 17 hours ago · v2 · 63 actionable findings from 2 signal sources. 8 repeated signals grouped for readability. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
| Component | Sub-score | Weight | Contribution |
|---|---|---|---|
structure_score |
100.0 | 0.15 | 15.00 |
security_score |
87.5 | 0.25 | 21.88 |
testing_score |
90.0 | 0.20 | 18.00 |
documentation_score |
73.7 | 0.15 | 11.05 |
practices_score |
77.0 | 0.15 | 11.55 |
code_quality |
80.0 | 0.10 | 8.00 |
| Overall | 1.00 | 85.5 |
All 297 nodes from the latest scan, grouped by kind. Each node is a unit the engine identified (file, function, endpoint, table…). Most users won't need this view — it's primarily for debugging the engine's graph extraction or for AI agents that want to enumerate the project structure.
| Label | Layer | Status | Path |
|---|---|---|---|
README.md |
software | healthy | README.md |
pnpm-lock.yaml |
software | healthy | pnpm-lock.yaml |
package.json |
software | healthy | package.json |
CONTRIBUTING.md |
software | healthy | CONTRIBUTING.md |
pnpm-workspace.yaml |
software | healthy | pnpm-workspace.yaml |
FUNDING.json |
software | healthy | FUNDING.json |
tsconfig.json |
software | healthy | tsconfig.json |
persistSync.test.tsx |
software | healthy | tests/persistSync.test.tsx |
test-utils.ts |
software | healthy | tests/test-utils.ts |
shallow.test.tsx |
software | healthy | tests/shallow.test.tsx |
persistAsync.test.tsx |
software | healthy | tests/persistAsync.test.tsx |
basic.test.tsx |
software | healthy | tests/basic.test.tsx |
ssr.test.tsx |
software | healthy | tests/ssr.test.tsx |
devtools.test.tsx |
software | healthy | tests/devtools.test.tsx |
setup.ts |
software | warning | tests/setup.ts |
middlewareTypes.test.tsx |
software | healthy | tests/middlewareTypes.test.tsx |
immer.test.tsx |
software | warning | tests/immer.test.tsx |
types.test.tsx |
software | healthy | tests/types.test.tsx |
subscribe.test.tsx |
software | warning | tests/subscribe.test.tsx |
shallow.test.tsx |
software | healthy | tests/vanilla/shallow.test.tsx |
basic.test.ts |
software | healthy | tests/vanilla/basic.test.ts |
subscribe.test.tsx |
software | healthy | tests/vanilla/subscribe.test.tsx |
index.md |
software | healthy | docs/index.md |
index.md |
software | healthy | docs/reference/index.md |
third-party-libraries.md |
software | healthy | docs/reference/integrations/third-party-libraries.md |
immer-middleware.md |
software | healthy | docs/reference/integrations/immer-middleware.md |
persisting-store-data.md |
software | healthy | docs/reference/integrations/persisting-store-data.md |
zustand-v3-create-context.md |
software | healthy | docs/reference/previous-versions/zustand-v3-create-context.… |
use-shallow.md |
software | healthy | docs/reference/hooks/use-shallow.md |
use-store-with-equality-fn.md |
software | healthy | docs/reference/hooks/use-store-with-equality-fn.md |
use-store.md |
software | healthy | docs/reference/hooks/use-store.md |
create-with-equality-fn.md |
software | healthy | docs/reference/apis/create-with-equality-fn.md |
create.md |
software | healthy | docs/reference/apis/create.md |
create-store.md |
software | healthy | docs/reference/apis/create-store.md |
shallow.md |
software | healthy | docs/reference/apis/shallow.md |
immer.md |
software | healthy | docs/reference/middlewares/immer.md |
devtools.md |
software | healthy | docs/reference/middlewares/devtools.md |
persist.md |
software | healthy | docs/reference/middlewares/persist.md |
subscribe-with-selector.md |
software | healthy | docs/reference/middlewares/subscribe-with-selector.md |
combine.md |
software | healthy | docs/reference/middlewares/combine.md |
redux.md |
software | healthy | docs/reference/middlewares/redux.md |
migrating-to-v5.md |
software | healthy | docs/reference/migrations/migrating-to-v5.md |
migrating-to-v4.md |
software | healthy | docs/reference/migrations/migrating-to-v4.md |
index.md |
software | healthy | docs/learn/index.md |
comparison.md |
software | healthy | docs/learn/getting-started/comparison.md |
introduction.md |
software | healthy | docs/learn/getting-started/introduction.md |
prevent-rerenders-with-use-shallow.md |
software | healthy | docs/learn/guides/prevent-rerenders-with-use-shallow.md |
tutorial-tic-tac-toe.md |
software | healthy | docs/learn/guides/tutorial-tic-tac-toe.md |
auto-generating-selectors.md |
software | healthy | docs/learn/guides/auto-generating-selectors.md |
immutable-state-and-merging.md |
software | healthy | docs/learn/guides/immutable-state-and-merging.md |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
createPersistentStore |
software | healthy | tests/persistSync.test.tsx:createPersistentStore |
getItem |
software | healthy | tests/persistSync.test.tsx:getItem |
setItem |
software | healthy | tests/persistSync.test.tsx:setItem |
removeItem |
software | healthy | tests/persistSync.test.tsx:removeItem |
createStore |
software | healthy | tests/persistSync.test.tsx:createStore |
unstorableMethod |
software | healthy | tests/persistSync.test.tsx:unstorableMethod |
replacer |
software | healthy | tests/test-utils.ts:replacer |
reviver |
software | healthy | tests/test-utils.ts:reviver |
isReplacedMap |
software | healthy | tests/test-utils.ts:isReplacedMap |
sleep |
software | healthy | tests/test-utils.ts:sleep |
Component |
software | healthy | tests/shallow.test.tsx:Component |
TestUseShallowSimple |
software | healthy | tests/shallow.test.tsx:TestUseShallowSimple |
TestShallow |
software | healthy | tests/shallow.test.tsx:TestShallow |
TestShallowWithState |
software | healthy | tests/shallow.test.tsx:TestShallowWithState |
createPersistantStore |
software | healthy | tests/persistAsync.test.tsx:createPersistantStore |
getItem |
software | healthy | tests/persistAsync.test.tsx:getItem |
setItem |
software | healthy | tests/persistAsync.test.tsx:setItem |
removeItem |
software | healthy | tests/persistAsync.test.tsx:removeItem |
Counter |
software | healthy | tests/persistAsync.test.tsx:Counter |
createStore |
software | healthy | tests/persistAsync.test.tsx:createStore |
Counter2 |
software | healthy | tests/persistAsync.test.tsx:Counter2 |
Component |
software | healthy | tests/persistAsync.test.tsx:Component |
unstorableMethod |
software | healthy | tests/persistAsync.test.tsx:unstorableMethod |
MapDisplay |
software | healthy | tests/persistAsync.test.tsx:MapDisplay |
MapDisplay2 |
software | healthy | tests/persistAsync.test.tsx:MapDisplay2 |
combines |
software | healthy | tests/persistAsync.test.tsx:combines |
Counter |
software | healthy | tests/basic.test.tsx:Counter |
Component |
software | healthy | tests/basic.test.tsx:Component |
Control |
software | healthy | tests/basic.test.tsx:Control |
selector |
software | healthy | tests/basic.test.tsx:selector |
is |
software | healthy | tests/basic.test.tsx:is |
equalityFn |
software | healthy | tests/basic.test.tsx:equalityFn |
staticSelector |
software | healthy | tests/basic.test.tsx:staticSelector |
changeState |
software | healthy | tests/basic.test.tsx:changeState |
Child |
software | healthy | tests/basic.test.tsx:Child |
Parent |
software | healthy | tests/basic.test.tsx:Parent |
increment |
software | healthy | tests/basic.test.tsx:increment |
Count |
software | healthy | tests/basic.test.tsx:Count |
CountWithInitialIncrement |
software | healthy | tests/basic.test.tsx:CountWithInitialIncrement |
Count1 |
software | healthy | tests/basic.test.tsx:Count1 |
Count2 |
software | healthy | tests/basic.test.tsx:Count2 |
inc |
software | healthy | tests/basic.test.tsx:inc |
Counter |
software | healthy | tests/ssr.test.tsx:Counter |
Component |
software | healthy | tests/ssr.test.tsx:Component |
assertAllAreDefined |
software | healthy | tests/devtools.test.tsx:assertAllAreDefined |
getNamedConnectionApis |
software | healthy | tests/devtools.test.tsx:getNamedConnectionApis |
getNamedConnectionSubscribers |
software | healthy | tests/devtools.test.tsx:getNamedConnectionSubscribers |
getUnnamedConnectionApis |
software | healthy | tests/devtools.test.tsx:getUnnamedConnectionApis |
getUnnamedConnectionSubscribers |
software | healthy | tests/devtools.test.tsx:getUnnamedConnectionSubscribers |
getKeyFromOptions |
software | healthy | tests/devtools.test.tsx:getKeyFromOptions |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
tests |
software | healthy | tests |
vanilla |
software | healthy | tests/vanilla |
docs |
software | healthy | docs |
reference |
software | healthy | docs/reference |
integrations |
software | healthy | docs/reference/integrations |
previous-versions |
software | healthy | docs/reference/previous-versions |
hooks |
software | healthy | docs/reference/hooks |
apis |
software | healthy | docs/reference/apis |
middlewares |
software | healthy | docs/reference/middlewares |
migrations |
software | healthy | docs/reference/migrations |
learn |
software | healthy | docs/learn |
getting-started |
software | healthy | docs/learn/getting-started |
guides |
software | healthy | docs/learn/guides |
examples |
software | healthy | examples |
demo |
software | healthy | examples/demo |
public |
software | healthy | examples/demo/public |
src |
software | healthy | examples/demo/src |
resources |
software | healthy | examples/demo/src/resources |
utils |
software | healthy | examples/demo/src/utils |
components |
software | healthy | examples/demo/src/components |
materials |
software | healthy | examples/demo/src/materials |
starter |
software | healthy | examples/starter |
src |
software | healthy | examples/starter/src |
.github |
software | healthy | .github |
ISSUE_TEMPLATE |
software | healthy | .github/ISSUE_TEMPLATE |
DISCUSSION_TEMPLATE |
software | healthy | .github/DISCUSSION_TEMPLATE |
workflows |
software | healthy | .github/workflows |
src |
software | healthy | src |
vanilla |
software | healthy | src/vanilla |
middleware |
software | healthy | src/middleware |
react |
software | healthy | src/react |
| Label | Layer | Status | Path |
|---|---|---|---|
test |
cicd | healthy | .github/workflows/test.yml |
test_old_typescript |
cicd | healthy | .github/workflows/test-old-typescript.yml |
build |
cicd | healthy | .github/workflows/docs.yml |
deploy |
cicd | healthy | .github/workflows/docs.yml |
test_multiple_versions |
cicd | healthy | .github/workflows/test-multiple-versions.yml |
test_multiple_builds |
cicd | healthy | .github/workflows/test-multiple-builds.yml |
compressed_size |
cicd | healthy | .github/workflows/compressed-size.yml |
preview_release |
cicd | healthy | .github/workflows/preview-release.yml |
publish |
cicd | healthy | .github/workflows/publish.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
gha::test |
cicd | healthy | .github/workflows/test.yml |
gha::test-old-typescript |
cicd | healthy | .github/workflows/test-old-typescript.yml |
gha::docs |
cicd | healthy | .github/workflows/docs.yml |
gha::test-multiple-versions |
cicd | healthy | .github/workflows/test-multiple-versions.yml |
gha::test-multiple-builds |
cicd | healthy | .github/workflows/test-multiple-builds.yml |
gha::compressed-size |
cicd | healthy | .github/workflows/compressed-size.yml |
gha::preview-release |
cicd | healthy | .github/workflows/preview-release.yml |
gha::publish |
cicd | healthy | .github/workflows/publish.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
App |
frontend | healthy | examples/demo/src/App.jsx |
Fireflies |
frontend | healthy | examples/demo/src/components/Fireflies.jsx |
SnippetLang |
frontend | healthy | examples/demo/src/components/SnippetLang.jsx |
Details |
frontend | healthy | examples/demo/src/components/Details.jsx |
CodePreview |
frontend | healthy | examples/demo/src/components/CodePreview.jsx |
Scene |
frontend | healthy | examples/demo/src/components/Scene.jsx |
CopyButton |
frontend | healthy | examples/demo/src/components/CopyButton.jsx |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-mka4zowr |
software | healthy | /tmp/repobility-clone-mka4zowr |
| Label | Layer | Status | Path |
|---|---|---|---|
ErrorBoundary |
software | healthy | tests/basic.test.tsx:ErrorBoundary |
This page is publicly accessible at:
https://repobility.com/scan/4ce615cf-8e78-4211-9efa-5e653724aa12/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/4ce615cf-8e78-4211-9efa-5e653724aa12/
Important — please don't re-submit the same URL repeatedly. The submission endpoint is idempotent: re-submitting the same git URL returns this same scan_token, not a new one. To re-scan this repo, sign up free and use the dashboard.