-
Notifications
You must be signed in to change notification settings - Fork 137
Expand file tree
/
Copy pathcontext7.json
More file actions
35 lines (35 loc) · 2.29 KB
/
context7.json
File metadata and controls
35 lines (35 loc) · 2.29 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
{
"projectTitle": "Semiotic",
"description": "React data visualization library — HOC charts (XY, ordinal, network, geo, realtime), Stream Frames, push API, theming, and an AI/MCP surface for agent-driven chart authoring.",
"folders": [
"CLAUDE.md",
"README.md",
"CHANGELOG.md",
"docs/public/llms-full.txt",
"docs/src/pages/charts",
"ai"
],
"excludeFolders": [
"**/dist",
"**/build",
"**/node_modules",
"**/.parcel-cache",
"**/test-results",
"integration-tests/*-snapshots"
],
"excludeFiles": [
"*.test.tsx",
"*.test.ts",
"*.spec.ts"
],
"rules": [
"Import from sub-paths (`semiotic/xy`, `/ordinal`, `/network`, `/geo`, `/realtime`, `/server`, `/utils`, `/themes`, `/data`, `/ai`, `/recipes`, `/value`), never bare `semiotic` — bare pulls the full 158KB-gz bundle.",
"Default to HOC charts (LineChart, BarChart, Scatterplot, ForceDirectedGraph) over Stream Frames unless the HOC doesn't expose what you need. Stream Frames pass `RealtimeNode`/`RealtimeEdge` wrappers in callbacks, not raw data.",
"Push-mode charts: omit the `data` prop entirely. Never pass `data={[]}` — that is static empty data and clears the frame on every render. Use a ref and call `ref.current.push(datum)` / `pushMany(rows)` / `clear()`.",
"`remove(id)` and `update(id, updater)` require an ID accessor: `pointIdAccessor` on XY/realtime charts, `dataIdAccessor` on ordinal charts, `nodeIDAccessor`/`edgeIdAccessor` for network operations.",
"Categorical color precedence with `colorBy`: `CategoryColorProvider`/`LinkedCharts` map > explicit `colorScheme` > `ThemeProvider` categorical > fallback. Wrap charts in `CategoryColorProvider` for cross-chart color consistency.",
"Geo imports must come from `semiotic/geo`, never bare `semiotic`, to avoid pulling d3-geo into non-geo bundles.",
"Required prop combos: `StackedAreaChart` needs `areaBy`; `BubbleChart` `sizeBy`; `StackedBarChart` `stackBy`; `GroupedBarChart` `groupBy`; `SwimlaneChart` `subcategoryAccessor`; `ForceDirectedGraph` `nodes`+`edges`. Push mode preserves these.",
"`semiotic/server` (`renderChart`, `renderToImage`, `renderToAnimatedGif`) produces static SVG/PNG snapshots and cannot ingest pushed data. For live/streaming behavior return React HOC code with a ref instead."
]
}