This repo contains the source code and documentation powering react.dev.
$ npx -y skills add reactjs/react.dev --agent claude-code
Run the curl in your terminal, the rest in Claude Code.
Repo: reactjs/react.dev
What's inside
This repo contains the source code and documentation powering react.dev.
cd react.dev to go into the project rootyarn to install the website's npm dependenciesyarn dev to start the development server (powered by Next.js)open http://localhost:3000 to open the site in your favorite browserThe documentation is divided into several sections with a different tone and purpose. If you plan to write more than a few sentences, you might find it helpful to get familiar with the contributing guidelines for the appropriate sections.
git checkout main from any folder in your local react.dev repositorygit pull origin main to ensure you have the latest main codegit checkout -b the-name-of-my-branch (replacing the-name-of-my-branch with a suitable name) to create a branchsrc will hot-reloadcontent will hot-reload.cache directory and restart the serveryarn check-all. (This will run Prettier, ESLint and validate types.)git add -A && git commit -m "My message" (replacing My message with a commit message, such as Fix header logo on Android) to stage and commit your changesgit push my-fork-name the-name-of-my-branchIf you are interested in translating react.dev, please see the current translation efforts here.
Content submitted to react.dev is CC-BY-4.0 licensed, as found in the LICENSE-DOCS.md file.
.claude/
agents/
docs-reviewer.md
settings.json
skills/
docs-components/
SKILL.md
docs-rsc-sandpack/
SKILL.md
docs-sandpack/
SKILL.md
docs-voice/
SKILL.md
docs-writer-blog/
SKILL.md
docs-writer-learn/
SKILL.md
docs-writer-reference/
SKILL.md
react-expert/
SKILL.md
review-docs/
SKILL.md
write/
diagrams/
write_flow.svg
SKILL.md
.env.development
.env.production
.eslintignore
.eslintrc
.github/
dependabot.yml
ISSUE_TEMPLATE/
0-bug.yml
1-typo.yml
2-suggestion.yml
3-framework.yml
config.yml
PULL_REQUEST_TEMPLATE.md
workflows/
analyze_comment.yml
analyze.yml
discord_notify.yml
label_core_team_prs.yml
site_lint.yml
.gitignore
.husky/
pre-commit
.prettierignore
.prettierrc
CLAUDE.md
CODE_OF_CONDUCT.md
colors.js
CONTRIBUTING.md
eslint-local-rules/
__tests__/
fixtures/
src/
content/
basic-error.md
duplicate-metadata.md
malformed-metadata.md
mixed-language.md
stale-expected-error.md
suppressed-error.md
lint-markdown-code-blocks.test.js
index.js
package.json
parser.js
rules/
diagnostics.js
lint-markdown-code-blocks.js
markdown.js
metadata.js
react-compiler.js
yarn.lock
LICENSE-DOCS.md
next-env.d.ts
next.config.js
package.json
plugins/
markdownToHtml.js
remark-header-custom-ids.js
remark-smartypants.js
postcss.config.js
public/
.well-known/
atproto-did
android-chrome-192x192.png
android-chrome-384x384.png
android-chrome-512x512.png
apple-touch-icon.png
browserconfig.xml
favicon_old.ico
favicon-16x16.png
favicon-32x32.png
favicon.ico
fonts/
Optimistic_Display_W_Bd.ttf
Optimistic_Display_W_Md.ttf
Source-Code-Pro-Bold.woff2
Source-Code-Pro-Regular.woff2
html/
single-file-example.html
images/
blog/
introducing-react-dev/
home-dark.png
home-light.png
react-foundation/
react_foundation_logo_dark.png
react_foundation_logo_dark.webp
react_foundation_logo.png
react_foundation_logo.webp
react_foundation_member_logos_dark_updated.png
react_foundation_member_logos_dark_updated.webp
react_foundation_member_logos_dark.png
react_foundation_member_logos_dark.webp
react_foundation_member_logos_updated.png
react_foundation_member_logos_updated.webp
react_foundation_member_logos.png
react_foundation_member_logos.webp
react-labs-april-2025/
perf_tracks_dark.png
perf_tracks_dark.webp
perf_tracks.png
perf_tracks.webp
brand/
logo_dark.svg
logo_light.svg
wordmark_dark.svg
wordmark_light.svg
docs/
diagrams/
19_2_batching_after.dark.png
19_2_batching_after.png
19_2_batching_before.dark.png
19_2_batching_before.png
conditional_render_tree.dark.png
conditional_render_tree.png
generic_dependency_tree.dark.png
generic_dependency_tree.png
generic_render_tree.dark.png
generic_render_tree.png
module_dependency_tree.dark.png
module_dependency_tree.png
passing_data_context_close.dark.png
passing_data_context_close.png
passing_data_context_far.dark.png
passing_data_context_far.png
passing_data_lifting_state.dark.png
passing_data_lifting_state.png
passing_data_prop_drilling.dark.png
passing_data_prop_drilling.png
prerender.dark.png
prerender.png
preserving_state_add_component.dark.png
preserving_state_add_component.png
preserving_state_diff_position_p1.dark.png
preserving_state_diff_position_p1.png
preserving_state_diff_position_p2.dark.png
preserving_state_diff_position_p2.png
preserving_state_diff_position_p3.dark.png
preserving_state_diff_position_p3.png
preserving_state_diff_pt1.dark.png
preserving_state_diff_pt1.png
preserving_state_diff_pt2.dark.png
preserving_state_diff_pt2.png
preserving_state_diff_same_pt1.dark.png
preserving_state_diff_same_pt1.png
preserving_state_diff_same_pt2.dark.png
preserving_state_diff_same_pt2.png
preserving_state_dom_tree.dark.png
preserving_state_dom_tree.png
preserving_state_increment.dark.png
preserving_state_increment.png
preserving_state_remove_component.dark.png
preserving_state_remove_component.png
preserving_state_same_component.dark.png
preserving_state_same_component.png
preserving_state_tree.dark.png
preserving_state_tree.png
prewarm.dark.png
prewarm.png
render_tree.dark.png
render_tree.png
responding_to_input_flow.dark.png
responding_to_input_flow.png
sharing_data_child_clicked.dark.png
sharing_data_child_clicked.png
sharing_data_child.dark.png
sharing_data_child.png
sharing_data_parent_clicked.dark.png
sharing_data_parent_clicked.png
sharing_data_parent.dark.png
sharing_data_parent.png
sharing_state_child_clicked.dark.png
sharing_state_child_clicked.png
sharing_state_child.dark.png
sharing_state_child.png
sharing_state_parent_clicked.dark.png
sharing_state_parent_clicked.png
sharing_state_parent.dark.png
sharing_state_parent.png
use_client_module_dependency.dark.png
use_client_module_dependency.png
use_client_render_tree.dark.png
use_client_render_tree.png
writing_jsx_form.dark.png
writing_jsx_form.png
writing_jsx_html.dark.png
writing_jsx_html.png
writing_jsx_js.dark.png
writing_jsx_js.png
writing_jsx_sidebar.dark.png
writing_jsx_sidebar.png
illustrations/
i_browser-paint.png
i_children-prop.png
i_declarative-ui-programming.png
i_imperative-ui-programming.png
i_import-export.svg
i_inputs1.png
i_inputs2.png
i_puritea-recipe.png
i_react-batching.png
i_ref.png
i_render-and-commit1.png
i_render-and-commit2.png
i_render-and-commit3.png
i_render1.png
i_render2.png
i_render3.png
i_rerender1.png
i_rerender2.png
i_rerender3.png
i_state-snapshot1.png
i_state-snapshot2.png
i_state-snapshot3.png
performance-tracks/
changed-props.dark.png
changed-props.png
components-effects.dark.png
components-effects.png
components-render.dark.png
components-render.png
overview.dark.png
overview.png
scheduler-cascading-update.dark.png
scheduler-cascading-update.png
scheduler-update.dark.png
scheduler-update.png
scheduler.dark.png
scheduler.png
server-overview.dark.png
server-overview.png
react-devtools-extension.png
react-devtools-standalone.png
react-devtools-usedebugvalue.png
s_thinking-in-react_ui_outline.png
s_thinking-in-react_ui.png
scientists/
1bX5QH6.jpg
1bX5QH6b.jpg
1bX5QH6s.jpg
2heNQDcm.jpg
3aIiwfm.jpg
5qwVYb1.jpeg
6o5Vuyu.jpg
7vQD0fPb.jpg
7vQD0fPs.jpg
9EAYZrtl.jpg
aeO3rpIl.jpg
AlHTAdDm.jpg
aTtVpES.jpg
bE7W1jis.jpg
dB2LRbj.jpg
DgXHVwul.jpg
FJeJR8M.jpg
HMFmH6m.jpg
IOjWm71s.jpg
jA8hHMpm.jpg
JBbMpWY.jpg
K9HVAGHl.jpg
kxsph5Cl.jpg
lICfvbD.jpg
lrWQx8ls.jpg
MK3eW3Am.jpg
MK3eW3As.jpg
Mx7dA2Y.jpg
mynHUSas.jpg
OKS67lhb.jpg
OKS67lhm.jpg
OKS67lhs.jpg
okTpbHhm.jpg
QIrZWGIs.jpg
QwUKKmF.jpg
RCwLEoQm.jpg
rN7hY6om.jpg
rTqKo46l.jpg
Sd1AgUOm.jpg
szV5sdGb.jpg
szV5sdGs.jpg
wIdGuZwm.png
Y3utgTi.jpg
YfeOqp2b.jpg
YfeOqp2s.jpg
yXOvdOSs.jpg
z08o2TS.jpg
ZF6s192.jpg
ZF6s192m.jpg
ZfQOOzfl.jpg
g_arrow.png
home/
community/
react_conf_elizabet.webp
react_conf_fun.webp
react_conf_hallway.webp
react_conf_nat.webp
react_conf_selfie.webp
react_india_hallway.webp
react_india_selfie.webp
react_india_sunil.webp
react_india_team.webp
conf2019/
alex.jpg
alexandra.jpg
ashley.jpg
becca.jpg
brian.jpg
brittany.jpg
cameron.jpg
cover.svg
frank.jpg
jed.jpg
jenn.jpg
joe.jpg
lee.jpg
lizzie.jpg
luca.jpg
maja.jpg
nat.jpg
sophie.jpg
tae.jpg
tania.jpg
tejas.jpg
tom.jpg
yuzhi.jpg
conf2021/
aakansha.jpg
andrew.jpg
brian.jpg
cover.svg
daishi.jpg
debbie.jpg
delba.jpg
diego.jpg
eric.jpg
helen.jpg
juan.jpg
lauren.jpg
linton.jpg
lyle.jpg
rachel.jpg
rick.jpg
robert.jpg
roman.jpg
sarah.jpg
shaundai.jpg
shruti.jpg
steven.jpg
tafu.jpg
xuan.jpg
videos/
documentary.webp
hooks.jpg
rethinking.jpg
rn.jpg
rsc.jpg
meta-gradient-dark.png
meta-gradient.png
og-blog.png
og-community.png
og-home.png
og-learn.png
og-reference.png
og-unknown.png
team/
acdlite.jpg
eli-white.jpg
gaearon.jpg
gh-aurorascharff.jpg
gh-brentvatne.jpg
gh-captbaritone.jpg
gh-cipolleschi.png
gh-cortinico.jpg
gh-fbmal7.jpg
gh-fkgozali.jpg
gh-huntie.jpg
... 523 moreFAQ
reactdev is a Claude Code plugin with 10 hand-picked skills for documentation work, indexed on Flowy. Install it with the command on its page. It includes docs-components, docs-rsc-sandpack, docs-sandpack. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.