Core Concepts

Tools Reference

Stud provides a set of powerful tools for interacting with your codebase. Every tool execution is transparent and requires your approval.

Read

Reads the contents of a file from your filesystem. Supports line offsets and limits for large files, and can read images, PDFs, and Jupyter notebooks.

Example

Read src/server/PlayerData.lua
1│ local PlayerData = {}

2│

3│ function PlayerData.init(player)

4│ local data = DataStore:GetAsync(player.UserId)

5│ ...

Parameters

  • file_path — Absolute path to the file to read
  • offset — Line number to start reading from (optional)
  • limit — Number of lines to read (optional)

Write

Writes content to a file, creating it if it doesn't exist or overwriting it if it does. Stud will always ask for your permission before writing.

Example

Write src/shared/Config.lua
+return{

+ MaxPlayers = 50,

+ Debug = false,

+}

Edit

Performs targeted string replacements in files. More precise than Write — only changes what needs to change, leaving the rest of the file untouched.

Example

Edit src/server/PlayerData.lua
- MaxPlayers = 50,

+ MaxPlayers = 100,

Glob

Fast file pattern matching. Find files by name, extension, or directory pattern. Returns matching paths sorted by modification time.

Example

Glob "**/*.lua" 23 files
src/server/init.lua

src/server/PlayerData.lua

src/client/PlayerGui.lua

src/shared/Config.lua

... 19 more

Grep

Search file contents using regular expressions. Supports context lines, file type filtering, and multiple output modes. Built on ripgrep for speed.

Example

Grep "GetAsync" --type lua
3 matches

src/server/PlayerData.lua:4: local data = DataStore:GetAsync(key)

src/server/Leaderboard.lua:12: local scores = Store:GetAsync("top")

Bash

Execute shell commands directly from Stud. Useful for running builds, tests, git operations, and other terminal tasks. Output is captured and parsed intelligently.

Example

_git status
On branch main

Changes not staged for commit:

modified: src/server/PlayerData.lua

Subagents

Delegate tasks to background agents that work in parallel. Subagents have their own context and tools, making them ideal for researching code, running tests, or handling independent subtasks.

Example

Spawning subagent: "Review all server scripts for security issues"

Agent working in background...

Next Steps

Permissions → How Stud keeps you in control
Roblox Integration → 27+ specialized Roblox tools