side::kick() is a coding agent for data science in RStudio, implemented entirely in R. It can interact with your files, talk to your active R session, and run code.
[!Caution]
This project is highly experimental.
I put this app together to give myself a first pass at implementing several bits of functionality I’d like to see in ellmer/shinychat/btw. This package will not go to CRAN. Ideally, from here, more and more of the functionality prototyped in this app can make its way into ellmer/shinychat/btw, done “the right way,” and ported back into this app.
Installation
To get started, install with:
pak::pak("simonpcouch/side")Then, run side::kick(). You might place side::kick() in your .Rprofile (perhaps with usethis::edit_r_profile()) to launch side::kick() every time you start R.
side::kick() is intended for use with RStudio’s Sidebar, a full-height pane that’s currently only available in RStudio Dailies. Install RStudio, then search for “Sidebar” in the command palette.
Features
side::kick() can:
- Use any LLM supported by ellmer–Anthropic, OpenAI, Google Gemini, OpenRouter, and even local models are fair game.
- See your active R session to explore your computational environment.
- Use tools to read and write files, run shell commands, and read R documentation.
- Create and execute plans, allowing it to take on longer-horizon tasks.
- Persist state across R sessions so that you can close RStudio and come back to a chat later.
- Respond to interrupts so that you can stop execution and reroute the agent.
- Read skills, markdown files that describe how to carry out a given task in the way you need it to.
side::kick() is implemented with btw, ellmer, and shinychat.