# Refactron > Safety-first refactoring for Python and TypeScript — deterministic AST transforms verified before any byte is written. ## Docs - [Changelog](https://docs.refactron.dev/changelog.md): Release history for Refactron — newest first. - [CLI Reference](https://docs.refactron.dev/cli/reference.md): Every Refactron command, flag, and exit code. - [Safety Model](https://docs.refactron.dev/concepts/safety-model.md): Three verification gates run before any byte hits your filesystem. Atomic batch writes guarantee all-or-nothing. - [Why No LLM](https://docs.refactron.dev/concepts/why-no-llm.md): Refactron is the only modern refactoring tool where AI never touches your code. This is on purpose. - [Configuration](https://docs.refactron.dev/configuration.md): Configure Refactron via .refactronrc.json. - [.refactronrc.json](https://docs.refactron.dev/configuration/refactronrc.md): Project-level configuration file. CLI flags always override values here. - [FAQ](https://docs.refactron.dev/faq.md): Frequently-asked questions about Refactron — what it is, what it isn't, and why. - [Overview](https://docs.refactron.dev/overview.md): Refactron finds legacy patterns in your Python and TypeScript code, refactors them deterministically, and proves nothing broke before writing a single byte. - [Quickstart](https://docs.refactron.dev/quickstart.md): Install Refactron and run your first verified refactor in 60 seconds. - [callback_to_async_await](https://docs.refactron.dev/transforms/callback-to-async-await.md): Convert trailing-callback Python functions into async functions that return the result. - [class_to_dataclass](https://docs.refactron.dev/transforms/class-to-dataclass.md): Promote pure data-holder classes (trivial __init__) to @dataclass. - [commonjs_to_esm](https://docs.refactron.dev/transforms/commonjs-to-esm.md): Migrate CommonJS require / module.exports to ES module import / export. - [datetime_utc_alias](https://docs.refactron.dev/transforms/datetime-utc-alias.md): Rewrite datetime.timezone.utc to the shorter datetime.UTC alias (Python 3.11+). - [deprecated_api_requests_to_httpx](https://docs.refactron.dev/transforms/deprecated-api-requests-to-httpx.md): Migrate Python's requests library to the modern httpx equivalent. - [format_to_fstring](https://docs.refactron.dev/transforms/format-to-fstring.md): Convert old-style %-formatting and .format() calls into f-strings. - [implicit_any](https://docs.refactron.dev/transforms/implicit-any.md): Annotate untyped parameters when call-site inference yields a single primitive. - [Transforms](https://docs.refactron.dev/transforms/index.md): The twenty verified transforms shipped in Refactron 0.2 — eleven for Python, nine for TypeScript. - [indexof_to_includes](https://docs.refactron.dev/transforms/indexof-to-includes.md): Replace the indexOf(...) !== -1 contains-check idiom with .includes(...). - [lru_cache_to_cache](https://docs.refactron.dev/transforms/lru-cache-to-cache.md): Replace @functools.lru_cache(maxsize=None) with the simpler @functools.cache on Python 3.9+. - [manual_typecheck_to_hints](https://docs.refactron.dev/transforms/manual-typecheck-to-hints.md): Promote isinstance-chain dispatch into a Union[...] type annotation on the parameter. - [object_assign_to_spread](https://docs.refactron.dev/transforms/object-assign-to-spread.md): Rewrite Object.assign({}, a, b) to the spread object literal { ...a, ...b } (ES2018+). - [pep585_generics](https://docs.refactron.dev/transforms/pep585-generics.md): Rewrite typing.List / Dict / Tuple / etc. to the built-in lowercase generics (PEP 585). - [pep604_optional_union](https://docs.refactron.dev/transforms/pep604-optional-union.md): Rewrite Optional[X] to X | None and Union[A, B] to A | B (PEP 604). - [promise_chains_to_async](https://docs.refactron.dev/transforms/promise-chains-to-async.md): Convert .then() chains into async/await with named bindings per stage. - [promise_constructor_to_async](https://docs.refactron.dev/transforms/promise-constructor-to-async.md): Replace new Promise((resolve) => resolve(value)) with an async function returning the value. - [string_concat_to_template_literal](https://docs.refactron.dev/transforms/string-concat-to-template-literal.md): Convert "Hello " + name + "!" style concatenations to template literals (ES2015+). - [super_no_args](https://docs.refactron.dev/transforms/super-no-args.md): Drop the redundant class and self arguments from explicit super() calls. - [var_to_const_let](https://docs.refactron.dev/transforms/var-to-const-let.md): Replace var declarations with const (or let if reassigned) per binding. - [vue_set_delete_to_assignment](https://docs.refactron.dev/transforms/vue-set-delete-to-assignment.md): Replace Vue.set / Vue.delete (and this.$set / this.$delete) with plain assignment / delete (Vue 3). - [yield_from_for_loop](https://docs.refactron.dev/transforms/yield-from-for-loop.md): Replace the trivial for-x-in-y / yield-x loop with yield from y. ## OpenAPI Specs - [openapi](https://docs.refactron.dev/api-reference/openapi.json)