echarts
AGENTS.md67k starsChanged 4 years agoApache-2.0View on GitHub
Apache ECharts is a TypeScript-first charting library. Most runtime code lives in src/, while build scripts, test utilities, and packaging logic live alongside it in dedicated top-level folders. One thing worth knowing early is that this repo is assembled through explicit registration and curated entry files. New runtime code often needs to be connected not only in its local module, but also through public exports or bundle entry files before it becomes part of a user-facing build. When a task…
We split this AGENTS.md into the rules it gives an agent
3 rules. About 0 are common, 2 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈2
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 11
When a task touches contribution workflow, prefer the repo's own contributor-facing documents over this summary:
- Distinctive: line 25
Follow the repo's PR template when opening or updating a pull request.
- Very specific: line 27
If you need to work on linked zrender code, the dev-environment wiki recommends using an absolute symlink at node_modules/zrender instead …
≈ “Common” is an estimate: at least 1 in 5 of the 36,368 AGENTS.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
AGENTS.md
Overview
Apache ECharts is a TypeScript-first charting library. Most runtime code lives in src/, while build scripts, test utilities, and packaging logic live alongside it in dedicated top-level folders.
One thing worth knowing early is that this repo is assembled through explicit registration and curated entry files. New runtime code often needs to be connected not only in its local module, but also through public exports or bundle entry files before it becomes part of a user-facing build.
Contributor Docs
When a task touches contribution workflow, prefer the repo's own contributor-facing documents over this summary:
CONTRIBUTING.mdfor general contribution guidancehttps://github.com/apache/echarts/wiki/How-to-make-a-pull-requestfor PR workflow, test expectations, and git message conventionshttps://github.com/apache/echarts/wiki/How-to-setup-the-dev-environmentfor local setup and zrender-linked developmenthttps://github.com/apache/echarts/wiki/Security-Checklist-for-Code-Contributorsfor security-sensitive API and API-design checks.github/pull_request_template.mdfor PR structure.github/workflows/for CI expectations
This file is only a short orientation note. If there is any conflict, the repo's dedicated contributor docs should win.
A few stable rules from the PR wiki are especially worth keeping in mind:
- In non-release PRs, avoid committing
dist/,i18n/, andssr/client/dist/. - Follow the repo's PR template when opening or updating a pull request.
- Git messages follow the repo convention:
<type>(<scope>): <subject>. close #<issue_id>, with the issue-closing suffix omitted when there is no related issue. - If you need to work on linked
zrendercode, the dev-environment wiki recommends using an absolute symlink atnode_modules/zrenderinstead ofnpm link, because the watch flow depends on that setup. - Be cautious with security-sensitive web APIs such as
innerHTML, arbitrary DOM selectors,eval-like execution, raw style injection, and navigation-related APIs. If a feature must allow that kind of behavior, the security checklist expects clear documentation warnings.
Project Layout
src/: built-in charts, components, coordinate systems, models, renderers, features, themes, and i18n sourcesrc/export/*.ts: public modular export surfacessrc/echarts.all.ts,src/echarts.common.ts,src/echarts.simple.ts,src/echarts.ts: main bundle entry filesextension-src/: separately packaged extensionsssr/client/src/: SSR client sourcebuild/: build, packaging, prepublish, and generation scriptstest/ut/spec/: Jest unit teststest/*.html: browser-based rendering and interaction cases
Source And Generated Files
In general, src/ is the main source of truth for built-in library behavior.
Some top-level files and folders are generated or packaging-oriented:
i18n/*.jsandi18n/*-obj.jsare generated fromsrc/i18n/*.tslib/,types/,extension/,ssr/client/lib/,ssr/client/types/, and rootindex*.jsare produced by the build/prepublish flowdist/contains build output
The top-level theme/*.js files are packaged theme sources rather than normal src/theme/ runtime modules, so they are best treated separately from the generated locale/build artifacts above.
Exports And Entry Files
This repo exposes functionality at a few different layers:
- local runtime modules under
src/ - modular public exports under
src/export/*.ts - bundled entry files under
src/echarts*.ts
Because of that structure, changes to charts, components, renderers, or features sometimes need corresponding updates in exports or entry files to show up in the expected public build.
Testing
The repository uses two main testing styles:
- Jest tests in
test/ut/spec/for logic-heavy behavior such as models, utilities, data transforms, and API behavior - HTML cases in
test/for rendering, layout, interaction, and visual regressions
For local development, npm run dev starts the watch build and opens the test/ directory. New HTML cases can be scaffolded with npm run mktest.
Common Checks
npm run checktypenpm run lintnpm testnpm run test:dts:fastnpm run dev
Style Notes
This repository consistently keeps ASF license headers in source and test files, and the codebase style is stable: single quotes, semicolons, and 4-space indentation are the norm. Small changes that follow nearby patterns tend to fit best here.
Trending
Less talk lately.about the whole repository
Who's talking about apache/echarts
- BlocIoT“An Open Source Custom Widgets to use Apache ECharts on WinCC OA Dashboards”YouTube · Jun 14, 2026 · 495 views
- Ridwan Ilyas“echarts (tools) #Shorts”YouTube · Jun 22, 2026 · 252 views
- GitHub Daily Trend AI Podcast“GitHub - apache/echarts: Apache ECharts is a powerful, interactive charting and data visualizatio...”YouTube · Dec 27, 2024 · 94 views
- Gourcer“apache/echarts - Gource visualisation”YouTube · Dec 27, 2024 · 41 views
- hypertrons/hypertrons-crx“[OSS-GPT] Seeking for GPT-powered docs support for your projects? Just check here!🔥🔥🔥”GitHub · Mar 15, 2023 · 18 reactions
The biggest 5 of 75 mentions linking to the repository that our crawl found. Each line is their own headline.
See all 75
Talked about on GitHub, Stack Overflow, Bluesky, YouTube and Hacker News (75 times).
On GitHub · 42
- Mar 15, 2023[OSS-GPT] Seeking for GPT-powered docs support for your projects? Just check here!🔥🔥🔥 — hypertrons/hypertrons-crx18 reactions · 40 comments
- Sep 4, 2020Add Sparkline component — mui/mui-x18 reactions · 2 comments
- Jun 25, 2024[Epic] Support BigInt type — metabase/metabase9 reactions · 3 comments
- Aug 23, 2024[charts] Generate chart images on the backend / from an HTTP API — mui/mui-x6 reactions · 4 comments
- Aug 4, 2025Support for ECharts v6 in v3.0.4 beta — hustcc/echarts-for-react5 reactions · 8 comments
37 more on GitHub
- Mar 24, 2024Resolve chart labels getting cut off — evidence-dev/evidence4 reactions · 5 comments
- Sep 17, 2022[Proposal] Consolidate chart-rendering to Vega-Lite — opensearch-project/OpenSearch-Dashboards4 reactions · 12 comments
- Apr 21, 2025v8.0 — ecomfe/vue-echarts3 reactions · 7 comments
- Dec 7, 2023VChat option type are broken — ecomfe/vue-echarts3 reactions · 5 comments
- Jul 6, 2022fix(options): add missing `close-issue-reason` option — actions/stale3 reactions · 8 comments
- Jul 2, 2026chore(deps): bump the npm_and_yarn group across 7 directories with 22 updates — CaffeeLake/Olares2 reactions · 2 comments
- Jul 1, 2026chore(deps): bump the npm_and_yarn group across 2 directories with 1 update — CaffeeLake/rsdoctor2 reactions · 1 comment
- Jul 1, 2026Bump echarts from 5.4.3 to 6.1.0 in /frontend — Dustin4444/Repository2 reactions · 8 comments
- Jul 1, 2026Bump echarts from 5.4.1 to 6.1.0 — Dustin4444/defillama-app2 reactions · 4 comments
- Jul 1, 2026build(deps): bump the npm_and_yarn group across 1 directory with 8 updates — CaffeeLake/kestra2 reactions · 2 comments
- Jul 1, 2026chore(deps): bump echarts from 5.6.0 to 6.1.0 in the npm_and_yarn group across 1 directory — CaffeeLake/rsdoctor2 reactions · 2 comments
- Jul 1, 2026chore(deps): bump the npm_and_yarn group across 7 directories with 22 updates — CaffeeLake/Olares2 reactions · 1 comment
- May 28, 2026Bump zrender and echarts — Dustin4444/echarts-gl2 reactions · 4 comments
- May 13, 2026Bump echarts from 5.4.3 to 5.6.0 in /frontend — Dustin4444/Repository2 reactions · 2 comments
- Mar 7, 2026chore(deps): bump echarts from 5.4.0 to 5.6.0 — code-review-benchmark/sentry__sentry-greptile__entelligence__PR5__202603062 reactions · 1 comment
- Sep 18, 2023fix(svg): fix assigning style attribute does not work when CSP is enforced — ecomfe/zrender2 reactions · 1 comment
- Oct 19, 2022Add tslib as dependency — hustcc/echarts-for-react2 reactions · 2 comments
- Dec 15, 2021improve keyframe animation — ecomfe/zrender2 reactions · 1 comment
- Oct 20, 2021feat(ui): Upgrade to Echarts v5 — getsentry/sentry2 reactions · 1 comment
- Sep 16, 2021Investigate if we can tree shake Echarts more — mempool/mempool2 reactions · 1 comment
- Jul 2, 2021fix(plugin-chart-echarts): enable animation to clear old nodes — apache-superset/superset-ui2 reactions · 3 comments
- Oct 2, 2026[Workspace RFC] Pluggable chart renderers, configurable library selection, and optional commercial licensing — openbq-org/OpenBB1 reaction · 2 comments
- Sep 30, 2026build(deps): bump the npm_and_yarn group across 1 directory with 10 updates — jratdish1/Vibe-Trading1 reaction
- Sep 20, 2026build(deps): bump echarts from 5.6.0 to 6.1.0 in /frontend — Yogdunana/StarByte1 reaction
- Aug 28, 2026chore(deps): bump echarts from 5.5.0 to 6.1.0 — Charleyli925/Stemmio1 reaction · 30 comments
- Aug 14, 2026fix(sdk): ignore stale ECharts tooltip errors — getsentry/sentry1 reaction · 1 comment
- Jul 30, 2026Bump the npm_and_yarn group across 1 directory with 8 updates — e2b-dev/ai-analyst1 reaction · 1 comment
- Jul 1, 2026chore(deps): bump echarts from 6.0.0 to 6.1.0 — module-federation/core1 reaction · 5 comments
- Jul 1, 2026chore(deps): Bump echarts and vue-echarts in /frontend — Lincoln-cn/JAiRouter1 reaction · 1 comment
- Jul 1, 2026chore(deps): bump echarts from 6.0.0 to 6.1.0 in /admin — grtsinry43/grtblog1 reaction · 1 comment
- Mar 1, 2026[deps] Bump echarts from 5.6.0 to 6.0.0 — openwisp/netjsongraph.js1 reaction
- Mar 24, 2025[BUG] Candlesticks overlap when zoomed out — plotters-rs/plotters1 reaction
- Dec 5, 2024echarts import didn't work unless I did something different — xieziyu/ngx-echarts1 reaction · 6 comments
- Jun 20, 2024Support ESM like ECharts v5.5 — ecomfe/echarts-liquidfill1 reaction · 2 comments
- Mar 12, 2024Refactor tooltip logic to fix CSP inline styles — undeletable/echarts-tree-tooltip-csp-example1 reaction · 4 comments
- Dec 26, 2023This is a really fascinating feature and this PR is well-written! Thanks for your contribution. I like this feature but just want to make sure, can you give me a real world usage for this feature. #19020 is a good case but it only uses this feature when one bar is highlighted so it may not be convin — Wily96/skills-introduction-to-github1 reaction · 1 comment
- Oct 12, 2023doc: add brush support for line series — apache/echarts-doc1 reaction
On Stack Overflow · 20
- Jan 26, 2022Need a way to set custom axisLabel & axisTick on the apache echarts4 votes
- May 5, 2023Apache ECharts not hiding axis pointer when programmatically hiding tooltip3 votes
- Nov 17, 2021echarts - Ability to add texture stripes on map3 votes
- Jun 9, 2023Echarts - On click zoom the selected cell in a heatmap2 votes
- May 26, 2023How to use Echarts render hierarchical data (multiple xAxis)2 votes
15 more on Stack Overflow
- Jul 11, 2025Cannot read properties of undefined (reading 'getBaseAxis')1 vote
- May 23, 2024How can i get labelLayout position Inside or Outside based on label overlapping in echarts - PieChart1 vote
- Mar 19, 2024Problem generating pie charts in Vue (ECharts)1 vote
- Jan 20, 2022Show tooltip in ECharts given all input values null1 vote
- Dec 26, 2021How I can change the label format on echarts4r bar?1 vote
- Apr 8, 2024Get only items data of the hovered bars stack in the tooltip ( formatter )0 votes · 1 answer
- Aug 1, 2023Apply colour to filled area in line chart matching line colour with visualMap0 votes · 1 answer
- Mar 15, 2023How can I overwrite Echarts month abbreviation / locales0 votes · 1 answer
- Mar 10, 2023Echarts: How to order Stack bar chart by xaxis group0 votes · 1 answer
- Mar 7, 2023Apache Echart: set axis label interval when both axis are type 'value'0 votes
- Jan 11, 2023Set interval in axisTick when use method in echarts0 votes
- Apr 11, 2022How to import forked echart0 votes
- Oct 27, 2021Echarts DataZoom make height bigger0 votes · 1 answer
- Sep 6, 2021NgxEchartsModule: tooltip can't be used to index type 'TopLevelFormatterParams'0 votes
- May 5, 2021echarts - Ability to add texture stripes on map0 votes · 2 answers
On Bluesky · 8
- Apr 9, 2025🎉 Celebrating! 🎉 (500+ new stars) 📦 apache / echarts ⭐ 62,948 (+620) 🗒 TypeScript Apache ECharts is a powerful, interactive charting… — @github-trending-js.bsky.social6 likes and reposts · 1 reply
- Feb 25, 2024📦 apache / echarts ⭐ 58,210 (+33) 🗒 TypeScript Apache ECharts is a powerful, interactive charting and data visualization library for… — @github-trending-js.bsky.social3 likes and reposts
- Dec 26, 2024📦 apache / echarts ⭐ 61,081 (+61) 🗒 TypeScript Apache ECharts is a powerful, interactive charting and data visualization library for… — @github-trending-js.bsky.social2 likes and reposts
- Dec 26, 2024📦 apache / echarts ⭐ 61,028 (+15) 🗒 TypeScript Apache ECharts is a powerful, interactive charting and data visualization library for… — @github-trending.bsky.social2 likes and reposts
- Feb 24, 2024📦 apache / echarts ⭐ 58,148 (+30) 🗒 TypeScript Apache ECharts is a powerful, interactive charting and data visualization library for… — @github-trending.bsky.social2 likes and reposts
3 more on Bluesky
- Feb 15, 2025https://github.com/apache/echarts — @tom-doerr.bsky.social1 likes and repost
- Feb 19, 2024javascript(typescript)のグラフ描画ライブラリ。グラフの種類がメチャクチャ豊富。ブラウザでアニメーションやインタラクティブな動作も可能。とても良さそう。 — @matsuu.bsky.social1 likes and repost
- May 15, 2023📦 apache / echarts ⭐ 55,146 (+10) 🗒 TypeScript Apache ECharts is a powerful, interactive charting and data visualization library for… — @github-trending-js.bsky.social1 likes and repost · 1 reply
On YouTube · 4
- Jun 14, 2026An Open Source Custom Widgets to use Apache ECharts on WinCC OA Dashboards — BlocIoT495 views · 2 comments
- Jun 22, 2026echarts (tools) #Shorts — Ridwan Ilyas252 views
- Dec 27, 2024GitHub - apache/echarts: Apache ECharts is a powerful, interactive charting and data visualizatio... — GitHub Daily Trend AI Podcast94 views
- Dec 27, 2024apache/echarts - Gource visualisation — Gourcer41 views
On Hacker News · 1
- Oct 11, 2021A powerful, interactive, and well documented data visualization library2 points
Where files are headingNew AGENTS.md files have more rules about keeping secrets out of the code, and fewer about code style.
Of the AGENTS.md files we read, the 28,693 first seen in the last six months, against the older ones: the kind of rule that gained most share, and the kind that lost most. About files like this in general, not this one, and an estimate, since a kind is a pattern in the words.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

