# Automate GitHub Issue and Pull Request Triage in Three.js with Atlas in 2026

> Atlas automates GitHub issue and pull request triage for Three.js projects, ensuring safe and trusted responses within your existing `npm` and `vitest` toolchain.

Atlas, the terminal-native AI coding agent, automates GitHub issue and pull request triage for Three.js projects by integrating directly into your GitHub workflows, ensuring responses are safe and only from trusted users. It leverages your existing `npm` package manager, `vitest` test runner, and `prettier` formatter to maintain code quality.

## Key takeaways

- Atlas automates GitHub issue and pull request triage specifically for Three.js projects.
- It integrates with your existing `npm`, `vitest`, and `prettier` Three.js toolchain.
- Atlas ensures safety by checking user permissions and requiring explicit mentions for runs.
- It intelligently indexes Three.js scene graphs and GLSL shaders using AST for deep understanding.
- Atlas can automatically add `dispose()` calls for Three.js geometries, materials, and textures.
- Context overflow in large Three.js files is explicitly handled and reported by Atlas.

## How to Wire Atlas into a Three.js GitHub Workflow

Integrating Atlas into your Three.js GitHub workflow in 2026 is straightforward, requiring just a few key inputs to the `atlas github` command. This command acts as a first-class entrypoint, validating its environment and refusing to run if essential parameters like the `MODEL` or `PROMPT` are incorrect.

To automate issue and pull request triage for your Three.js project, you'll configure a GitHub Actions workflow that invokes the `atlas github` command. This command is designed to read its necessary inputs directly from the Actions environment. You must specify the `MODEL` in `provider/model` form, for example, `ollama/llama3`, ensuring Atlas knows which AI model to use. Additionally, for event types that require a prompt, the `PROMPT` input must be provided; otherwise, the handler will fail with a clear message like 'PROMPT input is required for <event> events.' Atlas uses its `bash` tool to execute these commands within the workflow, allowing it to interact with your Three.js codebase, which is identified by its `package.json` dependency on `three`.

## Ensuring Safety and Trust for Three.js Triage with Atlas

Atlas prioritizes safety and trust in your Three.js project's automated triage, ensuring that only authorized users can trigger its operations. In 2026, Atlas rigorously checks the triggering actor's permissions, refusing to proceed if they lack admin or write access, and requires explicit mentions to prevent accidental runs.

For any automated action on your Three.js codebase, Atlas implements strict safety protocols. Before executing any triage tasks, Atlas verifies the GitHub actor's collaborator permission, refusing to run if the user does not possess `admin` or `write` access to the repository. This prevents unauthorized modifications or responses. Furthermore, to avoid unintended activations from stray comments, the Atlas handler enforces that comments must explicitly mention the configured trigger. Every Atlas tool call, including those using `read` to inspect Three.js files like `src/scene.js` or `src/materials.js`, is permission-gated against `allow`, `ask`, and `deny` rules, providing an additional layer of control and transparency. This ensures that all automated interactions with your Three.js project are both intentional and secure.

## Handling Three.js Code Context and Performance with Atlas

Atlas efficiently manages the complex context of Three.js codebases, indexing scene graphs and GLSL shaders to provide accurate triage responses. In 2026, it explicitly catches `ContextOverflowError` to prevent failures, re-throwing it as a user-friendly message listing the offending files, ensuring robust operation even with large projects.

Three.js projects often involve intricate scene graphs, materials, and inline GLSL shader strings, which can be challenging for AI agents to process. Atlas addresses this by building its code index using AST declarations via tree-sitter, rather than relying on blind line windows. This allows Atlas to understand the structure of your Three.js files, such as `src/scene.js` or `src/shaders/basic.glsl`, and their dependencies. When processing large contexts, Atlas explicitly catches `ContextOverflowError` by name. Instead of crashing, it re-throws this as a 'prompt-too-large' message, clearly listing the files that caused the overflow. This proactive context management, combined with tools like `grep` for targeted searches and `edit` for precise modifications, ensures Atlas can effectively triage issues and pull requests without being overwhelmed by the scale of a typical Three.js application.

## Automating Three.js Code Improvements with Atlas

Atlas can automate critical code improvements in Three.js projects, such as adding `dispose()` paths for GPU resources and optimizing object allocations. After making these changes, Atlas can run `vitest` behind a permission prompt and then `prettier` the diff, ensuring code quality and correctness in 2026.

Beyond triage, Atlas can directly improve your Three.js codebase. It can analyze your scene graph setup, render loop, materials, and textures to identify potential memory leaks. For instance, Atlas can be instructed to add `dispose()` paths for `geometry`, `material`, and `texture` instances, ensuring that unmounting a Three.js scene properly releases GPU memory. It can also optimize performance by moving per-frame object allocations, such as `new THREE.Vector3()`, out of the `requestAnimationFrame` loop into reusable instances. After Atlas drafts these changes, it computes a unified diff for every file edit and surfaces it for approval. Before writing, Atlas can run your `vitest` test suite, prompting for permission, to verify the changes haven't introduced regressions. Finally, it can automatically format the modified files using `prettier`, ensuring your Three.js code adheres to your project's style guidelines, all within the same automated workflow.

## Steps

1. Configure your GitHub Actions workflow YAML to invoke the `atlas github` command, ensuring your `package.json` lists `three` as a dependency.
2. Set the `MODEL` input in your workflow to a valid `provider/model` string, such as `ollama/llama3`, for Atlas to use its AI capabilities.
3. Provide the `PROMPT` input for specific event types that require it, detailing the desired Atlas response for Three.js issues or pull requests.
4. Ensure the workflow is configured to only run for trusted users with `admin` or `write` permissions, as Atlas will verify the actor's collaborator status.
5. Require a mention in comments to trigger Atlas, preventing accidental runs and ensuring intentional engagement with your Three.js project.
6. Allow Atlas to read your Three.js scene graph setup, render loop, materials, and any inline GLSL shader strings for comprehensive context.
7. Approve Atlas's proposed changes, such as adding `geometry.dispose()` calls or optimizing `Vector3` allocations, after reviewing the unified diff.
8. Permit Atlas to run `npm test` using `vitest` to validate changes, and then `npm run format` with `prettier` to maintain Three.js code style.

## FAQ

### How does Atlas ensure only trusted users can trigger Three.js triage?

Atlas checks the triggering GitHub actor's collaborator permission, refusing to run if they do not have `admin` or `write` access. It also requires a specific mention in comments to activate, preventing unintended runs on your Three.js project.

### Can Atlas understand my Three.js scene graph and GLSL shaders?

Yes, Atlas indexes code by AST declarations using tree-sitter, allowing it to understand the structure of your Three.js scene graph files, materials, and even inline GLSL shader strings, providing deep context for triage.

### What happens if my Three.js project's files are too large for Atlas's context window?

Atlas explicitly catches `ContextOverflowError` by name. It then re-throws this as a 'prompt-too-large' message, listing the specific Three.js files that caused the overflow, so you know exactly what needs attention.

### Will Atlas automatically run `vitest` and `prettier` on my Three.js code?

Yes, after Atlas drafts changes to your Three.js code, it can run `vitest` behind a permission prompt to verify correctness. It can then automatically format the resulting diff using `prettier` to maintain your project's code style.

### How does Atlas help prevent memory leaks in Three.js applications?

Atlas can analyze your Three.js scene and render loop to identify where `geometry`, `material`, and `texture` instances are created. It can then propose and add appropriate `dispose()` calls to ensure these GPU resources are released when no longer needed.

### Can Atlas optimize Three.js performance by refactoring object allocations?

Absolutely. Atlas can identify per-frame object allocations, such as `new THREE.Vector3()` calls within your `requestAnimationFrame` loop, and suggest moving them to reusable instances outside the loop to improve performance.

### What Atlas tools are used for Three.js GitHub triage?

For GitHub triage in Three.js projects, Atlas primarily uses its `bash` tool for workflow execution, `read` and `grep` for code analysis, and `edit` for making precise modifications to your Three.js files.

---

Canonical HTML: https://runatlas.sh/resources/stacks/automate-github-issue-and-pr-triage-in-threejs
Source of truth: aeo_pages row `/resources/stacks/automate-github-issue-and-pr-triage-in-threejs` (segment: Stacks) (this file is generated from it, never hand-edited).
Licence: Atlas is proprietary with a free core. It is not open source and there is no public source repository.
