Stacks

Rename a symbol across the repo in SolidJS with Atlas in 2026

Updated 6 min read

Renaming a symbol across your SolidJS repository in 2026 is precise and safe with Atlas, the terminal-native AI coding agent. Atlas leverages the lsp tool to get authoritative references from your language server, grep for non-code occurrences, and edit for mechanical replacements, all while integrating with vitest (@solidjs/testing-library) and prettier for a verified workflow.

How Atlas renames symbols in SolidJS projects

Atlas renames symbols in SolidJS projects by combining 3 powerful tools: lsp, grep, and edit. This hybrid approach ensures that every instance of a function, class, or constant is updated, from its declaration in a .tsx file to its usage in a createSignal or createEffect graph, providing a comprehensive solution in 2026.

When you instruct Atlas to rename a symbol in your SolidJS project, it initiates a multi-stage process for maximum accuracy. First, Atlas utilizes the lsp tool's findReferences operation. This connects to your language server to retrieve the authoritative set of references based on the Abstract Syntax Tree (AST) declarations. This is crucial for SolidJS, as it correctly identifies usages within reactive primitives like createSignal, createMemo, and createEffect, which a simple text search would miss or misinterpret. Following this, Atlas runs grep for the old symbol name. This step is vital for catching occurrences outside the type system, such as comments, documentation strings, or configuration entries in files like vite.config.ts. Finally, the edit tool applies the mechanical renames using replaceAll, ensuring that all identified instances are updated consistently across your SolidJS codebase. The edit tool is designed to refuse ambiguous single replacements, preventing unintended matches from corrupting your code.

Ensuring correctness with SolidJS tests and formatting

Ensuring correctness after renaming a symbol in SolidJS is critical, and Atlas integrates directly with your existing toolchain. After applying changes, Atlas prompts you to run vitest (@solidjs/testing-library) to validate functionality and prettier to maintain code style, ensuring your codebase remains pristine in 2026.

After Atlas performs the mechanical renames, it transitions to a verification phase, deeply integrated with the SolidJS development workflow. Atlas uses the bash tool to execute your project's test suite. Specifically, it will prompt you to run `pnpm vitest` to leverage vitest (@solidjs/testing-library), the standard test runner for SolidJS. This step is paramount for catching any regressions or unexpected side effects introduced by the refactor, especially concerning SolidJS's unique reactivity model where a component body runs exactly once. Once tests pass, Atlas can then run `pnpm prettier --write .` on all touched .tsx files. This ensures that the newly modified code adheres to your project's established formatting standards, maintaining code consistency and readability across your SolidJS application.

Safety and review for SolidJS refactoring with Atlas

Atlas prioritizes safety and transparency when refactoring SolidJS code, offering multiple layers of review before any changes are committed. Every Atlas tool call is permission-gated, and all file edits are presented as a unified diff for your approval, preventing unintended modifications across your project in 2026.

Atlas is built with a strong emphasis on developer control and safety, particularly important for complex refactoring tasks like renaming symbols in SolidJS. Before any tool call, such as lsp, grep, or edit, is executed, it is permission-gated against allow, ask, and deny rules, giving you explicit control over Atlas's actions. Atlas drafts a plan in a read-only plan agent, allowing you to review the proposed steps before it switches to a build agent to make actual modifications. For every file edit, Atlas computes a unified diff and surfaces it for your approval, ensuring you see exactly what changes are being made to your SolidJS .tsx files, vite.config.ts, or any other relevant files. This prevents silent corruption and allows you to roll back edits if necessary, as Atlas snapshots file changes as git patches. The edit tool itself enforces uniqueness, throwing an error if it finds multiple matches for an old string unless you explicitly opt into replaceAll, further safeguarding against unintended broad changes.

Step by step

  1. 01Ask Atlas to rename 'oldSymbolName' to 'newSymbolName' in your SolidJS project, for example, a function, class, or constant.
  2. 02Atlas will use the lsp tool's findReferences operation to get the authoritative callsite list from your SolidJS language server, covering usages in createSignal, createMemo, or createEffect graphs.
  3. 03Atlas will then run grep for 'oldSymbolName' to catch occurrences outside the type system, such as strings, comments, documentation, or configuration in files like vite.config.ts.
  4. 04Review Atlas's drafted plan, which outlines the lsp and grep findings, and approve its transition to the build agent.
  5. 05Atlas will apply the mechanical renames using the edit tool with replaceAll, ensuring unambiguous changes across your SolidJS codebase.
  6. 06Atlas will then prompt you to run `pnpm vitest` to execute tests with @solidjs/testing-library, verifying the refactor did not introduce regressions.
  7. 07After successful tests, Atlas will run `pnpm prettier --write .` on touched .tsx files to maintain consistent formatting.
  8. 08Review the final unified diff of all changes and approve Atlas to stage and create a commit on your behalf.

Frequently asked questions

How does Atlas handle SolidJS reactivity when renaming symbols?
Atlas leverages the lsp tool's deep understanding of your SolidJS codebase, including createSignal, createMemo, and createEffect graphs, to ensure all reactive references are correctly updated during a rename, preserving your application's behavior.
Can Atlas rename a destructured prop in SolidJS without breaking reactivity?
Yes, Atlas is designed to address common SolidJS issues like broken reactivity from destructured props. It uses lsp to understand the AST and ensure correct renaming while preserving reactivity, a common pain point for SolidJS developers.
What SolidJS testing tools does Atlas integrate with for refactoring?
Atlas integrates directly with vitest (@solidjs/testing-library) to run your SolidJS tests, verifying that symbol renames do not introduce regressions and that your components function as expected after the refactor.
How does Atlas ensure all occurrences of a symbol are renamed, even in comments or strings in SolidJS?
Atlas combines lsp for authoritative code references with grep for keyword matching, ensuring that even non-code occurrences like comments, strings, and documentation in your SolidJS project are identified and updated for a comprehensive refactor.
Is it safe to let Atlas modify my SolidJS vite.config.ts file during a rename?
Atlas operates with permission-gated tool calls and presents a unified diff for every proposed change, including to configuration files like vite.config.ts. You always review and approve edits before they are written, maintaining full control.
How does Atlas prevent accidental renames in my SolidJS project?
Atlas's edit tool refuses ambiguous single replacements, throwing an error if multiple matches are found without explicit context. Additionally, all changes are presented as a unified diff for your approval, preventing unintended modifications to your SolidJS codebase.
Can Atlas rename a component in a SolidJS project?
Yes, Atlas can rename SolidJS components, functions, classes, or constants. It uses lsp to find all references in .tsx files and grep for other occurrences, ensuring a complete and accurate refactor across your entire project.

Try Atlas in your terminal

The terminal-native AI coding agent. Free core, single binary.

Install Atlas

Related guides

Rename a Symbol Across the Repo with Atlas in 2026

How to rename a symbol across a repo with Atlas in 2026: findReferences gets the true reference set, grep catches strings and docs, and edit refuses ambiguous matches.

Atlas for SolidJS: A Terminal-Native AI Coding Agent Built on Solid, for Solid, in 2026

Atlas is a terminal-native AI coding agent for SolidJS in 2026. It reads your createSignal and createMemo graph, fixes destructured props that break reactivity, and runs vitest.

Debug a single failing test in SolidJS with Atlas in 2026

Pinpoint and fix a single failing SolidJS test using Atlas. Leverage `vitest (@solidjs/testing-library)` and `pnpm` to efficiently debug reactivity issues in your SolidJS applications.

Upgrade a Dependency and Fix Breakage in SolidJS with Atlas in 2026

SolidJS developers in 2026 can use Atlas to efficiently upgrade major dependencies, automatically fixing compile and test failures. Atlas integrates with pnpm, vitest, and prettier to streamline your workflow.

Diagnose a hanging or long-running command in SolidJS with Atlas in 2026

Pinpoint why your SolidJS builds or scripts are stuck or slow in 2026. Atlas, the terminal-native AI agent, uses its bash tool to diagnose interactive input blocks or genuine performance bottlenecks in your pnpm

Run the test suite and triage failures in SolidJS with Atlas in 2026

Streamline SolidJS test failure triage in 2026 with Atlas. Quickly turn `vitest` output into a prioritized list of distinct root causes, leveraging `pnpm` and `prettier` for efficient debugging and fixes.

Locate where a behavior is implemented in SolidJS with Atlas in 2026

In 2026, SolidJS developers use Atlas to pinpoint exact file and symbol implementations. Leverage semantic search, grep, and LSP for `createSignal` and component behaviors.

Extract a Shared Helper from Duplicated Code in SolidJS with Atlas in 2026

Refactor your SolidJS codebase in 2026 by extracting duplicated logic into a shared helper using Atlas. Leverage pnpm, vitest (@solidjs/testing-library), and prettier for a streamlined workflow.

Browse this resource hub