Rao
Rao is an AI research assistant built for computational science, from Tuva AI. It lives inside VS Code alongside your notebooks, papers, and data — and helps you read, write, and reason across all of them.
What it does
- Chat with your project. Ask questions grounded in your notebooks, code, and the PDFs in your workspace. Citations link back to the exact cell or page.
- Read papers faster. Index a folder of PDFs and Rao builds a searchable knowledge base, so you can ask "what does the Feynman paper say about X" instead of hunting through tabs.
- Work in notebooks. Tag cells, send outputs, errors, or figures straight to chat, and get help debugging or extending your analysis without leaving the notebook.
- Use your own tools. Rao exposes its retrieval and project context as MCP tools, so Claude Code, Codex, and other MCP-aware agents can use the same knowledge base.
- Recall over your own thinking. Rao learns what you're working on, how your ideas are related, and the state of your work. Use Rao's project memory features to organize your thinking.
Getting started
- Install the extension and open the Tuva sidebar (or
Cmd/Ctrl+Shift+T).
- Open a folder — run Rao: Index Workspace from the command palette to build the knowledge index.
- Start chatting.
Choosing what Rao indexes
Add a .tuvaignore file to leave folders or files out of Rao's index, graph, and project map. It uses .gitignore syntax and can live at the project root or in any subfolder:
# .tuvaignore
results/scratch/*
*.log
!results/scratch/keep.md
As in git, a file can't be brought back with ! once its folder is ignored (results/scratch/), so ignore the folder's contents (results/scratch/*) when you want exceptions.
A quick start is to copy your .gitignore to .tuvaignore, then delete the lines for anything Rao should still read — papers, notebooks, data, and notes are often gitignored for size or privacy but are exactly what Rao is for. Rao does not read .gitignore itself.
R package libraries installed by renv or packrat (renv/library/, renv/staging/, …) are skipped automatically. Changes apply to an existing index within a few minutes, with no reindex needed.