Meta Pixel

Rytora Composer

Rytora Composer is the official AI extension for Visual Studio Code: multi-file edit, Tab autocomplete, Cmd+K inline edit, and Plan / Agent / Chat modes — with one-click publish to Vercel/Railway. Pro+ unlocks all AI capabilities.

Install

Three install paths — pick whichever fits your environment:

  • VS Code Marketplace — open Extensions (Ctrl+Shift+X), search Rytora Composer, click Install. Or via CLI: code --install-extension rytora.rytora-code
  • Open VSX — for editors based on the VS Code OSS distribution. Same extension ID: rytora.rytora-code
  • Manual VSIX — air-gapped / behind corporate proxy: download the .vsix from the install page and run code --install-extension rytora-code-<version>.vsix

→ Open the install page

Requirements

  • VS Code 1.85+ (or VS Code Insiders / any 1.85+ compatible editor with Open VSX support)
  • Network access to buildlabs.rytora.ai (AI features call our API)
  • A Rytora BuildLabs account — free to sign up, Pro+ to use AI features

Sign in with Rytora BuildLabs

The extension uses your existing Rytora BuildLabs account. AI features (Tab, Cmd+K, Composer, Chat) require Pro+.

  1. Open the Rytora panel in the Activity Bar (or run command Rytora: Sign in from the Command Palette)
  2. Your default browser opens to https://buildlabs.rytora.ai/code/auth
  3. Complete sign-in (or sign up if needed)
  4. The browser redirects back to VS Code automatically via the URL handler the extension registers
  5. Token is stored in your OS keychain (Keychain on macOS, Credential Manager on Windows, libsecret on Linux)
Don't have an account? Sign up free. Pro+ starts at $25/month with unlimited Tab + Auto Mode + credits for premium models.

Tab autocomplete

Inline AI completions appear as ghost text while you type. Press Tab to accept, Esc to reject.

  • Triggers automatically 200ms after you stop typing
  • Multi-line completions with correct indentation
  • Context: ~20 lines before cursor + filename + language
  • Cache: same prefix asked twice doesn't hit the API
  • Toggle: Rytora: Toggle Tab Completions

Pro+ only. Free users see no inline suggestions.

Cmd+K inline edit

Select code → press ⌘K (macOS) or Ctrl+K (Win/Linux) → describe the change.

  • Floating prompt input next to your selection
  • History accessible with ↑/↓
  • Streaming diff inline (added in green, removed in red)
  • ⌘↵ accept · Esc reject · ⌘R regenerate

Auto-routed: short selections (<50 lines) use Haiku 4.5; longer use Sonnet 4.6.

Composer (multi-file edit)

Open Composer from the Activity Bar. Describe changes that span multiple files; the AI plans, edits, and shows diffs per file.

@-mentions

Type @ in the input to attach context:

MentionUse case
@<filename>Include a specific file
@<symbol>Include a function/class by name
@selectionInclude current editor selection
@cursorInclude code around your cursor
@diagnosticsInclude all errors/warnings
@gitInclude diff vs HEAD
@docsInclude workspace docs
@webSearch web for context

Model selection

Default is Auto (free, no credits). Switch to Sonnet/Haiku/Opus via the dropdown — manual selection drains your credit pool.

Accept / reject

Each edit appears as a card with diff preview. Accept individually or batch all. Optional: enable auto-branch in settings to create agent-edits-{timestamp} git branch before applying.

Codebase indexing

Tree-sitter parsers extract symbols (functions, classes, exports) from ~100 languages. Embeddings stored locally for semantic retrieval.

  • Initial scan: ~30s for 1k files on SSD
  • Incremental: <1s per file save (file watcher)
  • Storage: .rytora/index.db in your workspace (~10MB per 1k files)
  • Tier 1 (built-in): TypeScript, JavaScript, Python, Go, Rust, Java, C/C++, Ruby, PHP
  • Tier 2 (lazy load): C#, Swift, Kotlin, Scala, Dart, Lua, Bash, CSS, HTML, YAML, JSON, TOML, SQL, Haskell, Elixir, Erlang, OCaml, Clojure, F#, R, Julia, Zig, Nix, Elm
  • Tier 3 (on demand): Vue, Svelte, Astro, GraphQL, Terraform, HCL, Dockerfile, Vim
  • Fallback: text-chunking by line count + indentation heuristic for any other language

Publish to Vercel/Railway

Run Rytora: Publish or click the rocket icon. Rytora Code detects your framework automatically:

Frontend / SSR → Vercel

Next.js · Nuxt · Remix · SvelteKit · Astro · TanStack Start · Qwik · SolidStart · Vite (React/Vue/Svelte/Solid/Preact) · Angular · Static HTML

Backends → Railway

Node (Express/Fastify/NestJS/Hono/Koa) · Python (FastAPI/Flask/Django/Litestar) · Go (net/http/Gin/Fiber/Echo) · Rust (Axum/Actix/Rocket) · Ruby (Rails/Sinatra) · Java (Spring) · Kotlin (Ktor) · .NET · PHP (Laravel/Symfony)

Container (Dockerfile detected) → Railway or Fly.io

If Prisma/Django/Rails detected, PostgreSQL is auto-provisioned via ${{Postgres.DATABASE_URL}} reference.

Deployment history persists in .rytora/deployments.json. Re-publishes reuse the same Vercel project / Railway service.

Settings

Open ⌘, and search "rytora". Notable settings:

  • rytora-code.tab.enabled — toggle Tab autocomplete
  • rytora-code.tab.debounceMs — debounce time (default 200ms)
  • rytora-code.cmdK.heuristicCutoffLines — Haiku/Sonnet routing threshold
  • rytora-code.composer.defaultModel — Auto / Sonnet / Haiku / Opus / Kimi
  • rytora-code.composer.autoBranch — git auto-branch before edits
  • rytora-code.indexing.enabled — toggle codebase indexing
  • rytora-code.indexing.embeddingProvider — Voyage / Nomic / OpenAI
  • rytora-code.updates.channel — stable / beta / alpha
  • rytora-code.environment — production / staging / local (Rytora BuildLabs API)

Keybindings

ActionmacOSWin/Linux
Cmd+K inline edit⌘KCtrl+K
Open Composer⌘LCtrl+L
Accept Tab suggestionTabTab
Reject Tab suggestionEscEsc
Accept word only⌘→Ctrl+→
Accept Cmd+K edit⌘↵Ctrl+↵
Reject Cmd+K editEscEsc
Regenerate Cmd+K edit⌘RCtrl+R
Send Composer message⌘↵Ctrl+↵

Troubleshooting

Tab not appearing

  1. Check status bar — does it say "Tab Pro+"? You need Pro+ plan
  2. Open settings, ensure rytora-code.tab.enabled is true
  3. Type at least 3 characters on a line (default minimum)
  4. Wait ~200ms after typing (debounce)

Sign-in browser doesn't redirect back

  1. Verify protocol handler is registered: macOS settings → Default Web Browser; Windows: Default Apps → Protocol
  2. Try manual sign-in via API token in Settings → Rytora Code → Auth

Publish fails detection

  1. Manually choose strategy: command Rytora: Publish → "Choose strategy"
  2. Verify your project has a recognized framework signature (see supported list)
  3. Container fallback: add a Dockerfile at the project root

Composer agent loop hangs

  1. Click Stop button in Composer panel (sends AbortSignal to API)
  2. Check rytora-code.composer.maxIterations setting (default 25)
  3. Open Output panel (View → Output) and select "Rytora Composer" channel for logs

Privacy

  • Microsoft telemetry endpoints fully disabled in this fork
  • Rytora telemetry is opt-in (default off, prompted in welcome flow)
  • Codebase indexing is local — embeddings (if cloud provider chosen) only send chunks per request, never your full codebase
  • AI requests carry only the context you explicitly include (selection / @-mentions / files referenced by Composer)
  • Your authentication token is stored in your OS keychain (encrypted at rest)
  • Code never leaves your machine unless you invoke an AI feature

Changelog

See the changelog page for full release notes.

v1.0.0-beta.1 — 2026-05-03

  • Initial beta release
  • Tab autocomplete, Cmd+K inline edit, Composer multi-file
  • Codebase indexing with Tree-sitter (~100 languages)
  • Publish to Vercel/Railway with auto-detection of 25+ frameworks
  • Sign in with Rytora BuildLabs via URL handler

Support

Email: code@rytora.ai · Discord: discord.gg/rytora