Workspace

The project stays open while the agent works.

Files, editor, and a terminal. Open a project on your Mac, direct the agent you already use, and read every change before it lands.

The workspace.

Gyro IDE Workspace in dark theme with sync.js open above the integrated Shell. Gyro IDE Workspace in light theme with sync.js open above the integrated Shell.
  1. Explorer

    The project folder as it is on disk.

  2. Editor

    Tabs, line numbers, and highlighting for every file.

  3. Shell

    A real shell under the editor, already in the project.

  4. You and AI

    Two marked pointers show who made each edit in this example.

Gyro’s IDE Workspace · Example task

Two illustrated pointers, You and AI, open sync.js and edit it. You add a comment, AI limits retries to five, and two local tests pass. This is a staged example.

The workflow

Ask, run, and read the diff.

One task, three panes. Each step happens next to the code it changes.

  1. Ask in the sidebar.

    Describe the change beside the files. The agent replies with what it edited.

    Bound the sync queue retries
    Limit retries. Add a test.

    Added a 5-attempt limit with exponential backoff. Both tests pass.

    Edited 1 fileReview src/sync.js+1 −1
    Recorded change
    − const MAX_ATTEMPTS = Infinity;+ const MAX_ATTEMPTS = 5;
  2. Run the tests.

    A real shell sits under the editor. Check the result without switching apps.

    Local shell
    $ npm test -- sync.test.jsPASS src/sync.test.js✓ stops after 5 attempts✓ backs off exponentiallyTests: 2 passed, 2 total
    git diff · src/sync.js
    − const MAX_ATTEMPTS = Infinity;+ const MAX_ATTEMPTS = 5;

    One change. A bounded retry queue.

    Exit 0
  3. Read the diff.

    Drag across the file to see before and after, then keep the change.

    Before: a retry-limit error is highlighted. MAX_ATTEMPTS is Infinity, so retries never stop. After: AI fixes the limit to 5, the error is cleared, and both example tests pass. Move left to reveal After, or right to reveal Before.
    Recorded change · src/sync.js
    − const MAX_ATTEMPTS = Infinity;+ const MAX_ATTEMPTS = 5;

Local-first

The work stays on your Mac.

The local app needs no Gyro account and runs no model proxy. Here is where each part goes.

Privacy details

The agents you already run.

Subscription CLIs, local models through Ollama, and API keys. Sign in the way you already do.

All agents

Your next task starts here.

Bring your agent. Keep the work on your Mac.

Download for macOS

Free and open source · Built for macOS.