React is a JavaScript library for building user interfaces. Declarative: React makes it painless to create interactive UIs.
$ npx -y skills add facebook/react --agent claude-code
Run the curl in your terminal, the rest in Claude Code.
Repo: facebook/react
What's inside
React is a JavaScript library for building user interfaces.
Learn how to use React in your project.
React has been designed for gradual adoption from the start, and you can use as little or as much React as you need:
You can find the React documentation on the website.
Check out the Getting Started page for a quick overview.
The documentation is divided into several sections:
You can improve it by sending pull requests to this repository.
We have several examples on the website. Here is the first one to get you started:
import { createRoot } from 'react-dom/client';
function HelloMessage({ name }) {
return <div>Hello {name}</div>;
}
const root = createRoot(document.getElementById('container'));
root.render(<HelloMessage name="Taylor" />);
This example will render "Hello Taylor" into a container on the page.
You'll notice that we used an HTML-like syntax; we call it JSX. JSX is not required to use React, but it makes code more readable, and writing it feels like writing HTML.
The main purpose of this repository is to continue evolving React core, making it faster and easier to use. Development of React happens in the open on GitHub, and we are grateful to the community for contributing bugfixes and improvements. Read below to learn how you can take part in improving React.
Facebook has adopted a Code of Conduct that we expect project participants to adhere to. Please read the full text so that you can understand what actions will and will not be tolerated.
Read our contributing guide to learn about our development process, how to propose bugfixes and improvements, and how to build and test your changes to React.
To help you get your feet wet and get you familiar with our contribution process, we have a list of good first issues that contain bugs that have a relatively limited scope. This is a great place to get started.
React is MIT licensed.
.claude/
instructions.md
settings.json
skills/
extract-errors/
SKILL.md
feature-flags/
SKILL.md
fix/
SKILL.md
flags/
SKILL.md
flow/
SKILL.md
test/
SKILL.md
verify/
SKILL.md
.codesandbox/
ci.json
.editorconfig
.eslintignore
.eslintrc.js
.git-blame-ignore-revs
.gitattributes
.github/
dependabot.yml
ISSUE_TEMPLATE/
bug_report.md
compiler_bug_report.yml
config.yml
devtools_bug_report.yml
PULL_REQUEST_TEMPLATE.md
workflows/
compiler_discord_notify.yml
compiler_playground.yml
compiler_prereleases_manual.yml
compiler_prereleases_nightly.yml
compiler_prereleases.yml
compiler_rust.yml
compiler_typescript.yml
devtools_discord_notify.yml
devtools_regression_tests.yml
runtime_build_and_test.yml
runtime_commit_artifacts.yml
runtime_discord_notify.yml
runtime_eslint_plugin_e2e.yml
runtime_fuzz_tests.yml
runtime_release_from_ci.yml
shared_check_maintainer.yml
shared_cleanup_merged_branch_caches.yml
shared_cleanup_stale_branch_caches.yml
shared_close_direct_sync_branch_prs.yml
shared_label_core_team_prs.yml
shared_lint.yml
shared_stale.yml
.gitignore
.mailmap
.nvmrc
.prettierignore
.prettierrc.js
.watchmanconfig
babel.config-react-compiler.js
babel.config-ts.js
babel.config.js
CHANGELOG.md
CLAUDE.md
CODE_OF_CONDUCT.md
compiler/
.claude/
agents/
analyze-pass-impact.md
compiler-review.md
investigate-error.md
port-pass.md
rules/
commit-convention.md
multi-step-instructions.md
pass-docs.md
plan-docs.md
rust-port.md
settings.json
skills/
compiler-commit/
SKILL.md
compiler-orchestrator/
SKILL.md
compiler-port/
SKILL.md
compiler-review/
SKILL.md
compiler-verify/
SKILL.md
plan-update/
SKILL.md
rust-port-status/
SKILL.md
.eslintrc.js
.gitignore
apps/
playground/
__tests__/
e2e/
__snapshots__/
page.spec.ts/
01-user-output.txt
02-default-output.txt
compilationMode-all-output.txt
compilationMode-infer-output.txt
default-config.txt
function-scope-beats-module-scope-output.txt
module-scope-use-memo-output.txt
module-scope-use-no-memo-output.txt
parse-flow-output.txt
parse-typescript-output.txt
todo-function-scope-does-not-beat-module-scope-output.txt
use-memo-output.txt
use-no-memo-output.txt
page.spec.ts
parseConfigOverrides.test.mjs
.eslintrc.json
.gitignore
.vscode/
extensions.json
app/
layout.tsx
page.tsx
colors.js
components/
AccordionWindow.tsx
Editor/
ConfigEditor.tsx
EditorImpl.tsx
index.tsx
Input.tsx
monacoOptions.ts
Output.tsx
Header.tsx
Icons/
IconChevron.tsx
IconGitHub.tsx
index.ts
Logo.tsx
Message.tsx
StoreContext.tsx
TabbedWindow.tsx
hooks/
index.ts
useMountEffect.ts
lib/
compilation.ts
createContext.ts
defaultStore.ts
reactCompilerMonacoDiagnostics.ts
stores/
index.ts
messages.ts
store.ts
transitionTypes.ts
types.d.ts
next.config.js
package.json
playwright.config.js
postcss.config.js
public/
favicon.ico
fonts/
Source-Code-Pro-Regular.woff2
graphvizlib.wasm
icon-180x180.png
site.webmanifest
vercel.svg
README.md
scripts/
downloadFonts.js
link-compiler.sh
styles/
globals.css
tailwind.config.js
tsconfig.json
vercel.json
yarn.lock
Cargo.lock
Cargo.toml
CHANGELOG.md
CLAUDE.md
crates/
react_compiler/
react_compiler_ast/
Cargo.toml
src/
common.rs
declarations.rs
expressions.rs
jsx.rs
lib.rs
literals.rs
operators.rs
patterns.rs
scope.rs
statements.rs
visitor.rs
tests/
deep_nesting.rs
round_trip.rs
scope_resolution.rs
react_compiler_diagnostics/
Cargo.toml
src/
code_frame.rs
js_string.rs
lib.rs
react_compiler_hir/
Cargo.toml
src/
default_module_type_provider.rs
dominator.rs
environment_config.rs
environment.rs
globals.rs
lib.rs
object_shape.rs
print.rs
reactive.rs
type_config.rs
visitors.rs
react_compiler_inference/
Cargo.toml
src/
align_method_call_scopes.rs
align_object_method_scopes.rs
align_reactive_scopes_to_block_scopes_hir.rs
analyse_functions.rs
build_reactive_scope_terminals_hir.rs
flatten_reactive_loops_hir.rs
flatten_scopes_with_hooks_or_use_hir.rs
infer_mutation_aliasing_effects.rs
infer_mutation_aliasing_ranges.rs
infer_reactive_places.rs
infer_reactive_scope_variables.rs
lib.rs
memoize_fbt_and_macro_operands_in_same_scope.rs
merge_overlapping_reactive_scopes_hir.rs
propagate_scope_dependencies_hir.rs
react_compiler_lowering/
Cargo.toml
src/
build_hir.rs
find_context_identifiers.rs
hir_builder.rs
identifier_loc_index.rs
lib.rs
tests/
unknown_statement_lowering.rs
react_compiler_optimization/
Cargo.toml
src/
constant_propagation.rs
dead_code_elimination.rs
drop_manual_memoization.rs
inline_iifes.rs
lib.rs
merge_consecutive_blocks.rs
name_anonymous_functions.rs
optimize_for_ssr.rs
optimize_props_method_calls.rs
outline_functions.rs
outline_jsx.rs
prune_maybe_throws.rs
prune_unused_labels_hir.rs
react_compiler_reactive_scopes/
Cargo.toml
src/
assert_scope_instructions_within_scopes.rs
assert_well_formed_break_targets.rs
build_reactive_function.rs
codegen_reactive_function.rs
extract_scope_declarations_from_destructuring.rs
lib.rs
merge_reactive_scopes_that_invalidate_together.rs
print_reactive_function.rs
promote_used_temporaries.rs
propagate_early_returns.rs
prune_always_invalidating_scopes.rs
prune_hoisted_contexts.rs
prune_non_escaping_scopes.rs
prune_non_reactive_dependencies.rs
prune_unused_labels.rs
prune_unused_lvalues.rs
prune_unused_scopes.rs
rename_variables.rs
stabilize_block_ids.rs
visitors.rs
react_compiler_ssa/
Cargo.toml
src/
eliminate_redundant_phi.rs
enter_ssa.rs
lib.rs
rewrite_instruction_kinds_based_on_reassignment.rs
react_compiler_typeinference/
Cargo.toml
src/
infer_types.rs
lib.rs
react_compiler_utils/
Cargo.toml
src/
disjoint_set.rs
lib.rs
react_compiler_validation/
Cargo.toml
src/
lib.rs
validate_context_variable_lvalues.rs
validate_exhaustive_dependencies.rs
validate_hooks_usage.rs
validate_locals_not_reassigned_after_render.rs
validate_no_capitalized_calls.rs
validate_no_derived_computations_in_effects.rs
validate_no_freezing_known_mutable_functions.rs
validate_no_jsx_in_try_statement.rs
validate_no_ref_access_in_render.rs
validate_no_set_state_in_effects.rs
validate_no_set_state_in_render.rs
validate_preserved_manual_memoization.rs
validate_static_components.rs
validate_use_memo.rs
Cargo.toml
src/
debug_print.rs
entrypoint/
compile_result.rs
gating.rs
imports.rs
mod.rs
pipeline.rs
plugin_options.rs
program.rs
suppression.rs
validate_source_locations.rs
fixture_utils.rs
lib.rs
timing.rs
TODO.md
docs/
DESIGN_GOALS.md
DEVELOPMENT_GUIDE.md
rust-port/
rust-compiler-workflow-guide.md
rust-port-0001-babel-ast.md
rust-port-0002-scope-types.md
rust-port-0003-testing-infrastructure.md
rust-port-0004-build-hir.md
rust-port-0005-babel-plugin.md
rust-port-architecture.md
rust-port-gap-analysis.md
rust-port-notes.md
rust-port-orchestrator-log.md
rust-port-oxc.md
rust-port-reactive-function.md
rust-port-research.md
fixtures/
.gitkeep
align-method-call-scope-range-sync.js
fbt-scope-range-sync-with-jsx.js
package.json
packages/
babel-plugin-react-compiler/
babel-plugin-react-compiler-rust/
native/
.gitignore
build.rs
Cargo.toml
src/
lib.rs
package.json
src/
BabelPlugin.ts
bridge.ts
index.ts
options.ts
prefilter.ts
scope.ts
tsconfig.json
docs/
passes/
01-lower.md
02-enterSSA.md
03-eliminateRedundantPhi.md
04-constantPropagation.md
05-deadCodeElimination.md
06-inferTypes.md
07-analyseFunctions.md
08-inferMutationAliasingEffects.md
09-inferMutationAliasingRanges.md
10-inferReactivePlaces.md
11-inferReactiveScopeVariables.md
12-rewriteInstructionKindsBasedOnReassignment.md
13-alignMethodCallScopes.md
... 1600 moreShowing a partial view of a very large repo.
FAQ
react is a Claude Code plugin with 14 hand-picked skills for development work, indexed on Flowy. Install it with the command on its page. It includes extract-errors, feature-flags, fix. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.