Microsoft's Flint lets AI agents draw reliable charts, via MCP
An open MIT spec compiling to Vega-Lite, ECharts and Chart.js. Plus: Ruff's defaults jump 7x and break unpinned CI, and llm gains an unlogged-endpoint mode.

Copy markdown
A chart compiler agents can actually drive
Flint hands an LLM a compact, semantic spec — column types plus field-to-channel mappings — and its compiler derives the scales, axes, aggregations, colors and layout, emitting native Vega-Lite, ECharts or Chart.js. It's MIT-licensed, covers 30+ chart types across 70+ semantic types, and just hit the Hacker News front page.
Build this weekend: give your agent a chart tool
Run `npx -y flint-chart-mcp` to drop a Flint MCP server into Claude Code or Cursor, so the agent can create, validate and render charts inside a chat instead of hand-writing brittle Vega-Lite. For app code, `npm install flint-chart` (Node 18+); a Python port is in preview.
Ruff's defaults jump 7x — and can break your CI
Ruff v0.16.0 now enables 413 lint rules by default, up from 59, and adds Markdown formatting. Unpinned pipelines can suddenly fail on the new checks — Simon Willison hit exactly that. Pin your `ruff` version or review the expanded rule set before you upgrade.
llm can hit any OpenAI-compatible endpoint, unlogged
The new `llm openai endpoint` command in the 0.32rc2 release fires one-off prompts at any OpenAI-compatible URL with no configuration and nothing written to your logs — handy for poking a local server or a throwaway key without polluting your prompt history.
Elsewhere: sqlite-utils 4.0 adds real schema migrations
The 4.0 release ships a built-in migration system plus nested transactions, so evolving a SQLite schema no longer means hand-rolled ALTER scripts — useful glue for the small local databases agents love to spin up.