Why Did You Render

by bytesagain

render-debugger by Welldone Software monkey patches React to notify you about potentially avoidab why did you render, javascript, component, hooks-tracking.

3.7k编码与调试未扫描2026年3月23日

安装

claude skill add --url github.com/openclaw/skills/tree/main/skills/bytesagain/render-debugger

文档

Render Debugger

Developer tools CLI for checking, validating, generating, and debugging render performance issues. Lint components for unnecessary re-renders, explain render behavior, convert between profiling formats, generate optimization templates, diff render snapshots, preview component trees, fix render issues, and produce performance reports — all from the command line with persistent local logging.

Commands

Run render-debugger <command> [args] to use.

CommandDescription
checkCheck components for render performance issues
validateValidate render optimization patterns and memo usage
generateGenerate render-optimized component boilerplate
formatFormat render profiling data for readability
lintLint components for unnecessary re-renders and anti-patterns
explainExplain why a component re-rendered and suggest fixes
convertConvert between render profiling data formats
templateApply or manage render optimization templates
diffDiff render snapshots to identify regression
previewPreview component render tree and dependency graph
fixAuto-fix common render performance issues
reportGenerate render performance and optimization reports
statsShow summary statistics across all categories
export <fmt>Export data in json, csv, or txt format
search <term>Search across all logged entries
recentShow recent activity from history log
statusHealth check — version, data dir, disk usage
helpShow help and available commands
versionShow version (v2.0.0)

Each domain command (check, validate, generate, etc.) works in two modes:

  • Without arguments: displays the most recent 20 entries from that category
  • With arguments: logs the input with a timestamp and saves to the category log file

Data Storage

All data is stored locally in ~/.local/share/render-debugger/:

  • Each command creates its own log file (e.g., check.log, validate.log, lint.log)
  • A unified history.log tracks all activity across commands
  • Entries are stored in timestamp|value pipe-delimited format
  • Export supports JSON, CSV, and plain text formats

Requirements

  • Bash 4+ with set -euo pipefail strict mode
  • Standard Unix utilities: date, wc, du, tail, grep, sed, cat
  • No external dependencies or API keys required

When to Use

  1. Debugging slow React renders — use check and lint to identify components that re-render unnecessarily, then explain to understand the root cause
  2. Optimizing component performance — generate memoized component templates with template, apply fixes with fix, and validate optimizations with validate
  3. Profiling render behavior across releases — take render snapshots, use diff to compare before/after, and track regression with report over time
  4. Onboarding team members on render best practices — use explain to break down render cycles in plain language, share template patterns for optimized components
  5. CI/CD render performance gates — integrate lint and check into your pipeline to catch render regressions before they ship, export results with export for dashboards

Examples

bash
# Check a component for render issues
render-debugger check "UserProfile: 12 re-renders in 3s, props unchanged"

# Validate memo usage
render-debugger validate "useMemo deps OK, useCallback stable, React.memo applied"

# Generate optimized component boilerplate
render-debugger generate "MemoizedList: React.memo + useCallback for handlers"

# Lint for anti-patterns
render-debugger lint "inline object in JSX prop — creates new ref every render"

# Explain a re-render
render-debugger explain "Parent state change propagated to Child via context"

# Diff render snapshots
render-debugger diff "before: 45 renders/s, after: 12 renders/s — 73% reduction"

# Fix common issues
render-debugger fix "extracted inline handler to useCallback, wrapped child in memo"

# Preview component tree
render-debugger preview "App → Dashboard → [UserList, StatsPanel, ActivityFeed]"

# Generate performance report
render-debugger report "sprint-22: avg renders reduced 40%, LCP improved 200ms"

# View summary statistics
render-debugger stats

# Export all data as CSV
render-debugger export csv

# Search for specific components
render-debugger search "UserProfile"

# Check recent activity
render-debugger recent

# Health check
render-debugger status

Output

All commands output to stdout. Redirect to a file if needed:

bash
render-debugger report "weekly perf review" > report.txt
render-debugger export json  # saves to ~/.local/share/render-debugger/export.json

Configuration

Set RENDER_DEBUGGER_DIR environment variable to change the data directory. Default: ~/.local/share/render-debugger/


Powered by BytesAgain | bytesagain.com | hello@bytesagain.com

相关 Skills

前端设计

by anthropics

Universal
热门

面向组件、页面、海报和 Web 应用开发,按鲜明视觉方向生成可直接落地的前端代码与高质感 UI,适合做 landing page、Dashboard 或美化现有界面,避开千篇一律的 AI 审美。

想把页面做得既能上线又有设计感,就用前端设计:组件到整站都能产出,难得的是能避开千篇一律的 AI 味。

编码与调试
未扫描109.6k

网页构建器

by anthropics

Universal
热门

面向复杂 claude.ai HTML artifact 开发,快速初始化 React + Tailwind CSS + shadcn/ui 项目并打包为单文件 HTML,适合需要状态管理、路由或多组件交互的页面。

在 claude.ai 里做复杂网页 Artifact 很省心,多组件、状态和路由都能顺手搭起来,React、Tailwind 与 shadcn/ui 组合效率高、成品也更精致。

编码与调试
未扫描109.6k

网页应用测试

by anthropics

Universal
热门

用 Playwright 为本地 Web 应用编写自动化测试,支持启动开发服务器、校验前端交互、排查 UI 异常、抓取截图与浏览器日志,适合调试动态页面和回归验证。

借助 Playwright 一站式验证本地 Web 应用前端功能,调 UI 时还能同步查看日志和截图,定位问题更快。

编码与调试
未扫描109.6k

相关 MCP 服务

GitHub

编辑精选

by GitHub

热门

GitHub 是 MCP 官方参考服务器,让 Claude 直接读写你的代码仓库和 Issues。

这个参考服务器解决了开发者想让 AI 安全访问 GitHub 数据的问题,适合需要自动化代码审查或 Issue 管理的团队。但注意它只是参考实现,生产环境得自己加固安全。

编码与调试
82.9k

by Context7

热门

Context7 是实时拉取最新文档和代码示例的智能助手,让你告别过时资料。

它能解决开发者查找文档时信息滞后的问题,特别适合快速上手新库或跟进更新。不过,依赖外部源可能导致偶尔的数据延迟,建议结合官方文档使用。

编码与调试
51.5k

by tldraw

热门

tldraw 是让 AI 助手直接在无限画布上绘图和协作的 MCP 服务器。

这解决了 AI 只能输出文本、无法视觉化协作的痛点——想象让 Claude 帮你画流程图或白板讨论。最适合需要快速原型设计或头脑风暴的开发者。不过,目前它只是个基础连接器,你得自己搭建画布应用才能发挥全部潜力。

编码与调试
46.2k

评论