sinapse-ai 1.25.3 → 1.27.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agents/skills/react-bits-frontend/SKILL.md +13 -4
- package/.claude/skill-manifest.json +1 -0
- package/.claude/skills/react-bits-frontend/SKILL.md +75 -0
- package/.codex/scripts/sync-codex-native.js +12 -0
- package/.sinapse-ai/install-manifest.yaml +1 -1
- package/CHANGELOG.md +11 -2
- package/README.en.md +98 -411
- package/README.md +99 -458
- package/bin/commands/install.js +48 -11
- package/bin/commands/uninstall.js +1 -1
- package/bin/commands/update.js +19 -5
- package/bin/lib/detection.js +1 -1
- package/bin/lib/global-provider-adapters.js +22 -10
- package/bin/lib/prompts.js +9 -9
- package/bin/lib/provider-contract.js +2 -0
- package/bin/lib/provider-parity.js +11 -5
- package/docs/getting-started.md +2 -2
- package/docs/guides/ide-integration.md +1 -1
- package/package.json +1 -1
- package/packages/installer/src/installer/react-bits-corpus.js +90 -0
- package/packages/installer/src/installer/sinapse-ai-installer.js +9 -0
- package/scripts/sync-provider-adapters.js +7 -2
- package/scripts/validate-provider-adapters.js +21 -1
- package/squads/squad-animations/agents/animations-orqx.md +7 -0
- package/squads/squad-animations/squad.yaml +1 -1
|
@@ -10,8 +10,16 @@ not as a black-box library.
|
|
|
10
10
|
|
|
11
11
|
## Locate the corpus
|
|
12
12
|
|
|
13
|
-
Resolve the
|
|
14
|
-
|
|
13
|
+
Resolve the corpus in this exact order, then read `index.md` from the first
|
|
14
|
+
location that contains the complete corpus:
|
|
15
|
+
|
|
16
|
+
1. `<project>/docs/framework/react-bits/`
|
|
17
|
+
2. `<installed-package>/docs/framework/react-bits/`
|
|
18
|
+
3. `~/.sinapse/docs/framework/react-bits/`
|
|
19
|
+
|
|
20
|
+
The project location wins so a project can pin or extend its installed research.
|
|
21
|
+
The package location supports package-managed runs, and the global SINAPSE home
|
|
22
|
+
supports `--global-only` installs. Read only the category needed:
|
|
15
23
|
|
|
16
24
|
- `animations.md` for wrappers, cursors, trails, transitions and interactive effects.
|
|
17
25
|
- `text-animations.md` for headline, counter, scramble, marquee and reveal work.
|
|
@@ -21,8 +29,9 @@ Resolve the SINAPSE package/repository root, then read
|
|
|
21
29
|
- `audit-findings.md` when dependency, prop, variant or upstream accuracy matters.
|
|
22
30
|
- `inventory.json` for exact machine-readable props, dependencies and variant state.
|
|
23
31
|
|
|
24
|
-
If
|
|
25
|
-
|
|
32
|
+
If none of those locations has all nine files, state which locations were checked,
|
|
33
|
+
ask the user to run the relevant SINAPSE install/update, then verify current facts
|
|
34
|
+
against the official registry and source before implementation.
|
|
26
35
|
|
|
27
36
|
## Workflow
|
|
28
37
|
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: react-bits-frontend
|
|
3
|
+
description: Select, install, adapt, combine, optimize, and audit official React Bits components for React, Next.js, Vite, Astro islands, and SINAPSE frontend projects. Use for animated text, cursors, reveals, cards, navigation, galleries, WebGL backgrounds, shaders, particles, motion systems, React Bits CLI/MCP commands, component props/dependencies, or when improving an existing page with React Bits while preserving accessibility, mobile performance, lifecycle cleanup, design-system fit, and license compliance.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# React Bits Frontend
|
|
7
|
+
|
|
8
|
+
Use the source-grounded SINAPSE corpus to implement React Bits as application code,
|
|
9
|
+
not as a black-box library.
|
|
10
|
+
|
|
11
|
+
## Locate the corpus
|
|
12
|
+
|
|
13
|
+
Resolve the corpus in this exact order, then read `index.md` from the first
|
|
14
|
+
location that contains the complete corpus:
|
|
15
|
+
|
|
16
|
+
1. `<project>/docs/framework/react-bits/`
|
|
17
|
+
2. `<installed-package>/docs/framework/react-bits/`
|
|
18
|
+
3. `~/.sinapse/docs/framework/react-bits/`
|
|
19
|
+
|
|
20
|
+
The project location wins so a project can pin or extend its installed research.
|
|
21
|
+
The package location supports package-managed runs, and the global SINAPSE home
|
|
22
|
+
supports `--global-only` installs. Read only the category needed:
|
|
23
|
+
|
|
24
|
+
- `animations.md` for wrappers, cursors, trails, transitions and interactive effects.
|
|
25
|
+
- `text-animations.md` for headline, counter, scramble, marquee and reveal work.
|
|
26
|
+
- `components.md` for cards, navigation, galleries, inputs and compound UI.
|
|
27
|
+
- `backgrounds.md` for Canvas/WebGL/shader/particle backgrounds.
|
|
28
|
+
- `implementation-playbook.md` for integration, composition, accessibility and tuning.
|
|
29
|
+
- `audit-findings.md` when dependency, prop, variant or upstream accuracy matters.
|
|
30
|
+
- `inventory.json` for exact machine-readable props, dependencies and variant state.
|
|
31
|
+
|
|
32
|
+
If none of those locations has all nine files, state which locations were checked,
|
|
33
|
+
ask the user to run the relevant SINAPSE install/update, then verify current facts
|
|
34
|
+
against the official registry and source before implementation.
|
|
35
|
+
|
|
36
|
+
## Workflow
|
|
37
|
+
|
|
38
|
+
1. Inspect the target stack, component architecture, design tokens, performance budget
|
|
39
|
+
and existing animation/scroll ownership.
|
|
40
|
+
2. Translate the visual request into a user-experience function.
|
|
41
|
+
3. Search the relevant catalog and shortlist at most three candidates.
|
|
42
|
+
4. Compare visual fit, dependencies, runtime engine, props, interaction model,
|
|
43
|
+
accessibility, mobile cost and compatibility with existing effects.
|
|
44
|
+
5. Open the official source for the selected variant. Treat source and registry as
|
|
45
|
+
authoritative when docs conflict.
|
|
46
|
+
6. Run `npm view <package>` for every declared dependency before installing it.
|
|
47
|
+
7. Prefer TS-TW or TS-CSS in TypeScript projects. Never use the three empty CurvedInput
|
|
48
|
+
variants recorded in the snapshot; use JS-CSS or verify that upstream fixed them.
|
|
49
|
+
8. Install through shadcn/jsrepo or copy manually. Keep upstream provenance and the
|
|
50
|
+
required license notice for substantial copies.
|
|
51
|
+
9. Wrap the imported component behind a local application component. Map design
|
|
52
|
+
tokens, content, breakpoints and quality presets at that boundary.
|
|
53
|
+
10. Implement reduced-motion behavior, semantic fallback, keyboard/focus behavior,
|
|
54
|
+
cleanup and static/mobile fallback.
|
|
55
|
+
11. Test load, resize, route unmount/remount, long scroll, coarse pointer, reduced
|
|
56
|
+
motion and low-power mobile. Measure frame time and memory.
|
|
57
|
+
12. Report component, variant, source SHA/URL, dependencies, adaptations, fallbacks and
|
|
58
|
+
remaining risks.
|
|
59
|
+
|
|
60
|
+
## Composition rules
|
|
61
|
+
|
|
62
|
+
- Use one dominant motion effect per viewport and no more than two support effects.
|
|
63
|
+
- Prefer the lowest-cost engine that satisfies the visual objective.
|
|
64
|
+
- Allow only one owner for smooth scroll, custom cursor and each render loop.
|
|
65
|
+
- Do not stack multiple heavy WebGL/physics backgrounds without an explicit budget.
|
|
66
|
+
- Pause offscreen/hidden loops and dispose GPU resources on unmount.
|
|
67
|
+
- Preserve content and interaction when animation is disabled or fails.
|
|
68
|
+
|
|
69
|
+
## Accuracy rules
|
|
70
|
+
|
|
71
|
+
- Do not repeat the promotional “140+” as an exact count. The pinned snapshot has 139.
|
|
72
|
+
- Do not infer functional variants from registry names alone; inspect source bytes/code.
|
|
73
|
+
- Use registry JSON for install dependencies and source for actual API/behavior.
|
|
74
|
+
- Note documentation typos and per-variant divergences from `audit-findings.md`.
|
|
75
|
+
- Do not redistribute React Bits components as a standalone library, bundle, or port.
|
|
@@ -34,6 +34,10 @@ function isPathInside(parentPath, candidatePath) {
|
|
|
34
34
|
return relative === '' || (!relative.startsWith('..') && !path.isAbsolute(relative));
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
+
function isSafeSkillId(skillId) {
|
|
38
|
+
return typeof skillId === 'string' && /^[a-z0-9]+(?:-[a-z0-9]+)*$/.test(skillId);
|
|
39
|
+
}
|
|
40
|
+
|
|
37
41
|
function readCanonicalSource(projectRoot, sourcePath) {
|
|
38
42
|
if (!sourcePath) {
|
|
39
43
|
throw new Error('Codex agent pointer does not declare a canonical source');
|
|
@@ -329,6 +333,14 @@ function readCodexCatalog(projectRoot = PROJECT_ROOT) {
|
|
|
329
333
|
if (typeof catalog.genericAgentSkillId !== 'string' || !catalog.genericAgentSkillId.trim()) {
|
|
330
334
|
throw new Error('Codex catalog does not declare genericAgentSkillId');
|
|
331
335
|
}
|
|
336
|
+
const catalogSkillIds = [
|
|
337
|
+
...catalog.expectedSkillIds,
|
|
338
|
+
...catalog.publicAliasSkillIds,
|
|
339
|
+
catalog.genericAgentSkillId,
|
|
340
|
+
];
|
|
341
|
+
if (catalogSkillIds.some((skillId) => !isSafeSkillId(skillId))) {
|
|
342
|
+
throw new Error('Codex catalog contains an unsafe skill ID');
|
|
343
|
+
}
|
|
332
344
|
return catalog;
|
|
333
345
|
}
|
|
334
346
|
|
package/CHANGELOG.md
CHANGED
|
@@ -1,8 +1,17 @@
|
|
|
1
|
-
## [1.
|
|
1
|
+
## [1.27.0](https://github.com/caioimori/sinapse-ai/compare/1.26.0...1.27.0) (2026-07-16)
|
|
2
|
+
|
|
3
|
+
### Features
|
|
4
|
+
|
|
5
|
+
* default install to both providers [Story canonical-install-readme] ([6ba3df1](https://github.com/caioimori/sinapse-ai/commit/6ba3df13dd43c8103bd601758a1f2e96a87738c3))
|
|
2
6
|
|
|
3
7
|
### Bug Fixes
|
|
4
8
|
|
|
5
|
-
*
|
|
9
|
+
* address canonical install review [Story canonical-install-readme] ([191fdc4](https://github.com/caioimori/sinapse-ai/commit/191fdc43aee9e6525dfd636118087eaa311d4709))
|
|
10
|
+
|
|
11
|
+
### Documentation
|
|
12
|
+
|
|
13
|
+
* recommend supported Node LTS [Story canonical-install-readme] ([693e9d0](https://github.com/caioimori/sinapse-ai/commit/693e9d0f9819cd700eae45734da41b055063fa5b))
|
|
14
|
+
* record React Bits release evidence [Story react-bits-distribution-parity] ([6dff59a](https://github.com/caioimori/sinapse-ai/commit/6dff59ab779d79437e8e09a07c5cf3a9ae8e024c))
|
|
6
15
|
|
|
7
16
|
# Changelog
|
|
8
17
|
|