Atlas helps Fastify developers in 2026 produce accurate, up-to-date README documentation for modules by directly reading source code, enumerating public APIs with `lsp`, and verifying code samples using `bash` and `node:test (fastify.inject)` for real-world usage, ensuring the documentation reflects the current state of the Fastify application, not outdated assumptions.
How Atlas discovers Fastify module APIs for documentation?
Atlas discovers Fastify module APIs for documentation by leveraging its `lsp` tool's `documentSymbol` operation, which in 2026, precisely enumerates all exported symbols from your `fastify.js` or `app.ts` plugins. This ensures that every public interface, including decorators and plugin contexts, is captured directly from the source code, preventing any omissions or invented APIs.
When documenting a Fastify module, Atlas begins by invoking the `lsp` tool with the `documentSymbol` operation. This capability allows Atlas to perform a deep, AST-based analysis of your Fastify plugin files, such as `my-plugin.js` or `routes/user.ts`. Unlike simple line-based scanning, Atlas uses tree-sitter to parse the code, understanding the true structure of declarations, including Fastify's specific plugin encapsulation contexts and any custom decorators you've added. This process guarantees that Atlas identifies the complete public API surface of your module, ensuring that no exported function, object, or route definition is overlooked. For instance, if your Fastify plugin exports a utility function or registers a custom decorator, `lsp` will accurately list these, providing a foundational, verified inventory for the README generation. This method is crucial for Fastify applications where the public interface might involve more than just route handlers, encompassing a rich ecosystem of plugins and decorators.
How Atlas ensures Fastify documentation reflects actual code usage?
Atlas ensures Fastify documentation reflects actual code usage by employing its `read` tool to analyze the implementation of each API export and then using `codebase_search` to find real-world invocations within your project. This dual approach, critical in 2026, guarantees that the documentation describes what the code *actually* does, not just what its initial design intended a year ago.
After enumerating the public API of a Fastify module, Atlas proceeds to understand its behavior. It uses the `read` tool to ingest the source code of each identified export. This provides a direct understanding of the function's logic, parameters, and return types. To further enrich this understanding and ensure the documentation is practical and current, Atlas then utilizes `codebase_search`. This powerful tool, which fuses hybrid semantic and keyword retrieval with reciprocal rank fusion, scans your entire codebase to find concrete examples of how these Fastify APIs are called in practice. For instance, if a Fastify plugin exposes a `getUser` method, `codebase_search` will locate all instances of `fastify.getUser()` or `reply.send(fastify.getUser())` within your `app.ts` or test files. This allows Atlas to infer common usage patterns, typical input values, and expected outputs, which are invaluable for writing accurate and relevant documentation. This step is particularly important for Fastify, where plugin interactions and decorator usage can evolve over time, making real-world usage patterns the most reliable source for current documentation.
How Atlas writes and verifies Fastify READMEs?
Atlas writes Fastify READMEs by first using `grep` to identify existing documentation patterns, then employing its `write` tool to draft the content, quoting real signatures and file paths. Crucially, every code sample within the generated README is verified by running it with `bash` and `node --test` using `fastify.inject()`, ensuring 100% accuracy in 2026.
To maintain consistency across your project, Atlas first uses the `grep` tool to search for any existing `README.md` files within your repository. This helps Atlas understand the preferred heading structure, tone, and general formatting conventions, ensuring the new documentation integrates direct. Once the structure is established, Atlas employs its `write` tool to generate the README content. This generation is informed by the API enumeration and usage analysis, allowing Atlas to include real Fastify code signatures, actual file paths like `plugins/my-auth.js`, and concrete examples. A critical safety feature is the verification of all code samples. Before the README is finalized, Atlas uses the `bash` tool to execute every code snippet presented in the documentation. For Fastify-specific examples, this often involves running `node --test` commands that utilize `fastify.inject()` to simulate HTTP requests and verify the plugin's behavior. This rigorous verification process ensures that every code sample is runnable and accurately reflects the current state of your Fastify application, eliminating the common problem of outdated or broken examples. After the documentation is drafted and verified, Atlas can also run `prettier` on the touched files, ensuring formatting consistency.
How Atlas ensures safety and review for Fastify documentation changes?
Atlas ensures safety and facilitates review for Fastify documentation changes through a multi-stage process, starting with a read-only plan agent and presenting a unified diff for every file edit. In 2026, every Atlas tool call is permission-gated, and all proposed changes, including new `README.md` files or updates to `fastify.js` plugins, require explicit approval before being written to disk.
The safety and review mechanisms within Atlas are designed to give Fastify developers complete control over documentation changes. Before any modifications are made, Atlas drafts a comprehensive plan in a read-only plan agent. This plan outlines the steps Atlas intends to take, such as enumerating APIs, reading code, and writing the `README.md`. The developer is prompted to review and approve this plan before Atlas proceeds to the build agent. Furthermore, every single tool call made by Atlas, including `lsp`, `read`, `write`, and `bash`, is permission-gated against allow, ask, and deny rules. This means Atlas will explicitly ask for permission before executing potentially impactful operations, such as running `node --test` or writing to a file. When Atlas proposes to write or modify a file, it computes a unified diff for every change, surfacing it for developer approval. This allows Fastify developers to meticulously review exactly what will be changed in their `plugins/` directory or `README.md` files. Atlas also reads `git` branches, status, and diffs, and can stage and create commits on your behalf, streamlining the integration of approved documentation updates into your version control system. This robust review process ensures that all documentation changes are intentional, accurate, and align with the project's standards.
Step by step
- 01Initialize Atlas in your Fastify project by running `atlas` in a directory containing your `fastify.js` or `app.ts` file that registers plugins.
- 02Instruct Atlas to enumerate your Fastify module's public API using the `lsp` tool's `documentSymbol` operation, ensuring all plugin encapsulation contexts and decorators are identified.
- 03Allow Atlas to `read` the implementation of each Fastify export and use `codebase_search` to find how `fastify.inject()` or other calls actually use it in your test files.
- 04Approve Atlas's plan to `grep` your repository for an existing `README.md` to match its heading structure and tone, ensuring consistency with your Fastify project's documentation.
- 05Review the proposed `README.md` content drafted by Atlas using the `write` tool, which will quote real Fastify signatures and file paths like `routes/my-service.js`.
- 06Grant permission for Atlas to `bash` execute every code sample in the generated documentation, including `node --test` commands that leverage `fastify.inject()` for verification.
- 07Approve the unified diff presented by Atlas for the new or updated `README.md` file.
- 08Let Atlas run `prettier` on the newly generated `README.md` to ensure it conforms to your project's formatting standards.
Frequently asked questions
- How does Atlas ensure Fastify documentation is up-to-date?
- Atlas ensures Fastify documentation is current by reading the live source code of your `fastify.js` or `app.ts` plugins, enumerating APIs with `lsp`, and verifying all code samples by executing them with `bash` and `node:test (fastify.inject)`.
- Can Atlas document Fastify plugin decorators and encapsulation contexts?
- Yes, Atlas uses AST-based indexing via tree-sitter and the `lsp` tool's `documentSymbol` operation to accurately identify and document Fastify plugin encapsulation contexts and custom decorators.
- What Fastify tools does Atlas integrate with for documentation?
- Atlas integrates directly with core Fastify development tools, using `node:test (fastify.inject)` for testing code samples, `npm` for package management context, and `prettier` for formatting generated documentation.
- How does Atlas verify code examples in a Fastify README?
- Atlas verifies Fastify code examples by using the `bash` tool to execute each snippet. For Fastify-specific examples, this often involves running `node --test` commands that leverage `fastify.inject()` to confirm functionality.
- Is it safe to let Atlas modify my Fastify project's documentation?
- Yes, Atlas prioritizes safety. It operates with a read-only plan agent, uses permission-gated tools, and presents a unified diff for every proposed change to your Fastify `README.md` or source files, requiring explicit approval.
- Can Atlas match my existing Fastify project's README style?
- Yes, Atlas uses the `grep` tool to search for existing `README.md` files in your Fastify project. It then analyzes their heading structure and tone to generate new documentation that matches your established style.
- How does Atlas find actual usage of my Fastify module's exports?
- Atlas employs `codebase_search`, which combines semantic and keyword retrieval, to scan your Fastify project for real-world invocations of your module's exports, such as `fastify.myPluginMethod()` calls in `app.ts` or test files.
Try Atlas in your terminal
The terminal-native AI coding agent. Free core, single binary.
Install AtlasRelated guides
Document a Module with a README Using Atlas (2026 Workflow)
How to document a module with a README using Atlas in 2026: the lsp tool's documentSymbol enumerates the real exports, read supplies the behavior, write emits the README.
Atlas for Fastify in 2026
Atlas is a terminal-native AI coding agent for Fastify in 2026. It reads plugin encapsulation and JSON schemas, then runs node --test behind a permission prompt.
Research a Third-Party API Before Integrating it in Fastify with Atlas in 2026
Streamline Fastify API integrations in 2026 with Atlas. Research external APIs, fetch documentation, and generate Fastify-specific code, all while adhering to `node:test (fastify.inject)` and `prettier` conventions for
Trace a runtime bug from a stack trace in Fastify with Atlas in 2026
Fastify developers in 2026 use Atlas to trace runtime bugs from production stack traces. Pinpoint the exact line, understand context, and apply fixes with `npm` and `node:test`.
Diagnose a Hanging or Long-Running Command in Fastify with Atlas in 2026
Quickly diagnose hanging or slow Fastify commands with Atlas. Learn how Atlas identifies blocked input, uses `npm` and `node:test (fastify.inject)` to get your builds unstuck in 2026.
Run Atlas Headless in CI for Fastify Applications in 2026
Automate Fastify application development in CI pipelines with Atlas. Learn to run Atlas headless, integrate with `npm` and `node:test (fastify.inject)`, and get machine-readable output for your Fastify projects.
Review a Pull Request in Fastify with Atlas in 2026
In 2026, Fastify developers use Atlas to review pull requests, catching subtle bugs beyond line-by-line diffs. Leverage `node:test (fastify.inject)`, `npm`, and `prettier` for comprehensive code quality.
Run the Test Suite and Triage Failures in Fastify with Atlas in 2026
Fastify developers in 2026 use Atlas to efficiently run their `node:test` suites, capture full output, and triage failures into a prioritized list of distinct root causes. Streamline your debugging workflow.